Imported Upstream version 3.3 upstream/3.3
authorDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 18 Jan 2022 06:22:14 +0000 (15:22 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 18 Jan 2022 06:22:14 +0000 (15:22 +0900)
747 files changed:
.prev-version
.tarball-version
.version
ChangeLog
GNUmakefile
INSTALL
Makefile.am
Makefile.in
NEWS
README
aclocal.m4
build-aux/announce-gen
build-aux/compile [deleted file]
build-aux/config.guess
build-aux/config.rpath
build-aux/config.sub
build-aux/depcomp
build-aux/do-release-commit-and-tag
build-aux/gendocs.sh
build-aux/git-version-gen
build-aux/gitlog-to-changelog
build-aux/gnu-web-doc-update
build-aux/gnupload
build-aux/install-sh
build-aux/ltmain.sh
build-aux/mdate-sh
build-aux/missing
build-aux/mktempd
build-aux/snippet/_Noreturn.h [deleted file]
build-aux/snippet/arg-nonnull.h [deleted file]
build-aux/snippet/c++defs.h [deleted file]
build-aux/snippet/warn-on-use.h [deleted file]
build-aux/test-driver
build-aux/texinfo.tex
build-aux/update-copyright
build-aux/useless-if-before-free
build-aux/vc-list-files
cfg.mk
configure
configure.ac
debug/Makefile.in
debug/test/HOWTO
debug/test/Makefile.in
dist-check.mk
doc/C/Makefile.am
doc/C/Makefile.in
doc/C/parted.8
doc/Makefile.in
doc/fdl.texi
doc/parted-pt_BR.texi
doc/parted.info
doc/parted.texi
doc/pt_BR/Makefile.in
doc/stamp-vti
doc/version.texi
include/Makefile.in
include/parted/Makefile.in
include/parted/constraint.h
include/parted/constraint.in.h
include/parted/crc32.h
include/parted/crc32.in.h
include/parted/debug.h
include/parted/debug.in.h
include/parted/device.h
include/parted/device.in.h
include/parted/disk.h
include/parted/disk.in.h
include/parted/endian.h
include/parted/endian.in.h
include/parted/exception.h
include/parted/exception.in.h
include/parted/fdasd.h
include/parted/fdasd.in.h
include/parted/filesys.h
include/parted/filesys.in.h
include/parted/geom.h
include/parted/geom.in.h
include/parted/natmath.h
include/parted/natmath.in.h
include/parted/parted.h
include/parted/parted.in.h
include/parted/timer.h
include/parted/timer.in.h
include/parted/unit.h
include/parted/unit.in.h
include/parted/vtoc.h
include/parted/vtoc.in.h
lib/Makefile.in
lib/_Noreturn.h [new file with mode: 0644]
lib/alloca.c
lib/alloca.in.h
lib/arg-nonnull.h [new file with mode: 0644]
lib/argmatch.c
lib/argmatch.h
lib/assure.h [new file with mode: 0644]
lib/basename-lgpl.c
lib/basename.c
lib/btowc.c
lib/c++defs.h [new file with mode: 0644]
lib/c-ctype.c
lib/c-ctype.h
lib/c-strcase.h
lib/c-strcasecmp.c
lib/c-strcaseeq.h
lib/c-strncasecmp.c
lib/calloc.c
lib/canonicalize-lgpl.c
lib/cdefs.h [new file with mode: 0644]
lib/close-stream.c
lib/close.c
lib/closeout.c
lib/closeout.h
lib/config.charset [deleted file]
lib/config.h.in
lib/dirname-lgpl.c
lib/dirname.c
lib/dirname.h
lib/dosname.h
lib/errno.in.h
lib/error.c
lib/error.h
lib/exitfail.c
lib/exitfail.h
lib/fcntl.in.h
lib/fd-hook.c
lib/fd-hook.h
lib/filename.h [new file with mode: 0644]
lib/fpending.c
lib/fpending.h
lib/fstat.c
lib/fsync.c
lib/getopt-cdefs.in.h [new file with mode: 0644]
lib/getopt-core.h [new file with mode: 0644]
lib/getopt-ext.h [new file with mode: 0644]
lib/getopt-pfx-core.h [new file with mode: 0644]
lib/getopt-pfx-ext.h [new file with mode: 0644]
lib/getopt.c
lib/getopt.in.h
lib/getopt1.c
lib/getopt_int.h
lib/getprogname.c [new file with mode: 0644]
lib/getprogname.h [new file with mode: 0644]
lib/gettext.h
lib/gettimeofday.c
lib/glthread/lock.c
lib/glthread/lock.h
lib/glthread/threadlib.c
lib/gnulib.mk
lib/hard-locale.c [new file with mode: 0644]
lib/hard-locale.h [new file with mode: 0644]
lib/intprops.h
lib/inttypes.in.h
lib/langinfo.in.h
lib/libc-config.h [new file with mode: 0644]
lib/limits.in.h [new file with mode: 0644]
lib/localcharset.c
lib/localcharset.h
lib/locale.in.h
lib/localeconv.c
lib/localtime-buffer.c [new file with mode: 0644]
lib/localtime-buffer.h [new file with mode: 0644]
lib/long-options.c
lib/long-options.h
lib/lseek.c
lib/lstat.c
lib/malloc.c
lib/malloca.c
lib/malloca.h
lib/malloca.valgrind [deleted file]
lib/mbrtowc.c
lib/mbsinit.c
lib/mbtowc-impl.h
lib/mbtowc.c
lib/minmax.h [new file with mode: 0644]
lib/mkdir.c [new file with mode: 0644]
lib/mkstemp.c
lib/msvc-inval.c
lib/msvc-inval.h
lib/msvc-nothrow.c
lib/msvc-nothrow.h
lib/nl_langinfo.c
lib/pathmax.h
lib/progname.c
lib/progname.h
lib/quote.h
lib/quotearg.c
lib/quotearg.h
lib/read.c
lib/readlink.c
lib/realloc.c
lib/ref-add.sin [deleted file]
lib/ref-del.sin [deleted file]
lib/regcomp.c
lib/regex.c
lib/regex.h
lib/regex_internal.c
lib/regex_internal.h
lib/regexec.c
lib/rpmatch.c
lib/safe-read.c
lib/safe-read.h
lib/secure_getenv.c [deleted file]
lib/sleep.c
lib/stat-time.c [new file with mode: 0644]
lib/stat-time.h [new file with mode: 0644]
lib/stat-w32.c [new file with mode: 0644]
lib/stat-w32.h [new file with mode: 0644]
lib/stat.c
lib/stdarg.in.h
lib/stdbool.in.h
lib/stddef.in.h
lib/stdint.in.h
lib/stdio-impl.h [new file with mode: 0644]
lib/stdio.in.h
lib/stdlib.in.h
lib/strdup.c
lib/streq.h
lib/strerror-override.c
lib/strerror-override.h
lib/strerror.c
lib/string.in.h
lib/stripslash.c
lib/strndup.c
lib/strnlen.c
lib/strtol.c
lib/strtoll.c
lib/strtoul.c
lib/strtoull.c
lib/sys-limits.h [new file with mode: 0644]
lib/sys_stat.in.h
lib/sys_time.in.h
lib/sys_types.in.h
lib/tempname.c
lib/tempname.h
lib/time.in.h
lib/unistd.c
lib/unistd.in.h
lib/unlink.c
lib/usleep.c
lib/verify.h
lib/version-etc-fsf.c
lib/version-etc.c
lib/version-etc.h
lib/warn-on-use.h [new file with mode: 0644]
lib/wchar.in.h
lib/wcrtomb.c
lib/wctype.in.h
lib/windows-initguard.h [new file with mode: 0644]
lib/windows-mutex.c [new file with mode: 0644]
lib/windows-mutex.h [new file with mode: 0644]
lib/windows-once.c [new file with mode: 0644]
lib/windows-once.h [new file with mode: 0644]
lib/windows-recmutex.c [new file with mode: 0644]
lib/windows-recmutex.h [new file with mode: 0644]
lib/windows-rwlock.c [new file with mode: 0644]
lib/windows-rwlock.h [new file with mode: 0644]
lib/xalloc-die.c
lib/xalloc-oversized.h
lib/xalloc.h
lib/xmalloc.c
lib/xstrndup.c
lib/xstrndup.h
lib/xstrtol-error.c
lib/xstrtol.c
lib/xstrtol.h
libparted-fs-resize.pc.in [new file with mode: 0644]
libparted/Makefile.am
libparted/Makefile.in
libparted/arch/beos.c
libparted/arch/gnu.c
libparted/arch/linux.c
libparted/arch/linux.h
libparted/architecture.c
libparted/architecture.h
libparted/cs/constraint.c
libparted/cs/geom.c
libparted/cs/natmath.c
libparted/debug.c
libparted/device.c
libparted/disk.c
libparted/exception.c
libparted/filesys.c
libparted/fs/Makefile.am
libparted/fs/Makefile.in
libparted/fs/amiga/a-interface.c
libparted/fs/amiga/affs.c
libparted/fs/amiga/affs.h
libparted/fs/amiga/amiga.c
libparted/fs/amiga/amiga.h
libparted/fs/amiga/apfs.c
libparted/fs/amiga/apfs.h
libparted/fs/amiga/asfs.c
libparted/fs/amiga/asfs.h
libparted/fs/btrfs/btrfs.c
libparted/fs/ext2/ext2.h
libparted/fs/ext2/ext2_fs.h
libparted/fs/ext2/interface.c
libparted/fs/fat/bootsector.c
libparted/fs/fat/bootsector.h
libparted/fs/fat/count.h
libparted/fs/fat/fat.c
libparted/fs/fat/fat.h
libparted/fs/hfs/hfs.c
libparted/fs/hfs/hfs.h
libparted/fs/hfs/probe.c
libparted/fs/hfs/probe.h
libparted/fs/jfs/jfs.c
libparted/fs/linux_swap/linux_swap.c
libparted/fs/nilfs2/nilfs2.c
libparted/fs/ntfs/ntfs.c
libparted/fs/r/fat/bootsector.c
libparted/fs/r/fat/bootsector.h
libparted/fs/r/fat/calc.c
libparted/fs/r/fat/calc.h
libparted/fs/r/fat/clstdup.c
libparted/fs/r/fat/clstdup.h
libparted/fs/r/fat/context.c
libparted/fs/r/fat/context.h
libparted/fs/r/fat/count.c
libparted/fs/r/fat/count.h
libparted/fs/r/fat/fat.c
libparted/fs/r/fat/fat.h
libparted/fs/r/fat/fatio.c
libparted/fs/r/fat/fatio.h
libparted/fs/r/fat/resize.c
libparted/fs/r/fat/table.c
libparted/fs/r/fat/table.h
libparted/fs/r/fat/traverse.c
libparted/fs/r/fat/traverse.h
libparted/fs/r/filesys.c
libparted/fs/r/hfs/advfs.c
libparted/fs/r/hfs/advfs.h
libparted/fs/r/hfs/advfs_plus.c
libparted/fs/r/hfs/advfs_plus.h
libparted/fs/r/hfs/cache.c
libparted/fs/r/hfs/cache.h
libparted/fs/r/hfs/file.c
libparted/fs/r/hfs/file.h
libparted/fs/r/hfs/file_plus.c
libparted/fs/r/hfs/file_plus.h
libparted/fs/r/hfs/hfs.c
libparted/fs/r/hfs/hfs.h
libparted/fs/r/hfs/journal.c
libparted/fs/r/hfs/journal.h
libparted/fs/r/hfs/probe.c
libparted/fs/r/hfs/probe.h
libparted/fs/r/hfs/reloc.c
libparted/fs/r/hfs/reloc.h
libparted/fs/r/hfs/reloc_plus.c
libparted/fs/r/hfs/reloc_plus.h
libparted/fs/reiserfs/reiserfs.c
libparted/fs/reiserfs/reiserfs.h
libparted/fs/udf/udf.c [new file with mode: 0644]
libparted/fs/ufs/ufs.c
libparted/fs/xfs/platform_defs.h
libparted/fs/xfs/xfs.c
libparted/labels/Makefile.am
libparted/labels/Makefile.in
libparted/labels/aix.c
libparted/labels/atari.c [new file with mode: 0644]
libparted/labels/bsd.c
libparted/labels/dasd.c
libparted/labels/dos.c
libparted/labels/dvh.c
libparted/labels/fdasd.c
libparted/labels/gpt.c
libparted/labels/loop.c
libparted/labels/mac.c
libparted/labels/misc.h
libparted/labels/pc98.c
libparted/labels/pt-limit.c
libparted/labels/pt-limit.gperf
libparted/labels/pt-tools.c
libparted/labels/pt-tools.h
libparted/labels/rdb.c
libparted/labels/sun.c
libparted/labels/vtoc.c
libparted/libparted.c
libparted/mbr.s
libparted/tests/Makefile.am
libparted/tests/Makefile.in
libparted/tests/common.c
libparted/tests/common.h
libparted/tests/disk.c
libparted/tests/t1000-label.sh
libparted/tests/t2000-disk.sh
libparted/tests/t2100-zerolen.sh
libparted/tests/t3000-symlink.sh
libparted/tests/t4000-volser.sh [new file with mode: 0755]
libparted/tests/volser.c [new file with mode: 0644]
libparted/timer.c
libparted/unit.c
m4/00gnulib.m4
m4/__inline.m4 [new file with mode: 0644]
m4/absolute-header.m4
m4/alloca.m4
m4/arpa_inet_h.m4 [new file with mode: 0644]
m4/assert.m4
m4/btowc.m4
m4/builtin-expect.m4 [new file with mode: 0644]
m4/calloc.m4
m4/canonicalize.m4
m4/close-stream.m4 [deleted file]
m4/close.m4
m4/closeout.m4 [deleted file]
m4/codeset.m4
m4/config-h.m4
m4/configmake.m4
m4/ctype.m4 [new file with mode: 0644]
m4/dirname.m4
m4/double-slash-root.m4
m4/dup2.m4
m4/eealloc.m4
m4/environ.m4
m4/errno_h.m4
m4/error.m4
m4/extensions.m4
m4/extern-inline.m4
m4/fcntl-o.m4
m4/fcntl.m4 [new file with mode: 0644]
m4/fcntl_h.m4
m4/fdopen.m4
m4/flexmember.m4 [new file with mode: 0644]
m4/fpending.m4
m4/fstat.m4
m4/fsync.m4
m4/ftruncate.m4 [new file with mode: 0644]
m4/getcwd.m4
m4/getdtablesize.m4
m4/getopt.m4
m4/getpagesize.m4
m4/getprogname.m4 [new file with mode: 0644]
m4/gettimeofday.m4
m4/glibc21.m4
m4/gnulib-common.m4
m4/gnulib-comp.m4
m4/host-cpu-c-abi.m4 [new file with mode: 0644]
m4/include_next.m4
m4/inet_pton.m4 [new file with mode: 0644]
m4/intl-thread-locale.m4 [new file with mode: 0644]
m4/intlmacosx.m4
m4/inttypes-pri.m4
m4/inttypes.m4
m4/ioctl.m4 [new file with mode: 0644]
m4/isblank.m4 [new file with mode: 0644]
m4/langinfo_h.m4
m4/largefile.m4
m4/lcmessage.m4
m4/lib-ignore.m4
m4/lib-ld.m4
m4/lib-link.m4
m4/lib-prefix.m4
m4/libtool.m4
m4/limits-h.m4 [new file with mode: 0644]
m4/localcharset.m4
m4/locale-fr.m4
m4/locale-ja.m4
m4/locale-tr.m4
m4/locale-zh.m4
m4/locale_h.m4
m4/localeconv.m4
m4/localename.m4
m4/localtime-buffer.m4 [new file with mode: 0644]
m4/lock.m4
m4/longlong.m4
m4/lseek.m4
m4/lstat.m4
m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/lt~obsolete.m4
m4/malloc.m4
m4/malloca.m4
m4/manywarnings.m4
m4/mbrtowc.m4
m4/mbsinit.m4
m4/mbstate_t.m4
m4/mbtowc.m4
m4/minmax.m4 [new file with mode: 0644]
m4/mkdir.m4 [new file with mode: 0644]
m4/mkstemp.m4
m4/mmap-anon.m4
m4/mode_t.m4
m4/msvc-inval.m4
m4/msvc-nothrow.m4
m4/multiarch.m4
m4/nanosleep.m4 [new file with mode: 0644]
m4/netinet_in_h.m4 [new file with mode: 0644]
m4/nl_langinfo.m4
m4/nocrash.m4
m4/o-direct.m4
m4/off_t.m4
m4/open-cloexec.m4 [new file with mode: 0644]
m4/open.m4
m4/pathmax.m4
m4/perror.m4 [new file with mode: 0644]
m4/pipe.m4 [new file with mode: 0644]
m4/priv-set.m4
m4/pthread-thread.m4 [new file with mode: 0644]
m4/pthread_h.m4 [new file with mode: 0644]
m4/pthread_rwlock_rdlock.m4 [new file with mode: 0644]
m4/pthread_sigmask.m4 [new file with mode: 0644]
m4/putenv.m4
m4/quote.m4
m4/quotearg.m4
m4/raise.m4 [new file with mode: 0644]
m4/read.m4
m4/readlink.m4
m4/realloc.m4
m4/regex.m4
m4/rpmatch.m4
m4/safe-read.m4
m4/sched_h.m4 [new file with mode: 0644]
m4/secure_getenv.m4 [deleted file]
m4/select.m4 [new file with mode: 0644]
m4/setenv.m4
m4/setlocale.m4
m4/sigaction.m4 [new file with mode: 0644]
m4/signal_h.m4 [new file with mode: 0644]
m4/signalblocking.m4 [new file with mode: 0644]
m4/sleep.m4
m4/socketlib.m4 [new file with mode: 0644]
m4/sockets.m4 [new file with mode: 0644]
m4/socklen.m4 [new file with mode: 0644]
m4/sockpfaf.m4 [new file with mode: 0644]
m4/ssize_t.m4
m4/stat-time.m4 [new file with mode: 0644]
m4/stat.m4
m4/std-gnu11.m4 [new file with mode: 0644]
m4/stdalign.m4 [new file with mode: 0644]
m4/stdarg.m4
m4/stdbool.m4
m4/stddef_h.m4
m4/stdint.m4
m4/stdio_h.m4
m4/stdlib_h.m4
m4/strdup.m4
m4/strerror.m4
m4/strerror_r.m4 [new file with mode: 0644]
m4/string_h.m4
m4/strndup.m4
m4/strnlen.m4
m4/strtoll.m4
m4/strtoull.m4
m4/symlink.m4
m4/sys_ioctl_h.m4 [new file with mode: 0644]
m4/sys_select_h.m4 [new file with mode: 0644]
m4/sys_socket_h.m4
m4/sys_stat_h.m4
m4/sys_time_h.m4
m4/sys_types_h.m4
m4/sys_uio_h.m4 [new file with mode: 0644]
m4/tempname.m4
m4/thread.m4
m4/threadlib.m4
m4/time_h.m4
m4/unistd_h.m4
m4/unlink.m4
m4/unlinkdir.m4
m4/usleep.m4
m4/version-etc.m4
m4/warn-on-use.m4
m4/warnings.m4
m4/wchar_h.m4
m4/wchar_t.m4
m4/wcrtomb.m4
m4/wctob.m4
m4/wctomb.m4
m4/wctype_h.m4
m4/wint_t.m4
m4/xalloc.m4
m4/xstrndup.m4
m4/xstrtol.m4
m4/yield.m4
maint.mk
parted.spec
parted.spec.in
parted/Makefile.in
parted/command.c
parted/command.h
parted/parted.c
parted/strlist.c
parted/strlist.h
parted/table.c
parted/table.h
parted/ui.c
parted/ui.h
partprobe/Makefile.in
partprobe/partprobe.c
po/LINGUAS
po/POTFILES.in
po/ca.gmo
po/ca.po
po/cs.gmo
po/cs.po
po/da.gmo
po/da.po
po/de.gmo
po/de.po
po/es.gmo
po/es.po
po/fr.gmo
po/fr.po
po/fur.gmo [new file with mode: 0644]
po/fur.po [new file with mode: 0644]
po/gl.gmo
po/gl.po
po/hu.gmo [new file with mode: 0644]
po/hu.po [new file with mode: 0644]
po/id.gmo
po/id.po
po/it.gmo
po/it.po
po/ja.gmo
po/ja.po
po/ko.gmo [new file with mode: 0644]
po/ko.po [new file with mode: 0644]
po/nl.gmo
po/nl.po
po/nn.gmo
po/nn.po
po/parted.pot
po/pl.gmo
po/pl.po
po/pt.gmo
po/pt.po
po/pt_BR.gmo
po/pt_BR.po
po/ro.gmo
po/ro.po
po/ru.gmo
po/ru.po
po/rw.gmo
po/rw.po
po/sk.gmo
po/sk.po
po/sl.gmo
po/sl.po
po/sr.gmo
po/sr.po
po/sv.gmo
po/sv.po
po/tr.gmo
po/tr.po
po/uk.gmo
po/uk.po
po/vi.gmo
po/vi.po
po/zh_CN.gmo
po/zh_CN.po
po/zh_TW.gmo
po/zh_TW.po
scripts/data/abi/baseline_symbols.txt
scripts/extract_symvers
tests/Makefile.am
tests/Makefile.in
tests/gpt-header-move
tests/help-version.sh
tests/init.sh
tests/msdos-overlap
tests/print-flags.c [new file with mode: 0644]
tests/t-lib-helpers.sh
tests/t-local.sh
tests/t0000-basic.sh
tests/t0001-tiny.sh
tests/t0010-script-no-ctrl-chars.sh
tests/t0100-print.sh
tests/t0101-print-empty.sh
tests/t0200-gpt.sh
tests/t0201-gpt.sh
tests/t0202-gpt-pmbr.sh
tests/t0203-gpt-create-on-min-sized-device.sh
tests/t0203-gpt-shortened-device-primary-valid.sh
tests/t0203-gpt-tiny-device-abort.sh
tests/t0205-gpt-list-clobbers-pmbr.sh
tests/t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh
tests/t0207-IEC-binary-notation.sh
tests/t0208-mkpart-end-in-IEC.sh
tests/t0209-gpt-pmbr_boot.sh
tests/t0210-gpt-resized-partition-entry-array.sh
tests/t0211-gpt-rewrite-header.sh
tests/t0212-gpt-many-partitions.sh
tests/t0213-mkpart-start-negative.sh [new file with mode: 0755]
tests/t0220-gpt-msftres.sh
tests/t0250-gpt.sh
tests/t0251-gpt-unicode.sh
tests/t0280-gpt-corrupt.sh
tests/t0281-gpt-grow.sh
tests/t0282-gpt-move-backup.sh
tests/t0283-overlap-partitions.sh
tests/t0300-dos-on-gpt.sh
tests/t0301-overwrite-gpt-pmbr.sh
tests/t0350-mac-PT-increases-sector-size.sh
tests/t0400-loop-clobber-infloop.sh
tests/t0500-dup-clobber.sh
tests/t0501-duplicate.sh
tests/t1100-busy-label.sh
tests/t1101-busy-partition.sh
tests/t1102-loop-label.sh
tests/t1104-remove-and-add-partition.sh
tests/t1700-probe-fs.sh
tests/t1701-rescue-fs.sh [new file with mode: 0644]
tests/t2200-dos-label-recog.sh
tests/t2201-pc98-label-recog.sh
tests/t2300-dos-label-extended-bootcode.sh
tests/t2310-dos-extended-2-sector-min-offset.sh
tests/t2320-dos-extended-noclobber.sh [new file with mode: 0644]
tests/t2400-dos-hfs-partition-type.sh
tests/t2410-dos-udf-partition-type.sh [new file with mode: 0644]
tests/t2500-probe-corrupt-hfs.sh
tests/t3000-resize-fs.sh
tests/t3200-resize-partition.sh
tests/t3200-type-change.sh
tests/t3300-palo-prep.sh
tests/t3310-flags.sh
tests/t3400-whole-disk-FAT-partition.sh
tests/t4000-sun-raid-type.sh
tests/t4001-sun-vtoc.sh
tests/t4100-dvh-partition-limits.sh
tests/t4100-msdos-partition-limits.sh
tests/t4100-msdos-starting-sector.sh
tests/t4200-partprobe.sh
tests/t4300-nilfs2-tiny.sh
tests/t4301-nilfs2-badsb2.sh [new file with mode: 0755]
tests/t4302-nilfs2-lessbadsb2.sh [new file with mode: 0755]
tests/t5000-tags.sh
tests/t6000-dm.sh
tests/t6001-psep.sh
tests/t6002-dm-busy.sh
tests/t6003-dm-hide.sh
tests/t6004-dm-many-partitions.sh
tests/t6005-dm-uuid.sh
tests/t6006-dm-512b-sectors.sh [new file with mode: 0644]
tests/t6100-mdraid-partitions.sh
tests/t7000-scripting.sh
tests/t8000-loop.sh
tests/t8001-loop-blkpg.sh
tests/t9010-big-sector.sh
tests/t9020-alignment.sh
tests/t9021-maxima.sh
tests/t9022-one-unit-snap.sh
tests/t9023-value-lt-one.sh
tests/t9030-align-check.sh
tests/t9040-many-partitions.sh
tests/t9041-undetected-in-use-16th-partition.sh
tests/t9042-dos-partition-limit.sh
tests/t9050-partition-table-types.sh

index 8c50098d8aed57b02fd10f40a670a7c673b7c5a5..24da24d4da92af23f3b968b68b1e01ca3894c456 100644 (file)
@@ -1 +1 @@
-3.1
+3.2.153
index a3ec5a4bd3d7209b4a687a77cad49b945339994b..eb39e5382f4f035e4d71c7f67712cdbfa6c0c335 100644 (file)
@@ -1 +1 @@
-3.2
+3.3
index a3ec5a4bd3d7209b4a687a77cad49b945339994b..eb39e5382f4f035e4d71c7f67712cdbfa6c0c335 100644 (file)
--- a/.version
+++ b/.version
@@ -1 +1 @@
-3.2
+3.3
index 17babec6d4aaaeeeab58b5bd60f83d1e2fdeb3a0..0c6bd20789665969936a54317824d2589ee0e031 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2019-10-10  Brian C. Lane  <bcl@redhat.com>
+
+       version 3.3
+       * NEWS: Record release date.
+
+       NEWS: Note the fix for the s390 bug
+
+2019-09-30  Viktor Mihajlovski  <mihajlov@linux.ibm.com>
+
+       libparted/s390: Re-enabled virtio-attached DASD heuristics
+       DASDs attached to KVM guest as virtio-blk devices are only handled
+       properly, if the unique DASD geometry is detected. Commit id
+       61dd3d4c5eb782eb43caa95342e63727db3f8281 has prevented proper geometry
+       detection. Fixed by making sure that HDIO_GETGEO takes precedence
+       on s390[x].
+
+2019-08-21  Brian C. Lane  <bcl@redhat.com>
+
+       README-release: Add link to upload registration page
+       Without this you cannot use gnupload to send the new release tarball to
+       the ftp servers.
+
+2019-08-12  Brian C. Lane  <bcl@redhat.com>
+
+       maint: post-release administrivia
+       * NEWS: Add header line for next release.
+       * .prev-version: Record previous version.
+       * cfg.mk (old_NEWS_hash): Auto-update.
+
+       version 3.2.153
+       * NEWS: Record release date.
+
+       maint: Move NEWS template to line 3
+
+       maint: Update copyright statements to 2019
+       By running make update-copyright
+
+       maint: Bump library REVISION number for release
+
+       maint: Update bootstrap script from latest gnulib
+
+       maint: Update to latest gnulib
+
+2019-08-09  Brian C. Lane  <bcl@redhat.com>
+
+       libparted: Fix bug in bsd.c alpha_bootblock_checksum
+       I flubbed this in e35af6cbc43f5b279e6f0d65ccc904b1ac6c63d2 by trying to
+       switch to using a pointer and ended up writing off the end. Switch the
+       loop in alpha_bootblock_checksum back to use [i] index. It's easier
+       to read anyway.
+
+       doc: Create po directory if missing
+       When running 'make distcheck' the directory tree it uses is created
+       without the po directory. Create it if it is missing.
+
+       dist-check.mk: Remove empty .deps directories
+       Borrowed from coreutils commits 373ba16f332d and 40434e566e52
+
+       Turn off c_prohibit_gnu_make_extensions
+
+       po: Add argmatch.h
+
+       bsd.c: Rewrite disklabel code to prevent gcc warnings
+       Constructing a pointer into a char array results in warnings about casting
+       changing alignment. This changes how the boot sector is handled by adding the
+       label to BSDDiskData with the correct offset (64 bytes).
+
+       Add gcc malloc attribute to ped_alloc and ped_calloc
+
+2019-08-09  Shin'ichiro Kawasaki  <kawasaki@juno.dti.ne.jp>
+
+       libparted: Replace abs() with llabs()
+       GCC 9 fails to compile a few C source files which call abs() function.
+       An example of the error messages was as follows:
+
+         CC       dos.lo
+       dos.c: In function '_best_solution':
+       dos.c:1773:13: error: absolute value function 'abs' given an argument of type 'long long int' but has parameter of type 'int' which may cause truncation of value [-Werror=absolute-value]
+        1773 |   a_delta = abs (part->geom.start - a->start);
+             |             ^~~
+       dos.c:1774:13: error: absolute value function 'abs' given an argument of type 'long long int' but has parameter of type 'int' which may cause truncation of value [-Werror=absolute-value]
+        1774 |   b_delta = abs (part->geom.start - b->start);
+             |             ^~~
+       cc1: all warnings being treated as errors
+
+       To avoid the errors, replace abs() function calls with llabs().
+
+2019-08-09  Brian C. Lane  <bcl@redhat.com>
+
+       sun.c: Aligned _SunRawLabel to 16bit boundary
+
+       gpt.c: Drop cast of efi_guid_t to unsigned char *
+       This confuses gcc, making it think the uuid_t is unaligned when it really comes
+       from a efi_guid_t entry in _GPTDiskData.
+
+       gpt.c: Align _GPTDiskData to 8 byte boundary
+
+       dvh.c: Use memcpy instead of strncpy
+       The strings are short, so using memcpy isn't much slower (if at all).  This
+       fixes gcc complaining about strncpy possibly copying a non-terminated string.
+
+2019-08-09  Shin'ichiro Kawasaki  <kawasaki@juno.dti.ne.jp>
+
+       include/parted/unit.in.h: Specify const attribute to ped_unit_get_name()
+       GCC 8 fails to compile libparted/unit.c with an error:
+
+         CC       unit.lo
+       unit.c:155:1: error: function might be candidate for attribute 'const' [-Werror=suggest-attribute=const]
+        ped_unit_get_name (PedUnit unit)
+        ^~~~~~~~~~~~~~~~~
+         CC       disk.lo
+       cc1: all warnings being treated as errors
+
+       Const attribute is required for the function ped_unit_get_name() because
+       its return value is not affected by program status. To avoid the build
+       failure, change attribute of the function from pure to const.
+
+2019-08-09  Shin'ichiro Kawasaki  <kawasaki@juno.dti.ne.jp>
+
+       libparted/labels/pt-tools.c: Fix gperf generated function attribute
+       GCC 8 fails to compile libparted/labels/pt-tools.c with an error:
+
+         CC       pt-tools.lo
+       In file included from pt-tools.c:114:
+       pt-tools.c: In function 'pt_limit_lookup':
+       pt-limit.gperf:78:1: error: function might be candidate for attribute 'pure' [-Werror=suggest-attribute=pure]
+       cc1: all warnings being treated as errors
+
+       "Pure" attribute is required for the function pt_limit_lookup() because
+       it does not change program status other than its return value.
+
+       To avoid the build failure, add _GL_ATTRIBUTE_PURE to the function.
+       The attribute cannot be added in libparted/gperf/pt-limit.c because it
+       is generated by gperf during the build process. Instead, add the
+       attribute in libparted/gperf/pt-tools.c which includes the generated
+       function.
+
+2019-08-09  Shin'ichiro Kawasaki  <kawasaki@juno.dti.ne.jp>
+
+       configure.ac: Check ABI against ABI version 2
+       GCC 8 fails to compile libparted/labels/aix.c with an error:
+
+         CC       aix.lo
+       cc1: error: -Wabi won't warn about anything [-Werror=abi]
+       cc1: note: -Wabi warns about differences from the most up-to-date ABI, which is
+       also used by default
+       cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
+       cc1: all warnings being treated as errors
+       make[4]: *** [Makefile:1250: aix.lo] Error 1
+
+       To avoid the build failure, specify ABI version 2 to check ABI change
+       from GCC 4.9.
+
+2019-08-09  Brian C. Lane  <bcl@redhat.com>
+
+       Adjust the gcc warnings to recognize FALLTHROUGH
+
+       dos.c: Fix cast alignment error in maybe_FAT
+
+       atari.c: Align the AtariRawTable on a 16bit boundary
+       The casts to uint16_t need to know that this will be aligned. The struct is
+       actually 512 bytes, so it normally does end up aligned. This just makes sure
+       the compiler knows it and stops warning about the casts.
+
+       Change 'time stamp' to 'timestamp'
+       Caught by make syntax-check
+
+       Fix double semi-colons
+       Caught by make syntax-check
+
+       Update syntax-check NEWS hash to cover 3.2 release notes.
+
+       Fix syntax-check complaints about tests
+
+       Remove trailing whitespace
+       Caught by make syntax-check
+
+       Remove unnecessary if before free checks
+       Caught by make syntax-check
+
+2019-08-09  Brian C. Lane  <bcl@redhat.com>
+
+       configure.ac: Remove default -Werror flag
+       Warnings as errors does not make sense with the current state of the
+       codebase and it is making it difficult to do new releases.
+
+       We should *show* the warnings, and handle them as time permits, but they
+       should not block building a new release.
+
+2019-08-09  Brian C. Lane  <bcl@redhat.com>
+
+       README-release: Updating the release instructions
+
+2019-08-05  A. Wilcox  <AWilcox@Wilcox-Tech.com>
+
+       libparted: Fix endian bug in bsd.c
+       You have to add 1 *before* doing the endian conversion, not after.
+
+2019-07-15  Max Staudt  <max@enpas.org>
+
+       libparted/fs/amiga/affs.c: Remove printf() to avoid confusion
+       Currently, the affs code in libparted prints a debug line to stdout when
+       an Amiga FFS partition is probed. This confuses tools that parse stdout.
+
+       A prominent example is the partitioner (partman) in Debian's installer,
+       which parses stdout from a tool (parted_devices) that uses libparted to
+       scan the system's block devices. As of now, Debian cannot be installed
+       on a typical Amiga:
+
+         https://lists.debian.org/debian-68k/2019/07/msg00015.html
+
+       This patch removes this unexpected printf().
+
+       Cc: glaubitz@debian.org
+
+2019-04-09  Michael Small  <smallm@sdf.org>
+
+       Tests case for sigsegv when false nilfs2 superblock detected.
+
+2019-04-09  Michael Small  <smallm@sdf.org>
+
+       Avoid sigsegv in case 2nd nilfs2 superblock magic accidently found.
+       1. is_valid_nilfs_sb: make sure the subtraction bytes - sumoff - 4
+       won't give a negative number. That as the len argument to
+       __efi_crc32() would give a very large number for the latter's for
+       loop limit, since len is unsigned long.
+
+       2. nilfs2_probe: Read and allocate enough sectors to hold a
+       struct nilfs2_super_block.  is_valid_nilfs_sb() will be passing
+       up to 1024 bytes to __efi_crc32(). If only one 512 byte sector
+       had been allocated with alloca and read from disk that would cause
+       reads off the the end of the stack even if bytes were more than
+       sumoff - 4.
+
+2019-02-11  Brian C. Lane  <bcl@redhat.com>
+
+       Fix align-check help output
+
+2019-01-31  Hans-Joachim Baader  <baader@gmx.net>
+
+       Added support for Windows recovery partition (WINRE) on MBR
+       Windows 10 uses a recovery partition which is sometimes marked with
+       partition type 0x27 on MBR systems. It wasn't possible to handle such
+       a partition with parted. Therefore the partition type PARTITION_MSFT_RECOVERY
+       is now used properly also on MBR when the flag msftres is set.
+
+2019-01-31  Brian C. Lane  <bcl@redhat.com>
+
+       parted: Remove PED_ASSERT from ped_partition_set_name
+       Asserts should only check logic, not wrap functions with side-effects.
+       When compiled with --disable-debug this causes the name field of mkpart
+       to be ignored.
+
+2019-01-30  Brian C. Lane  <bcl@redhat.com>
+
+       docs: Update GNU License version in parted .text files
+
+2018-10-16  dann frazier  <dann.frazier@canonical.com>
+
+       Read NVMe model names from sysfs
+       parted currently shows the same generic model name for all NVMe devices:
+
+         # parted /dev/nvme0n1 -s print | grep Model
+         Model: NVMe Device (nvme)
+
+       If the model information is available in sysfs, display that instead:
+
+         # parted /dev/nvme0n1 -s print | grep Model
+         Model: THNSN5512GPU7 NVMe TOSHIBA 512GB (nvme)
+
+2018-10-16  dann frazier  <dann.frazier@canonical.com>
+
+       Fix warnings from GCC 7's -Wimplicit-fallthrough
+       All of these locations appear to have intentional fallthroughs. Add
+       comments that GCC will detect to mute warnings w/ -Wimplicit-fallthrough.
+
+2018-10-16  dann frazier  <dann.frazier@canonical.com>
+
+       ped_unit_get_name: Resolve conflicting attributes 'const' and 'pure'
+       The const and pure attributes conflict:
+
+         error: ignoring attribute 'const' because it conflicts with attribute 'pure' [-Werror=attributes]
+
+       pure functions may access global memory, const functions may not.
+       ped_unit_get_name() accesses non-local variable unit_names, so drop const.
+
+2018-10-16  Brian C. Lane  <bcl@redhat.com>
+
+       Add udf to t1700-probe-fs and to the manpage
+       If mkfs.udf is installed this will test to make sure that the filesystem
+       is detected.
+
+2018-10-16  Pali Rohár  <pali.rohar@gmail.com>
+
+       libparted: Add support for MBR id, GPT GUID and detection of UDF filesystem
+       This is needed for libparted based applications (like Gparted) to correctly
+       choose MBR id and GPT GUID for UDF filesystem. MBR id for UDF is 0x07 and
+       GPT GUID is Microsoft Basic Data, see why: https://serverfault.com/a/829172
+
+       Without registering a new libparted fs code it is not possible to assign
+       MBR id or GPT GUID.
+
+       Detection of UDF filesystem is done by checking presence of UDF VSD (NSR02
+       or NSR03 identifier) and UDF AVDP at expected locations (blocks 256, -257,
+       -1, 512).
+
+2018-10-16  Simon Xu  <xu.simon@oracle.com>
+
+       Fix potential command line buffer overflow
+       parted terminates with 'stack smashing detected' when fed with a long command
+       line argument, and segfaults when the argument is long enough:
+
+       root # /sbin/parted /dev/sda $(perl -e 'print "a"x265')
+       *** stack smashing detected ***: /sbin/parted terminated
+       ...
+       Aborted
+
+       root # /sbin/parted /dev/sda $(perl -e 'print "a"x328')
+       *** stack smashing detected ***: /sbin/parted terminated
+       ...
+       Command History:
+       Segmentation fault
+
+       parted should be able to detect it and exit with error and usage messages.
+       This also makes command line buffer overflow exploit more possible.  Fix it by
+       adding length check in the condition of the for loop where command line
+       arguments are copied.
+
+2018-08-22  Brian C. Lane  <bcl@redhat.com>
+
+       t6100-mdraid-partitions: Use v0.90 metadata for the test
+       Newer metadata types use more disk space, causing the test to fail.
+
+2018-08-22  Brian C. Lane  <bcl@redhat.com>
+
+       parted.c: Make sure dev_name is freed
+       If there was a problem with ped_device_get or ped_device_open it would not be freed.
+
+       Related: rhbz#1602652
+
+2018-08-22  Brian C. Lane  <bcl@redhat.com>
+
+       parted.c: Always free peek_word
+       If command_line_get_fs_type failed it would never free it, so put a free
+       in both branches of the if.
+
+       Related: rhbz#1602652
+
+2018-08-22  Brian C. Lane  <bcl@redhat.com>
+
+       Fix the length of several strncpy calls
+       These need to be 1 less than the allocated size of the buffer, strncpy
+       will fill shorter strings with zeros, but there needs to be room for at
+       least one 0x00 at the end if the string is the same length as the buffer
+       and has no terminating 0x00.
+
+       Related: rhbz#1602652
+
+2018-08-22  Brian C. Lane  <bcl@redhat.com>
+
+       Modify gpt-header-move and msdos-overlap to work with py2 or py3
+       Distributions are starting to remove python2 and only use python3.
+       Modify these test scripts so that they will work with either python 2.7
+       or python 3.X
+
+2018-08-22  Ulrich Müller  <ulm@gentoo.org>
+
+       libparted: Fix ending CHS address in PMBR.
+       According to the UEFI specification version 2.7, Section 5.2.3,
+       Table 16, the ending CHS address in the protective MBR should be set
+       to 0xFFFFFF. This also agrees with the behaviour of fdisk from
+       util-linux-2.32.
+
+2018-06-12  Phillip Susi  <psusi@ubuntu.com>
+
+       Fix atari label false positives
+       The atari label gets false positives easily, so probe it after
+       all other labels have said no.
+
+2018-06-05  Phillip Susi  <psusi@ubuntu.com>
+
+       Lift 512 byte restriction on fat resize
+       As Colin Watson pointed out way back in 2014, when I removed the
+       512 byte sector size restriction from the fs recognition code,
+       I missed the same from the fat resize code.
+
+2018-06-05  Colin Watson  <cjwatson@ubuntu.com>
+
+       build: Remove unused traces of dynamic loading
+       Now that file system operations have been removed from libparted,
+       libreiserfs is no longer used.  Remove references to it, along with the
+       dynamic loading build infrastructure which was only used for
+       libreiserfs.
+
+2018-06-05  Phillip Susi  <psusi@ubuntu.com>
+
+       Fix resizepart iec unit end sector
+       Fix resizepart to adjust the end to be -1 sector when using iec
+       power of 2 units so that the next partition can start immediately
+       following the new end, just like mkpart does.
+
+2018-06-05  Niklas Hambüchen  <mail@nh2.me>
+
+       mkpart: Allow negative start value when FS-TYPE is not given
+       The manual had long documented that negative values are
+       allowed for both start and end values, but until now negative
+       start values were rejected if FS-TYPE was not given.
+
+       Example:
+
+         # parted --script -a optimal /dev/loop0 -- mklabel gpt mkpart primary ext4 -5MiB 100%
+         (succeeds)
+
+         # parted --script -a optimal /dev/loop0 -- mklabel gpt mkpart primary -5MiB 100%
+         parted: invalid token: -5MiB
+         Error: Expecting a file system type.
+
+       This commit fixes the latter error.
+       The issue was an insufficient lookahead in command line parsing,
+       looking only for digits when skipping over FS-TYPE.
+       The fix is including the minus '-' in the lookahead.
+
+       Originally reported as Debian bug #880035:
+
+         "parted: fails to use negative start value for 'mkpart' command without specyfying FS-TYPE"
+         https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=880035
+
+2018-06-05  Phillip Susi  <psusi@ubuntu.com>
+
+       Fix set and disk_set to not crash when no flags are supported
+       Loop labels and file images support no flags.  set and disk_set
+       would prompt for a flag and accept any string since the list of
+       flags was empty, then fail to look up an actual flag value, then
+       throw an exception with a null string for the name of the flag,
+       which would bug.
+
+2018-05-07  Phillip Susi  <psusi@ubuntu.com>
+
+       tests: fix t6100-mdraid-partitions
+       The test was failing because it didn't wait for the md device
+       to appear after creating it.
+
+       Fix make check
+       Make check failed due to some warnings treated as errors.  One was
+       caused by a warning that a function could have the noreturn attribute.
+       It seems that this had previously been disabled but gcc has changed
+       the flag from -Wmissing-noreturn to -Wsuggest-attribute=noreturn.  The
+       recently added volser.c test also caused a few warnings when not
+       compiled on s390x because most of the functions were no used, so #if
+       those out as well.
+
+2018-04-04  Richard W.M. Jones  <rjones@redhat.com>
+
+       linux: Include <sys/sysmacros.h> for major() macro.
+       Since glibc 2.27 this header is required.
+
+2017-12-19  Sebastian Parschauer  <sparschauer@suse.de>
+
+       Add support for NVDIMM devices
+       Recognize NVDIMM devices, so that "parted -s /dev/pmem7 p" now
+       prints "Model: NVDIMM Device (pmem)" instead of
+       "Model: Unknown (unknown)".
+
+       In order for a device to be recognized as NVDIMM, it has to
+       have a 'blkext' major number. But since this major can be
+       used also by other device types, we also check that the device
+       path contains 'pmem' as a substring.
+
+       * NEWS: Mention the change
+       * include/parted/device.h.in(PedDeviceType): Add PED_DEVICE_PMEM
+       * libparted/arch/linux.c(_device_probe_type): Recognize NVDIMM devices.
+       * libparted/arch/linux.c(linux_new): Handle NVDIMM devices.
+       * parted/parted.c(do_print): Add "pmem" to list of transports.
+
+2017-12-19  Arnout Vandecappelle (Essensium/Mind)  <arnout@mind.be>
+
+       libparted/labels: link with libiconv if needed
+       gpt.c uses iconv so it should link with it. Otherwise, on platforms
+       where libiconv is a separate library, we get a link failure of parted:
+
+           CCLD     parted
+         ../libparted/.libs/libparted.so: undefined reference to `libiconv'
+         ../libparted/.libs/libparted.so: undefined reference to `libiconv_open'
+         ../libparted/.libs/libparted.so: undefined reference to `libiconv_close'
+
+       Since iconv functionality is needed unconditionally (not only when
+       gettext is enabled), AM_ICONV needs to be added to configure.ac.
+
+2017-07-31  Brian C. Lane  <bcl@redhat.com>
+
+       atari.c: Drop xlocale.h (#1476934)
+       glibc no longer includes this header. locale.h should work just fine.
+
+2017-06-06  Brian C. Lane  <bcl@redhat.com>
+
+       libparted: Fix udev cookie leak in _dm_resize_partition
+       Add a NEWS entry.
+
+2017-05-25  Brian C. Lane  <bcl@redhat.com>
+
+       libparted: Fix udev cookie leak in _dm_resize_partition
+       The function is setting udev cookies, but not using them when waiting
+       for the task. This results in leaked cookies, which can eventually
+       exhaust the available number of semaphores.
+
+       'dmsetup udevcookies' will show a cookie remaining afterwards, and 'ipcs -s'
+       will show the semaphores in use.
+
+       Also simplified the exit so that the task is always destroyed and memory
+       is all freed in the same path.
+
+       Resolves: rhbz#1455564
+
+2017-05-02  Brian C. Lane  <bcl@redhat.com>
+
+       tests/t1701-rescue-fs wait for the device to appear.
+       After mkpart it needs to wait for the new partition to appear.
+
+2017-05-02  Brian C. Lane  <bcl@redhat.com>
+
+       Increase timeout for rmmod scsi_debug and make it a framework failure
+       On some hardware scsi_debug can take longer to remove. If this fails it
+       inevitably results in the next test failing since it cannot load
+       scsi_debug.
+
+       Increse the timeout to 40 loops (8 seconds), and if it hits the limit
+       without succeeding call framework_failure_
+
+2017-05-01  Wang Dong  <dongdwdw@linux.vnet.ibm.com>
+
+       libparted/dasd: add test cases for the new fdasd functions
+       The test case uses a temporary file in libparted/tests under
+       Check framwork.It can be issued by "make check" in the test dir.
+
+       libparted/dasd: add an exception for changing DASD-LDL partition table
+       The partition table of DASD-LDL device with the dasd disk label
+       should not be changed according to its character in Linux.
+       When the user tries to modify the partition table, an exception
+       will be raised to inform user of this character.
+
+       libpartd/dasd: improve flag processing for DASD-LDL
+       DASD-LDL does not support flag now, so all the flags are
+       unavailable to it.
+
+2017-05-01  Wang Dong  <dongdwdw@linux.vnet.ibm.com>
+
+       parted/ui: remove unneccesary information of command line
+       When some command fails, the information still exists in
+       command_line buffer. When in command mode or interactive mode,
+       if an interactive exception prompts, the remained information
+       will be processed as option from user. This will raise some other
+       information or even unexpected results. So before getting option
+       input from user, clean the command line buffer.
+
+       Example: When the disk label is invalid and user tries to make
+                new partition on the device with command like,
+                mkpart 0 50%. Then parted will raise an exception
+                telling an invalid disk label found and whether to correct it.
+                But at this time 0 as the input of mkpart will be
+                considered as the option input for the exception(yes/no).
+                So one more exception will raised with error information.
+
+2017-05-01  Wang Dong  <dongdwdw@linux.vnet.ibm.com>
+
+       parted: check the name of partition first when to name a partition
+       The previous function works well for the labels supporting naming
+       partition, but not for these which don't. If the disk label does not
+       support partition naming, two exceptions will be raised. Even after the first
+       error indicates it does not support name, parted yet asks user for
+       name in iteractive mode.
+
+       First check if the disk label supports partition naming and if it
+       does, it will continue; otherwise, it will stop and raise an
+       exception.
+
+2017-05-01  Sebastian Parschauer  <sparschauer@suse.de>
+
+       Add support for RAM drives
+       Recognize RAM drives, so "parted -s /dev/ram0 p" now prints
+       "RAM Drive (brd)" instead of "Model: Unknown (unknown)".
+
+       In order for a device to be recognized as RAM drive, it has to
+       have major number 1. Also the BLKFLSBUF ioctl shouldn't be used
+       on RAM drives as it is used to zero the device.
+
+       * NEWS: Mention the change
+       * include/parted/device.h.in(PedDeviceType): Add PED_DEVICE_RAM.
+       * libparted/arch/linux.c(RAM_MAJOR): New define.
+       * libparted/arch/linux.c(_device_probe_type): Recognize RAM drives.
+       * libparted/arch/linux.c(linux_new): Handle RAM drives.
+       * libparted/arch/linux.c(_flush_cache): Skip RAM drives.
+       * parted/parted.c(do_print): Add "brd" to list of transports.
+
+2017-05-01  Wang Dong  <dongdwdw@linux.vnet.ibm.com>
+
+       clean the disk information when commands fail in interactive mode.
+       parted always reads disk information to memory before any
+       operations. The disk that user operates is actually
+       a copy of real one in memory. When the information in memory
+       is changed, it will commit the memory to device to update the
+       disk information.
+
+       Once the disk information is read, parted will never re-read it
+       again unless another device is loaded or the device is re-read.
+       Above work has been done in commit 7eac058 (parted: don't reload
+       partition table on every command)
+
+       Each command of parted always commits the memory when it succeeds.
+       Then the disk information on device and in memory are the same.
+       But when it fails, they might be different. User will be confused
+       by this, and sometimes get undesired result with the contaminated
+       memory. This memory should be cleaned if some command fails.
+       Then the command followed will re-read the disk.
+
+2017-05-01  Wang Dong  <dongdwdw@linux.vnet.ibm.com>
+
+       parted: fix wrong error label jump in mkpart
+       When the user makes a new partition, if parted fails to add the
+       partition to disk, it jumps to wrong error label. In this
+       situation, this new partition actually is not a node in disk
+       data structure. But in the wrong error label, it pretends this
+       is a node and removes it as a list node, leading to other
+       partition in this disk deleted. This might lead to a memory leak.
+       Because if there are other partitions, it just removes them from
+       list without releasing the resource. And this also leads to different
+       disk information between memory and device. This is confusing.
+
+       But when the new partition is added to disk successfully and if
+       any operations followed fail, this partition should be removed from
+       disk and destroyed.
+
+2017-05-01  Wang Dong  <dongdwdw@linux.vnet.ibm.com>
+
+       parted: fix crash due to improper partition number input
+       When the user makes a new partition, if parted fails to add the
+       partition to disk, it jumps to wrong error label. In this
+       situation, this new partition actually is not a node in disk
+       data structure. But in the wrong error label, it pretends this
+       is a node and removes it as a list node, leading to other
+       partition in this disk deleted. This might lead to a memory leak.
+       Because if there are other partitions, it just removes them from
+       list without releasing the resource. And this also leads to different
+       disk information between memory and device. This is confusing.
+
+       But when the new partition is added to disk successfully and if
+       any operations followed fail, this partition should be removed from
+       disk and destroyed.
+
+2017-04-17  Phillip Susi  <psusi@ubuntu.com>
+
+       Fix crash when localized
+       The _() macro is only for translating string literals.  It was
+       incorrectly applied to a runtime string representing the name
+       of a partition and this sometimes caused a gettext crash.
+
+2017-01-19  Sebastian Rasmussen  <sebras@gmail.com>
+
+       libparted: Fix typo in hfs error message
+
+2016-12-22  Laurent Vivier  <laurent@vivier.eu>
+
+       libparted: Fix MacOS boot support
+       boot_region_length (or BootSize in the MacOS dialect) is the length
+       of the driver code in the driver partition. This length is used
+       to compute the checksum of the driver.
+
+       libparted updates this value by setting the whole size of the partition
+       without computing the checksum of the driver using this size.
+
+       As the checksum is wrong, the driver is broken and cannot be loaded
+       by the MacOS ROM, and thus the disk is not bootable anymore.
+
+       Moreover, parted try to update the driver list and makes it disappear.
+
+       As parted is not able to insert a driver in a partition,
+       the driver is generally inserted by the Apple HD Tool,
+       this patch removes the line updating the driver size.
+
+       We also simplify the driver list scan and fix endianess use.
+
+       This has been tested... and it works, now.
+
+       I have updated a bootable disk with parted on x86_64 and
+       then been able to boot it (again) on a Mac LC III.
+
+2016-12-22  John Paul Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>
+
+       libparted: Add support for atari partition tables
+
+       libparted:tests: Move get_sector_size() to common.c
+       Moving get_sector_size() from disk.c to common.c allows
+       us to use it in _implemented_disk_label() to test for
+       512-byte sectors. This change is required to be able to
+       enable this test for atari partition tables for which
+       support is added in a follow-up patch.
+
+2016-12-22  Brian C. Lane  <bcl@redhat.com>
+
+       tests: Update t0220 and t0280 for the swap flag.
+
+2016-12-22  Arvin Schnell  <aschnell@suse.com>
+
+       libparted: set swap flag on GPT partitions
+       The filesystem type is still detected as befor, but now setting the
+       'swap' flag will set the partition GUID to PARTITION_SWAP_GUID.
+
+2016-12-22  Wang Dong  <dongdwdw@linux.vnet.ibm.com>
+
+       libparted/dasd: add test cases for the new fdasd functions
+       The test case uses a temporary file in libparted/tests under
+       Check framwork. It can be issued by "make check" in the test dir.
+
+2016-12-22  Wang Dong  <dongdwdw@linux.vnet.ibm.com>
+
+       libparted/dasd: add new fdasd functions
+       Introduce a set of new functions from the fdasd utility of the s390-tools
+       to keep the code base in parted and s390-tools in sync.
+
+       These new functions are:
+         fdasd_check_volser():  validate the volser input
+         fdasd_get_volser():    get volume serial (volser)
+         fdasd_change_volser(): change volser with string
+         fdasd_reuse_vtoc():    re-create vtoc labels based on the existing vtoc
+
+2016-12-22  Wang Dong  <dongdwdw@linux.vnet.ibm.com>
+
+       libparted/dasd: update and improve fdasd functions
+       Update the fdasd_anchor_t data structure and the fdasd_cleanup()
+       function. Also correct vtoc_changed and vlabel_changed accounting
+       because they are important to rewrite vtoc to save the changes.
+
+       Wang Dong <dongdwdw@linux.vnet.ibm.com>
+       Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
+
+2016-12-22  Wang Dong  <dongdwdw@linux.vnet.ibm.com>
+
+       libparted/dasd: unify vtoc handling for cdl/ldl
+       Merge volume label cdl and ldl. It is convenient to manipulate
+       the same structure. Also remove unused arguments in the functions.
+
+2016-12-22  Sebastian Parschauer  <sparschauer@suse.de>
+
+       libparted: Don't warn if no HDIO_GET_IDENTITY ioctl
+       Fully virtualized Xen VMs (HVM) use Linux IDE devices which don't
+       support the HDIO_GET_IDENTITY ioctl. EINVAL is returned, a warning
+       is printed and the device model is set to "Generic IDE" in that
+       case. The problem is seeing the warning all the time. So drop it
+       for this case.
+
+2016-12-22  Petr Uzel  <petr.uzel@suse.cz>
+
+       libparted: Fix starting CHS in protective MBR
+       The CHS address for protective partition start in protective MBR
+       should be 0/0/2, according to UEFI spec (v2.6, section 5.2.1).
+
+       * libparted/labels/gpt.c (_write_pmbr): Fix starting CHS address
+
+       Reported by Steffen Winterfeldt in https://bugzilla.suse.com/969165
+
+2016-12-22  Brian C. Lane  <bcl@redhat.com>
+
+       tests: Stop timing t9040 (#1172675)
+       parted doesn't have any control over how long this takes, there is no
+       reason to consider this a parted bug if it takes longer than expected.
+
+       Resolves: rhbz#1172675
+
+2016-12-22  Brian C. Lane  <bcl@redhat.com>
+
+       partprobe: Open the device once for probing
+       Previously there were 3 open/close pairs for the device, which may
+       result in triggering extra udev actions. Instead, open it once at the
+       start of process_dev and close it at the end.
+
+       tests: Set optimal blocks to 64 for scsi_debug devices
+       The Linux kernel 4.5 changed the optimal blocks count from 64 to 1024
+       This causes tests using scsi_debug devices to fail because of alignment
+       issues. Set the opt_blks to 64 so that we have consistent behavior
+       across kernels.
+
+2016-12-22  Brian C. Lane  <bcl@redhat.com>
+
+       doc: Add information about quoting
+       Some shells (bash) will strip off the " so it needs to be
+       wrapped in '' to prevent it. eg.
+
+       parted -s ./disk.img mkpart '"EFI System Partition"' 1M 500M
+
+2016-12-22  Brian C. Lane  <bcl@redhat.com>
+
+       doc: Cleanup mkpart manpage entry (#1183077)
+
+2016-12-22  Brian C. Lane  <bcl@redhat.com>
+
+       tests: Fix t1700 failing on a host with a 4k xfs filesystem (#1260664)
+       The problem is that mkfs.xfs won't work if the file it is trying to
+       create is on a filesystem with a sector size larger than the passed
+       -ssize value. So a host with 4k disks (eg. s390) and the xfs filesystem
+       will fail with the error message:
+           illegal sector size 512; hw sector is 4096
+
+       Failures setting up the environment for the test aren't parted bugs.
+       This stops treating mkfs and dd errors as test failures, skipping the fs
+       and logging a warning.
+
+       Related: rhbz#1260664
+
+2016-12-22  Brian C. Lane  <bcl@redhat.com>
+
+       tests: Add wait to t9042 (#1257415)
+       Also make the new disklabel and first partition all in one step to
+       prevent udev problems.
+
+       Resolves: rhbz#1257415
+
+2016-12-22  Brian C. Lane  <bcl@redhat.com>
+
+       tests: Add udevadm settle to wait_for_ loop (#1260664)
+       Sometimes the device will vanish after the wait_for_dev_to_appear exits.
+       Add udevadm settle in an attempt to make sure the udev system is done
+       flapping around and the device will stay in place.
+
+       Related: rhbz#1260664
+
+2016-10-04  Brian C. Lane  <bcl@redhat.com>
+
+       tests: t3310-flags.sh skip pc98 when sector size != 512
+
+2016-10-04  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       tests: t3310-flags.sh: Add tests for remaining table types
+       Add test of flags for remaining table types: aix, amiga, pc98, sun and
+       loop.  Note that support of writing AIX tables is not yet implemented in
+       parted and LOOP tables don't support partitions nor flags.
+
+2016-10-04  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       tests: t3310-flags.sh: Add test for dvh table flags
+       DVH table reserves the first 4 MiB for the volume header information so
+       move the created test partition to immediately after that.
+
+       Exclude testing the boot flag as that can only be set on logical
+       partitions and this test script only uses primary partitions so far.
+
+2016-10-04  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       tests: t3310-flags.sh: Add test for mac table flags
+       MAC partition table reserves partition 1 for the partition map
+       partition, so the created test partition will be number 2.  Adapt
+       accordingly.
+
+       Setting flags 'root' and 'swap' also sets the partition name to 'root'
+       and 'swap' respectively, so no longer match the partition name in
+       extract_flags().
+
+       Don't test lvm and raid flags as they fail to be cleared with a single
+       set off command.  See FIXME comment in the test for more details.
+
+2016-10-04  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       libparted: Remove commented local variable from bsd_partition_set_flag()
+
+2016-10-04  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       libparted: Fix to report success when setting lvm flag on bsd table
+       bsd_partition_set_flag() was falling through in the lvm flag case and
+       returning failure.  Fix this by adding missing return 1 (success) like
+       for the other flags.
+
+       Found as a result of this bug reported by Timo Riikonen:
+       https://bugzilla.gnome.org/show_bug.cgi?id=769831
+
+2016-10-04  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       tests: t3310-flags.sh: Add test for bsd table flags
+
+       tests: t3310-flags.sh: Stop excluding certain flags from being tested
+       Also grep for whole words, grep -w, to avoid flag 'boot' being matched
+       as a substring of flag 'legacy_boot'.
+
+2016-10-04  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       tests: t3310-flags.sh: Query libparted for all flags to be tested
+       Replace scanning the documentation for an incomplete list of flags with
+       querying libparted for the complete list of supported flags via the
+       added helper print-flags.
+
+       Correct $ME -> $ME_ in the warning messages.  Improve the warning
+       messages by including the table type and flag name not correctly set or
+       cleared.
+
+       Plus minor changes:
+       (1) use slightly longer variable name primary_or_name;
+       (2) use longer test partition name PTNNAME; and
+       (3) stop shortening parted unit command to u.
+
+2016-09-30  Petr Uzel  <petr.uzel@suse.cz>
+
+       libparted: only IEC units are treated as exact
+       If the user specifies start/end of the partition as a unit,
+       whose size happens to be power of two, we treat that as
+       exact address with exact placement.
+
+       Recently, commit 01900e056ec25083 added an exception for
+       percent units.
+
+       This logic however can fail also for cylinders, e.g. on DASD FBA disks,
+       which report CHS=(*, 128, 16) geometry, hence once cylinder is 1 MiB.
+       With cylinders as units, exact placement is not what the user wants.
+
+       Instead of adding cylinders to the blacklist, let's instead
+       whitelist units which should trigger exact placement.
+
+       * libparted/unit.c (is_power_of_2): Remove now unused function.
+       (ped_unit_parse_custom): Specify which units trigger exact placement.
+       * NEWS (Bug Fixes): Mention this.
+
+2016-09-30  Gareth Randall  <gareth.randall@virgin.net>
+
+       docs: Improve partition description in parted.texi
+
+2016-06-23  Petr Uzel  <petr.uzel@suse.cz>
+
+       Add support for NVMe devices
+       Recognize NVMe Devices, so "parted -s /dev/nvme0n1" now prints
+       "NVMe Device (nvme)" instead of "Model: Unknown (unknown)".
+
+       In order for a device to be recognized as NVMe, it has to
+       have a 'blkext' major number. But since this major can be
+       used also by other device types, we also check the device
+       path contains 'nvme' as a substring.
+
+       * NEWS: Mention the change
+       * include/parted/device.h.in(PedDeviceType): Add PED_DEVICE_NVME
+       * libparted/arch/linux.c(BLKEXT_MAJOR): New define.
+       * libparted/arch/linux.c(_is_blkext_major): New function.
+       * libparted/arch/linux.c(_device_probe_type): Recognize NVMe devices.
+       * libparted/arch/linux.c(linux_new): Handle NVMe devices.
+       * parted/parted.c(do_print): Add "nvme" to list of transports.
+
+2016-06-23  Wang Dong  <dongdwdw@linux.vnet.ibm.com>
+
+       libparted/dasd: correct the offset where the first partition begins
+       The start point of first partition must start at least from the third
+       track of DASD, due to the existence of metadata in the first two track.
+       The previous constraint just sets all the device to be partitioned.
+       So when the start point of the first partition start before the third
+       track, (For example if it starts from.0) parted will exit abruptly.
+       And this kind of job must be done with constraint explicitly.
+
+       Then the constraint is modified to exclude the first two tracks and
+       to make the first partition start from the third track by default.
+
+       Reviewed-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
+
+2016-05-06  Brian C. Lane  <bcl@redhat.com>
+
+       libparted: Fix probing AIX disks on other arches
+       Not a likely scenario, but make sure the magic check works everywhere.
+
+2016-04-15  Brian C. Lane  <bcl@redhat.com>
+
+       libparted: Remove fdasd geometry code from alloc_metadata (#1244833)
+       commit db20944f changed how the trailing_metadata_end is calculated in
+       dasd_alloc_metadata, removing the need for setting up the anchor struct.
+       But dasd_alloc_metadata can be called in various contexts, and the
+       arch_specific->fd may or may not be valid during these calls. This can
+       result in unpredictable crashes when it uses a stale fd and tries to run
+       the file image code in fdasd_get_geometry instead of the device code.
+
+       The solution is to just drop the unneeded code, and to remember that
+       arch_specific->fd should only be used when ped_device_open has first
+       been called.
+
+       Resolves: rhbz#1244833
+
+2016-04-14  Phillip Susi  <psusi@ubuntu.com>
+
+       Add NEWS entry for fat resize fix
+
+2016-04-14  Gustavo Zacarias  <gustavo@zacarias.com.ar>
+
+       bug#17883: [PATCH] configure.ac: uclinux is also linux
+       uclinux is used in the tuple for some noMMU linux builds like Blackfin
+       FLAT output, so accept it as linux too.
+
+2016-04-14  Curtis Gedak  <gedakc@gmail.com>
+
+       lib-fs-resize: Fix recognition of FAT file system after resizing
+       When resizing a FAT partition, an extra boot_sector memory allocation
+       was causing the original boot_sector information to be lost.  The
+       resulting FAT file system was still recognized by GNU/Linux, but not
+       recognized by the proprietary Windows operating system.
+
+       The problem with Windows FAT32 recognition was introduced with:
+
+         Fix filesystem detection on non 512 byte sectors
+         80678bdd957cf49a9ccfc8b88ba3fb8b4c63fc12
+
+       Fix by removing the extra boot_sector memory allocation.
+
+       Note that since parted-3.0 another code path to the extra memory
+       allocation of fat_create(...) via ped_file_system_create(...) is
+       inaccessible.  In an effort to maintain the ability to re-instate the
+       code, add a new boot_sector memory allocation where it is needed in
+       the alternate code path.
+
+       GNU bug report logs - #22266
+       [libparted] jump instruction and boot code is corrupted with random
+       bytes after fat is resized
+       http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22266
+
+2016-04-12  Brian C. Lane  <bcl@redhat.com>
+
+       parted: Display details of partition alignment failure (#726856)
+       When alignment for a new partition fails it isn't always obvious why it
+       failed. This adds printing the reason for the failure, in the form of:
+
+       start % grain != offset
+
+       This modifies align-check in interactive mode to print the alignment the
+       error details if it isn't aligned. Script mode behavior is unchanged.
+
+       Also cleanup pointer usage and handle asprintf failure by using a constant
+       string in the error report - "unknown (malloc failure)".
+
+2016-04-12  Brian C. Lane  <bcl@redhat.com>
+
+       docs: Add list of filesystems for fs-type (#1311596)
+       Add the most common filesystem types to the parted manpage.
+
+       Resolves: rhbz#1311596
+
+2016-04-12  Brian C. Lane  <bcl@redhat.com>
+
+       Add libparted-fs-resize.pc
+       Add a pkgconfig file for the filesystem resize library.
+
+2016-04-10  Steven Lang  <Steven.Lang@hgst.com>
+
+       Use disk geometry as basis for ext2 sector sizes.
+       When creating the geom for probed ext2 based filesystems, the
+       size was being reported in 512 byte sectors, regardless of what
+       the actual sector size of the device is.
+
+2016-04-10  Phillip Susi  <psusi@ubuntu.com>
+
+       parted: fix the rescue command
+       The rescue command often failed to locate a filesystem due to it
+       leaving cylinder alignment on, which snapped the allowed bounds
+       of the filesystem down to the next lower cylinder boundary,
+       causing the detected filesystem to be rejected due to not fitting.
+
+2016-03-18  David Cantrell  <dcantrell@redhat.com>
+
+       Use BLKSSZGET to get device sector size in _device_probe_geometry()
+       Seen on certain newer devices (such as >32G SDHC memory cards), the
+       HDIO_GETGEO ioctl does not return useful information.  The libparted
+       code records hardware and bios reported geometry information, but all of
+       that is largely unusable these days.  The information is used in the
+       PedConstraint code for aligning partitions.  The sector count is most
+       useful.  Rather than only trying HDIO_GETGIO, first initialize the
+       bios_geom fields to 0 and then use BLKSSZGET to capture the sector size.
+       If that fails, try HDIO_GETGEO.  And if that fails, raise a warning and
+       fall back on the library's default sector size macro.
+
+       This problem showed up on Raspberry Pi devices where users were
+       attempting to grow a partition to fill the SDHC card.  Using the
+       optimal_aligned_constraint returned invalid geometry information
+       (98703359 instead of 124735488 sectors).  The issue was reported here:
+
+           https://github.com/fedberry/fedberry/issues/8
+
+       And to the pyparted project:
+
+           https://github.com/rhinstaller/pyparted/issues/25
+
+       I've applied this patch locally to parted, rebuilt, and reinstalled it
+       and it is working correctly for the problem SDHC cards.
+
+2016-03-07  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       tests: t3000-resize-fs.sh: Add very deep directory
+       Create 500 deep directory tree, with longest name of 4000 characters, to
+       the file system being resized to test the fix to prevent crash when
+       resizing a FAT file system with such a long path.
+
+2016-03-07  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       lib-fs-resize: Prevent crash resizing FAT with very deep directories
+       Resizing a FAT file system crashes in libparted/fs/r/fat/count.c
+       flag_traverse_dir() if the length of any path name in the file system
+       overflows the 512 byte file_name local buffer.  Increase buffer to 4096,
+       PATH_MAX on Linux.
+
+       Reported in
+       https://bugzilla.gnome.org/show_bug.cgi?id=762448
+
+2016-02-09  Viktor Mihajlovski  <mihajlov@linux.vnet.ibm.com>
+
+       fdasd.c: Safeguard against geometry misprobing
+       Fixes an issue with parted print being run against a logical
+       volume realised by extents on a physical volume residing on
+       a DASD.
+       We must make sure that geometry, device blocksize and DASD
+       attributes are present before we start format verifications
+       If any of it is missing this is not a DASD.
+
+2015-10-29  Colin Watson  <cjwatson@ubuntu.com>
+
+       parted: fix build error on s390
+       The preceding dasd probing patches have introduced a compile error
+       when building with blkid support. Fixed by reordering function
+       definitions.
+
+2015-10-27  Viktor Mihajlovski  <mihajlov@linux.vnet.ibm.com>
+
+       dasd: enhance device probing
+       Probe for all device/transport types as every block device
+       could be a DASD on s390.
+
+       Since the calculation of the minimum and optimum alignment
+       is different between DASDs and common fixed block disks
+       we need a means other than dev->type == PED_DEVICE_DASD.
+       For that purpose a static function _ped_device_like_dasd()
+       offering a DASD detection heuristic has been added to
+       arch/linux.c.
+
+       By always providing arch-specific alignment functions the
+       need for DASD-specific code could be removed from device.c.
+
+       Observe fdasd_get_geometry return code for proper error
+       handling.
+
+       Remove the obsolete API check as we no longer require the
+       DASD-specific IOCTLs.
+
+       Acked-by: Stefan Haberland <stefan.haberland@de.ibm.com>
+
+2015-10-27  Viktor Mihajlovski  <mihajlov@linux.vnet.ibm.com>
+
+       fdasd: geometry handling updated from upstream s390-tools
+       Remove the necessity for DASD-specific ioctls for partition handling.
+       This allows to correctly handle DASD-backed virtio block devices.
+
+       Note that this is necessary because virtio is just the transport.
+       A DASD, even if provided via virtio, still has it's unique
+       characteristics, which means that only traditional DASD partition
+       table formats can be used (no MBR, GPT, or similar).
+
+       Use bzero for initialization to make sure all struct members are
+       properly cleared. Also changed partition list handling code to be
+       more similar to upstream s390-tools fdasd.
+
+       Further, enhanced error handling capabilities by providing a
+       return code by fdasd_get_geometry.
+
+       Code is largely backported from s390-tools project.
+
+       Acked-by: Stefan Haberland <stefan.haberland@de.ibm.com>
+
+2015-10-09  Brian C. Lane  <bcl@redhat.com>
+
+       tests: Use wait_for_dev_to_ functions
+       Recent changes to udev have made some long-standing problems appear more
+       frequently. udev executes various actions when changes are made to
+       devices. Sometimes this can result in device nodes not appearing
+       immediately. Other times it can result in EBUSY being returned. This
+       patch only addresses devices that are slow to appear/disappear.
+
+       It is best to use the wait_for_dev_to_appear_ and
+       wait_for_dev_to_disappear_ functions than to test for existance. These
+       will loop and wait for up to 2 seconds for it to appear.
+
+       This also changes t9041 to fail if mkfs doesn't work since using skip
+       here may hide cases when the device node doesn't appear.
+
+2015-10-09  Brian C. Lane  <bcl@redhat.com>
+
+       libparted: Use read only when probing devices on linux (#1245144)
+       When a device is opened for RW closing it can trigger other actions,
+       like udev scanning it for partition changes. Use read only for the
+       init_* methods and RW for actual changes to the device.
+
+       This adds _device_open which takes mode flags as an argument and turns
+       linux_open into a wrapper for it with RW_MODE.
+
+       _device_open_ro is added to open the device with RD_MODE and increment
+       the open_counter. This is used in the init_* functions.
+
+       _device_close is a wrapper around linux_close that decrements the
+       open_counter and is used in the init_* functions.
+
+       All of these changes are self-contained with no external API changes.
+       The only visible change in behavior is that when a new PedDevice is
+       created the device is opened in RO_MODE instead of RW_MODE.
+
+       Resolves: rhbz#1245144
+
+2015-08-07  Brian C. Lane  <bcl@redhat.com>
+
+       libparted: Fix misspelling in hfs exception string
+
+2015-08-07  Brian C. Lane  <bcl@redhat.com>
+
+       libparted: Stop converting . in sys path to /
+       In _probe_sys_block it claimed that ! and . are replaced by / in sys
+       paths, but according to the kernel code only ! is replaced (for cciss
+       devices).
+
+       This is now causing problems with libnvdimm devices, the details are
+       here:
+
+       https://git.kernel.org/cgit/linux/kernel/git/djbw/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next
+
+2015-08-05  Amarnath Valluri  <amarnath.valluri@intel.com>
+
+       libparted: Fix possible memory leaks
+       * libparted/fs/r/fat/resize.c(fat_convert_directory): Possible leak
+         of sub_old_dir_trav or sub_new_dir_trav in error case.
+       * libparted/fs/r/fat/resize.c(fat_construct_converted_tree ): Possible
+         leak of new_trav_info or old_trav_info in error case.
+
+2015-08-03  Amarnath Valluri  <amarnath.valluri@intel.com>
+
+       libparted: Fix memory leaks
+       * libparted/fs/r/hfs/hfs.c(hfsplus_resize): Don't leak embedded_geom
+         when volume resizing failed.
+       * libparted/fs/fat/fat.c(fat_create): Don't leake fs in-case of
+         fat_write_clustor failuer.
+       * libparted/arch/linux.c(_kernel_get_partition_start_and_length): Don't leak
+         dev_fd file descriptor.
+
+       UI: Avoid memory leaks.
+       * parted/ui.c(command_line_get_sector): Don't leak input string.
+       * parted/ui.c(command_line_prompt_words): Don't leak _def string in
+         opt script mode.
+
+2015-07-13  Brian C. Lane  <bcl@redhat.com>
+
+       parted: Fix crash with name command and no disklabel (#1226067)
+       A typo (the last I think) from commit 7eac058 wasn't properly checking
+       the result of ped_disk_new so it could crash if there was no disklabel
+       on the device.
+
+2015-07-13  Alexander Todorov  <atodorov@redhat.com>
+
+       Fwd: [PATCH 2/2] add verbose test documentation
+
+       merge HACKING and README-hacking
+
+2015-07-02  Sergei Antonov  <saproj@gmail.com>
+
+       mac: copy partition type and name correctly
+       Use strncpy() instead of strcpy() to copy partition name and type.
+       This prevents possible buffer overflow, because the source string
+       occupies up to 33 bytes with a terminating null.
+
+       Static analysis tools complain about the code as it is now:
+         Function: _generate_raw_part
+         Destination buffer too small
+         string_overflow: You might overrun the 32 byte destination string
+         part_map_entry->type by writing 33 bytes from mac_part_data->system_name
+         (Destination buffer too small, line 933)
+
+       Cc: Sabas Rosales, Blanca E <blanca.e.sabas.rosales@intel.com>
+
+2015-06-26  Brian C. Lane  <bcl@redhat.com>
+
+       libparted: BLKPG_RESIZE_PARTITION uses bytes, not sectors (#1135493)
+       This results in the extended partition vanishing after adding another
+       partition.
+
+       Resolves: rhbz#1135493
+
+2015-06-26  Brian C. Lane  <bcl@redhat.com>
+
+       tests: Make sure the extended partition length is correct (#1135493)
+       parted tells the kernel the wrong length when reporting a resize of an
+       extended partition. Make sure the length is 2 for 512b sectors and 1
+       sector for larger.
+
+2015-06-24  Brian C. Lane  <bcl@redhat.com>
+
+       doc: Fix url for LWN article
+       Removed an extra http:// from it.
+
+2015-06-24  Alexander Todorov  <atodorov@redhat.com>
+
+       tests: Fall back to C.UTF-8 if no en_US.utf8 available
+       Not all distributions (Fedora) have C.UTF-8 so first try en_US.utf8 and fall
+       back to it. This may still fail if neither exist.
+
+       * tests/t0251-gpt-unicode.sh: Test for en_US and fall back to C.UTF-8
+
+2015-06-22  Felix Janda  <felix.janda@posteo.de>
+
+       libparted/fs/xfs/platform_defs.h: Include <fcntl.h> for loff_t
+       This is needed for compilation with musl libc
+
+       Suggested-by: Travis Tilley <ttilley@gmail.com>
+
+2015-06-22  Felix Janda  <felix.janda@posteo.de>
+
+       libparted/arch/linux.c: Compile without ENABLE_DEVICE_MAPPER
+
+2015-03-23  Brian C. Lane  <bcl@redhat.com>
+
+       Update manpage NAME so whatis will work
+
+2015-02-06  Brian C. Lane  <bcl@redhat.com>
+
+       libparted: device mapper uses 512b sectors
+       device mapper doesn't use the device's sector size when creating a
+       table. It always uses 512b units. This causes partitions to be created
+       8x smaller than expected on devices with 4906b sectors.
+
+2015-02-05  Brian C. Lane  <bcl@redhat.com>
+
+       tests: Add a test for device-mapper partition sizes
+       device-mapper uses 512b sector units, not device specific sector sizes.
+       This test ensures that the correct partition size is created, no matter
+       what the device's sector size is.
+
+2015-01-13  Phillip Susi  <psusi@ubuntu.com>
+
+       parted: don't crash in disk_set when disk label not found
+       Due to a typeo in commit 7eac058 "parted: don't reload partition
+       table on every command", the disk_set command would crash if
+       a disk label was not found.
+
+2014-11-10  Brian C. Lane  <bcl@redhat.com>
+
+       tests: Change minimum size to 256MiB
+       btrfs on ppc64 wants 136MiB so expand the minimum temp filesystem size
+       for the t1700-probe-fs test.
+
+2014-10-27  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       tests: t3000-resize-fs.sh: Add requirement on mkfs.vfat
+       Add test skipping requirement on mkfs.vfat for the FAT32 and FAT16 file
+       system resizing tests.  This matches existing test skipping requirement
+       on mkfs.hfs for the hfs+ file system.
+
+       * tests/t3000-resize-fs.sh: Also correct skip_test_ to skip_.
+       * tests/t-lib-helpers.sh: Also update message for requirement of hfs.
+
+2014-10-27  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       tests: t3000-resize-fs.sh: Add FAT16 resizing test
+       Add FAT16 resizing test so that we don't regress again.
+
+2014-10-27  Mike Fleetwood  <mike.fleetwood@googlemail.com>
+
+       lib-fs-resize: Prevent crash resizing FAT16 file systems
+       Resizing FAT16 file system crashes in libparted/fs/r/fat/resize.c
+       create_resize_context() because it was dereferencing NULL pointer
+       fs_info->info_sector to copy the info_sector.
+
+       Only FAT32 file systems have info_sector populated by fat_open() ->
+       fat_info_sector_read().  FAT12 and FAT16 file systems don't have an
+       info_sector so pointer fs_info->info_sector remains assigned NULL from
+       fat_alloc().  When resizing a FAT file system create_resize_context()
+       was always dereferencing fs_info->info_sector to memory copy the
+       info_sector, hence it crashed for FAT12 and FAT16.
+
+       Make create_resize_context() only copy the info_sector for FAT32 file
+       systems.
+
+       Reported by Christian Hesse in
+       https://bugzilla.gnome.org/show_bug.cgi?id=735669
+
+2014-09-20  Heiko Becker  <heirecka@exherbo.org>
+
+       libparted: also link to UUID_LIBS
+       * libparted/Makefile.am (libparted_la_LIBADD): Add UUID_LIBS.
+       This fixes building parted with the gold linker.
+
 2014-07-28  Phillip Susi  <psusi@ubuntu.com>
 
+       maint: post-release administrivia
+       * NEWS: Add header line for next release.
+       * .prev-version: Record previous version.
+       * cfg.mk (old_NEWS_hash): Auto-update.
+
        version 3.2
        * NEWS: Record release date.
 
 
        * tests/t1700-probe-fs.sh: Add new filesystems to test
 
-2014-05-26  Jim Meyering  <meyering@fb.com>
+2014-05-25  Jim Meyering  <meyering@fb.com>
 
        maint: run "make update-copyright"
 
-2014-05-25  Jim Meyering  <meyering@fb.com>
-
        maint: remove doubled word: s/on on/on/
        * NEWS: Remove doubled-word detected by "make syntax-check".
 
        caused the t6000-dm root-only test to fail on Fedora 17.
        Also, redirect less to /dev/null: that helps diagnose failure.
 
-2012-10-04  Bob Beers  <bob.beers.gmail.com>  (tiny change)
+2012-10-03  Bob Beers  <bob.beers.gmail.com>  (tiny change)
 
        doc: libparted/disk.c: correct doxygen comment typo
        * libparted/disk.c: s/PedPartition/PedDisk/
        maint: update all copyright year number ranges
        Run "make update-copyright".
 
-2011-12-15  Phillip Susi  <psusi@cfl.rr.com>
+2011-12-14  Phillip Susi  <psusi@cfl.rr.com>
 
        doc: add NEWS entry for "Add partition separator only when required"
 
        * libparted/arch/linux.c: (_get_linux_version): Simplify and add
        an assertion.
 
-2011-06-07  Jim Meyering  <meyering@redhat.com>
+2011-06-06  Jim Meyering  <meyering@redhat.com>
 
        libparted: accommodate two-component linux version number like 3.0
        * libparted/arch/linux.c (_get_linux_version): Also accept 2-component
        * tests/t1100-busy-label.sh: Remove one last use of mkpartfs.
        Use scsi_debug rather than requiring an explicitly-provided device.
 
+2011-05-26  Jim Meyering  <meyering@redhat.com>
+
        maint: correct coverity-reported "suspicious sizeof"
        * parted/table.c (table_add_row): Use sizeof(*VAR), rather than
        erroneous sizeof(explicit_type) that just happened to be ok.
        tests: adapt t1101-busy-partition not to use mkpartfs
        * tests/t1101-busy-partition.sh: Use mkfs.vfat instead.
 
-2011-05-11  Jim Meyering  <meyering@redhat.com>
+2011-05-10  Jim Meyering  <meyering@redhat.com>
 
        tests: write all pairs of partition table types
        * tests/t9050-partition-table-types.sh: New file.
        * tests/Makefile.am (TESTS): Add it.
 
-2011-05-10  Jim Meyering  <meyering@redhat.com>
-
        tests: add a NEWS entry and a test to exercise today's bug fix
        * tests/t9041-undetected-in-use-16th-partition: New file.
        * tests/Makefile.am (TESTS): Add it.
        tests: add a minimal nilfs2 test
        * tests/t1700-probe-fs.sh: Adapt to also test nilfs2.
 
-2011-03-04  Jim Meyering  <meyering@redhat.com>
+2011-03-03  Jim Meyering  <meyering@redhat.com>
 
        tests: rename a test script, before extending it to handle nilfs
        * tests/t1700-probe-fs.sh: Rename from ...
        The is_valid_nilfs_sb function came from the grub nilfs2 module,
        which is written by me and assigned to FSF.
 
-2011-02-26  Jim Meyering  <meyering@redhat.com>
+2011-02-25  Jim Meyering  <meyering@redhat.com>
 
        maint: two files lacked a newline at EOF: add one to each
        * include/Makefile.am: Add newline at end of file.
        tests: remove useless commands
        * tests/t3310-flags.sh: Remove useless exp-manipulating commands.
 
-2011-02-26  Brian C. Lane  <bcl@redhat.com>
+2011-02-25  Brian C. Lane  <bcl@redhat.com>
 
        gpt: add legacy_boot partition flag
        Add support for the Legacy BIOS Bootable flag in the GPT
        (gpt_partition_set_flag, gpt_partition_get_flag):
        (gpt_partition_is_flag_available): Add legacy_boot flag support.
 
-2011-02-26  Brian C. Lane  <bcl@redhat.com>
+2011-02-25  Brian C. Lane  <bcl@redhat.com>
 
        gpt: add partition attribute bits: NoBlockIOProtocol, LegacyBIOSBootable
        Add NoBlockIOProtocol and LegacyBIOSBootable flags to the GPT partition
        Attributes entry.
 
-2011-02-26  Jim Meyering  <meyering@redhat.com>
+2011-02-25  Jim Meyering  <meyering@redhat.com>
 
        doc: regenerate partprobe .pot and .po files
        * doc/C/po/partprobe.8.pot: Slight syntax update induced by newer tool.
        doc: also mention KiB, MiB, GiB and TiB suffixes
        * doc/parted.texi (unit): Also mention KiB, MiB, GiB and TiB.
 
-2010-11-18  Colin Watson  <cjwatson@ubuntu.com>
+2010-11-17  Colin Watson  <cjwatson@ubuntu.com>
 
        libparted: ignore zero-length devices
        * bootstrap.conf (gnulib_modules): Add xstrtoll.
        * tests/t-lib.sh (require_hfs_): New function.
        * tests/t3000-resize-fs.sh: Use require_hfs_.
 
-2010-03-01  Jim Meyering  <meyering@redhat.com>
+2010-02-28  Jim Meyering  <meyering@redhat.com>
 
        tests: convert more tests to the newer infrastructure
        * tests/t1700-ext-probe.sh: Convert from test-lib.sh to t-lib.sh.
        failure.  Set part_name to NULL after the first free, to make
        the second a no-op after the first.
 
+2009-12-11  Jim Meyering  <meyering@redhat.com>
+
        build: update spec: gperf is a new build-requirement
        * parted.spec.in (BuildRequires): Add gperf.
        Reported by Jeff Darcy.
 
-2009-12-11  Jim Meyering  <meyering@redhat.com>
-
        build: update gnulib submodule to latest
 
        tests: ensure that parted can partition a loop device
 
        Fix a typo: s/to defragmenting/to defragment/, Remove trailing blanks.
 
-2008-02-04  Jim Meyering  <meyering@redhat.com>
+2008-02-03  Jim Meyering  <meyering@redhat.com>
 
        Don't write into line[-1] when line starts with a NUL byte.
        * parted/ui.c (_readline): Check strlen first.
 
        Some of this duplication should be factored out, eventually...
 
-2007-05-26  Jim Meyering  <jim@meyering.net>
+2007-05-25  Jim Meyering  <jim@meyering.net>
 
        Diagnose invalid command arguments.
        This started because I objected to parted failing with no diagnostic
 
        Make all tests get their initialization from the same place. * tests/t2000-mkfs.sh: Get initialization via ". ./init.sh", not via ". ./test-lib.sh". * Makefile.maint (sc_test_init): New test, to ensure we stay consistent.
 
-       * tests/Makefile.am (init.sh): Make this generated file read-only.
-
 2007-05-18  Jim Meyering  <jim@meyering.net>
 
+       * tests/Makefile.am (init.sh): Make this generated file read-only.
+
        mkpartfs ext2 2 10 would erroneously report "file system too small" for some small (single-group) partitions.  It would also fail to report "file system too small" in some cases, and instead continue on to into inode-allocation code where it'd report "File system full!" * libparted/fs/ext2/ext2_mkfs.c (compute_block_counts): New function, factored out of... (ext2_mkfs): ...here.  Call compute_block_counts rather than open-coded it.  When decrementing numblocks, call compute_block_counts again, to recompute all of the derived values. Require at least 14 free blocks in a 16-inode-per-group partition. * tests/t1500-small-ext2.sh: New file.  Test for the above. * tests/Makefile.am (TESTS): Add t1500-small-ext2.sh.
 
 2007-05-17  Jim Meyering  <jim@meyering.net>
 
        Set version to 1.8.3 for upcoming release.
 
-2007-05-01  Debarshi Ray  <rishi@gnu.org>
+2007-04-30  Debarshi Ray  <rishi@gnu.org>
 
        [tests] Separate and improved test for reading of disk labels.
 
 
        [libparted] dvh label fixes
 
+2007-04-19  Otavio Salvador  <otavio@ossystems.com.br>
+
        [tests] Simplify test_clone_label removing the label reading test
        Since the test_create_label already tests the label reading we
        shouldn't redo it. It's always better to have simple tests so is much
        easier to find the bugs.
 
-2007-04-19  Otavio Salvador  <otavio@ossystems.com.br>
-
        [tests] Trivial coding style fixes around the tests code
 
 2007-04-19  Otavio Salvador  <otavio@ossystems.com.br>
 
        po/POTFILES.in: Add lib/getopt.c
 
-2007-03-16  Debarshi Ray  <rishi@gnu.org>
+2007-03-15  Debarshi Ray  <rishi@gnu.org>
 
        Prevented DASD specific headers and sources from being compiled/installed on non-s390 systems; and conditionally included fdasd.h in linux.h for s390 systems.
 
 
        Fix memleaks. Patch thanks to Mike Hommey
 
-2007-02-19  Debarshi Ray  <rishi@gnu.org>
+2007-02-18  Debarshi Ray  <rishi@gnu.org>
 
        Introduced MAINTAINERCLEANFILES in Makefile.am for carrying out 'make maintainer-clean'.
 
-2007-02-18  Debarshi Ray  <rishi@gnu.org>
-
        Cleaning up nested structs & unions.
 
 2007-02-16  Jim Meyering  <jim@meyering.net>
        Changes done on darcs repository suitable for 1.8 release:
        Fri Nov 10 23:19:15 BRST 2006  Otavio Salvador <otavio@debian.org>
          * Code clean-up on registering and unregistering of disks
-         
+
                * libparted/disk.c (ped_register_disk_type, ped_unregister_disk_type):
                Clean-up. Patch sent by Debarshi 'Rishi' Ray <debarshi.ray@gmail.com>.
 
        Fri Nov 10 23:14:58 BRST 2006  Otavio Salvador <otavio@debian.org>
          * Fix filesystem unregistering
-               
+
                * libparted/filesys.c (ped_file_system_type_unregister): Handle
                instances where fs_types == NULL and the given fs_type is not in
                the list of registered file-system types. Some code clean-up.
index 4ab642943f3ba3042db4659829a77806c1c93a5a..da25113fc31b6c516538f0e6ff69b2cfb91e2114 100644 (file)
@@ -5,7 +5,7 @@
 # It is necessary if you want to build targets usually of interest
 # only to the maintainer.
 
-# Copyright (C) 2001, 2003, 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2006-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
@@ -18,7 +18,7 @@
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # If the user runs GNU make but has not yet run ./configure,
 # give them a diagnostic.
diff --git a/INSTALL b/INSTALL
index 2099840756e6302d837dcd51b5dcd6262f7adb16..8865734f81b136629e961c230380423899c75794 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
-Inc.
+   Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
+Foundation, Inc.
 
    Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -12,97 +12,96 @@ without warranty of any kind.
 Basic Installation
 ==================
 
-   Briefly, the shell command `./configure && make && make install'
+   Briefly, the shell command './configure && make && make install'
 should configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
+more-detailed instructions are generic; see the 'README' file for
 instructions specific to this package.  Some packages provide this
-`INSTALL' file but do not implement all of the features documented
+'INSTALL' file but do not implement all of the features documented
 below.  The lack of an optional feature in a given package is not
 necessarily a bug.  More recommendations for GNU packages can be found
 in *note Makefile Conventions: (standards)Makefile Conventions.
 
-   The `configure' shell script attempts to guess correct values for
+   The 'configure' shell script attempts to guess correct values for
 various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
+those values to create a 'Makefile' in each directory of the package.
+It may also create one or more '.h' files containing system-dependent
+definitions.  Finally, it creates a shell script 'config.status' that
 you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
+file 'config.log' containing compiler output (useful mainly for
+debugging 'configure').
 
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
+   It can also use an optional file (typically called 'config.cache' and
+enabled with '--cache-file=config.cache' or simply '-C') that saves the
+results of its tests to speed up reconfiguring.  Caching is disabled by
+default to prevent problems with accidental use of stale cache files.
 
    If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
+to figure out how 'configure' could check whether to do them, and mail
+diffs or instructions to the address given in the 'README' so they can
 be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
+some point 'config.cache' contains results you don't want to keep, you
 may remove or edit it.
 
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
+   The file 'configure.ac' (or 'configure.in') is used to create
+'configure' by a program called 'autoconf'.  You need 'configure.ac' if
+you want to change it or regenerate 'configure' using a newer version of
+'autoconf'.
 
    The simplest way to compile this package is:
 
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
+  1. 'cd' to the directory containing the package's source code and type
+     './configure' to configure the package for your system.
 
-     Running `configure' might take a while.  While running, it prints
+     Running 'configure' might take a while.  While running, it prints
      some messages telling which features it is checking for.
 
-  2. Type `make' to compile the package.
+  2. Type 'make' to compile the package.
 
-  3. Optionally, type `make check' to run any self-tests that come with
+  3. Optionally, type 'make check' to run any self-tests that come with
      the package, generally using the just-built uninstalled binaries.
 
-  4. Type `make install' to install the programs and any data files and
+  4. Type 'make install' to install the programs and any data files and
      documentation.  When installing into a prefix owned by root, it is
      recommended that the package be configured and built as a regular
-     user, and only the `make install' phase executed with root
+     user, and only the 'make install' phase executed with root
      privileges.
 
-  5. Optionally, type `make installcheck' to repeat any self-tests, but
+  5. Optionally, type 'make installcheck' to repeat any self-tests, but
      this time using the binaries in their final installed location.
      This target does not install anything.  Running this target as a
-     regular user, particularly if the prior `make install' required
+     regular user, particularly if the prior 'make install' required
      root privileges, verifies that the installation completed
      correctly.
 
   6. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
+     source code directory by typing 'make clean'.  To also remove the
+     files that 'configure' created (so you can compile the package for
+     a different kind of computer), type 'make distclean'.  There is
+     also a 'make maintainer-clean' target, but that is intended mainly
      for the package's developers.  If you use it, you may have to get
      all sorts of other programs in order to regenerate files that came
      with the distribution.
 
-  7. Often, you can also type `make uninstall' to remove the installed
+  7. Often, you can also type 'make uninstall' to remove the installed
      files again.  In practice, not all packages have tested that
      uninstallation works correctly, even though it is required by the
      GNU Coding Standards.
 
-  8. Some packages, particularly those that use Automake, provide `make
+  8. Some packages, particularly those that use Automake, provide 'make
      distcheck', which can by used by developers to test that all other
-     targets like `make install' and `make uninstall' work correctly.
+     targets like 'make install' and 'make uninstall' work correctly.
      This target is generally not run by end users.
 
 Compilers and Options
 =====================
 
    Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  Run `./configure --help'
+the 'configure' script does not know about.  Run './configure --help'
 for details on some of the pertinent environment variables.
 
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
+   You can give 'configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here is
+an example:
 
      ./configure CC=c99 CFLAGS=-g LIBS=-lposix
 
@@ -113,21 +112,21 @@ Compiling For Multiple Architectures
 
    You can compile the package for more than one kind of computer at the
 same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
+own directory.  To do this, you can use GNU 'make'.  'cd' to the
 directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.  This
-is known as a "VPATH" build.
+the 'configure' script.  'configure' automatically checks for the source
+code in the directory that 'configure' is in and in '..'.  This is known
+as a "VPATH" build.
 
-   With a non-GNU `make', it is safer to compile the package for one
+   With a non-GNU 'make', it is safer to compile the package for one
 architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
+installed the package for one architecture, use 'make distclean' before
 reconfiguring for another architecture.
 
    On MacOS X 10.5 and later systems, you can create libraries and
 executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor.  Like
+"universal" binaries--by specifying multiple '-arch' options to the
+compiler but only a single '-arch' option to the preprocessor.  Like
 this:
 
      ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
@@ -136,105 +135,104 @@ this:
 
    This is not guaranteed to produce working output in all cases, you
 may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
+using the 'lipo' tool if you have problems.
 
 Installation Names
 ==================
 
-   By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
+   By default, 'make install' installs the package's commands under
+'/usr/local/bin', include files under '/usr/local/include', etc.  You
+can specify an installation prefix other than '/usr/local' by giving
+'configure' the option '--prefix=PREFIX', where PREFIX must be an
 absolute file name.
 
    You can specify separate installation prefixes for
 architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
 PREFIX as the prefix for installing programs and libraries.
 Documentation and other data files still use the regular prefix.
 
    In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.  In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
+options like '--bindir=DIR' to specify different values for particular
+kinds of files.  Run 'configure --help' for a list of the directories
+you can set and what kinds of files go in them.  In general, the default
+for these options is expressed in terms of '${prefix}', so that
+specifying just '--prefix' will affect all of the other directory
 specifications that were not explicitly provided.
 
    The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
+correct locations to 'configure'; however, many packages provide one or
 both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
+'make install' command line to change installation locations without
 having to reconfigure or recompile.
 
    The first method involves providing an override variable for each
-affected directory.  For example, `make install
+affected directory.  For example, 'make install
 prefix=/alternate/directory' will choose an alternate location for all
 directory configuration variables that were expressed in terms of
-`${prefix}'.  Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated.  The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
-   The second method involves providing the `DESTDIR' variable.  For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names.  The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
+'${prefix}'.  Any directories that were specified during 'configure',
+but not in terms of '${prefix}', must each be overridden at install time
+for the entire installation to be relocated.  The approach of makefile
+variable overrides for each directory variable is required by the GNU
+Coding Standards, and ideally causes no recompilation.  However, some
+platforms have known limitations with the semantics of shared libraries
+that end up requiring recompilation when using this method, particularly
+noticeable in packages that use GNU Libtool.
+
+   The second method involves providing the 'DESTDIR' variable.  For
+example, 'make install DESTDIR=/alternate/directory' will prepend
+'/alternate/directory' before all installation names.  The approach of
+'DESTDIR' overrides is not required by the GNU Coding Standards, and
 does not work on platforms that have drive letters.  On the other hand,
 it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
+when some directory options were not specified in terms of '${prefix}'
+at 'configure' time.
 
 Optional Features
 =================
 
    If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
+with an extra prefix or suffix on their names by giving 'configure' the
+option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
+
+   Some packages pay attention to '--enable-FEATURE' options to
+'configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to '--with-PACKAGE' options, where PACKAGE
+is something like 'gnu-as' or 'x' (for the X Window System).  The
+'README' should mention any '--enable-' and '--with-' options that the
 package recognizes.
 
-   For packages that use the X Window System, `configure' can usually
+   For packages that use the X Window System, 'configure' can usually
 find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
+you can use the 'configure' options '--x-includes=DIR' and
+'--x-libraries=DIR' to specify their locations.
 
    Some packages offer the ability to configure how verbose the
-execution of `make' will be.  For these packages, running `./configure
+execution of 'make' will be.  For these packages, running './configure
 --enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
+overridden with 'make V=1'; while running './configure
 --disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
+overridden with 'make V=0'.
 
 Particular systems
 ==================
 
-   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
-CC is not installed, it is recommended to use the following options in
+   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU CC
+is not installed, it is recommended to use the following options in
 order to use an ANSI C compiler:
 
      ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
-   HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved.  Use GNU `make'
-instead.
+   HP-UX 'make' updates targets which have the same time stamps as their
+prerequisites, which makes it generally unusable when shipped generated
+files such as 'configure' are involved.  Use GNU 'make' instead.
 
    On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
-a workaround.  If GNU CC is not installed, it is therefore recommended
-to try
+parse its '<wchar.h>' header file.  The option '-nodtk' can be used as a
+workaround.  If GNU CC is not installed, it is therefore recommended to
+try
 
      ./configure CC="cc"
 
@@ -242,26 +240,26 @@ and if that doesn't work, try
 
      ./configure CC="cc -nodtk"
 
-   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
+   On Solaris, don't put '/usr/ucb' early in your 'PATH'.  This
 directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
+these programs are available in '/usr/bin'.  So, if you need '/usr/ucb'
+in your 'PATH', put it _after_ '/usr/bin'.
 
-   On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'.  It is recommended to use the following options:
+   On Haiku, software installed for all users goes in '/boot/common',
+not '/usr/local'.  It is recommended to use the following options:
 
      ./configure --prefix=/boot/common
 
 Specifying the System Type
 ==========================
 
-   There may be some features `configure' cannot figure out
+   There may be some features 'configure' cannot figure out
 automatically, but needs to determine by the type of machine the package
 will run on.  Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
+_same_ architectures, 'configure' can figure that out, but if it prints
 a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
+'--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as 'sun4', or a canonical name which has the form:
 
      CPU-COMPANY-SYSTEM
 
@@ -270,101 +268,101 @@ where SYSTEM can have one of these forms:
      OS
      KERNEL-OS
 
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
+   See the file 'config.sub' for the possible values of each field.  If
+'config.sub' isn't included in this package, then this package doesn't
 need to know the machine type.
 
    If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
+use the option '--target=TYPE' to select the type of system they will
 produce code for.
 
    If you want to _use_ a cross compiler, that generates code for a
 platform different from the build platform, you should specify the
 "host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
+eventually be run) with '--host=TYPE'.
 
 Sharing Defaults
 ================
 
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
+   If you want to set default values for 'configure' scripts to share,
+you can create a site shell script called 'config.site' that gives
+default values for variables like 'CC', 'cache_file', and 'prefix'.
+'configure' looks for 'PREFIX/share/config.site' if it exists, then
+'PREFIX/etc/config.site' if it exists.  Or, you can set the
+'CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all 'configure' scripts look for a site script.
 
 Defining Variables
 ==================
 
    Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
+environment passed to 'configure'.  However, some packages may run
 configure again during the build, and the customized values of these
 variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
+them in the 'configure' command line, using 'VAR=value'.  For example:
 
      ./configure CC=/usr/local2/bin/gcc
 
-causes the specified `gcc' to be used as the C compiler (unless it is
+causes the specified 'gcc' to be used as the C compiler (unless it is
 overridden in the site shell script).
 
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation.  Until the limitation is lifted, you can use
-this workaround:
+Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
+Autoconf limitation.  Until the limitation is lifted, you can use this
+workaround:
 
      CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 
-`configure' Invocation
+'configure' Invocation
 ======================
 
-   `configure' recognizes the following options to control how it
+   'configure' recognizes the following options to control how it
 operates.
 
-`--help'
-`-h'
-     Print a summary of all of the options to `configure', and exit.
+'--help'
+'-h'
+     Print a summary of all of the options to 'configure', and exit.
 
-`--help=short'
-`--help=recursive'
+'--help=short'
+'--help=recursive'
      Print a summary of the options unique to this package's
-     `configure', and exit.  The `short' variant lists options used
-     only in the top level, while the `recursive' variant lists options
-     also present in any nested packages.
+     'configure', and exit.  The 'short' variant lists options used only
+     in the top level, while the 'recursive' variant lists options also
+     present in any nested packages.
 
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
+'--version'
+'-V'
+     Print the version of Autoconf used to generate the 'configure'
      script, and exit.
 
-`--cache-file=FILE'
+'--cache-file=FILE'
      Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     traditionally 'config.cache'.  FILE defaults to '/dev/null' to
      disable caching.
 
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
+'--config-cache'
+'-C'
+     Alias for '--cache-file=config.cache'.
 
-`--quiet'
-`--silent'
-`-q'
+'--quiet'
+'--silent'
+'-q'
      Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
+     suppress all normal output, redirect it to '/dev/null' (any error
      messages will still be shown).
 
-`--srcdir=DIR'
+'--srcdir=DIR'
      Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
+     'configure' can determine that directory automatically.
 
-`--prefix=DIR'
-     Use DIR as the installation prefix.  *note Installation Names::
-     for more details, including other options available for fine-tuning
-     the installation locations.
+'--prefix=DIR'
+     Use DIR as the installation prefix.  *note Installation Names:: for
+     more details, including other options available for fine-tuning the
+     installation locations.
 
-`--no-create'
-`-n'
+'--no-create'
+'-n'
      Run the configure checks, but stop before creating any output
      files.
 
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
+'configure' also accepts some other, not widely useful, options.  Run
+'configure --help' for more details.
index 686b61cd4f9bf65ba6ce45b4fb0b1397b3de8c85..c426b8c8a0ad5e504c7d4d5e374bff87fc95917c 100644 (file)
@@ -6,6 +6,7 @@ EXTRA_DIST =                            \
   .prev-version                                \
   BUGS                                 \
   libparted.pc.in                      \
+  libparted-fs-resize.pc.in            \
   parted.spec.in                       \
   parted.spec                          \
   scripts/data/abi/baseline_symbols.txt \
@@ -18,7 +19,7 @@ EXTRA_DIST =                          \
 aclocaldir=$(datadir)/aclocal
 
 pcdir = $(libdir)/pkgconfig
-pc_DATA = libparted.pc
+pc_DATA = libparted.pc libparted-fs-resize.pc
 
 # This is best not done via configure.ac, because automake's
 # make distcheck target does not like auto-generated files
index dbc3e93910056811776d8dcfd36e2d873cffee2e..2dfe7f338199202a370a7e0f6806ea132dba8443 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,92 +88,101 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = .
-DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
-       $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(top_srcdir)/configure $(am__configure_deps) \
-       $(srcdir)/libparted.pc.in ABOUT-NLS COPYING THANKS TODO \
-       build-aux/compile build-aux/config.guess \
-       build-aux/config.rpath build-aux/config.sub build-aux/depcomp \
-       build-aux/install-sh build-aux/mdate-sh build-aux/missing \
-       build-aux/texinfo.tex build-aux/ltmain.sh \
-       $(top_srcdir)/build-aux/compile \
-       $(top_srcdir)/build-aux/config.guess \
-       $(top_srcdir)/build-aux/config.rpath \
-       $(top_srcdir)/build-aux/config.sub \
-       $(top_srcdir)/build-aux/install-sh \
-       $(top_srcdir)/build-aux/ltmain.sh \
-       $(top_srcdir)/build-aux/missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -173,11 +192,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+       $(am__configure_deps) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
-CONFIG_CLEAN_FILES = libparted.pc
+CONFIG_CLEAN_FILES = libparted.pc libparted-fs-resize.pc
 CONFIG_CLEAN_VPATH_FILES =
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -242,7 +263,7 @@ am__recursive_targets = \
   $(RECURSIVE_CLEAN_TARGETS) \
   $(am__extra_recursive_targets)
 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-       cscope distdir dist dist-all distcheck
+       cscope distdir distdir-am dist dist-all distcheck
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -264,6 +285,19 @@ ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(srcdir)/libparted-fs-resize.pc.in $(srcdir)/libparted.pc.in \
+       $(top_srcdir)/build-aux/config.guess \
+       $(top_srcdir)/build-aux/config.rpath \
+       $(top_srcdir)/build-aux/config.sub \
+       $(top_srcdir)/build-aux/install-sh \
+       $(top_srcdir)/build-aux/ltmain.sh \
+       $(top_srcdir)/build-aux/missing ABOUT-NLS AUTHORS COPYING \
+       ChangeLog INSTALL NEWS README THANKS TODO \
+       build-aux/config.guess build-aux/config.rpath \
+       build-aux/config.sub build-aux/depcomp build-aux/install-sh \
+       build-aux/ltmain.sh build-aux/mdate-sh build-aux/missing \
+       build-aux/texinfo.tex
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -337,11 +371,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -356,18 +388,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -375,6 +414,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -420,6 +460,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -428,14 +472,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -481,6 +532,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -490,6 +543,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -497,26 +560,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -528,6 +606,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -539,6 +618,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -548,9 +628,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -580,6 +663,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -608,10 +692,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -622,17 +712,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -642,6 +737,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -652,6 +748,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -661,6 +758,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -673,13 +771,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -691,12 +794,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -711,6 +816,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -719,25 +826,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -748,20 +927,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -783,6 +975,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -808,12 +1001,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -830,13 +1025,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -850,52 +1049,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -930,16 +1152,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -948,6 +1171,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -965,8 +1189,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -994,6 +1223,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1003,21 +1233,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -1030,6 +1320,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -1038,14 +1329,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -1058,6 +1353,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1071,16 +1367,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1088,9 +1388,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1163,6 +1464,7 @@ EXTRA_DIST = \
   .prev-version                                \
   BUGS                                 \
   libparted.pc.in                      \
+  libparted-fs-resize.pc.in            \
   parted.spec.in                       \
   parted.spec                          \
   scripts/data/abi/baseline_symbols.txt \
@@ -1174,7 +1476,7 @@ EXTRA_DIST = \
 
 aclocaldir = $(datadir)/aclocal
 pcdir = $(libdir)/pkgconfig
-pc_DATA = libparted.pc
+pc_DATA = libparted.pc libparted-fs-resize.pc
 MAINTAINERCLEANFILES = parted.spec ABOUT-NLS ChangeLog INSTALL \
        aclocal.m4 configure
 
@@ -1203,15 +1505,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            echo ' $(SHELL) ./config.status'; \
            $(SHELL) ./config.status;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1224,6 +1525,8 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 libparted.pc: $(top_builddir)/config.status $(srcdir)/libparted.pc.in
        cd $(top_builddir) && $(SHELL) ./config.status $@
+libparted-fs-resize.pc: $(top_builddir)/config.status $(srcdir)/libparted-fs-resize.pc.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
 
 mostlyclean-libtool:
        -rm -f *.lo
@@ -1361,7 +1664,10 @@ distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
        -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        $(am__remove_distdir)
        test -d "$(distdir)" || mkdir "$(distdir)"
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -1429,7 +1735,7 @@ distdir: $(DISTFILES)
          ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
        || chmod -R a+r "$(distdir)"
 dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
        $(am__post_remove_distdir)
 
 dist-bzip2: distdir
@@ -1444,17 +1750,17 @@ dist-xz: distdir
        $(am__post_remove_distdir)
 
 dist-tarZ: distdir
-       @echo WARNING: "Support for shar distribution archives is" \
-                      "deprecated." >&2
+       @echo WARNING: "Support for distribution archives compressed with" \
+                      "legacy program 'compress' is deprecated." >&2
        @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
        tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
        $(am__post_remove_distdir)
 
 dist-shar: distdir
-       @echo WARNING: "Support for distribution archives compressed with" \
-                      "legacy program 'compress' is deprecated." >&2
+       @echo WARNING: "Support for shar distribution archives is" \
+                      "deprecated." >&2
        @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+       shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
        $(am__post_remove_distdir)
 
 dist-zip: distdir
@@ -1472,7 +1778,7 @@ dist dist-all:
 distcheck: dist
        case '$(DIST_ARCHIVES)' in \
        *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
        *.tar.bz2*) \
          bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
        *.tar.lz*) \
@@ -1482,24 +1788,24 @@ distcheck: dist
        *.tar.Z*) \
          uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
        *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
        *.zip*) \
          unzip $(distdir).zip ;;\
        esac
        chmod -R a-w $(distdir)
        chmod u+w $(distdir)
-       mkdir $(distdir)/_build $(distdir)/_inst
+       mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
        chmod a-w $(distdir)
        test -d $(distdir)/_build || exit 0; \
        dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
          && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
          && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \
          && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure \
+         && $(am__cd) $(distdir)/_build/sub \
+         && ../../configure \
            $(AM_DISTCHECK_CONFIGURE_FLAGS) \
            $(DISTCHECK_CONFIGURE_FLAGS) \
-           --srcdir=.. --prefix="$$dc_install_base" \
+           --srcdir=../.. --prefix="$$dc_install_base" \
          && $(MAKE) $(AM_MAKEFLAGS) \
          && $(MAKE) $(AM_MAKEFLAGS) dvi \
          && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -1684,6 +1990,8 @@ uninstall-am: uninstall-pcDATA
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags tags-am uninstall uninstall-am uninstall-pcDATA
 
+.PRECIOUS: Makefile
+
 
 # This is best not done via configure.ac, because automake's
 # make distcheck target does not like auto-generated files
diff --git a/NEWS b/NEWS
index 49c8129d1cdc6b17a9af1d46c79d45bd51e45fa8..2630146a8701173481e393a0fbdf78bccc29d2ae 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,64 @@
 GNU parted NEWS                                    -*- outline -*-
 
+* Noteworthy changes in release 3.3 (2019-10-10) [stable]
+
+** Bug Fixes
+
+  s390: Re-enabled virtio-attached DASD heuristics by using
+  HDIO_GETGEO when probing device geometry. Fixes a bug with
+  KVM virtio-blk backed by a DASD.
+
+* Noteworthy changes in release 3.2.153 (2019-08-12) [alpha]
+
+  Parted now recognizes NVMe devices, NVDIMM, and RAM drives.
+
+** Bug Fixes
+
+  Fix atari disklabel false positives by probing other labels first.
+
+  Fix resizepart to adjust the end to be -1 sector when using iec
+  power of 2 units so that the next partition can start immediately
+  following the new end, just like mkpart does.
+
+  Fix set and disk_set to not crash when there are no flags to set.
+
+  Fix a udev cookie leak when using resizepart on device-mapper devices.
+
+  Fix a gettext crash/error sometimes when using localized languages.
+
+  Fix fat resize to preverve boot code, and thus not render the
+  filesystem unreconized by Windows.
+
+  Fix rescue command: the rescue command often failed to find
+  filesystems due to leaving on cylinder alignment.
+
+  libparted-fs-resize: Prevent crash resizing FAT file systems with very
+  deep directories with path names over 512 bytes long.
+
+  Use 512b sector size when communicating with device-mapper. Fixes
+  problems with partitions being created too small on dm devices
+  with sector sizes > 5121b
+
+  Don't crash in the disk_set command when a disk label is not found
+
+  libparted-fs-resize: Prevent crash resizing FAT16 file systems.
+
+  libparted-fs-resize: Prevent crash resizing FAT16 file systems.
+
+  If the user specifies start/end of the partition as cylinders
+  and a cylinder has a size which is power of 2, then such address
+  does not trigger exact placement.
+
+  mkpart: Allow negative start value when FS-TYPE is not given
+
 * Noteworthy changes in release 3.2 (2014-07-28) [stable]
 
 ** New Features
 
+  Add support for MBR id, GPT GUID and detection of UDF filesystem.
+
+  libparted-fs-resize: Work on non 512 byte sectors.
+
   Add resizepart command to resize a partition.  This works even on
   mounted partitions.
 
@@ -859,7 +914,7 @@ GNU parted NEWS                                    -*- outline -*-
 
 ========================================================================
 
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2014, 2019 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/README b/README
index 3d1fee93ce93ccf2165848806eb1e322d073f8ed..de91d4c44cd24d80ebb4c7a3e5c00f7a2cc6c746 100644 (file)
--- a/README
+++ b/README
@@ -56,10 +56,5 @@ dangerous bugs before they would have done damage, so we think it's worth
 it.  Also, it means we get more bug reports ;)
 
 
-(2) When doing dependencies, remember that libreiserfs is a *soft* dependency,
-so I guess that means Debian-look-alikes should do a "suggests", but
-not a "requires".
-
-
-(3) When space is important, we suggest --without-readline, --disable-shared,
-and possibly --disable-nls and --disable-dynamic-loading.
+(2) When space is important, we suggest --without-readline, --disable-shared,
+and possibly --disable-nls.
index 070e2f748e61e1ebb3770ffc76f8a13af78e19de..fef217e5e61890668884f985adb7c7cfac5b7115 100644 (file)
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,32 +20,63 @@ You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-# 
-# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
-#
-# 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
+# serial 11 (pkg-config-0.29.1)
 
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
+dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+    [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
 AC_DEFUN([PKG_PROG_PKG_CONFIG],
 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
 m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@@ -67,18 +98,19 @@ if test -n "$PKG_CONFIG"; then
                PKG_CONFIG=""
        fi
 fi[]dnl
-])# PKG_PROG_PKG_CONFIG
+])dnl PKG_PROG_PKG_CONFIG
 
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists.  Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
 AC_DEFUN([PKG_CHECK_EXISTS],
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
 if test -n "$PKG_CONFIG" && \
@@ -88,8 +120,10 @@ m4_ifvaln([$3], [else
   $3])dnl
 fi])
 
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
 m4_define([_PKG_CONFIG],
 [if test -n "$$1"; then
     pkg_cv_[]$1="$$1"
@@ -101,10 +135,11 @@ m4_define([_PKG_CONFIG],
  else
     pkg_failed=untried
 fi[]dnl
-])# _PKG_CONFIG
+])dnl _PKG_CONFIG
 
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
 AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -112,19 +147,17 @@ if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
 else
         _pkg_short_errors_supported=no
 fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
 
 
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl   [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
 AC_DEFUN([PKG_CHECK_MODULES],
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
 AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
@@ -178,16 +211,40 @@ else
         AC_MSG_RESULT([yes])
        $3
 fi[]dnl
-])# PKG_CHECK_MODULES
+])dnl PKG_CHECK_MODULES
 
 
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl   [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
 AC_DEFUN([PKG_INSTALLDIR],
 [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
 m4_pushdef([pkg_description],
@@ -198,16 +255,18 @@ AC_ARG_WITH([pkgconfigdir],
 AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
 m4_popdef([pkg_default])
 m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
+])dnl PKG_INSTALLDIR
 
 
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
 AC_DEFUN([PKG_NOARCH_INSTALLDIR],
 [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
 m4_pushdef([pkg_description],
@@ -218,13 +277,15 @@ AC_ARG_WITH([noarch-pkgconfigdir],
 AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
 m4_popdef([pkg_default])
 m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
+])dnl PKG_NOARCH_INSTALLDIR
 
 
-# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
-# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# -------------------------------------------
-# Retrieves the value of the pkg-config variable for the given module.
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
 AC_DEFUN([PKG_CHECK_VAR],
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
 AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
@@ -233,9 +294,77 @@ _PKG_CONFIG([$1], [variable="][$3]["], [$2])
 AS_VAR_COPY([$1], [pkg_cv_][$1])
 
 AS_VAR_IF([$1], [""], [$5], [$4])dnl
-])# PKG_CHECK_VAR
+])dnl PKG_CHECK_VAR
 
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
+dnl   [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------
+dnl
+dnl Prepare a "--with-" configure option using the lowercase
+dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
+dnl PKG_CHECK_MODULES in a single macro.
+AC_DEFUN([PKG_WITH_MODULES],
+[
+m4_pushdef([with_arg], m4_tolower([$1]))
+
+m4_pushdef([description],
+           [m4_default([$5], [build with ]with_arg[ support])])
+
+m4_pushdef([def_arg], [m4_default([$6], [auto])])
+m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
+m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
+
+m4_case(def_arg,
+            [yes],[m4_pushdef([with_without], [--without-]with_arg)],
+            [m4_pushdef([with_without],[--with-]with_arg)])
+
+AC_ARG_WITH(with_arg,
+     AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
+    [AS_TR_SH([with_]with_arg)=def_arg])
+
+AS_CASE([$AS_TR_SH([with_]with_arg)],
+            [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
+            [auto],[PKG_CHECK_MODULES([$1],[$2],
+                                        [m4_n([def_action_if_found]) $3],
+                                        [m4_n([def_action_if_not_found]) $4])])
+
+m4_popdef([with_arg])
+m4_popdef([description])
+m4_popdef([def_arg])
+
+])dnl PKG_WITH_MODULES
+
+dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [DESCRIPTION], [DEFAULT])
+dnl -----------------------------------------------
+dnl
+dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
+dnl check._[VARIABLE-PREFIX] is exported as make variable.
+AC_DEFUN([PKG_HAVE_WITH_MODULES],
+[
+PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
+
+AM_CONDITIONAL([HAVE_][$1],
+               [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
+])dnl PKG_HAVE_WITH_MODULES
+
+dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------------------
+dnl
+dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
+dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
+dnl and preprocessor variable.
+AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
+[
+PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
+
+AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
+        [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
+])dnl PKG_HAVE_DEFINE_WITH_MODULES
+
+# Copyright (C) 2002-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -247,10 +376,10 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.14'
+[am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.14.1], [],
+m4_if([$1], [1.16.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -266,14 +395,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.14.1])dnl
+[AM_AUTOMAKE_VERSION([1.16.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -318,15 +447,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -357,7 +485,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -548,13 +676,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
@@ -562,49 +689,41 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
   # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
+  # TODO: see whether this extra hack can be removed once we start
+  # requiring Autoconf 2.70 or later.
+  AS_CASE([$CONFIG_FILES],
+          [*\'*], [eval set x "$CONFIG_FILES"],
+          [*], [set x $CONFIG_FILES])
   shift
-  for mf
+  # Used to flag and report bootstrapping failures.
+  am_rc=0
+  for am_mf
   do
     # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named 'Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
+    am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile which includes
+    # dependency-tracking related rules and includes.
+    # Grep'ing the whole file directly is not great: AIX grep has a line
     # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running 'make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "$am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
+    sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+      || continue
+    am_dirpart=`AS_DIRNAME(["$am_mf"])`
+    am_filepart=`AS_BASENAME(["$am_mf"])`
+    AM_RUN_LOG([cd "$am_dirpart" \
+      && sed -e '/# am--include-marker/d' "$am_filepart" \
+        | $MAKE -f - am--depfiles]) || am_rc=$?
   done
+  if test $am_rc -ne 0; then
+    AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
+    for automatic dependency tracking.  Try re-running configure with the
+    '--disable-dependency-tracking' option to at least be able to build
+    the package (albeit without support for automatic dependency tracking).])
+  fi
+  AS_UNSET([am_dirpart])
+  AS_UNSET([am_filepart])
+  AS_UNSET([am_mf])
+  AS_UNSET([am_rc])
+  rm -f conftest-deps.mk
 }
 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
 
@@ -613,18 +732,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 # -----------------------------
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each '.P' file that we will
-# need in order to bootstrap the dependency handling code.
+# This code is only required when automatic dependency tracking is enabled.
+# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
+# order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
      [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
+     [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -711,11 +829,11 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # For better backward compatibility.  To be removed once Automake 1.9.x
 # dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -779,7 +897,7 @@ END
 Aborting the configuration process, to ensure you take notice of the issue.
 
 You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
 
 If you want to complete the configuration process using your problematic
 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
@@ -788,7 +906,11 @@ to "yes", and re-run configure.
 END
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
-fi])
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
@@ -817,7 +939,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -828,7 +950,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\    *)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -838,7 +960,7 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -859,7 +981,7 @@ AC_SUBST([am__leading_dot])])
 
 # Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -867,49 +989,42 @@ AC_SUBST([am__leading_dot])])
 
 # AM_MAKE_INCLUDE()
 # -----------------
-# Check to see how make treats includes.
+# Check whether make has an 'include' directive that can support all
+# the idioms we need for our automatic dependency tracking code.
 AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
+[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
+cat > confinc.mk << 'END'
 am__doit:
-       @echo this is the am__doit target
+       @echo this is the am__doit target >confinc.out
 .PHONY: am__doit
 END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
 am__include="#"
 am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+  AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
+  AS_CASE([$?:`cat confinc.out 2>/dev/null`],
+      ['0:this is the am__doit target'],
+      [AS_CASE([$s],
+          [BSD], [am__include='.include' am__quote='"'],
+          [am__include='include' am__quote=''])])
+  if test "$am__include" != "#"; then
+    _am_result="yes ($s style)"
+    break
+  fi
+done
+rm -f confinc.* confmf.*
+AC_MSG_RESULT([${_am_result}])
+AC_SUBST([am__include])])
+AC_SUBST([am__quote])])
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -946,7 +1061,7 @@ else
 fi
 ])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -980,7 +1095,7 @@ esac
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1009,7 +1124,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1056,7 +1171,7 @@ AC_LANG_POP([C])])
 # For backward compatibility.
 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1075,7 +1190,7 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1156,7 +1271,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1216,7 +1331,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1244,7 +1359,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1263,7 +1378,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1395,18 +1510,20 @@ AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
 m4_include([m4/00gnulib.m4])
+m4_include([m4/__inline.m4])
 m4_include([m4/absolute-header.m4])
 m4_include([m4/alloca.m4])
+m4_include([m4/arpa_inet_h.m4])
 m4_include([m4/assert.m4])
 m4_include([m4/btowc.m4])
+m4_include([m4/builtin-expect.m4])
 m4_include([m4/calloc.m4])
 m4_include([m4/canonicalize.m4])
-m4_include([m4/close-stream.m4])
 m4_include([m4/close.m4])
-m4_include([m4/closeout.m4])
 m4_include([m4/codeset.m4])
 m4_include([m4/config-h.m4])
 m4_include([m4/configmake.m4])
+m4_include([m4/ctype.m4])
 m4_include([m4/dirname.m4])
 m4_include([m4/double-slash-root.m4])
 m4_include([m4/dup2.m4])
@@ -1417,25 +1534,34 @@ m4_include([m4/error.m4])
 m4_include([m4/extensions.m4])
 m4_include([m4/extern-inline.m4])
 m4_include([m4/fcntl-o.m4])
+m4_include([m4/fcntl.m4])
 m4_include([m4/fcntl_h.m4])
 m4_include([m4/fdopen.m4])
+m4_include([m4/flexmember.m4])
 m4_include([m4/fpending.m4])
 m4_include([m4/fstat.m4])
 m4_include([m4/fsync.m4])
+m4_include([m4/ftruncate.m4])
 m4_include([m4/getcwd.m4])
 m4_include([m4/getdtablesize.m4])
 m4_include([m4/getopt.m4])
 m4_include([m4/getpagesize.m4])
+m4_include([m4/getprogname.m4])
 m4_include([m4/gettext.m4])
 m4_include([m4/gettimeofday.m4])
 m4_include([m4/glibc21.m4])
 m4_include([m4/gnulib-common.m4])
 m4_include([m4/gnulib-comp.m4])
+m4_include([m4/host-cpu-c-abi.m4])
 m4_include([m4/iconv.m4])
 m4_include([m4/include_next.m4])
+m4_include([m4/inet_pton.m4])
+m4_include([m4/intl-thread-locale.m4])
 m4_include([m4/intlmacosx.m4])
 m4_include([m4/inttypes-pri.m4])
 m4_include([m4/inttypes.m4])
+m4_include([m4/ioctl.m4])
+m4_include([m4/isblank.m4])
 m4_include([m4/langinfo_h.m4])
 m4_include([m4/largefile.m4])
 m4_include([m4/lcmessage.m4])
@@ -1444,6 +1570,7 @@ m4_include([m4/lib-ld.m4])
 m4_include([m4/lib-link.m4])
 m4_include([m4/lib-prefix.m4])
 m4_include([m4/libtool.m4])
+m4_include([m4/limits-h.m4])
 m4_include([m4/localcharset.m4])
 m4_include([m4/locale-fr.m4])
 m4_include([m4/locale-ja.m4])
@@ -1452,6 +1579,7 @@ m4_include([m4/locale-zh.m4])
 m4_include([m4/locale_h.m4])
 m4_include([m4/localeconv.m4])
 m4_include([m4/localename.m4])
+m4_include([m4/localtime-buffer.m4])
 m4_include([m4/lock.m4])
 m4_include([m4/longlong.m4])
 m4_include([m4/lseek.m4])
@@ -1467,37 +1595,60 @@ m4_include([m4/mbrtowc.m4])
 m4_include([m4/mbsinit.m4])
 m4_include([m4/mbstate_t.m4])
 m4_include([m4/mbtowc.m4])
+m4_include([m4/minmax.m4])
+m4_include([m4/mkdir.m4])
 m4_include([m4/mkstemp.m4])
 m4_include([m4/mmap-anon.m4])
 m4_include([m4/mode_t.m4])
 m4_include([m4/msvc-inval.m4])
 m4_include([m4/msvc-nothrow.m4])
 m4_include([m4/multiarch.m4])
+m4_include([m4/nanosleep.m4])
+m4_include([m4/netinet_in_h.m4])
 m4_include([m4/nl_langinfo.m4])
 m4_include([m4/nls.m4])
 m4_include([m4/nocrash.m4])
 m4_include([m4/o-direct.m4])
 m4_include([m4/off_t.m4])
+m4_include([m4/open-cloexec.m4])
 m4_include([m4/open.m4])
 m4_include([m4/pathmax.m4])
+m4_include([m4/perror.m4])
+m4_include([m4/pipe.m4])
 m4_include([m4/po.m4])
 m4_include([m4/priv-set.m4])
 m4_include([m4/progtest.m4])
+m4_include([m4/pthread-thread.m4])
+m4_include([m4/pthread_h.m4])
+m4_include([m4/pthread_rwlock_rdlock.m4])
+m4_include([m4/pthread_sigmask.m4])
 m4_include([m4/putenv.m4])
 m4_include([m4/quote.m4])
 m4_include([m4/quotearg.m4])
+m4_include([m4/raise.m4])
 m4_include([m4/read.m4])
 m4_include([m4/readlink.m4])
 m4_include([m4/realloc.m4])
 m4_include([m4/regex.m4])
 m4_include([m4/rpmatch.m4])
 m4_include([m4/safe-read.m4])
-m4_include([m4/secure_getenv.m4])
+m4_include([m4/sched_h.m4])
+m4_include([m4/select.m4])
 m4_include([m4/setenv.m4])
 m4_include([m4/setlocale.m4])
+m4_include([m4/sigaction.m4])
+m4_include([m4/signal_h.m4])
+m4_include([m4/signalblocking.m4])
 m4_include([m4/sleep.m4])
+m4_include([m4/socketlib.m4])
+m4_include([m4/sockets.m4])
+m4_include([m4/socklen.m4])
+m4_include([m4/sockpfaf.m4])
 m4_include([m4/ssize_t.m4])
+m4_include([m4/stat-time.m4])
 m4_include([m4/stat.m4])
+m4_include([m4/std-gnu11.m4])
+m4_include([m4/stdalign.m4])
 m4_include([m4/stdarg.m4])
 m4_include([m4/stdbool.m4])
 m4_include([m4/stddef_h.m4])
@@ -1506,16 +1657,20 @@ m4_include([m4/stdio_h.m4])
 m4_include([m4/stdlib_h.m4])
 m4_include([m4/strdup.m4])
 m4_include([m4/strerror.m4])
+m4_include([m4/strerror_r.m4])
 m4_include([m4/string_h.m4])
 m4_include([m4/strndup.m4])
 m4_include([m4/strnlen.m4])
 m4_include([m4/strtoll.m4])
 m4_include([m4/strtoull.m4])
 m4_include([m4/symlink.m4])
+m4_include([m4/sys_ioctl_h.m4])
+m4_include([m4/sys_select_h.m4])
 m4_include([m4/sys_socket_h.m4])
 m4_include([m4/sys_stat_h.m4])
 m4_include([m4/sys_time_h.m4])
 m4_include([m4/sys_types_h.m4])
+m4_include([m4/sys_uio_h.m4])
 m4_include([m4/tempname.m4])
 m4_include([m4/thread.m4])
 m4_include([m4/threadlib.m4])
index db9ed50a78f5e990ed3052a034be98d30ac9f460..8fe0cc8c4b1a8c0ca32afe1b3dc1627a6655f067 100755 (executable)
@@ -1,43 +1,60 @@
-eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
-  & eval 'exec perl -wS "$0" $argv:q'
-    if 0;
-# Generate a release announcement message.
-
-my $VERSION = '2012-06-08 06:53'; # 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.
+#!/bin/sh
+#! -*-perl-*-
 
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Generate a release announcement message.
 
+# Copyright (C) 2002-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 <http://www.gnu.org/licenses/>.
-
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+#
 # Written by Jim Meyering
 
-use strict;
+# 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:46'; # 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 Getopt::Long;
-use Digest::MD5;
-eval { require Digest::SHA; }
-  or eval 'use Digest::SHA1';
 use POSIX qw(strftime);
 
 (my $ME = $0) =~ s|.*/||;
 
 my %valid_release_types = map {$_ => 1} qw (alpha beta stable);
 my @archive_suffixes = ('tar.gz', 'tar.bz2', 'tar.lzma', 'tar.xz');
+my %digest_classes =
+  (
+   'md5' => (eval { require Digest::MD5; } and 'Digest::MD5'),
+   'sha1' => ((eval { require Digest::SHA; } and 'Digest::SHA')
+              or (eval { require Digest::SHA1; } and 'Digest::SHA1'))
+  );
 my $srcdir = '.';
 
 sub usage ($)
@@ -157,15 +174,13 @@ sub print_checksums (@)
 
   foreach my $meth (qw (md5 sha1))
     {
+      my $class = $digest_classes{$meth} or next;
       foreach my $f (@file)
         {
           open IN, '<', $f
             or die "$ME: $f: cannot open for reading: $!\n";
           binmode IN;
-          my $dig =
-            ($meth eq 'md5'
-             ? Digest::MD5->new->addfile(*IN)->hexdigest
-             : Digest::SHA1->new->addfile(*IN)->hexdigest);
+          my $dig = $class->new->addfile(*IN)->hexdigest;
           close IN;
           print "$dig  $f\n";
         }
@@ -416,14 +431,15 @@ sub get_tool_versions ($$)
   @url_dir_list
     or (warn "URL directory name(s) not specified\n"), $fail = 1;
 
-  my @tool_list = split ',', $bootstrap_tools;
+  my @tool_list = split ',', $bootstrap_tools
+    if $bootstrap_tools;
 
   grep (/^gnulib$/, @tool_list) ^ defined $gnulib_version
     and (warn "when specifying gnulib as a tool, you must also specify\n"
         . "--gnulib-version=V, where V is the result of running git describe\n"
         . "in the gnulib source directory.\n"), $fail = 1;
 
-  exists $valid_release_types{$release_type}
+  !$release_type || exists $valid_release_types{$release_type}
     or (warn "'$release_type': invalid release type\n"), $fail = 1;
 
   @ARGV
@@ -490,17 +506,17 @@ EOF
   if ($url_dir_list[0] =~ "gnu\.org")
     {
       print "Use a mirror for higher download bandwidth:\n";
-      if (@tarballs == 1 && $url_dir_list[0] =~ m!http://ftp\.gnu\.org/gnu/!)
+      if (@tarballs == 1 && $url_dir_list[0] =~ m!https://ftp\.gnu\.org/gnu/!)
         {
           (my $m = "$url_dir_list[0]/$tarballs[0]")
-            =~ s!http://ftp\.gnu\.org/gnu/!http://ftpmirror\.gnu\.org/!;
+            =~ s!https://ftp\.gnu\.org/gnu/!https://ftpmirror\.gnu\.org/!;
           print "  $m\n"
               . "  $m.sig\n\n";
 
         }
       else
         {
-          print "  http://www.gnu.org/order/ftp.html\n\n";
+          print "  https://www.gnu.org/order/ftp.html\n\n";
         }
     }
 
@@ -547,9 +563,10 @@ EOF
 ## perl-label-offset: -2
 ## perl-extra-newline-before-brace: t
 ## perl-merge-trailing-else: nil
-## eval: (add-hook 'write-file-hooks 'time-stamp)
+## 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: "UTC"
+## time-stamp-time-zone: "UTC0"
 ## time-stamp-end: "'; # UTC"
 ## End:
diff --git a/build-aux/compile b/build-aux/compile
deleted file mode 100755 (executable)
index 531136b..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand '-c -o'.
-
-scriptversion=2012-10-14.11; # UTC
-
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey@cygnus.com>.
-#
-# 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 2, 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 <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-nl='
-'
-
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent tools from complaining about whitespace usage.
-IFS=" ""       $nl"
-
-file_conv=
-
-# func_file_conv build_file lazy
-# Convert a $build file to $host form and store it in $file
-# Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
-func_file_conv ()
-{
-  file=$1
-  case $file in
-    / | /[!/]*) # absolute file, and not a UNC file
-      if test -z "$file_conv"; then
-       # lazily determine how to convert abs files
-       case `uname -s` in
-         MINGW*)
-           file_conv=mingw
-           ;;
-         CYGWIN*)
-           file_conv=cygwin
-           ;;
-         *)
-           file_conv=wine
-           ;;
-       esac
-      fi
-      case $file_conv/,$2, in
-       *,$file_conv,*)
-         ;;
-       mingw/*)
-         file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
-         ;;
-       cygwin/*)
-         file=`cygpath -m "$file" || echo "$file"`
-         ;;
-       wine/*)
-         file=`winepath -w "$file" || echo "$file"`
-         ;;
-      esac
-      ;;
-  esac
-}
-
-# func_cl_dashL linkdir
-# Make cl look for libraries in LINKDIR
-func_cl_dashL ()
-{
-  func_file_conv "$1"
-  if test -z "$lib_path"; then
-    lib_path=$file
-  else
-    lib_path="$lib_path;$file"
-  fi
-  linker_opts="$linker_opts -LIBPATH:$file"
-}
-
-# func_cl_dashl library
-# Do a library search-path lookup for cl
-func_cl_dashl ()
-{
-  lib=$1
-  found=no
-  save_IFS=$IFS
-  IFS=';'
-  for dir in $lib_path $LIB
-  do
-    IFS=$save_IFS
-    if $shared && test -f "$dir/$lib.dll.lib"; then
-      found=yes
-      lib=$dir/$lib.dll.lib
-      break
-    fi
-    if test -f "$dir/$lib.lib"; then
-      found=yes
-      lib=$dir/$lib.lib
-      break
-    fi
-    if test -f "$dir/lib$lib.a"; then
-      found=yes
-      lib=$dir/lib$lib.a
-      break
-    fi
-  done
-  IFS=$save_IFS
-
-  if test "$found" != yes; then
-    lib=$lib.lib
-  fi
-}
-
-# func_cl_wrapper cl arg...
-# Adjust compile command to suit cl
-func_cl_wrapper ()
-{
-  # Assume a capable shell
-  lib_path=
-  shared=:
-  linker_opts=
-  for arg
-  do
-    if test -n "$eat"; then
-      eat=
-    else
-      case $1 in
-       -o)
-         # configure might choose to run compile as 'compile cc -o foo foo.c'.
-         eat=1
-         case $2 in
-           *.o | *.[oO][bB][jJ])
-             func_file_conv "$2"
-             set x "$@" -Fo"$file"
-             shift
-             ;;
-           *)
-             func_file_conv "$2"
-             set x "$@" -Fe"$file"
-             shift
-             ;;
-         esac
-         ;;
-       -I)
-         eat=1
-         func_file_conv "$2" mingw
-         set x "$@" -I"$file"
-         shift
-         ;;
-       -I*)
-         func_file_conv "${1#-I}" mingw
-         set x "$@" -I"$file"
-         shift
-         ;;
-       -l)
-         eat=1
-         func_cl_dashl "$2"
-         set x "$@" "$lib"
-         shift
-         ;;
-       -l*)
-         func_cl_dashl "${1#-l}"
-         set x "$@" "$lib"
-         shift
-         ;;
-       -L)
-         eat=1
-         func_cl_dashL "$2"
-         ;;
-       -L*)
-         func_cl_dashL "${1#-L}"
-         ;;
-       -static)
-         shared=false
-         ;;
-       -Wl,*)
-         arg=${1#-Wl,}
-         save_ifs="$IFS"; IFS=','
-         for flag in $arg; do
-           IFS="$save_ifs"
-           linker_opts="$linker_opts $flag"
-         done
-         IFS="$save_ifs"
-         ;;
-       -Xlinker)
-         eat=1
-         linker_opts="$linker_opts $2"
-         ;;
-       -*)
-         set x "$@" "$1"
-         shift
-         ;;
-       *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
-         func_file_conv "$1"
-         set x "$@" -Tp"$file"
-         shift
-         ;;
-       *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
-         func_file_conv "$1" mingw
-         set x "$@" "$file"
-         shift
-         ;;
-       *)
-         set x "$@" "$1"
-         shift
-         ;;
-      esac
-    fi
-    shift
-  done
-  if test -n "$linker_opts"; then
-    linker_opts="-link$linker_opts"
-  fi
-  exec "$@" $linker_opts
-  exit 1
-}
-
-eat=
-
-case $1 in
-  '')
-     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand '-c -o'.
-Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file 'INSTALL'.
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "compile $scriptversion"
-    exit $?
-    ;;
-  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
-    func_cl_wrapper "$@"      # Doesn't return...
-    ;;
-esac
-
-ofile=
-cfile=
-
-for arg
-do
-  if test -n "$eat"; then
-    eat=
-  else
-    case $1 in
-      -o)
-       # configure might choose to run compile as 'compile cc -o foo foo.c'.
-       # So we strip '-o arg' only if arg is an object.
-       eat=1
-       case $2 in
-         *.o | *.obj)
-           ofile=$2
-           ;;
-         *)
-           set x "$@" -o "$2"
-           shift
-           ;;
-       esac
-       ;;
-      *.c)
-       cfile=$1
-       set x "$@" "$1"
-       shift
-       ;;
-      *)
-       set x "$@" "$1"
-       shift
-       ;;
-    esac
-  fi
-  shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
-  # If no '-o' option was seen then we might have been invoked from a
-  # pattern rule where we don't need one.  That is ok -- this is a
-  # normal compilation that the losing compiler can handle.  If no
-  # '.c' file was seen then we are probably linking.  That is also
-  # ok.
-  exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use '[/\\:.-]' here to ensure that we don't use the same name
-# that we are using for the .o file.  Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
-while true; do
-  if mkdir "$lockdir" >/dev/null 2>&1; then
-    break
-  fi
-  sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
-  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
-  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
index 1f5c50c0d1529d50b94dc3533ca72a47f0fa5849..97ad0733304d51c825cb2abbc5db47d31d32c0ef 100755 (executable)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2019 Free Software Foundation, Inc.
 
-timestamp='2014-03-23'
+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
@@ -15,7 +15,7 @@ timestamp='2014-03-23'
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -24,12 +24,12 @@ timestamp='2014-03-23'
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
@@ -39,7 +39,7 @@ Usage: $0 [OPTION]
 
 Output the configuration name of the system \`$me' is run on.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2019 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -84,8 +84,6 @@ if test $# != 0; then
   exit 1
 fi
 
-trap 'exit 1' 1 2 15
-
 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
 # compiler to aid in system detection is discouraged as it requires
 # temporary files to be created and, as you can see below, it is a
@@ -96,34 +94,38 @@ trap 'exit 1' 1 2 15
 
 # Portable tmp directory creation inspired by the Autoconf team.
 
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-       for c in cc gcc c89 c99 ; do
-         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-            CC_FOR_BUILD="$c"; break ;
-         fi ;
-       done ;
-       if test x"$CC_FOR_BUILD" = x ; then
-         CC_FOR_BUILD=no_compiler_found ;
-       fi
-       ;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
+tmp=
+# shellcheck disable=SC2172
+trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
+
+set_cc_for_build() {
+    : "${TMPDIR=/tmp}"
+    # shellcheck disable=SC2039
+    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+       { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
+       { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+       { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
+    dummy=$tmp/dummy
+    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+       ,,)    echo "int x;" > "$dummy.c"
+              for driver in cc gcc c89 c99 ; do
+                  if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+                      CC_FOR_BUILD="$driver"
+                      break
+                  fi
+              done
+              if test x"$CC_FOR_BUILD" = x ; then
+                  CC_FOR_BUILD=no_compiler_found
+              fi
+              ;;
+       ,,*)   CC_FOR_BUILD=$CC ;;
+       ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+    esac
+}
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
 # (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+if test -f /.attbin/uname ; then
        PATH=$PATH:/.attbin ; export PATH
 fi
 
@@ -132,14 +134,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
-case "${UNAME_SYSTEM}" in
+case "$UNAME_SYSTEM" in
 Linux|GNU|GNU/*)
        # If the system lacks a compiler, then just pick glibc.
        # We could probably try harder.
        LIBC=gnu
 
-       eval $set_cc_for_build
-       cat <<-EOF > $dummy.c
+       set_cc_for_build
+       cat <<-EOF > "$dummy.c"
        #include <features.h>
        #if defined(__UCLIBC__)
        LIBC=uclibc
@@ -149,13 +151,20 @@ Linux|GNU|GNU/*)
        LIBC=gnu
        #endif
        EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+       eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+
+       # If ldd exists, use it to detect musl libc.
+       if command -v ldd >/dev/null && \
+               ldd --version 2>&1 | grep -q ^musl
+       then
+           LIBC=musl
+       fi
        ;;
 esac
 
 # Note: order is significant - the case branches are not exclusive.
 
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
     *:NetBSD:*:*)
        # NetBSD (nbsd) targets should (where applicable) match one or
        # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -168,21 +177,31 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # Note: NetBSD doesn't particularly care about the vendor
        # portion of the name.  We always set it to "unknown".
        sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-       case "${UNAME_MACHINE_ARCH}" in
+       UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+           "/sbin/$sysctl" 2>/dev/null || \
+           "/usr/sbin/$sysctl" 2>/dev/null || \
+           echo unknown)`
+       case "$UNAME_MACHINE_ARCH" in
            armeb) machine=armeb-unknown ;;
            arm*) machine=arm-unknown ;;
            sh3el) machine=shl-unknown ;;
            sh3eb) machine=sh-unknown ;;
            sh5el) machine=sh5le-unknown ;;
-           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+           earmv*)
+               arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+               endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+               machine="${arch}${endian}"-unknown
+               ;;
+           *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
        esac
        # The Operating System including object format, if it has switched
-       # to ELF recently, or will in the future.
-       case "${UNAME_MACHINE_ARCH}" in
+       # to ELF recently (or will in the future) and ABI.
+       case "$UNAME_MACHINE_ARCH" in
+           earm*)
+               os=netbsdelf
+               ;;
            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-               eval $set_cc_for_build
+               set_cc_for_build
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
                        | grep -q __ELF__
                then
@@ -197,43 +216,69 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                os=netbsd
                ;;
        esac
+       # Determine ABI tags.
+       case "$UNAME_MACHINE_ARCH" in
+           earm*)
+               expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+               abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
+               ;;
+       esac
        # The OS release
        # Debian GNU/NetBSD machines have a different userland, and
        # thus, need a distinct triplet. However, they do not need
        # kernel version information, so it can be replaced with a
        # suitable tag, in the style of linux-gnu.
-       case "${UNAME_VERSION}" in
+       case "$UNAME_VERSION" in
            Debian*)
                release='-gnu'
                ;;
            *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
                ;;
        esac
        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}"
+       echo "$machine-${os}${release}${abi-}"
        exit ;;
     *:Bitrig:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+       echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
        exit ;;
     *:OpenBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+       echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
+       exit ;;
+    *:LibertyBSD:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+       echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
+       exit ;;
+    *:MidnightBSD:*:*)
+       echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
        exit ;;
     *:ekkoBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
        exit ;;
     *:SolidBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+       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}
+       echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
        exit ;;
     *:MirBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
+       exit ;;
+    *:Sortix:*:*)
+       echo "$UNAME_MACHINE"-unknown-sortix
+       exit ;;
+    *:Redox:*:*)
+       echo "$UNAME_MACHINE"-unknown-redox
+       exit ;;
+    mips:OSF1:*.*)
+       echo mips-dec-osf1
        exit ;;
     alpha:OSF1:*:*)
        case $UNAME_RELEASE in
@@ -251,63 +296,54 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
        case "$ALPHA_CPU_TYPE" in
            "EV4 (21064)")
-               UNAME_MACHINE="alpha" ;;
+               UNAME_MACHINE=alpha ;;
            "EV4.5 (21064)")
-               UNAME_MACHINE="alpha" ;;
+               UNAME_MACHINE=alpha ;;
            "LCA4 (21066/21068)")
-               UNAME_MACHINE="alpha" ;;
+               UNAME_MACHINE=alpha ;;
            "EV5 (21164)")
-               UNAME_MACHINE="alphaev5" ;;
+               UNAME_MACHINE=alphaev5 ;;
            "EV5.6 (21164A)")
-               UNAME_MACHINE="alphaev56" ;;
+               UNAME_MACHINE=alphaev56 ;;
            "EV5.6 (21164PC)")
-               UNAME_MACHINE="alphapca56" ;;
+               UNAME_MACHINE=alphapca56 ;;
            "EV5.7 (21164PC)")
-               UNAME_MACHINE="alphapca57" ;;
+               UNAME_MACHINE=alphapca57 ;;
            "EV6 (21264)")
-               UNAME_MACHINE="alphaev6" ;;
+               UNAME_MACHINE=alphaev6 ;;
            "EV6.7 (21264A)")
-               UNAME_MACHINE="alphaev67" ;;
+               UNAME_MACHINE=alphaev67 ;;
            "EV6.8CB (21264C)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.8AL (21264B)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.8CX (21264D)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.9A (21264/EV69A)")
-               UNAME_MACHINE="alphaev69" ;;
+               UNAME_MACHINE=alphaev69 ;;
            "EV7 (21364)")
-               UNAME_MACHINE="alphaev7" ;;
+               UNAME_MACHINE=alphaev7 ;;
            "EV7.9 (21364A)")
-               UNAME_MACHINE="alphaev79" ;;
+               UNAME_MACHINE=alphaev79 ;;
        esac
        # A Pn.n version is a patched version.
        # A Vn.n version is a released version.
        # A Tn.n version is a released field test version.
        # A Xn.n version is an unreleased experimental baselevel.
        # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+       echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
        # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
        exitcode=$?
        trap '' 0
        exit $exitcode ;;
-    Alpha\ *:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # Should we change UNAME_MACHINE based on the output of uname instead
-       # of the specific Alpha model?
-       echo alpha-pc-interix
-       exit ;;
-    21064:Windows_NT:50:3)
-       echo alpha-dec-winnt3.5
-       exit ;;
     Amiga*:UNIX_System_V:4.0:*)
        echo m68k-unknown-sysv4
        exit ;;
     *:[Aa]miga[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-amigaos
+       echo "$UNAME_MACHINE"-unknown-amigaos
        exit ;;
     *:[Mm]orph[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-morphos
+       echo "$UNAME_MACHINE"-unknown-morphos
        exit ;;
     *:OS/390:*:*)
        echo i370-ibm-openedition
@@ -319,7 +355,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        echo powerpc-ibm-os400
        exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-       echo arm-acorn-riscix${UNAME_RELEASE}
+       echo arm-acorn-riscix"$UNAME_RELEASE"
        exit ;;
     arm*:riscos:*:*|arm*:RISCOS:*:*)
        echo arm-unknown-riscos
@@ -346,38 +382,38 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
            sparc) echo sparc-icl-nx7; exit ;;
        esac ;;
     s390x:SunOS:*:*)
-       echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
        exit ;;
     sun4H:SunOS:5.*:*)
-       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
        exit ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
        exit ;;
     i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-       echo i386-pc-auroraux${UNAME_RELEASE}
+       echo i386-pc-auroraux"$UNAME_RELEASE"
        exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-       eval $set_cc_for_build
-       SUN_ARCH="i386"
+       set_cc_for_build
+       SUN_ARCH=i386
        # If there is a compiler, see if it is configured for 64-bit objects.
        # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
        # This test works for both compilers.
-       if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+       if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
            if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-               (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+               (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
                grep IS_64BIT_ARCH >/dev/null
            then
-               SUN_ARCH="x86_64"
+               SUN_ARCH=x86_64
            fi
        fi
-       echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
        exit ;;
     sun4*:SunOS:6*:*)
        # According to config.sub, this is the proper way to canonicalize
        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
        # it's likely to be more like Solaris than SunOS4.
-       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
        exit ;;
     sun4*:SunOS:*:*)
        case "`/usr/bin/arch -k`" in
@@ -386,25 +422,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                ;;
        esac
        # Japanese Language versions have a version number like `4.1.3-JL'.
-       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+       echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
        exit ;;
     sun3*:SunOS:*:*)
-       echo m68k-sun-sunos${UNAME_RELEASE}
+       echo m68k-sun-sunos"$UNAME_RELEASE"
        exit ;;
     sun*:*:4.2BSD:*)
        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+       test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
        case "`/bin/arch`" in
            sun3)
-               echo m68k-sun-sunos${UNAME_RELEASE}
+               echo m68k-sun-sunos"$UNAME_RELEASE"
                ;;
            sun4)
-               echo sparc-sun-sunos${UNAME_RELEASE}
+               echo sparc-sun-sunos"$UNAME_RELEASE"
                ;;
        esac
        exit ;;
     aushp:SunOS:*:*)
-       echo sparc-auspex-sunos${UNAME_RELEASE}
+       echo sparc-auspex-sunos"$UNAME_RELEASE"
        exit ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
@@ -415,44 +451,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
+       echo m68k-atari-mint"$UNAME_RELEASE"
        exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
+       echo m68k-atari-mint"$UNAME_RELEASE"
        exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
+       echo m68k-atari-mint"$UNAME_RELEASE"
        exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-       echo m68k-milan-mint${UNAME_RELEASE}
+       echo m68k-milan-mint"$UNAME_RELEASE"
        exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-       echo m68k-hades-mint${UNAME_RELEASE}
+       echo m68k-hades-mint"$UNAME_RELEASE"
        exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-       echo m68k-unknown-mint${UNAME_RELEASE}
+       echo m68k-unknown-mint"$UNAME_RELEASE"
        exit ;;
     m68k:machten:*:*)
-       echo m68k-apple-machten${UNAME_RELEASE}
+       echo m68k-apple-machten"$UNAME_RELEASE"
        exit ;;
     powerpc:machten:*:*)
-       echo powerpc-apple-machten${UNAME_RELEASE}
+       echo powerpc-apple-machten"$UNAME_RELEASE"
        exit ;;
     RISC*:Mach:*:*)
        echo mips-dec-mach_bsd4.3
        exit ;;
     RISC*:ULTRIX:*:*)
-       echo mips-dec-ultrix${UNAME_RELEASE}
+       echo mips-dec-ultrix"$UNAME_RELEASE"
        exit ;;
     VAX*:ULTRIX*:*:*)
-       echo vax-dec-ultrix${UNAME_RELEASE}
+       echo vax-dec-ultrix"$UNAME_RELEASE"
        exit ;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
-       echo clipper-intergraph-clix${UNAME_RELEASE}
+       echo clipper-intergraph-clix"$UNAME_RELEASE"
        exit ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
+       set_cc_for_build
+       sed 's/^        //' << EOF > "$dummy.c"
 #ifdef __cplusplus
 #include <stdio.h>  /* for printf() prototype */
        int main (int argc, char *argv[]) {
@@ -461,23 +497,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 #endif
        #if defined (host_mips) && defined (MIPSEB)
        #if defined (SYSTYPE_SYSV)
-         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+         printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
        #endif
        #if defined (SYSTYPE_SVR4)
-         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+         printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
        #endif
        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+         printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
        #endif
        #endif
          exit (-1);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c &&
-         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-         SYSTEM_NAME=`$dummy $dummyarg` &&
+       $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+         dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+         SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
            { echo "$SYSTEM_NAME"; exit; }
-       echo mips-mips-riscos${UNAME_RELEASE}
+       echo mips-mips-riscos"$UNAME_RELEASE"
        exit ;;
     Motorola:PowerMAX_OS:*:*)
        echo powerpc-motorola-powermax
@@ -503,17 +539,17 @@ EOF
     AViiON:dgux:*:*)
        # DG/UX returns AViiON for all architectures
        UNAME_PROCESSOR=`/usr/bin/uname -p`
-       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
        then
-           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-              [ ${TARGET_BINARY_INTERFACE}x = x ]
+           if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
+              [ "$TARGET_BINARY_INTERFACE"x = x ]
            then
-               echo m88k-dg-dgux${UNAME_RELEASE}
+               echo m88k-dg-dgux"$UNAME_RELEASE"
            else
-               echo m88k-dg-dguxbcs${UNAME_RELEASE}
+               echo m88k-dg-dguxbcs"$UNAME_RELEASE"
            fi
        else
-           echo i586-dg-dgux${UNAME_RELEASE}
+           echo i586-dg-dgux"$UNAME_RELEASE"
        fi
        exit ;;
     M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
@@ -530,7 +566,7 @@ EOF
        echo m68k-tektronix-bsd
        exit ;;
     *:IRIX*:*:*)
-       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+       echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
        exit ;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
        echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
@@ -542,14 +578,14 @@ EOF
        if [ -x /usr/bin/oslevel ] ; then
                IBM_REV=`/usr/bin/oslevel`
        else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+               IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
        fi
-       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+       echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
        exit ;;
     *:AIX:2:3)
        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-               eval $set_cc_for_build
-               sed 's/^                //' << EOF >$dummy.c
+               set_cc_for_build
+               sed 's/^                //' << EOF > "$dummy.c"
                #include <sys/systemcfg.h>
 
                main()
@@ -560,7 +596,7 @@ EOF
                        exit(0);
                        }
 EOF
-               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+               if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
                then
                        echo "$SYSTEM_NAME"
                else
@@ -574,26 +610,27 @@ EOF
        exit ;;
     *:AIX:*:[4567])
        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+       if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
                IBM_ARCH=rs6000
        else
                IBM_ARCH=powerpc
        fi
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
+       if [ -x /usr/bin/lslpp ] ; then
+               IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+                          awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
        else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+               IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
        fi
-       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+       echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
        exit ;;
     *:AIX:*:*)
        echo rs6000-ibm-aix
        exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
        echo romp-ibm-bsd4.4
        exit ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+       echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
        exit ;;                             # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
        echo rs6000-bull-bosx
@@ -608,28 +645,28 @@ EOF
        echo m68k-hp-bsd4.4
        exit ;;
     9000/[34678]??:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       case "${UNAME_MACHINE}" in
-           9000/31? )            HP_ARCH=m68000 ;;
-           9000/[34]?? )         HP_ARCH=m68k ;;
+       HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+       case "$UNAME_MACHINE" in
+           9000/31?)            HP_ARCH=m68000 ;;
+           9000/[34]??)         HP_ARCH=m68k ;;
            9000/[678][0-9][0-9])
                if [ -x /usr/bin/getconf ]; then
                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                   case "${sc_cpu_version}" in
-                     523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                     528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                   case "$sc_cpu_version" in
+                     523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+                     528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
                      532)                      # CPU_PA_RISC2_0
-                       case "${sc_kernel_bits}" in
-                         32) HP_ARCH="hppa2.0n" ;;
-                         64) HP_ARCH="hppa2.0w" ;;
-                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                       case "$sc_kernel_bits" in
+                         32) HP_ARCH=hppa2.0n ;;
+                         64) HP_ARCH=hppa2.0w ;;
+                         '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
                        esac ;;
                    esac
                fi
-               if [ "${HP_ARCH}" = "" ]; then
-                   eval $set_cc_for_build
-                   sed 's/^            //' << EOF >$dummy.c
+               if [ "$HP_ARCH" = "" ]; then
+                   set_cc_for_build
+                   sed 's/^            //' << EOF > "$dummy.c"
 
                #define _HPUX_SOURCE
                #include <stdlib.h>
@@ -662,13 +699,13 @@ EOF
                    exit (0);
                }
 EOF
-                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
                    test -z "$HP_ARCH" && HP_ARCH=hppa
                fi ;;
        esac
-       if [ ${HP_ARCH} = "hppa2.0w" ]
+       if [ "$HP_ARCH" = hppa2.0w ]
        then
-           eval $set_cc_for_build
+           set_cc_for_build
 
            # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
            # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
@@ -679,23 +716,23 @@ EOF
            # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
            # => hppa64-hp-hpux11.23
 
-           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+           if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
                grep -q __LP64__
            then
-               HP_ARCH="hppa2.0w"
+               HP_ARCH=hppa2.0w
            else
-               HP_ARCH="hppa64"
+               HP_ARCH=hppa64
            fi
        fi
-       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+       echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
        exit ;;
     ia64:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       echo ia64-hp-hpux${HPUX_REV}
+       HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+       echo ia64-hp-hpux"$HPUX_REV"
        exit ;;
     3050*:HI-UX:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
+       set_cc_for_build
+       sed 's/^        //' << EOF > "$dummy.c"
        #include <unistd.h>
        int
        main ()
@@ -720,11 +757,11 @@ EOF
          exit (0);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+       $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
                { echo "$SYSTEM_NAME"; exit; }
        echo unknown-hitachi-hiuxwe2
        exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
        echo hppa1.1-hp-bsd
        exit ;;
     9000/8??:4.3bsd:*:*)
@@ -733,7 +770,7 @@ EOF
     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
        echo hppa1.0-hp-mpeix
        exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
        echo hppa1.1-hp-osf
        exit ;;
     hp8??:OSF1:*:*)
@@ -741,9 +778,9 @@ EOF
        exit ;;
     i*86:OSF1:*:*)
        if [ -x /usr/sbin/sysversion ] ; then
-           echo ${UNAME_MACHINE}-unknown-osf1mk
+           echo "$UNAME_MACHINE"-unknown-osf1mk
        else
-           echo ${UNAME_MACHINE}-unknown-osf1
+           echo "$UNAME_MACHINE"-unknown-osf1
        fi
        exit ;;
     parisc*:Lites*:*:*)
@@ -768,127 +805,120 @@ EOF
        echo c4-convex-bsd
        exit ;;
     CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     CRAY*[A-Z]90:*:*:*)
-       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+       echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
              -e 's/\.[^.]*$/.X/'
        exit ;;
     CRAY*TS:*:*:*)
-       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     CRAY*T3E:*:*:*)
-       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     CRAY*SV1:*:*:*)
-       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     *:UNICOS/mp:*:*)
-       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-       FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+       FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+       FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+       FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
        exit ;;
     5000:UNIX_System_V:4.*:*)
-       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-       FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+       FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+       FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
        exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
        exit ;;
     sparc*:BSD/OS:*:*)
-       echo sparc-unknown-bsdi${UNAME_RELEASE}
+       echo sparc-unknown-bsdi"$UNAME_RELEASE"
        exit ;;
     *:BSD/OS:*:*)
-       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
+       exit ;;
+    arm:FreeBSD:*:*)
+       UNAME_PROCESSOR=`uname -p`
+       set_cc_for_build
+       if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+           | grep -q __ARM_PCS_VFP
+       then
+           echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
+       else
+           echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
+       fi
        exit ;;
     *:FreeBSD:*:*)
        UNAME_PROCESSOR=`/usr/bin/uname -p`
-       case ${UNAME_PROCESSOR} in
+       case "$UNAME_PROCESSOR" in
            amd64)
-               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-           *)
-               echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+               UNAME_PROCESSOR=x86_64 ;;
+           i386)
+               UNAME_PROCESSOR=i586 ;;
        esac
+       echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
        exit ;;
     i*:CYGWIN*:*)
-       echo ${UNAME_MACHINE}-pc-cygwin
+       echo "$UNAME_MACHINE"-pc-cygwin
        exit ;;
     *:MINGW64*:*)
-       echo ${UNAME_MACHINE}-pc-mingw64
+       echo "$UNAME_MACHINE"-pc-mingw64
        exit ;;
     *:MINGW*:*)
-       echo ${UNAME_MACHINE}-pc-mingw32
+       echo "$UNAME_MACHINE"-pc-mingw32
        exit ;;
     *:MSYS*:*)
-       echo ${UNAME_MACHINE}-pc-msys
-       exit ;;
-    i*:windows32*:*)
-       # uname -m includes "-pc" on this system.
-       echo ${UNAME_MACHINE}-mingw32
+       echo "$UNAME_MACHINE"-pc-msys
        exit ;;
     i*:PW*:*)
-       echo ${UNAME_MACHINE}-pc-pw32
+       echo "$UNAME_MACHINE"-pc-pw32
        exit ;;
     *:Interix*:*)
-       case ${UNAME_MACHINE} in
+       case "$UNAME_MACHINE" in
            x86)
-               echo i586-pc-interix${UNAME_RELEASE}
+               echo i586-pc-interix"$UNAME_RELEASE"
                exit ;;
            authenticamd | genuineintel | EM64T)
-               echo x86_64-unknown-interix${UNAME_RELEASE}
+               echo x86_64-unknown-interix"$UNAME_RELEASE"
                exit ;;
            IA64)
-               echo ia64-unknown-interix${UNAME_RELEASE}
+               echo ia64-unknown-interix"$UNAME_RELEASE"
                exit ;;
        esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-       echo i${UNAME_MACHINE}-pc-mks
-       exit ;;
-    8664:Windows_NT:*)
-       echo x86_64-pc-mks
-       exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-       # UNAME_MACHINE based on the output of uname instead of i386?
-       echo i586-pc-interix
-       exit ;;
     i*:UWIN*:*)
-       echo ${UNAME_MACHINE}-pc-uwin
+       echo "$UNAME_MACHINE"-pc-uwin
        exit ;;
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-       echo x86_64-unknown-cygwin
-       exit ;;
-    p*:CYGWIN*:*)
-       echo powerpcle-unknown-cygwin
+       echo x86_64-pc-cygwin
        exit ;;
     prep*:SunOS:5.*:*)
-       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
        exit ;;
     *:GNU:*:*)
        # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
        exit ;;
     *:GNU/*:*:*)
        # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+       echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
        exit ;;
-    i*86:Minix:*:*)
-       echo ${UNAME_MACHINE}-pc-minix
+    *:Minix:*:*)
+       echo "$UNAME_MACHINE"-unknown-minix
        exit ;;
     aarch64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     aarch64_be:Linux:*:*)
        UNAME_MACHINE=aarch64_be
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     alpha:Linux:*:*)
        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -901,129 +931,169 @@ EOF
          EV68*) UNAME_MACHINE=alphaev68 ;;
        esac
        objdump --private-headers /bin/sh | grep -q ld.so.1
-       if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     arm*:Linux:*:*)
-       eval $set_cc_for_build
+       set_cc_for_build
        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
            | grep -q __ARM_EABI__
        then
-           echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+           echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        else
            if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
                | grep -q __ARM_PCS_VFP
            then
-               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+               echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
            else
-               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+               echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
            fi
        fi
        exit ;;
     avr32*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     cris:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+       echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
        exit ;;
     crisv32:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+       echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
+       exit ;;
+    e2k:Linux:*:*)
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     frv:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     hexagon:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     i*86:Linux:*:*)
-       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+       echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
        exit ;;
     ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+       exit ;;
+    k1om:Linux:*:*)
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
+       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"
+       exit ;;
     openrisc*:Linux:*:*)
-       echo or1k-unknown-linux-${LIBC}
+       echo or1k-unknown-linux-"$LIBC"
        exit ;;
     or32:Linux:*:* | or1k*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     padre:Linux:*:*)
-       echo sparc-unknown-linux-${LIBC}
+       echo sparc-unknown-linux-"$LIBC"
        exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-${LIBC}
+       echo hppa64-unknown-linux-"$LIBC"
        exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
        # Look for CPU level
        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
-         PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
-         *)    echo hppa-unknown-linux-${LIBC} ;;
+         PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
+         PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
+         *)    echo hppa-unknown-linux-"$LIBC" ;;
        esac
        exit ;;
     ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-${LIBC}
+       echo powerpc64-unknown-linux-"$LIBC"
        exit ;;
     ppc:Linux:*:*)
-       echo powerpc-unknown-linux-${LIBC}
+       echo powerpc-unknown-linux-"$LIBC"
        exit ;;
     ppc64le:Linux:*:*)
-       echo powerpc64le-unknown-linux-${LIBC}
+       echo powerpc64le-unknown-linux-"$LIBC"
        exit ;;
     ppcle:Linux:*:*)
-       echo powerpcle-unknown-linux-${LIBC}
+       echo powerpcle-unknown-linux-"$LIBC"
+       exit ;;
+    riscv32:Linux:*:* | riscv64:Linux:*:*)
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+       echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
        exit ;;
     sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     tile*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+       echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
        exit ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
        exit ;;
     xtensa*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     i*86:DYNIX/ptx:4*:*)
        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1037,34 +1107,34 @@ EOF
        # I am not positive that other SVR4 systems won't match this,
        # I just have to hope.  -- rms.
        # Use sysv4.2uw... so that sysv4* matches it.
-       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+       echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
        exit ;;
     i*86:OS/2:*:*)
        # If we were able to find `uname', then EMX Unix compatibility
        # is probably installed.
-       echo ${UNAME_MACHINE}-pc-os2-emx
+       echo "$UNAME_MACHINE"-pc-os2-emx
        exit ;;
     i*86:XTS-300:*:STOP)
-       echo ${UNAME_MACHINE}-unknown-stop
+       echo "$UNAME_MACHINE"-unknown-stop
        exit ;;
     i*86:atheos:*:*)
-       echo ${UNAME_MACHINE}-unknown-atheos
+       echo "$UNAME_MACHINE"-unknown-atheos
        exit ;;
     i*86:syllable:*:*)
-       echo ${UNAME_MACHINE}-pc-syllable
+       echo "$UNAME_MACHINE"-pc-syllable
        exit ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-       echo i386-unknown-lynxos${UNAME_RELEASE}
+       echo i386-unknown-lynxos"$UNAME_RELEASE"
        exit ;;
     i*86:*DOS:*:*)
-       echo ${UNAME_MACHINE}-pc-msdosdjgpp
+       echo "$UNAME_MACHINE"-pc-msdosdjgpp
        exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+    i*86:*:4.*:*)
+       UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+               echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
        else
-               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+               echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
        fi
        exit ;;
     i*86:*:5:[678]*)
@@ -1074,12 +1144,12 @@ 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
                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+               echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
        elif /bin/uname -X 2>/dev/null >/dev/null ; then
                UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
                (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1089,9 +1159,9 @@ EOF
                        && UNAME_MACHINE=i686
                (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
                        && UNAME_MACHINE=i686
-               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+               echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
        else
-               echo ${UNAME_MACHINE}-pc-sysv32
+               echo "$UNAME_MACHINE"-pc-sysv32
        fi
        exit ;;
     pc:*:*:*)
@@ -1099,7 +1169,7 @@ EOF
        # uname -m prints for DJGPP always 'pc', but it prints nothing about
        # the processor, so we play safe by assuming i586.
        # Note: whatever this is, it MUST be the same as what config.sub
-       # prints for the "djgpp" host, or else GDB configury will decide that
+       # prints for the "djgpp" host, or else GDB configure will decide that
        # this is a cross-build.
        echo i586-pc-msdosdjgpp
        exit ;;
@@ -1111,9 +1181,9 @@ EOF
        exit ;;
     i860:*:4.*:*) # i860-SVR4
        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+         echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
        else # Add other i860-SVR4 vendors below as they are discovered.
-         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+         echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
        fi
        exit ;;
     mini*:CTIX:SYS*5:*)
@@ -1133,9 +1203,9 @@ EOF
        test -r /etc/.relid \
        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+         && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+         && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
          && { echo i486-ncr-sysv4; exit; } ;;
@@ -1144,28 +1214,28 @@ EOF
        test -r /etc/.relid \
            && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+           && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-           && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+           && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
        /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+           && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-       echo m68k-unknown-lynxos${UNAME_RELEASE}
+       echo m68k-unknown-lynxos"$UNAME_RELEASE"
        exit ;;
     mc68030:UNIX_System_V:4.*:*)
        echo m68k-atari-sysv4
        exit ;;
     TSUNAMI:LynxOS:2.*:*)
-       echo sparc-unknown-lynxos${UNAME_RELEASE}
+       echo sparc-unknown-lynxos"$UNAME_RELEASE"
        exit ;;
     rs6000:LynxOS:2.*:*)
-       echo rs6000-unknown-lynxos${UNAME_RELEASE}
+       echo rs6000-unknown-lynxos"$UNAME_RELEASE"
        exit ;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-       echo powerpc-unknown-lynxos${UNAME_RELEASE}
+       echo powerpc-unknown-lynxos"$UNAME_RELEASE"
        exit ;;
     SM[BE]S:UNIX_SV:*:*)
-       echo mips-dde-sysv${UNAME_RELEASE}
+       echo mips-dde-sysv"$UNAME_RELEASE"
        exit ;;
     RM*:ReliantUNIX-*:*:*)
        echo mips-sni-sysv4
@@ -1176,7 +1246,7 @@ EOF
     *:SINIX-*:*:*)
        if uname -p 2>/dev/null >/dev/null ; then
                UNAME_MACHINE=`(uname -p) 2>/dev/null`
-               echo ${UNAME_MACHINE}-sni-sysv4
+               echo "$UNAME_MACHINE"-sni-sysv4
        else
                echo ns32k-sni-sysv
        fi
@@ -1196,23 +1266,23 @@ EOF
        exit ;;
     i*86:VOS:*:*)
        # From Paul.Green@stratus.com.
-       echo ${UNAME_MACHINE}-stratus-vos
+       echo "$UNAME_MACHINE"-stratus-vos
        exit ;;
     *:VOS:*:*)
        # From Paul.Green@stratus.com.
        echo hppa1.1-stratus-vos
        exit ;;
     mc68*:A/UX:*:*)
-       echo m68k-apple-aux${UNAME_RELEASE}
+       echo m68k-apple-aux"$UNAME_RELEASE"
        exit ;;
     news*:NEWS-OS:6*:*)
        echo mips-sony-newsos6
        exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
        if [ -d /usr/nec ]; then
-               echo mips-nec-sysv${UNAME_RELEASE}
+               echo mips-nec-sysv"$UNAME_RELEASE"
        else
-               echo mips-unknown-sysv${UNAME_RELEASE}
+               echo mips-unknown-sysv"$UNAME_RELEASE"
        fi
        exit ;;
     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
@@ -1231,77 +1301,94 @@ EOF
        echo x86_64-unknown-haiku
        exit ;;
     SX-4:SUPER-UX:*:*)
-       echo sx4-nec-superux${UNAME_RELEASE}
+       echo sx4-nec-superux"$UNAME_RELEASE"
        exit ;;
     SX-5:SUPER-UX:*:*)
-       echo sx5-nec-superux${UNAME_RELEASE}
+       echo sx5-nec-superux"$UNAME_RELEASE"
        exit ;;
     SX-6:SUPER-UX:*:*)
-       echo sx6-nec-superux${UNAME_RELEASE}
+       echo sx6-nec-superux"$UNAME_RELEASE"
        exit ;;
     SX-7:SUPER-UX:*:*)
-       echo sx7-nec-superux${UNAME_RELEASE}
+       echo sx7-nec-superux"$UNAME_RELEASE"
        exit ;;
     SX-8:SUPER-UX:*:*)
-       echo sx8-nec-superux${UNAME_RELEASE}
+       echo sx8-nec-superux"$UNAME_RELEASE"
        exit ;;
     SX-8R:SUPER-UX:*:*)
-       echo sx8r-nec-superux${UNAME_RELEASE}
+       echo sx8r-nec-superux"$UNAME_RELEASE"
+       exit ;;
+    SX-ACE:SUPER-UX:*:*)
+       echo sxace-nec-superux"$UNAME_RELEASE"
        exit ;;
     Power*:Rhapsody:*:*)
-       echo powerpc-apple-rhapsody${UNAME_RELEASE}
+       echo powerpc-apple-rhapsody"$UNAME_RELEASE"
        exit ;;
     *:Rhapsody:*:*)
-       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
        exit ;;
     *:Darwin:*:*)
-       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       eval $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
+       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}
+       echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
        exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
        UNAME_PROCESSOR=`uname -p`
-       if test "$UNAME_PROCESSOR" = "x86"; then
+       if test "$UNAME_PROCESSOR" = x86; then
                UNAME_PROCESSOR=i386
                UNAME_MACHINE=pc
        fi
-       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+       echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
        exit ;;
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
-       echo neo-tandem-nsk${UNAME_RELEASE}
+    NEO-*:NONSTOP_KERNEL:*:*)
+       echo neo-tandem-nsk"$UNAME_RELEASE"
        exit ;;
     NSE-*:NONSTOP_KERNEL:*:*)
-       echo nse-tandem-nsk${UNAME_RELEASE}
+       echo nse-tandem-nsk"$UNAME_RELEASE"
+       exit ;;
+    NSR-*:NONSTOP_KERNEL:*:*)
+       echo nsr-tandem-nsk"$UNAME_RELEASE"
        exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-       echo nsr-tandem-nsk${UNAME_RELEASE}
+    NSV-*:NONSTOP_KERNEL:*:*)
+       echo nsv-tandem-nsk"$UNAME_RELEASE"
+       exit ;;
+    NSX-*:NONSTOP_KERNEL:*:*)
+       echo nsx-tandem-nsk"$UNAME_RELEASE"
        exit ;;
     *:NonStop-UX:*:*)
        echo mips-compaq-nonstopux
@@ -1310,18 +1397,19 @@ EOF
        echo bs2000-siemens-sysv
        exit ;;
     DS/*:UNIX_System_V:*:*)
-       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
        exit ;;
     *:Plan9:*:*)
        # "uname -m" is not consistent, so use $cputype instead. 386
        # is converted to i386 for consistency with other x86
        # operating systems.
-       if test "$cputype" = "386"; then
+       # shellcheck disable=SC2154
+       if test "$cputype" = 386; then
            UNAME_MACHINE=i386
        else
            UNAME_MACHINE="$cputype"
        fi
-       echo ${UNAME_MACHINE}-unknown-plan9
+       echo "$UNAME_MACHINE"-unknown-plan9
        exit ;;
     *:TOPS-10:*:*)
        echo pdp10-unknown-tops10
@@ -1342,14 +1430,14 @@ EOF
        echo pdp10-unknown-its
        exit ;;
     SEI:*:*:SEIUX)
-       echo mips-sei-seiux${UNAME_RELEASE}
+       echo mips-sei-seiux"$UNAME_RELEASE"
        exit ;;
     *:DragonFly:*:*)
-       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
        exit ;;
     *:*VMS:*:*)
        UNAME_MACHINE=`(uname -p) 2>/dev/null`
-       case "${UNAME_MACHINE}" in
+       case "$UNAME_MACHINE" in
            A*) echo alpha-dec-vms ; exit ;;
            I*) echo ia64-dec-vms ; exit ;;
            V*) echo vax-dec-vms ; exit ;;
@@ -1358,34 +1446,188 @@ EOF
        echo i386-pc-xenix
        exit ;;
     i*86:skyos:*:*)
-       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+       echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
        exit ;;
     i*86:rdos:*:*)
-       echo ${UNAME_MACHINE}-pc-rdos
+       echo "$UNAME_MACHINE"-pc-rdos
        exit ;;
     i*86:AROS:*:*)
-       echo ${UNAME_MACHINE}-pc-aros
+       echo "$UNAME_MACHINE"-pc-aros
        exit ;;
     x86_64:VMkernel:*:*)
-       echo ${UNAME_MACHINE}-unknown-esx
+       echo "$UNAME_MACHINE"-unknown-esx
+       exit ;;
+    amd64:Isilon\ OneFS:*:*)
+       echo x86_64-unknown-onefs
        exit ;;
+    *:Unleashed:*:*)
+       echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE"
+       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
+    mips:Linux | mips64:Linux)
+       # If we got here on MIPS GNU/Linux, output extra information.
+       cat >&2 <<EOF
+
+NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
+the system type. Please install a C compiler and try again.
+EOF
+       ;;
 esac
 
 cat >&2 <<EOF
-$0: unable to guess system type
 
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 
@@ -1404,16 +1646,16 @@ hostinfo               = `(hostinfo) 2>/dev/null`
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
 
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM  = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
 EOF
 
 exit 1
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
index ab6fd995f3893ac91baf30e3b0ca7eb78237573e..be202c1a9e79567b62ac71c96ee9f2bec8f40324 100755 (executable)
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2014 Free Software Foundation, Inc.
+#   Copyright 1996-2019 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
@@ -367,11 +367,7 @@ else
     dgux*)
       hardcode_libdir_flag_spec='-L$libdir'
       ;;
-    freebsd2.2*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      ;;
-    freebsd2*)
+    freebsd2.[01]*)
       hardcode_direct=yes
       hardcode_minus_L=yes
       ;;
@@ -548,13 +544,11 @@ case "$host_os" in
   dgux*)
     library_names_spec='$libname$shrext'
     ;;
+  freebsd[23].*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
   freebsd* | dragonfly*)
-    case "$host_os" in
-      freebsd[123]*)
-        library_names_spec='$libname$shrext$versuffix' ;;
-      *)
-        library_names_spec='$libname$shrext' ;;
-    esac
+    library_names_spec='$libname$shrext'
     ;;
   gnu*)
     library_names_spec='$libname$shrext'
index d654d03cdcd2226a5d7584890717e674a8122f4f..a318a46868500fbeea993e693e32701041ffad1b 100755 (executable)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2019 Free Software Foundation, Inc.
 
-timestamp='2014-05-01'
+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
@@ -15,7 +15,7 @@ timestamp='2014-05-01'
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -25,7 +25,7 @@ timestamp='2014-05-01'
 # of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -33,7 +33,7 @@ timestamp='2014-05-01'
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -53,12 +53,11 @@ timestamp='2014-05-01'
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
 
 Canonicalize a configuration name.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -68,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2019 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -90,12 +89,12 @@ while test $# -gt 0 ; do
     - )        # Use stdin as input.
        break ;;
     -* )
-       echo "$me: invalid option $1$help"
+       echo "$me: invalid option $1$help" >&2
        exit 1 ;;
 
     *local*)
        # First pass through any local machine types.
-       echo $1
+       echo "$1"
        exit ;;
 
     * )
@@ -111,1215 +110,1164 @@ case $# in
     exit 1;;
 esac
 
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
-  kopensolaris*-gnu* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  android-linux)
-    os=-linux-android
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
+# Split fields of configuration type
+# shellcheck disable=SC2162
+IFS="-" read field1 field2 field3 field4 <<EOF
+$1
+EOF
 
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-       -sun*os*)
-               # Prevent following clause from handling this invalid input.
-               ;;
-       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray | -microblaze*)
-               os=
-               basic_machine=$1
-               ;;
-       -bluegene*)
-               os=-cnk
-               ;;
-       -sim | -cisco | -oki | -wec | -winbond)
-               os=
-               basic_machine=$1
-               ;;
-       -scout)
-               ;;
-       -wrs)
-               os=-vxworks
-               basic_machine=$1
-               ;;
-       -chorusos*)
-               os=-chorusos
-               basic_machine=$1
-               ;;
-       -chorusrdb)
-               os=-chorusrdb
-               basic_machine=$1
-               ;;
-       -hiux*)
-               os=-hiuxwe2
-               ;;
-       -sco6)
-               os=-sco5v6
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5)
-               os=-sco3.2v5
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco4)
-               os=-sco3.2v4
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2.[4-9]*)
-               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2v[4-9]*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5v6*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco*)
-               os=-sco3.2v2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -udk*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -isc)
-               os=-isc2.2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -clix*)
-               basic_machine=clipper-intergraph
-               ;;
-       -isc*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -lynx*178)
-               os=-lynxos178
-               ;;
-       -lynx*5)
-               os=-lynxos5
-               ;;
-       -lynx*)
-               os=-lynxos
+# Separate into logical components for further validation
+case $1 in
+       *-*-*-*-*)
+               echo Invalid configuration \`"$1"\': more than four components >&2
+               exit 1
                ;;
-       -ptx*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+       *-*-*-*)
+               basic_machine=$field1-$field2
+               os=$field3-$field4
                ;;
-       -windowsnt*)
-               os=`echo $os | sed -e 's/windowsnt/winnt/'`
+       *-*-*)
+               # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
+               # parts
+               maybe_os=$field2-$field3
+               case $maybe_os in
+                       nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
+                       | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
+                       | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
+                       | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
+                       | storm-chaos* | os2-emx* | rtmk-nova*)
+                               basic_machine=$field1
+                               os=$maybe_os
+                               ;;
+                       android-linux)
+                               basic_machine=$field1-unknown
+                               os=linux-android
+                               ;;
+                       *)
+                               basic_machine=$field1-$field2
+                               os=$field3
+                               ;;
+               esac
                ;;
-       -psos*)
-               os=-psos
+       *-*)
+               # A lone config we happen to match not fitting any pattern
+               case $field1-$field2 in
+                       decstation-3100)
+                               basic_machine=mips-dec
+                               os=
+                               ;;
+                       *-*)
+                               # Second component is usually, but not always the OS
+                               case $field2 in
+                                       # Prevent following clause from handling this valid os
+                                       sun*os*)
+                                               basic_machine=$field1
+                                               os=$field2
+                                               ;;
+                                       # Manufacturers
+                                       dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
+                                       | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
+                                       | unicom* | ibm* | next | hp | isi* | apollo | altos* \
+                                       | convergent* | ncr* | news | 32* | 3600* | 3100* \
+                                       | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
+                                       | ultra | tti* | harris | dolphin | highlevel | gould \
+                                       | cbm | ns | masscomp | apple | axis | knuth | cray \
+                                       | microblaze* | sim | cisco \
+                                       | oki | wec | wrs | winbond)
+                                               basic_machine=$field1-$field2
+                                               os=
+                                               ;;
+                                       *)
+                                               basic_machine=$field1
+                                               os=$field2
+                                               ;;
+                               esac
+                       ;;
+               esac
                ;;
-       -mint | -mint[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
+       *)
+               # Convert single-component short-hands not valid as part of
+               # multi-component configurations.
+               case $field1 in
+                       386bsd)
+                               basic_machine=i386-pc
+                               os=bsd
+                               ;;
+                       a29khif)
+                               basic_machine=a29k-amd
+                               os=udi
+                               ;;
+                       adobe68k)
+                               basic_machine=m68010-adobe
+                               os=scout
+                               ;;
+                       alliant)
+                               basic_machine=fx80-alliant
+                               os=
+                               ;;
+                       altos | altos3068)
+                               basic_machine=m68k-altos
+                               os=
+                               ;;
+                       am29k)
+                               basic_machine=a29k-none
+                               os=bsd
+                               ;;
+                       amdahl)
+                               basic_machine=580-amdahl
+                               os=sysv
+                               ;;
+                       amiga)
+                               basic_machine=m68k-unknown
+                               os=
+                               ;;
+                       amigaos | amigados)
+                               basic_machine=m68k-unknown
+                               os=amigaos
+                               ;;
+                       amigaunix | amix)
+                               basic_machine=m68k-unknown
+                               os=sysv4
+                               ;;
+                       apollo68)
+                               basic_machine=m68k-apollo
+                               os=sysv
+                               ;;
+                       apollo68bsd)
+                               basic_machine=m68k-apollo
+                               os=bsd
+                               ;;
+                       aros)
+                               basic_machine=i386-pc
+                               os=aros
+                               ;;
+                       aux)
+                               basic_machine=m68k-apple
+                               os=aux
+                               ;;
+                       balance)
+                               basic_machine=ns32k-sequent
+                               os=dynix
+                               ;;
+                       blackfin)
+                               basic_machine=bfin-unknown
+                               os=linux
+                               ;;
+                       cegcc)
+                               basic_machine=arm-unknown
+                               os=cegcc
+                               ;;
+                       convex-c1)
+                               basic_machine=c1-convex
+                               os=bsd
+                               ;;
+                       convex-c2)
+                               basic_machine=c2-convex
+                               os=bsd
+                               ;;
+                       convex-c32)
+                               basic_machine=c32-convex
+                               os=bsd
+                               ;;
+                       convex-c34)
+                               basic_machine=c34-convex
+                               os=bsd
+                               ;;
+                       convex-c38)
+                               basic_machine=c38-convex
+                               os=bsd
+                               ;;
+                       cray)
+                               basic_machine=j90-cray
+                               os=unicos
+                               ;;
+                       crds | unos)
+                               basic_machine=m68k-crds
+                               os=
+                               ;;
+                       da30)
+                               basic_machine=m68k-da30
+                               os=
+                               ;;
+                       decstation | pmax | pmin | dec3100 | decstatn)
+                               basic_machine=mips-dec
+                               os=
+                               ;;
+                       delta88)
+                               basic_machine=m88k-motorola
+                               os=sysv3
+                               ;;
+                       dicos)
+                               basic_machine=i686-pc
+                               os=dicos
+                               ;;
+                       djgpp)
+                               basic_machine=i586-pc
+                               os=msdosdjgpp
+                               ;;
+                       ebmon29k)
+                               basic_machine=a29k-amd
+                               os=ebmon
+                               ;;
+                       es1800 | OSE68k | ose68k | ose | OSE)
+                               basic_machine=m68k-ericsson
+                               os=ose
+                               ;;
+                       gmicro)
+                               basic_machine=tron-gmicro
+                               os=sysv
+                               ;;
+                       go32)
+                               basic_machine=i386-pc
+                               os=go32
+                               ;;
+                       h8300hms)
+                               basic_machine=h8300-hitachi
+                               os=hms
+                               ;;
+                       h8300xray)
+                               basic_machine=h8300-hitachi
+                               os=xray
+                               ;;
+                       h8500hms)
+                               basic_machine=h8500-hitachi
+                               os=hms
+                               ;;
+                       harris)
+                               basic_machine=m88k-harris
+                               os=sysv3
+                               ;;
+                       hp300 | hp300hpux)
+                               basic_machine=m68k-hp
+                               os=hpux
+                               ;;
+                       hp300bsd)
+                               basic_machine=m68k-hp
+                               os=bsd
+                               ;;
+                       hppaosf)
+                               basic_machine=hppa1.1-hp
+                               os=osf
+                               ;;
+                       hppro)
+                               basic_machine=hppa1.1-hp
+                               os=proelf
+                               ;;
+                       i386mach)
+                               basic_machine=i386-mach
+                               os=mach
+                               ;;
+                       isi68 | isi)
+                               basic_machine=m68k-isi
+                               os=sysv
+                               ;;
+                       m68knommu)
+                               basic_machine=m68k-unknown
+                               os=linux
+                               ;;
+                       magnum | m3230)
+                               basic_machine=mips-mips
+                               os=sysv
+                               ;;
+                       merlin)
+                               basic_machine=ns32k-utek
+                               os=sysv
+                               ;;
+                       mingw64)
+                               basic_machine=x86_64-pc
+                               os=mingw64
+                               ;;
+                       mingw32)
+                               basic_machine=i686-pc
+                               os=mingw32
+                               ;;
+                       mingw32ce)
+                               basic_machine=arm-unknown
+                               os=mingw32ce
+                               ;;
+                       monitor)
+                               basic_machine=m68k-rom68k
+                               os=coff
+                               ;;
+                       morphos)
+                               basic_machine=powerpc-unknown
+                               os=morphos
+                               ;;
+                       moxiebox)
+                               basic_machine=moxie-unknown
+                               os=moxiebox
+                               ;;
+                       msdos)
+                               basic_machine=i386-pc
+                               os=msdos
+                               ;;
+                       msys)
+                               basic_machine=i686-pc
+                               os=msys
+                               ;;
+                       mvs)
+                               basic_machine=i370-ibm
+                               os=mvs
+                               ;;
+                       nacl)
+                               basic_machine=le32-unknown
+                               os=nacl
+                               ;;
+                       ncr3000)
+                               basic_machine=i486-ncr
+                               os=sysv4
+                               ;;
+                       netbsd386)
+                               basic_machine=i386-pc
+                               os=netbsd
+                               ;;
+                       netwinder)
+                               basic_machine=armv4l-rebel
+                               os=linux
+                               ;;
+                       news | news700 | news800 | news900)
+                               basic_machine=m68k-sony
+                               os=newsos
+                               ;;
+                       news1000)
+                               basic_machine=m68030-sony
+                               os=newsos
+                               ;;
+                       necv70)
+                               basic_machine=v70-nec
+                               os=sysv
+                               ;;
+                       nh3000)
+                               basic_machine=m68k-harris
+                               os=cxux
+                               ;;
+                       nh[45]000)
+                               basic_machine=m88k-harris
+                               os=cxux
+                               ;;
+                       nindy960)
+                               basic_machine=i960-intel
+                               os=nindy
+                               ;;
+                       mon960)
+                               basic_machine=i960-intel
+                               os=mon960
+                               ;;
+                       nonstopux)
+                               basic_machine=mips-compaq
+                               os=nonstopux
+                               ;;
+                       os400)
+                               basic_machine=powerpc-ibm
+                               os=os400
+                               ;;
+                       OSE68000 | ose68000)
+                               basic_machine=m68000-ericsson
+                               os=ose
+                               ;;
+                       os68k)
+                               basic_machine=m68k-none
+                               os=os68k
+                               ;;
+                       paragon)
+                               basic_machine=i860-intel
+                               os=osf
+                               ;;
+                       parisc)
+                               basic_machine=hppa-unknown
+                               os=linux
+                               ;;
+                       pw32)
+                               basic_machine=i586-unknown
+                               os=pw32
+                               ;;
+                       rdos | rdos64)
+                               basic_machine=x86_64-pc
+                               os=rdos
+                               ;;
+                       rdos32)
+                               basic_machine=i386-pc
+                               os=rdos
+                               ;;
+                       rom68k)
+                               basic_machine=m68k-rom68k
+                               os=coff
+                               ;;
+                       sa29200)
+                               basic_machine=a29k-amd
+                               os=udi
+                               ;;
+                       sei)
+                               basic_machine=mips-sei
+                               os=seiux
+                               ;;
+                       sequent)
+                               basic_machine=i386-sequent
+                               os=
+                               ;;
+                       sps7)
+                               basic_machine=m68k-bull
+                               os=sysv2
+                               ;;
+                       st2000)
+                               basic_machine=m68k-tandem
+                               os=
+                               ;;
+                       stratus)
+                               basic_machine=i860-stratus
+                               os=sysv4
+                               ;;
+                       sun2)
+                               basic_machine=m68000-sun
+                               os=
+                               ;;
+                       sun2os3)
+                               basic_machine=m68000-sun
+                               os=sunos3
+                               ;;
+                       sun2os4)
+                               basic_machine=m68000-sun
+                               os=sunos4
+                               ;;
+                       sun3)
+                               basic_machine=m68k-sun
+                               os=
+                               ;;
+                       sun3os3)
+                               basic_machine=m68k-sun
+                               os=sunos3
+                               ;;
+                       sun3os4)
+                               basic_machine=m68k-sun
+                               os=sunos4
+                               ;;
+                       sun4)
+                               basic_machine=sparc-sun
+                               os=
+                               ;;
+                       sun4os3)
+                               basic_machine=sparc-sun
+                               os=sunos3
+                               ;;
+                       sun4os4)
+                               basic_machine=sparc-sun
+                               os=sunos4
+                               ;;
+                       sun4sol2)
+                               basic_machine=sparc-sun
+                               os=solaris2
+                               ;;
+                       sun386 | sun386i | roadrunner)
+                               basic_machine=i386-sun
+                               os=
+                               ;;
+                       sv1)
+                               basic_machine=sv1-cray
+                               os=unicos
+                               ;;
+                       symmetry)
+                               basic_machine=i386-sequent
+                               os=dynix
+                               ;;
+                       t3e)
+                               basic_machine=alphaev5-cray
+                               os=unicos
+                               ;;
+                       t90)
+                               basic_machine=t90-cray
+                               os=unicos
+                               ;;
+                       toad1)
+                               basic_machine=pdp10-xkl
+                               os=tops20
+                               ;;
+                       tpf)
+                               basic_machine=s390x-ibm
+                               os=tpf
+                               ;;
+                       udi29k)
+                               basic_machine=a29k-amd
+                               os=udi
+                               ;;
+                       ultra3)
+                               basic_machine=a29k-nyu
+                               os=sym1
+                               ;;
+                       v810 | necv810)
+                               basic_machine=v810-nec
+                               os=none
+                               ;;
+                       vaxv)
+                               basic_machine=vax-dec
+                               os=sysv
+                               ;;
+                       vms)
+                               basic_machine=vax-dec
+                               os=vms
+                               ;;
+                       vsta)
+                               basic_machine=i386-pc
+                               os=vsta
+                               ;;
+                       vxworks960)
+                               basic_machine=i960-wrs
+                               os=vxworks
+                               ;;
+                       vxworks68)
+                               basic_machine=m68k-wrs
+                               os=vxworks
+                               ;;
+                       vxworks29k)
+                               basic_machine=a29k-wrs
+                               os=vxworks
+                               ;;
+                       xbox)
+                               basic_machine=i686-pc
+                               os=mingw32
+                               ;;
+                       ymp)
+                               basic_machine=ymp-cray
+                               os=unicos
+                               ;;
+                       *)
+                               basic_machine=$1
+                               os=
+                               ;;
+               esac
                ;;
 esac
 
-# Decode aliases for certain CPU-COMPANY combinations.
+# Decode 1-component or ad-hoc basic machines
 case $basic_machine in
-       # Recognize the basic CPU types without company name.
-       # Some are omitted here because they have special meanings below.
-       1750a | 580 \
-       | a29k \
-       | aarch64 | aarch64_be \
-       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-       | am33_2.0 \
-       | arc | arceb \
-       | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
-       | avr | avr32 \
-       | be32 | be64 \
-       | bfin \
-       | c4x | c8051 | clipper \
-       | d10v | d30v | dlx | dsp16xx \
-       | epiphany \
-       | fido | fr30 | frv \
-       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-       | hexagon \
-       | i370 | i860 | i960 | ia64 \
-       | ip2k | iq2000 \
-       | k1om \
-       | le32 | le64 \
-       | lm32 \
-       | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
-       | mips | mipsbe | mipseb | mipsel | mipsle \
-       | mips16 \
-       | mips64 | mips64el \
-       | mips64octeon | mips64octeonel \
-       | mips64orion | mips64orionel \
-       | mips64r5900 | mips64r5900el \
-       | mips64vr | mips64vrel \
-       | mips64vr4100 | mips64vr4100el \
-       | mips64vr4300 | mips64vr4300el \
-       | mips64vr5000 | mips64vr5000el \
-       | mips64vr5900 | mips64vr5900el \
-       | mipsisa32 | mipsisa32el \
-       | mipsisa32r2 | mipsisa32r2el \
-       | mipsisa32r6 | mipsisa32r6el \
-       | mipsisa64 | mipsisa64el \
-       | mipsisa64r2 | mipsisa64r2el \
-       | mipsisa64r6 | mipsisa64r6el \
-       | mipsisa64sb1 | mipsisa64sb1el \
-       | mipsisa64sr71k | mipsisa64sr71kel \
-       | mipsr5900 | mipsr5900el \
-       | mipstx39 | mipstx39el \
-       | mn10200 | mn10300 \
-       | moxie \
-       | mt \
-       | msp430 \
-       | nds32 | nds32le | nds32be \
-       | nios | nios2 | nios2eb | nios2el \
-       | ns16k | ns32k \
-       | open8 | or1k | or1knd | or32 \
-       | pdp10 | pdp11 | pj | pjl \
-       | powerpc | powerpc64 | powerpc64le | powerpcle \
-       | pyramid \
-       | rl78 | rx \
-       | score \
-       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-       | sh64 | sh64le \
-       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-       | spu \
-       | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
-       | ubicom32 \
-       | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-       | we32k \
-       | x86 | xc16x | xstormy16 | xtensa \
-       | z8k | z80)
-               basic_machine=$basic_machine-unknown
-               ;;
-       c54x)
-               basic_machine=tic54x-unknown
-               ;;
-       c55x)
-               basic_machine=tic55x-unknown
-               ;;
-       c6x)
-               basic_machine=tic6x-unknown
-               ;;
-       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
-               basic_machine=$basic_machine-unknown
-               os=-none
-               ;;
-       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-               ;;
-       ms1)
-               basic_machine=mt-unknown
+       # Here we handle the default manufacturer of certain CPU types.  It is in
+       # some cases the only manufacturer, in others, it is the most popular.
+       w89k)
+               cpu=hppa1.1
+               vendor=winbond
                ;;
-
-       strongarm | thumb | xscale)
-               basic_machine=arm-unknown
+       op50n)
+               cpu=hppa1.1
+               vendor=oki
                ;;
-       xgate)
-               basic_machine=$basic_machine-unknown
-               os=-none
+       op60c)
+               cpu=hppa1.1
+               vendor=oki
                ;;
-       xscaleeb)
-               basic_machine=armeb-unknown
+       ibm*)
+               cpu=i370
+               vendor=ibm
                ;;
-
-       xscaleel)
-               basic_machine=armel-unknown
+       orion105)
+               cpu=clipper
+               vendor=highlevel
                ;;
-
-       # We use `pc' rather than `unknown'
-       # because (1) that's what they normally are, and
-       # (2) the word "unknown" tends to confuse beginning users.
-       i*86 | x86_64)
-         basic_machine=$basic_machine-pc
-         ;;
-       # Object if more than one company name word.
-       *-*-*)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
+       mac | mpw | mac-mpw)
+               cpu=m68k
+               vendor=apple
                ;;
-       # Recognize the basic CPU types with company name.
-       580-* \
-       | a29k-* \
-       | aarch64-* | aarch64_be-* \
-       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
-       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-       | avr-* | avr32-* \
-       | be32-* | be64-* \
-       | bfin-* | bs2000-* \
-       | c[123]* | c30-* | [cjt]90-* | c4x-* \
-       | c8051-* | clipper-* | craynv-* | cydra-* \
-       | d10v-* | d30v-* | dlx-* \
-       | elxsi-* \
-       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-       | h8300-* | h8500-* \
-       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-       | hexagon-* \
-       | i*86-* | i860-* | i960-* | ia64-* \
-       | ip2k-* | iq2000-* \
-       | k1om-* \
-       | le32-* | le64-* \
-       | lm32-* \
-       | m32c-* | m32r-* | m32rle-* \
-       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
-       | microblaze-* | microblazeel-* \
-       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-       | mips16-* \
-       | mips64-* | mips64el-* \
-       | mips64octeon-* | mips64octeonel-* \
-       | mips64orion-* | mips64orionel-* \
-       | mips64r5900-* | mips64r5900el-* \
-       | mips64vr-* | mips64vrel-* \
-       | mips64vr4100-* | mips64vr4100el-* \
-       | mips64vr4300-* | mips64vr4300el-* \
-       | mips64vr5000-* | mips64vr5000el-* \
-       | mips64vr5900-* | mips64vr5900el-* \
-       | mipsisa32-* | mipsisa32el-* \
-       | mipsisa32r2-* | mipsisa32r2el-* \
-       | mipsisa32r6-* | mipsisa32r6el-* \
-       | mipsisa64-* | mipsisa64el-* \
-       | mipsisa64r2-* | mipsisa64r2el-* \
-       | mipsisa64r6-* | mipsisa64r6el-* \
-       | mipsisa64sb1-* | mipsisa64sb1el-* \
-       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
-       | mipsr5900-* | mipsr5900el-* \
-       | mipstx39-* | mipstx39el-* \
-       | mmix-* \
-       | mt-* \
-       | msp430-* \
-       | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* | nios2eb-* | nios2el-* \
-       | none-* | np1-* | ns16k-* | ns32k-* \
-       | open8-* \
-       | or1k*-* \
-       | orion-* \
-       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
-       | pyramid-* \
-       | rl78-* | romp-* | rs6000-* | rx-* \
-       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-       | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
-       | tahoe-* \
-       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-       | tile*-* \
-       | tron-* \
-       | ubicom32-* \
-       | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
-       | vax-* \
-       | we32k-* \
-       | x86-* | x86_64-* | xc16x-* | xps100-* \
-       | xstormy16-* | xtensa*-* \
-       | ymp-* \
-       | z8k-* | z80-*)
-               ;;
-       # Recognize the basic CPU types without company name, with glob match.
-       xtensa*)
-               basic_machine=$basic_machine-unknown
+       pmac | pmac-mpw)
+               cpu=powerpc
+               vendor=apple
                ;;
+
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
-       386bsd)
-               basic_machine=i386-unknown
-               os=-bsd
-               ;;
        3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-               basic_machine=m68000-att
+               cpu=m68000
+               vendor=att
                ;;
        3b*)
-               basic_machine=we32k-att
-               ;;
-       a29khif)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       abacus)
-               basic_machine=abacus-unknown
-               ;;
-       adobe68k)
-               basic_machine=m68010-adobe
-               os=-scout
-               ;;
-       alliant | fx80)
-               basic_machine=fx80-alliant
-               ;;
-       altos | altos3068)
-               basic_machine=m68k-altos
-               ;;
-       am29k)
-               basic_machine=a29k-none
-               os=-bsd
-               ;;
-       amd64)
-               basic_machine=x86_64-pc
-               ;;
-       amd64-*)
-               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       amdahl)
-               basic_machine=580-amdahl
-               os=-sysv
-               ;;
-       amiga | amiga-*)
-               basic_machine=m68k-unknown
-               ;;
-       amigaos | amigados)
-               basic_machine=m68k-unknown
-               os=-amigaos
-               ;;
-       amigaunix | amix)
-               basic_machine=m68k-unknown
-               os=-sysv4
-               ;;
-       apollo68)
-               basic_machine=m68k-apollo
-               os=-sysv
-               ;;
-       apollo68bsd)
-               basic_machine=m68k-apollo
-               os=-bsd
-               ;;
-       aros)
-               basic_machine=i386-pc
-               os=-aros
-               ;;
-       aux)
-               basic_machine=m68k-apple
-               os=-aux
-               ;;
-       balance)
-               basic_machine=ns32k-sequent
-               os=-dynix
-               ;;
-       blackfin)
-               basic_machine=bfin-unknown
-               os=-linux
-               ;;
-       blackfin-*)
-               basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
+               cpu=we32k
+               vendor=att
                ;;
        bluegene*)
-               basic_machine=powerpc-ibm
-               os=-cnk
-               ;;
-       c54x-*)
-               basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c55x-*)
-               basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c6x-*)
-               basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c90)
-               basic_machine=c90-cray
-               os=-unicos
-               ;;
-       cegcc)
-               basic_machine=arm-unknown
-               os=-cegcc
-               ;;
-       convex-c1)
-               basic_machine=c1-convex
-               os=-bsd
-               ;;
-       convex-c2)
-               basic_machine=c2-convex
-               os=-bsd
-               ;;
-       convex-c32)
-               basic_machine=c32-convex
-               os=-bsd
-               ;;
-       convex-c34)
-               basic_machine=c34-convex
-               os=-bsd
-               ;;
-       convex-c38)
-               basic_machine=c38-convex
-               os=-bsd
-               ;;
-       cray | j90)
-               basic_machine=j90-cray
-               os=-unicos
-               ;;
-       craynv)
-               basic_machine=craynv-cray
-               os=-unicosmp
-               ;;
-       cr16 | cr16-*)
-               basic_machine=cr16-unknown
-               os=-elf
-               ;;
-       crds | unos)
-               basic_machine=m68k-crds
-               ;;
-       crisv32 | crisv32-* | etraxfs*)
-               basic_machine=crisv32-axis
-               ;;
-       cris | cris-* | etrax*)
-               basic_machine=cris-axis
-               ;;
-       crx)
-               basic_machine=crx-unknown
-               os=-elf
-               ;;
-       da30 | da30-*)
-               basic_machine=m68k-da30
-               ;;
-       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-               basic_machine=mips-dec
+               cpu=powerpc
+               vendor=ibm
+               os=cnk
                ;;
        decsystem10* | dec10*)
-               basic_machine=pdp10-dec
-               os=-tops10
+               cpu=pdp10
+               vendor=dec
+               os=tops10
                ;;
        decsystem20* | dec20*)
-               basic_machine=pdp10-dec
-               os=-tops20
+               cpu=pdp10
+               vendor=dec
+               os=tops20
                ;;
        delta | 3300 | motorola-3300 | motorola-delta \
              | 3300-motorola | delta-motorola)
-               basic_machine=m68k-motorola
-               ;;
-       delta88)
-               basic_machine=m88k-motorola
-               os=-sysv3
+               cpu=m68k
+               vendor=motorola
                ;;
-       dicos)
-               basic_machine=i686-pc
-               os=-dicos
-               ;;
-       djgpp)
-               basic_machine=i586-pc
-               os=-msdosdjgpp
-               ;;
-       dpx20 | dpx20-*)
-               basic_machine=rs6000-bull
-               os=-bosx
-               ;;
-       dpx2* | dpx2*-bull)
-               basic_machine=m68k-bull
-               os=-sysv3
-               ;;
-       ebmon29k)
-               basic_machine=a29k-amd
-               os=-ebmon
-               ;;
-       elxsi)
-               basic_machine=elxsi-elxsi
-               os=-bsd
+       dpx2*)
+               cpu=m68k
+               vendor=bull
+               os=sysv3
                ;;
        encore | umax | mmax)
-               basic_machine=ns32k-encore
+               cpu=ns32k
+               vendor=encore
                ;;
-       es1800 | OSE68k | ose68k | ose | OSE)
-               basic_machine=m68k-ericsson
-               os=-ose
+       elxsi)
+               cpu=elxsi
+               vendor=elxsi
+               os=${os:-bsd}
                ;;
        fx2800)
-               basic_machine=i860-alliant
+               cpu=i860
+               vendor=alliant
                ;;
        genix)
-               basic_machine=ns32k-ns
-               ;;
-       gmicro)
-               basic_machine=tron-gmicro
-               os=-sysv
-               ;;
-       go32)
-               basic_machine=i386-pc
-               os=-go32
+               cpu=ns32k
+               vendor=ns
                ;;
        h3050r* | hiux*)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       h8300hms)
-               basic_machine=h8300-hitachi
-               os=-hms
-               ;;
-       h8300xray)
-               basic_machine=h8300-hitachi
-               os=-xray
-               ;;
-       h8500hms)
-               basic_machine=h8500-hitachi
-               os=-hms
-               ;;
-       harris)
-               basic_machine=m88k-harris
-               os=-sysv3
-               ;;
-       hp300-*)
-               basic_machine=m68k-hp
-               ;;
-       hp300bsd)
-               basic_machine=m68k-hp
-               os=-bsd
-               ;;
-       hp300hpux)
-               basic_machine=m68k-hp
-               os=-hpux
+               cpu=hppa1.1
+               vendor=hitachi
+               os=hiuxwe2
                ;;
        hp3k9[0-9][0-9] | hp9[0-9][0-9])
-               basic_machine=hppa1.0-hp
+               cpu=hppa1.0
+               vendor=hp
                ;;
        hp9k2[0-9][0-9] | hp9k31[0-9])
-               basic_machine=m68000-hp
+               cpu=m68000
+               vendor=hp
                ;;
        hp9k3[2-9][0-9])
-               basic_machine=m68k-hp
+               cpu=m68k
+               vendor=hp
                ;;
        hp9k6[0-9][0-9] | hp6[0-9][0-9])
-               basic_machine=hppa1.0-hp
+               cpu=hppa1.0
+               vendor=hp
                ;;
        hp9k7[0-79][0-9] | hp7[0-79][0-9])
-               basic_machine=hppa1.1-hp
+               cpu=hppa1.1
+               vendor=hp
                ;;
        hp9k78[0-9] | hp78[0-9])
                # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
+               cpu=hppa1.1
+               vendor=hp
                ;;
        hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
                # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
+               cpu=hppa1.1
+               vendor=hp
                ;;
        hp9k8[0-9][13679] | hp8[0-9][13679])
-               basic_machine=hppa1.1-hp
+               cpu=hppa1.1
+               vendor=hp
                ;;
        hp9k8[0-9][0-9] | hp8[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hppa-next)
-               os=-nextstep3
-               ;;
-       hppaosf)
-               basic_machine=hppa1.1-hp
-               os=-osf
-               ;;
-       hppro)
-               basic_machine=hppa1.1-hp
-               os=-proelf
-               ;;
-       i370-ibm* | ibm*)
-               basic_machine=i370-ibm
+               cpu=hppa1.0
+               vendor=hp
                ;;
        i*86v32)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv32
+               cpu=`echo "$1" | sed -e 's/86.*/86/'`
+               vendor=pc
+               os=sysv32
                ;;
        i*86v4*)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv4
+               cpu=`echo "$1" | sed -e 's/86.*/86/'`
+               vendor=pc
+               os=sysv4
                ;;
        i*86v)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv
+               cpu=`echo "$1" | sed -e 's/86.*/86/'`
+               vendor=pc
+               os=sysv
                ;;
        i*86sol2)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-solaris2
-               ;;
-       i386mach)
-               basic_machine=i386-mach
-               os=-mach
+               cpu=`echo "$1" | sed -e 's/86.*/86/'`
+               vendor=pc
+               os=solaris2
                ;;
-       i386-vsta | vsta)
-               basic_machine=i386-unknown
-               os=-vsta
+       j90 | j90-cray)
+               cpu=j90
+               vendor=cray
+               os=${os:-unicos}
                ;;
        iris | iris4d)
-               basic_machine=mips-sgi
+               cpu=mips
+               vendor=sgi
                case $os in
-                   -irix*)
+                   irix*)
                        ;;
                    *)
-                       os=-irix4
+                       os=irix4
                        ;;
                esac
                ;;
-       isi68 | isi)
-               basic_machine=m68k-isi
-               os=-sysv
-               ;;
-       m68knommu)
-               basic_machine=m68k-unknown
-               os=-linux
-               ;;
-       m68knommu-*)
-               basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
-               ;;
-       m88k-omron*)
-               basic_machine=m88k-omron
-               ;;
-       magnum | m3230)
-               basic_machine=mips-mips
-               os=-sysv
-               ;;
-       merlin)
-               basic_machine=ns32k-utek
-               os=-sysv
-               ;;
-       microblaze*)
-               basic_machine=microblaze-xilinx
-               ;;
-       mingw64)
-               basic_machine=x86_64-pc
-               os=-mingw64
-               ;;
-       mingw32)
-               basic_machine=i686-pc
-               os=-mingw32
-               ;;
-       mingw32ce)
-               basic_machine=arm-unknown
-               os=-mingw32ce
-               ;;
        miniframe)
-               basic_machine=m68000-convergent
-               ;;
-       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-       mips3*-*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-               ;;
-       mips3*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-               ;;
-       monitor)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       morphos)
-               basic_machine=powerpc-unknown
-               os=-morphos
-               ;;
-       msdos)
-               basic_machine=i386-pc
-               os=-msdos
-               ;;
-       ms1-*)
-               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-               ;;
-       msys)
-               basic_machine=i686-pc
-               os=-msys
-               ;;
-       mvs)
-               basic_machine=i370-ibm
-               os=-mvs
-               ;;
-       nacl)
-               basic_machine=le32-unknown
-               os=-nacl
+               cpu=m68000
+               vendor=convergent
                ;;
-       ncr3000)
-               basic_machine=i486-ncr
-               os=-sysv4
-               ;;
-       netbsd386)
-               basic_machine=i386-unknown
-               os=-netbsd
-               ;;
-       netwinder)
-               basic_machine=armv4l-rebel
-               os=-linux
-               ;;
-       news | news700 | news800 | news900)
-               basic_machine=m68k-sony
-               os=-newsos
-               ;;
-       news1000)
-               basic_machine=m68030-sony
-               os=-newsos
+       *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
+               cpu=m68k
+               vendor=atari
+               os=mint
                ;;
        news-3600 | risc-news)
-               basic_machine=mips-sony
-               os=-newsos
+               cpu=mips
+               vendor=sony
+               os=newsos
                ;;
-       necv70)
-               basic_machine=v70-nec
-               os=-sysv
-               ;;
-       next | m*-next )
-               basic_machine=m68k-next
+       next | m*-next)
+               cpu=m68k
+               vendor=next
                case $os in
-                   -nextstep* )
+                   openstep*)
+                       ;;
+                   nextstep*)
                        ;;
-                   -ns2*)
-                     os=-nextstep2
+                   ns2*)
+                     os=nextstep2
                        ;;
                    *)
-                     os=-nextstep3
+                     os=nextstep3
                        ;;
                esac
                ;;
-       nh3000)
-               basic_machine=m68k-harris
-               os=-cxux
-               ;;
-       nh[45]000)
-               basic_machine=m88k-harris
-               os=-cxux
-               ;;
-       nindy960)
-               basic_machine=i960-intel
-               os=-nindy
-               ;;
-       mon960)
-               basic_machine=i960-intel
-               os=-mon960
-               ;;
-       nonstopux)
-               basic_machine=mips-compaq
-               os=-nonstopux
-               ;;
        np1)
-               basic_machine=np1-gould
-               ;;
-       neo-tandem)
-               basic_machine=neo-tandem
-               ;;
-       nse-tandem)
-               basic_machine=nse-tandem
-               ;;
-       nsr-tandem)
-               basic_machine=nsr-tandem
+               cpu=np1
+               vendor=gould
                ;;
        op50n-* | op60c-*)
-               basic_machine=hppa1.1-oki
-               os=-proelf
-               ;;
-       openrisc | openrisc-*)
-               basic_machine=or32-unknown
-               ;;
-       os400)
-               basic_machine=powerpc-ibm
-               os=-os400
-               ;;
-       OSE68000 | ose68000)
-               basic_machine=m68000-ericsson
-               os=-ose
-               ;;
-       os68k)
-               basic_machine=m68k-none
-               os=-os68k
+               cpu=hppa1.1
+               vendor=oki
+               os=proelf
                ;;
        pa-hitachi)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       paragon)
-               basic_machine=i860-intel
-               os=-osf
-               ;;
-       parisc)
-               basic_machine=hppa-unknown
-               os=-linux
-               ;;
-       parisc-*)
-               basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
+               cpu=hppa1.1
+               vendor=hitachi
+               os=hiuxwe2
                ;;
        pbd)
-               basic_machine=sparc-tti
+               cpu=sparc
+               vendor=tti
                ;;
        pbb)
-               basic_machine=m68k-tti
-               ;;
-       pc532 | pc532-*)
-               basic_machine=ns32k-pc532
+               cpu=m68k
+               vendor=tti
                ;;
-       pc98)
-               basic_machine=i386-pc
-               ;;
-       pc98-*)
-               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentium | p5 | k5 | k6 | nexgen | viac3)
-               basic_machine=i586-pc
-               ;;
-       pentiumpro | p6 | 6x86 | athlon | athlon_*)
-               basic_machine=i686-pc
-               ;;
-       pentiumii | pentium2 | pentiumiii | pentium3)
-               basic_machine=i686-pc
-               ;;
-       pentium4)
-               basic_machine=i786-pc
-               ;;
-       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumpro-* | p6-* | 6x86-* | athlon-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentium4-*)
-               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+       pc532)
+               cpu=ns32k
+               vendor=pc532
                ;;
        pn)
-               basic_machine=pn-gould
+               cpu=pn
+               vendor=gould
                ;;
-       power)  basic_machine=power-ibm
-               ;;
-       ppc | ppcbe)    basic_machine=powerpc-unknown
-               ;;
-       ppc-* | ppcbe-*)
-               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppcle | powerpclittle | ppc-le | powerpc-little)
-               basic_machine=powerpcle-unknown
-               ;;
-       ppcle-* | powerpclittle-*)
-               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64)  basic_machine=powerpc64-unknown
-               ;;
-       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-               basic_machine=powerpc64le-unknown
-               ;;
-       ppc64le-* | powerpc64little-*)
-               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+       power)
+               cpu=power
+               vendor=ibm
                ;;
        ps2)
-               basic_machine=i386-ibm
-               ;;
-       pw32)
-               basic_machine=i586-unknown
-               os=-pw32
-               ;;
-       rdos | rdos64)
-               basic_machine=x86_64-pc
-               os=-rdos
-               ;;
-       rdos32)
-               basic_machine=i386-pc
-               os=-rdos
-               ;;
-       rom68k)
-               basic_machine=m68k-rom68k
-               os=-coff
+               cpu=i386
+               vendor=ibm
                ;;
        rm[46]00)
-               basic_machine=mips-siemens
+               cpu=mips
+               vendor=siemens
                ;;
        rtpc | rtpc-*)
-               basic_machine=romp-ibm
-               ;;
-       s390 | s390-*)
-               basic_machine=s390-ibm
+               cpu=romp
+               vendor=ibm
                ;;
-       s390x | s390x-*)
-               basic_machine=s390x-ibm
-               ;;
-       sa29200)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       sb1)
-               basic_machine=mipsisa64sb1-unknown
+       sde)
+               cpu=mipsisa32
+               vendor=sde
+               os=${os:-elf}
                ;;
-       sb1el)
-               basic_machine=mipsisa64sb1el-unknown
+       simso-wrs)
+               cpu=sparclite
+               vendor=wrs
+               os=vxworks
                ;;
-       sde)
-               basic_machine=mipsisa32-sde
-               os=-elf
+       tower | tower-32)
+               cpu=m68k
+               vendor=ncr
                ;;
-       sei)
-               basic_machine=mips-sei
-               os=-seiux
+       vpp*|vx|vx-*)
+               cpu=f301
+               vendor=fujitsu
                ;;
-       sequent)
-               basic_machine=i386-sequent
+       w65)
+               cpu=w65
+               vendor=wdc
                ;;
-       sh)
-               basic_machine=sh-hitachi
-               os=-hms
+       w89k-*)
+               cpu=hppa1.1
+               vendor=winbond
+               os=proelf
                ;;
-       sh5el)
-               basic_machine=sh5le-unknown
+       none)
+               cpu=none
+               vendor=none
                ;;
-       sh64)
-               basic_machine=sh64-unknown
+       leon|leon[3-9])
+               cpu=sparc
+               vendor=$basic_machine
                ;;
-       sparclite-wrs | simso-wrs)
-               basic_machine=sparclite-wrs
-               os=-vxworks
+       leon-*|leon[3-9]-*)
+               cpu=sparc
+               vendor=`echo "$basic_machine" | sed 's/-.*//'`
                ;;
-       sps7)
-               basic_machine=m68k-bull
-               os=-sysv2
+
+       *-*)
+               # shellcheck disable=SC2162
+               IFS="-" read cpu vendor <<EOF
+$basic_machine
+EOF
                ;;
-       spur)
-               basic_machine=spur-unknown
+       # We use `pc' rather than `unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+       i*86 | x86_64)
+               cpu=$basic_machine
+               vendor=pc
                ;;
-       st2000)
-               basic_machine=m68k-tandem
+       # These rules are duplicated from below for sake of the special case above;
+       # i.e. things that normalized to x86 arches should also default to "pc"
+       pc98)
+               cpu=i386
+               vendor=pc
                ;;
-       stratus)
-               basic_machine=i860-stratus
-               os=-sysv4
+       x64 | amd64)
+               cpu=x86_64
+               vendor=pc
                ;;
-       strongarm-* | thumb-*)
-               basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+       # Recognize the basic CPU types without company name.
+       *)
+               cpu=$basic_machine
+               vendor=unknown
                ;;
-       sun2)
-               basic_machine=m68000-sun
+esac
+
+unset -v basic_machine
+
+# Decode basic machines in the full and proper CPU-Company form.
+case $cpu-$vendor in
+       # Here we handle the default manufacturer of certain CPU types in canonical form. It is in
+       # some cases the only manufacturer, in others, it is the most popular.
+       craynv-unknown)
+               vendor=cray
+               os=${os:-unicosmp}
                ;;
-       sun2os3)
-               basic_machine=m68000-sun
-               os=-sunos3
+       c90-unknown | c90-cray)
+               vendor=cray
+               os=${os:-unicos}
                ;;
-       sun2os4)
-               basic_machine=m68000-sun
-               os=-sunos4
+       fx80-unknown)
+               vendor=alliant
                ;;
-       sun3os3)
-               basic_machine=m68k-sun
-               os=-sunos3
+       romp-unknown)
+               vendor=ibm
                ;;
-       sun3os4)
-               basic_machine=m68k-sun
-               os=-sunos4
+       mmix-unknown)
+               vendor=knuth
                ;;
-       sun4os3)
-               basic_machine=sparc-sun
-               os=-sunos3
+       microblaze-unknown | microblazeel-unknown)
+               vendor=xilinx
                ;;
-       sun4os4)
-               basic_machine=sparc-sun
-               os=-sunos4
+       rs6000-unknown)
+               vendor=ibm
                ;;
-       sun4sol2)
-               basic_machine=sparc-sun
-               os=-solaris2
+       vax-unknown)
+               vendor=dec
                ;;
-       sun3 | sun3-*)
-               basic_machine=m68k-sun
+       pdp11-unknown)
+               vendor=dec
                ;;
-       sun4)
-               basic_machine=sparc-sun
+       we32k-unknown)
+               vendor=att
                ;;
-       sun386 | sun386i | roadrunner)
-               basic_machine=i386-sun
+       cydra-unknown)
+               vendor=cydrome
                ;;
-       sv1)
-               basic_machine=sv1-cray
-               os=-unicos
+       i370-ibm*)
+               vendor=ibm
                ;;
-       symmetry)
-               basic_machine=i386-sequent
-               os=-dynix
+       orion-unknown)
+               vendor=highlevel
                ;;
-       t3e)
-               basic_machine=alphaev5-cray
-               os=-unicos
+       xps-unknown | xps100-unknown)
+               cpu=xps100
+               vendor=honeywell
                ;;
-       t90)
-               basic_machine=t90-cray
-               os=-unicos
+
+       # Here we normalize CPU types with a missing or matching vendor
+       dpx20-unknown | dpx20-bull)
+               cpu=rs6000
+               vendor=bull
+               os=${os:-bosx}
                ;;
-       tile*)
-               basic_machine=$basic_machine-unknown
-               os=-linux-gnu
+
+       # Here we normalize CPU types irrespective of the vendor
+       amd64-*)
+               cpu=x86_64
                ;;
-       tx39)
-               basic_machine=mipstx39-unknown
+       blackfin-*)
+               cpu=bfin
+               os=linux
                ;;
-       tx39el)
-               basic_machine=mipstx39el-unknown
+       c54x-*)
+               cpu=tic54x
                ;;
-       toad1)
-               basic_machine=pdp10-xkl
-               os=-tops20
+       c55x-*)
+               cpu=tic55x
                ;;
-       tower | tower-32)
-               basic_machine=m68k-ncr
+       c6x-*)
+               cpu=tic6x
                ;;
-       tpf)
-               basic_machine=s390x-ibm
-               os=-tpf
+       e500v[12]-*)
+               cpu=powerpc
+               os=$os"spe"
                ;;
-       udi29k)
-               basic_machine=a29k-amd
-               os=-udi
+       mips3*-*)
+               cpu=mips64
                ;;
-       ultra3)
-               basic_machine=a29k-nyu
-               os=-sym1
+       ms1-*)
+               cpu=mt
                ;;
-       v810 | necv810)
-               basic_machine=v810-nec
-               os=-none
+       m68knommu-*)
+               cpu=m68k
+               os=linux
                ;;
-       vaxv)
-               basic_machine=vax-dec
-               os=-sysv
+       m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
+               cpu=s12z
                ;;
-       vms)
-               basic_machine=vax-dec
-               os=-vms
+       openrisc-*)
+               cpu=or32
                ;;
-       vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
+       parisc-*)
+               cpu=hppa
+               os=linux
                ;;
-       vxworks960)
-               basic_machine=i960-wrs
-               os=-vxworks
+       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+               cpu=i586
                ;;
-       vxworks68)
-               basic_machine=m68k-wrs
-               os=-vxworks
+       pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+               cpu=i686
                ;;
-       vxworks29k)
-               basic_machine=a29k-wrs
-               os=-vxworks
+       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+               cpu=i686
                ;;
-       w65*)
-               basic_machine=w65-wdc
-               os=-none
+       pentium4-*)
+               cpu=i786
                ;;
-       w89k-*)
-               basic_machine=hppa1.1-winbond
-               os=-proelf
+       pc98-*)
+               cpu=i386
                ;;
-       xbox)
-               basic_machine=i686-pc
-               os=-mingw32
+       ppc-* | ppcbe-*)
+               cpu=powerpc
                ;;
-       xps | xps100)
-               basic_machine=xps100-honeywell
+       ppcle-* | powerpclittle-*)
+               cpu=powerpcle
                ;;
-       xscale-* | xscalee[bl]-*)
-               basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+       ppc64-*)
+               cpu=powerpc64
                ;;
-       ymp)
-               basic_machine=ymp-cray
-               os=-unicos
+       ppc64le-* | powerpc64little-*)
+               cpu=powerpc64le
                ;;
-       z8k-*-coff)
-               basic_machine=z8k-unknown
-               os=-sim
+       sb1-*)
+               cpu=mipsisa64sb1
                ;;
-       z80-*-coff)
-               basic_machine=z80-unknown
-               os=-sim
+       sb1el-*)
+               cpu=mipsisa64sb1el
                ;;
-       none)
-               basic_machine=none-none
-               os=-none
+       sh5e[lb]-*)
+               cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
                ;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-       w89k)
-               basic_machine=hppa1.1-winbond
+       spur-*)
+               cpu=spur
                ;;
-       op50n)
-               basic_machine=hppa1.1-oki
+       strongarm-* | thumb-*)
+               cpu=arm
                ;;
-       op60c)
-               basic_machine=hppa1.1-oki
+       tx39-*)
+               cpu=mipstx39
                ;;
-       romp)
-               basic_machine=romp-ibm
+       tx39el-*)
+               cpu=mipstx39el
                ;;
-       mmix)
-               basic_machine=mmix-knuth
+       x64-*)
+               cpu=x86_64
                ;;
-       rs6000)
-               basic_machine=rs6000-ibm
+       xscale-* | xscalee[bl]-*)
+               cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
                ;;
-       vax)
-               basic_machine=vax-dec
+
+       # Recognize the canonical CPU Types that limit and/or modify the
+       # company names they are paired with.
+       cr16-*)
+               os=${os:-elf}
                ;;
-       pdp10)
-               # there are many clones, so DEC is not a safe bet
-               basic_machine=pdp10-unknown
+       crisv32-* | etraxfs*-*)
+               cpu=crisv32
+               vendor=axis
                ;;
-       pdp11)
-               basic_machine=pdp11-dec
+       cris-* | etrax*-*)
+               cpu=cris
+               vendor=axis
                ;;
-       we32k)
-               basic_machine=we32k-att
+       crx-*)
+               os=${os:-elf}
                ;;
-       sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
-               basic_machine=sh-unknown
+       neo-tandem)
+               cpu=neo
+               vendor=tandem
                ;;
-       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-               basic_machine=sparc-sun
+       nse-tandem)
+               cpu=nse
+               vendor=tandem
                ;;
-       cydra)
-               basic_machine=cydra-cydrome
+       nsr-tandem)
+               cpu=nsr
+               vendor=tandem
                ;;
-       orion)
-               basic_machine=orion-highlevel
+       nsv-tandem)
+               cpu=nsv
+               vendor=tandem
                ;;
-       orion105)
-               basic_machine=clipper-highlevel
+       nsx-tandem)
+               cpu=nsx
+               vendor=tandem
                ;;
-       mac | mpw | mac-mpw)
-               basic_machine=m68k-apple
+       s390-*)
+               cpu=s390
+               vendor=ibm
                ;;
-       pmac | pmac-mpw)
-               basic_machine=powerpc-apple
+       s390x-*)
+               cpu=s390x
+               vendor=ibm
                ;;
-       *-unknown)
-               # Make sure to match an already-canonicalized machine name.
+       tile*-*)
+               os=${os:-linux-gnu}
                ;;
+
        *)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
+               # Recognize the canonical CPU types that are allowed with any
+               # company name.
+               case $cpu in
+                       1750a | 580 \
+                       | a29k \
+                       | aarch64 | aarch64_be \
+                       | abacus \
+                       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
+                       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
+                       | alphapca5[67] | alpha64pca5[67] \
+                       | am33_2.0 \
+                       | amdgcn \
+                       | arc | arceb \
+                       | arm  | arm[lb]e | arme[lb] | armv* \
+                       | avr | avr32 \
+                       | asmjs \
+                       | ba \
+                       | be32 | be64 \
+                       | bfin | bpf | bs2000 \
+                       | c[123]* | c30 | [cjt]90 | c4x \
+                       | c8051 | clipper | craynv | csky | cydra \
+                       | d10v | d30v | dlx | dsp16xx \
+                       | e2k | elxsi | epiphany \
+                       | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
+                       | h8300 | h8500 \
+                       | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+                       | hexagon \
+                       | i370 | i*86 | i860 | i960 | ia16 | ia64 \
+                       | ip2k | iq2000 \
+                       | k1om \
+                       | le32 | le64 \
+                       | lm32 \
+                       | m32c | m32r | m32rle \
+                       | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
+                       | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
+                       | m88110 | m88k | maxq | mb | mcore | mep | metag \
+                       | microblaze | microblazeel \
+                       | mips | mipsbe | mipseb | mipsel | mipsle \
+                       | mips16 \
+                       | mips64 | mips64eb | mips64el \
+                       | mips64octeon | mips64octeonel \
+                       | mips64orion | mips64orionel \
+                       | mips64r5900 | mips64r5900el \
+                       | mips64vr | mips64vrel \
+                       | mips64vr4100 | mips64vr4100el \
+                       | mips64vr4300 | mips64vr4300el \
+                       | mips64vr5000 | mips64vr5000el \
+                       | mips64vr5900 | mips64vr5900el \
+                       | mipsisa32 | mipsisa32el \
+                       | mipsisa32r2 | mipsisa32r2el \
+                       | mipsisa32r6 | mipsisa32r6el \
+                       | mipsisa64 | mipsisa64el \
+                       | mipsisa64r2 | mipsisa64r2el \
+                       | mipsisa64r6 | mipsisa64r6el \
+                       | mipsisa64sb1 | mipsisa64sb1el \
+                       | mipsisa64sr71k | mipsisa64sr71kel \
+                       | mipsr5900 | mipsr5900el \
+                       | mipstx39 | mipstx39el \
+                       | mmix \
+                       | mn10200 | mn10300 \
+                       | moxie \
+                       | mt \
+                       | msp430 \
+                       | nds32 | nds32le | nds32be \
+                       | nfp \
+                       | nios | nios2 | nios2eb | nios2el \
+                       | none | np1 | ns16k | ns32k | nvptx \
+                       | open8 \
+                       | or1k* \
+                       | or32 \
+                       | orion \
+                       | picochip \
+                       | pdp10 | pdp11 | pj | pjl | pn | power \
+                       | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
+                       | pru \
+                       | pyramid \
+                       | riscv | riscv32 | riscv64 \
+                       | rl78 | romp | rs6000 | rx \
+                       | score \
+                       | sh | shl \
+                       | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
+                       | sh[1234]e[lb] |  sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
+                       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
+                       | sparclite \
+                       | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
+                       | spu \
+                       | tahoe \
+                       | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
+                       | tron \
+                       | ubicom32 \
+                       | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
+                       | vax \
+                       | visium \
+                       | w65 \
+                       | wasm32 | wasm64 \
+                       | we32k \
+                       | x86 | x86_64 | xc16x | xgate | xps100 \
+                       | xstormy16 | xtensa* \
+                       | ymp \
+                       | z8k | z80)
+                               ;;
+
+                       *)
+                               echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
+                               exit 1
+                               ;;
+               esac
                ;;
 esac
 
 # Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-       *-digital*)
-               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+case $vendor in
+       digital*)
+               vendor=dec
                ;;
-       *-commodore*)
-               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+       commodore*)
+               vendor=cbm
                ;;
        *)
                ;;
@@ -1327,197 +1275,244 @@ esac
 
 # Decode manufacturer-specific aliases for certain operating systems.
 
-if [ x"$os" != x"" ]
+if [ x$os != x ]
 then
 case $os in
-       # First match some system type aliases
-       # that might get confused with valid system types.
-       # -solaris* is a basic system type, with this one exception.
-       -auroraux)
-               os=-auroraux
+       # First match some system type aliases that might get confused
+       # with valid system types.
+       # solaris* is a basic system type, with this one exception.
+       auroraux)
+               os=auroraux
                ;;
-       -solaris1 | -solaris1.*)
-               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+       bluegene*)
+               os=cnk
                ;;
-       -solaris)
-               os=-solaris2
+       solaris1 | solaris1.*)
+               os=`echo $os | sed -e 's|solaris1|sunos4|'`
                ;;
-       -svr4*)
-               os=-sysv4
+       solaris)
+               os=solaris2
                ;;
-       -unixware*)
-               os=-sysv4.2uw
+       unixware*)
+               os=sysv4.2uw
                ;;
-       -gnu/linux*)
+       gnu/linux*)
                os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
                ;;
-       # First accept the basic system types.
+       # es1800 is here to avoid being matched by es* (a different OS)
+       es1800*)
+               os=ose
+               ;;
+       # Some version numbers need modification
+       chorusos*)
+               os=chorusos
+               ;;
+       isc)
+               os=isc2.2
+               ;;
+       sco6)
+               os=sco5v6
+               ;;
+       sco5)
+               os=sco3.2v5
+               ;;
+       sco4)
+               os=sco3.2v4
+               ;;
+       sco3.2.[4-9]*)
+               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+               ;;
+       sco3.2v[4-9]* | sco5v6*)
+               # Don't forget version if it is 3.2v4 or newer.
+               ;;
+       scout)
+               # Don't match below
+               ;;
+       sco*)
+               os=sco3.2v2
+               ;;
+       psos*)
+               os=psos
+               ;;
+       # Now accept the basic system types.
        # The portable systems comes first.
-       # Each alternative MUST END IN A *, to match a version number.
-       # -sysv* is not here because it comes later, after sysvr4.
-       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
-             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-             | -sym* | -kopensolaris* | -plan9* \
-             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* | -aros* \
-             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -bitrig* | -openbsd* | -solidbsd* \
-             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -chorusos* | -chorusrdb* | -cegcc* \
-             | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
-             | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-             | -uxpv* | -beos* | -mpeix* | -udk* \
-             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+       # Each alternative MUST end in a * to match a version number.
+       # sysv* is not here because it comes later, after sysvr4.
+       gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
+            | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
+            | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
+            | sym* | kopensolaris* | plan9* \
+            | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
+            | aos* | aros* | cloudabi* | sortix* \
+            | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
+            | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
+            | knetbsd* | mirbsd* | netbsd* \
+            | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
+            | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
+            | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
+            | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
+            | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
+            | chorusrdb* | cegcc* | glidix* \
+            | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
+            | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
+            | linux-newlib* | linux-musl* | linux-uclibc* \
+            | uxpv* | beos* | mpeix* | udk* | moxiebox* \
+            | interix* | uwin* | mks* | rhapsody* | darwin* \
+            | openstep* | oskit* | conix* | pw32* | nonstopux* \
+            | storm-chaos* | tops10* | tenex* | tops20* | its* \
+            | os2* | vos* | palmos* | uclinux* | nucleus* \
+            | morphos* | superux* | rtmk* | windiss* \
+            | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
+            | skyos* | haiku* | rdos* | toppers* | drops* | es* \
+            | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
+            | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
+            | nsk* | powerunix)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
-       -qnx*)
-               case $basic_machine in
-                   x86-* | i*86-*)
+       qnx*)
+               case $cpu in
+                   x86 | i*86)
                        ;;
                    *)
-                       os=-nto$os
+                       os=nto-$os
                        ;;
                esac
                ;;
-       -nto-qnx*)
+       hiux*)
+               os=hiuxwe2
                ;;
-       -nto*)
-               os=`echo $os | sed -e 's|nto|nto-qnx|'`
+       nto-qnx*)
                ;;
-       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+       nto*)
+               os=`echo $os | sed -e 's|nto|nto-qnx|'`
                ;;
-       -mac*)
-               os=`echo $os | sed -e 's|mac|macos|'`
+       sim | xray | os68k* | v88r* \
+           | windows* | osx | abug | netware* | os9* \
+           | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
                ;;
-       -linux-dietlibc)
-               os=-linux-dietlibc
+       linux-dietlibc)
+               os=linux-dietlibc
                ;;
-       -linux*)
+       linux*)
                os=`echo $os | sed -e 's|linux|linux-gnu|'`
                ;;
-       -sunos5*)
-               os=`echo $os | sed -e 's|sunos5|solaris2|'`
+       lynx*178)
+               os=lynxos178
+               ;;
+       lynx*5)
+               os=lynxos5
                ;;
-       -sunos6*)
-               os=`echo $os | sed -e 's|sunos6|solaris3|'`
+       lynx*)
+               os=lynxos
                ;;
-       -opened*)
-               os=-openedition
+       mac*)
+               os=`echo "$os" | sed -e 's|mac|macos|'`
                ;;
-       -os400*)
-               os=-os400
+       opened*)
+               os=openedition
                ;;
-       -wince*)
-               os=-wince
+       os400*)
+               os=os400
                ;;
-       -osfrose*)
-               os=-osfrose
+       sunos5*)
+               os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
                ;;
-       -osf*)
-               os=-osf
+       sunos6*)
+               os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
                ;;
-       -utek*)
-               os=-bsd
+       wince*)
+               os=wince
                ;;
-       -dynix*)
-               os=-bsd
+       utek*)
+               os=bsd
                ;;
-       -acis*)
-               os=-aos
+       dynix*)
+               os=bsd
                ;;
-       -atheos*)
-               os=-atheos
+       acis*)
+               os=aos
                ;;
-       -syllable*)
-               os=-syllable
+       atheos*)
+               os=atheos
                ;;
-       -386bsd)
-               os=-bsd
+       syllable*)
+               os=syllable
                ;;
-       -ctix* | -uts*)
-               os=-sysv
+       386bsd)
+               os=bsd
                ;;
-       -nova*)
-               os=-rtmk-nova
+       ctix* | uts*)
+               os=sysv
                ;;
-       -ns2 )
-               os=-nextstep2
+       nova*)
+               os=rtmk-nova
                ;;
-       -nsk*)
-               os=-nsk
+       ns2)
+               os=nextstep2
                ;;
        # Preserve the version number of sinix5.
-       -sinix5.*)
+       sinix5.*)
                os=`echo $os | sed -e 's|sinix|sysv|'`
                ;;
-       -sinix*)
-               os=-sysv4
+       sinix*)
+               os=sysv4
                ;;
-       -tpf*)
-               os=-tpf
+       tpf*)
+               os=tpf
                ;;
-       -triton*)
-               os=-sysv3
+       triton*)
+               os=sysv3
                ;;
-       -oss*)
-               os=-sysv3
+       oss*)
+               os=sysv3
                ;;
-       -svr4)
-               os=-sysv4
+       svr4*)
+               os=sysv4
                ;;
-       -svr3)
-               os=-sysv3
+       svr3)
+               os=sysv3
                ;;
-       -sysvr4)
-               os=-sysv4
+       sysvr4)
+               os=sysv4
                ;;
-       # This must come after -sysvr4.
-       -sysv*)
+       # This must come after sysvr4.
+       sysv*)
                ;;
-       -ose*)
-               os=-ose
+       ose*)
+               os=ose
                ;;
-       -es1800*)
-               os=-ose
+       *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
+               os=mint
                ;;
-       -xenix)
-               os=-xenix
+       zvmoe)
+               os=zvmoe
                ;;
-       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-               os=-mint
+       dicos*)
+               os=dicos
                ;;
-       -aros*)
-               os=-aros
+       pikeos*)
+               # Until real need of OS specific support for
+               # particular features comes up, bare metal
+               # configurations are quite functional.
+               case $cpu in
+                   arm*)
+                       os=eabi
+                       ;;
+                   *)
+                       os=elf
+                       ;;
+               esac
                ;;
-       -zvmoe)
-               os=-zvmoe
+       nacl*)
                ;;
-       -dicos*)
-               os=-dicos
+       ios)
                ;;
-       -nacl*)
+       none)
                ;;
-       -none)
+       *-eabi)
                ;;
        *)
-               # Get rid of the `-' at the beginning of $os.
-               os=`echo $os | sed 's/[^-]*-//'`
-               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+               echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
                exit 1
                ;;
 esac
@@ -1533,261 +1528,265 @@ else
 # will signal an error saying that MANUFACTURER isn't an operating
 # system, and we'll never get to this point.
 
-case $basic_machine in
+case $cpu-$vendor in
        score-*)
-               os=-elf
+               os=elf
                ;;
        spu-*)
-               os=-elf
+               os=elf
                ;;
        *-acorn)
-               os=-riscix1.2
+               os=riscix1.2
                ;;
        arm*-rebel)
-               os=-linux
+               os=linux
                ;;
        arm*-semi)
-               os=-aout
+               os=aout
                ;;
        c4x-* | tic4x-*)
-               os=-coff
+               os=coff
                ;;
        c8051-*)
-               os=-elf
+               os=elf
+               ;;
+       clipper-intergraph)
+               os=clix
                ;;
        hexagon-*)
-               os=-elf
+               os=elf
                ;;
        tic54x-*)
-               os=-coff
+               os=coff
                ;;
        tic55x-*)
-               os=-coff
+               os=coff
                ;;
        tic6x-*)
-               os=-coff
+               os=coff
                ;;
        # This must come before the *-dec entry.
        pdp10-*)
-               os=-tops20
+               os=tops20
                ;;
        pdp11-*)
-               os=-none
+               os=none
                ;;
        *-dec | vax-*)
-               os=-ultrix4.2
+               os=ultrix4.2
                ;;
        m68*-apollo)
-               os=-domain
+               os=domain
                ;;
        i386-sun)
-               os=-sunos4.0.2
+               os=sunos4.0.2
                ;;
        m68000-sun)
-               os=-sunos3
+               os=sunos3
                ;;
        m68*-cisco)
-               os=-aout
+               os=aout
                ;;
        mep-*)
-               os=-elf
+               os=elf
                ;;
        mips*-cisco)
-               os=-elf
+               os=elf
                ;;
        mips*-*)
-               os=-elf
+               os=elf
                ;;
        or32-*)
-               os=-coff
+               os=coff
                ;;
        *-tti)  # must be before sparc entry or we get the wrong os.
-               os=-sysv3
+               os=sysv3
                ;;
        sparc-* | *-sun)
-               os=-sunos4.1.1
+               os=sunos4.1.1
                ;;
-       *-be)
-               os=-beos
+       pru-*)
+               os=elf
                ;;
-       *-haiku)
-               os=-haiku
+       *-be)
+               os=beos
                ;;
        *-ibm)
-               os=-aix
+               os=aix
                ;;
        *-knuth)
-               os=-mmixware
+               os=mmixware
                ;;
        *-wec)
-               os=-proelf
+               os=proelf
                ;;
        *-winbond)
-               os=-proelf
+               os=proelf
                ;;
        *-oki)
-               os=-proelf
+               os=proelf
                ;;
        *-hp)
-               os=-hpux
+               os=hpux
                ;;
        *-hitachi)
-               os=-hiux
+               os=hiux
                ;;
        i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-               os=-sysv
+               os=sysv
                ;;
        *-cbm)
-               os=-amigaos
+               os=amigaos
                ;;
        *-dg)
-               os=-dgux
+               os=dgux
                ;;
        *-dolphin)
-               os=-sysv3
+               os=sysv3
                ;;
        m68k-ccur)
-               os=-rtu
+               os=rtu
                ;;
        m88k-omron*)
-               os=-luna
+               os=luna
                ;;
-       *-next )
-               os=-nextstep
+       *-next)
+               os=nextstep
                ;;
        *-sequent)
-               os=-ptx
+               os=ptx
                ;;
        *-crds)
-               os=-unos
+               os=unos
                ;;
        *-ns)
-               os=-genix
+               os=genix
                ;;
        i370-*)
-               os=-mvs
-               ;;
-       *-next)
-               os=-nextstep3
+               os=mvs
                ;;
        *-gould)
-               os=-sysv
+               os=sysv
                ;;
        *-highlevel)
-               os=-bsd
+               os=bsd
                ;;
        *-encore)
-               os=-bsd
+               os=bsd
                ;;
        *-sgi)
-               os=-irix
+               os=irix
                ;;
        *-siemens)
-               os=-sysv4
+               os=sysv4
                ;;
        *-masscomp)
-               os=-rtu
+               os=rtu
                ;;
        f30[01]-fujitsu | f700-fujitsu)
-               os=-uxpv
+               os=uxpv
                ;;
        *-rom68k)
-               os=-coff
+               os=coff
                ;;
        *-*bug)
-               os=-coff
+               os=coff
                ;;
        *-apple)
-               os=-macos
+               os=macos
                ;;
        *-atari*)
-               os=-mint
+               os=mint
+               ;;
+       *-wrs)
+               os=vxworks
                ;;
        *)
-               os=-none
+               os=none
                ;;
 esac
 fi
 
 # Here we handle the case where we know the os, and the CPU type, but not the
 # manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-       *-unknown)
+case $vendor in
+       unknown)
                case $os in
-                       -riscix*)
+                       riscix*)
                                vendor=acorn
                                ;;
-                       -sunos*)
+                       sunos*)
                                vendor=sun
                                ;;
-                       -cnk*|-aix*)
+                       cnk*|-aix*)
                                vendor=ibm
                                ;;
-                       -beos*)
+                       beos*)
                                vendor=be
                                ;;
-                       -hpux*)
+                       hpux*)
                                vendor=hp
                                ;;
-                       -mpeix*)
+                       mpeix*)
                                vendor=hp
                                ;;
-                       -hiux*)
+                       hiux*)
                                vendor=hitachi
                                ;;
-                       -unos*)
+                       unos*)
                                vendor=crds
                                ;;
-                       -dgux*)
+                       dgux*)
                                vendor=dg
                                ;;
-                       -luna*)
+                       luna*)
                                vendor=omron
                                ;;
-                       -genix*)
+                       genix*)
                                vendor=ns
                                ;;
-                       -mvs* | -opened*)
+                       clix*)
+                               vendor=intergraph
+                               ;;
+                       mvs* | opened*)
                                vendor=ibm
                                ;;
-                       -os400*)
+                       os400*)
                                vendor=ibm
                                ;;
-                       -ptx*)
+                       ptx*)
                                vendor=sequent
                                ;;
-                       -tpf*)
+                       tpf*)
                                vendor=ibm
                                ;;
-                       -vxsim* | -vxworks* | -windiss*)
+                       vxsim* | vxworks* | windiss*)
                                vendor=wrs
                                ;;
-                       -aux*)
+                       aux*)
                                vendor=apple
                                ;;
-                       -hms*)
+                       hms*)
                                vendor=hitachi
                                ;;
-                       -mpw* | -macos*)
+                       mpw* | macos*)
                                vendor=apple
                                ;;
-                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+                       *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
                                vendor=atari
                                ;;
-                       -vos*)
+                       vos*)
                                vendor=stratus
                                ;;
                esac
-               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
                ;;
 esac
 
-echo $basic_machine$os
+echo "$cpu-$vendor-$os"
 exit
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
index 31788017b8f041f1d63dfb80ace66a4aa6b1c1d6..65cbf7093a1e4c4a2da08ac8dcd725f8376c344c 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2013-05-30.07; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 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
@@ -16,7 +16,7 @@ scriptversion=2013-05-30.07; # UTC
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -251,6 +251,41 @@ hp)
   exit 1
   ;;
 
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like '#:fec' to the end of the
+    # dependency line.
+    tr ' ' "$nl" < "$tmpdepfile" \
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+      | tr "$nl" ' ' >> "$depfile"
+    echo >> "$depfile"
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' "$nl" < "$tmpdepfile" \
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+      >> "$depfile"
+  else
+    make_dummy_depfile
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
 xlc)
   # This case exists only to let depend.m4 do its work.  It works by
   # looking at the text of this script.  This case will never be run,
@@ -748,9 +783,9 @@ exit 0
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index 5719d0e4de56602ead37cef87f91e8b2bc56ccfb..339c5df083abfe236a14d6405680db7bb8fb2746 100755 (executable)
@@ -3,11 +3,11 @@
 # controlled .prev-version file, automate the procedure by which we record
 # the date, release-type and version string in the NEWS file.  That commit
 # will serve to identify the release, so apply a signed tag to it as well.
-VERSION=2012-08-01.09 # UTC
+VERSION=2018-03-07.03 # UTC
 
 # Note: this is a bash script (could be zsh or dash)
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# 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
@@ -20,7 +20,7 @@ VERSION=2012-08-01.09 # UTC
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # Written by Jim Meyering
 
@@ -67,7 +67,7 @@ version()
   cat <<EOF
 $ME $VERSION
 Copyright (C) $year Free Software Foundation, Inc,
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.
 EOF
@@ -94,7 +94,7 @@ do
       opt=$(echo "$1" | sed -e 's/=.*//')
       val=$(echo "$1" | sed -e 's/[^=]*=//')
       shift
-      set dummy "$opt" "$val" ${1+"$@"}; shift
+      set dummy "$opt" "$val" "$@"; shift
       ;;
   esac
 
@@ -143,7 +143,7 @@ esac
 
 # Ensure the current branch name is correct:
 curr_br=$(git rev-parse --symbolic-full-name HEAD)
-test "$curr_br" = refs/heads/$branch || die not on branch $branch
+test "$curr_br" = "refs/heads/$branch" || die not on branch $branch
 
 # Extract package name from Makefile.
 Makefile=$builddir/Makefile
@@ -171,9 +171,9 @@ git tag -s -m "$pkg $ver" v$ver HEAD || die 'git tag failed'
 
 # Local variables:
 # indent-tabs-mode: nil
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "VERSION="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: " # UTC"
 # End:
index b2e7b09730409ef187d141bb7a872bb708485b13..fd6a4b8ce9861286e3ea44eb33467ba59d1588e2 100755 (executable)
@@ -2,10 +2,9 @@
 # gendocs.sh -- generate a GNU manual in many formats.  This script is
 #   mentioned in maintain.texi.  See the help message below for usage details.
 
-scriptversion=2014-05-01.10
+scriptversion=2019-01-01.00
 
-# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
-# Free Software Foundation, Inc.
+# Copyright 2003-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
@@ -18,20 +17,19 @@ scriptversion=2014-05-01.10
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 #
 # Original author: Mohit Agarwal.
-# Send bug reports and any other correspondence to bug-texinfo@gnu.org.
+# Send bug reports and any other correspondence to bug-gnulib@gnu.org.
 #
 # The latest version of this script, and the companion template, is
-# available from Texinfo CVS:
-# http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs.sh
-# http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs_template
+# available from the Gnulib repository:
 #
-# An up-to-date copy is also maintained in Gnulib (gnu.org/software/gnulib).
+# https://git.savannah.gnu.org/cgit/gnulib.git/tree/build-aux/gendocs.sh
+# https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/gendocs_template
 
 # TODO:
-# - image importation was only implemented for HTML generated by
+# - image importing was only implemented for HTML generated by
 #   makeinfo.  But it should be simple enough to adjust.
 # - images are not imported in the source tarball.  All the needed
 #   formats (PDF, PNG, etc.) should be included.
@@ -39,12 +37,12 @@ scriptversion=2014-05-01.10
 prog=`basename "$0"`
 srcdir=`pwd`
 
-scripturl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs.sh"
-templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs_template"
+scripturl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/build-aux/gendocs.sh"
+templateurl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/gendocs_template"
 
 : ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="}
 : ${MAKEINFO="makeinfo"}
-: ${TEXI2DVI="texi2dvi -t @finalout"}
+: ${TEXI2DVI="texi2dvi"}
 : ${DOCBOOK2HTML="docbook2html"}
 : ${DOCBOOK2PDF="docbook2pdf"}
 : ${DOCBOOK2TXT="docbook2txt"}
@@ -54,9 +52,28 @@ templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/
 unset CDPATH
 unset use_texi2html
 
+MANUAL_TITLE=
+PACKAGE=
+EMAIL=webmasters@gnu.org  # please override with --email
+commonarg= # passed to all makeinfo/texi2html invcations.
+dirargs=   # passed to all tools (-I dir).
+dirs=      # -I directories.
+htmlarg="--css-ref=/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual"
+default_htmlarg=true
+infoarg=--no-split
+generate_ascii=true
+generate_html=true
+generate_info=true
+generate_tex=true
+outdir=manual
+source_extra=
+split=node
+srcfile=
+texarg="-t @finalout"
+
 version="gendocs.sh $scriptversion
 
-Copyright 2013 Free Software Foundation, Inc.
+Copyright 2019 Free Software Foundation, Inc.
 There is NO warranty.  You may redistribute this software
 under the terms of the GNU General Public License.
 For more information about these matters, see the files named COPYING."
@@ -66,7 +83,7 @@ usage="Usage: $prog [OPTION]... PACKAGE MANUAL-TITLE
 Generate output in various formats from PACKAGE.texinfo (or .texi or
 .txi) source.  See the GNU Maintainers document for a more extensive
 discussion:
-  http://www.gnu.org/prep/maintain_toc.html
+  https://www.gnu.org/prep/maintain_toc.html
 
 Options:
   --email ADR use ADR as contact in generated web pages; always give this.
@@ -75,7 +92,8 @@ Options:
   -o OUTDIR    write files into OUTDIR, instead of manual/.
   -I DIR       append DIR to the Texinfo search path.
   --common ARG pass ARG in all invocations.
-  --html ARG   pass ARG to makeinfo or texi2html for HTML targets.
+  --html ARG   pass ARG to makeinfo or texi2html for HTML targets,
+                 instead of '$htmlarg'.
   --info ARG   pass ARG to makeinfo for Info, instead of --no-split.
   --no-ascii   skip generating the plain text output.
   --no-html    skip generating the html output.
@@ -83,6 +101,7 @@ Options:
   --no-tex     skip generating the dvi and pdf output.
   --source ARG include ARG in tar archive of sources.
   --split HOW  make split HTML by node, section, chapter; default node.
+  --tex ARG    pass ARG to texi2dvi for DVI and PDF, instead of -t @finalout.
 
   --texi2html  use texi2html to make HTML target, with all split versions.
   --docbook    convert through DocBook too (xml, txt, html, pdf).
@@ -134,26 +153,9 @@ locale, since that's the language of most Texinfo manuals.  If you
 happen to have a non-English manual and non-English web site, see the
 SETLANG setting in the source.
 
-Email bug reports or enhancement requests to bug-texinfo@gnu.org.
+Email bug reports or enhancement requests to bug-gnulib@gnu.org.
 "
 
-MANUAL_TITLE=
-PACKAGE=
-EMAIL=webmasters@gnu.org  # please override with --email
-commonarg= # passed to all makeinfo/texi2html invcations.
-dirargs=   # passed to all tools (-I dir).
-dirs=      # -I directories.
-htmlarg=
-infoarg=--no-split
-generate_ascii=true
-generate_html=true
-generate_info=true
-generate_tex=true
-outdir=manual
-source_extra=
-split=node
-srcfile=
-
 while test $# -gt 0; do
   case $1 in
     -s)          shift; srcfile=$1;;
@@ -162,7 +164,7 @@ while test $# -gt 0; do
     --common)    shift; commonarg=$1;;
     --docbook)   docbook=yes;;
     --email)     shift; EMAIL=$1;;
-    --html)      shift; htmlarg=$1;;
+    --html)      shift; default_htmlarg=false; htmlarg=$1;;
     --info)      shift; infoarg=$1;;
     --no-ascii)  generate_ascii=false;;
     --no-html)   generate_ascii=false;;
@@ -170,6 +172,7 @@ while test $# -gt 0; do
     --no-tex)    generate_tex=false;;
     --source)    shift; source_extra=$1;;
     --split)     shift; split=$1;;
+    --tex)       shift; texarg=$1;;
     --texi2html) use_texi2html=1;;
 
     --help)      echo "$usage"; exit 0;;
@@ -197,6 +200,11 @@ commonarg=" $dirargs $commonarg"
 # For most of the following, the base name is just $PACKAGE
 base=$PACKAGE
 
+if $default_htmlarg && test -n "$use_texi2html"; then
+  # The legacy texi2html doesn't support TOP_NODE_UP_URL
+  htmlarg="--css-ref=/software/gnulib/manual.css"
+fi
+
 if test -n "$srcfile"; then
   # but here, we use the basename of $srcfile
   base=`basename "$srcfile"`
@@ -295,7 +303,7 @@ fi  # end info
 
 # \f
 if $generate_tex; then
-  cmd="$SETLANG $TEXI2DVI $dirargs \"$srcfile\""
+  cmd="$SETLANG $TEXI2DVI $dirargs $texarg \"$srcfile\""
   printf "\nGenerating dvi... ($cmd)\n"
   eval "$cmd"
   # compress/finish dvi:
@@ -304,7 +312,7 @@ if $generate_tex; then
   mv $PACKAGE.dvi.gz "$outdir/"
   ls -l "$outdir/$PACKAGE.dvi.gz"
 
-  cmd="$SETLANG $TEXI2DVI --pdf $dirargs \"$srcfile\""
+  cmd="$SETLANG $TEXI2DVI --pdf $dirargs $texarg \"$srcfile\""
   printf "\nGenerating pdf... ($cmd)\n"
   eval "$cmd"
   pdf_size=`calcsize $PACKAGE.pdf`
@@ -495,7 +503,7 @@ $GENDOCS_TEMPLATE_DIR/gendocs_template >"$outdir/index.html"
 echo "Done, see $outdir/ subdirectory for new files."
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
 # time-stamp-end: "$"
index 0278a9c48935d5329a5e57cecd5c309b5d34a8ed..45b5656e6f4e1eaf47574708bbfef73770627531 100755 (executable)
@@ -1,8 +1,8 @@
 #!/bin/sh
 # Print a version string.
-scriptversion=2012-12-31.23; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-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
@@ -15,9 +15,9 @@ scriptversion=2012-12-31.23; # UTC
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/.
+# This script is derived from GIT-VERSION-GEN from GIT: https://git-scm.com/.
 # It may be run two ways:
 # - from a git repository in which the "git describe" command below
 #   produces useful output (thus requiring at least one signed tag)
@@ -72,9 +72,10 @@ scriptversion=2012-12-31.23; # UTC
 
 me=$0
 
+year=`expr "$scriptversion" : '\([^-]*\)'`
 version="git-version-gen $scriptversion
 
-Copyright 2011 Free Software Foundation, Inc.
+Copyright $year Free Software Foundation, Inc.
 There is NO warranty.  You may redistribute this software
 under the terms of the GNU General Public License.
 For more information about these matters, see the files named COPYING."
@@ -85,8 +86,9 @@ Print a version string.
 
 Options:
 
-   --prefix           prefix of git tags (default 'v')
-   --fallback         fallback version to use if \"git --version\" fails
+   --prefix PREFIX    prefix of git tags (default 'v')
+   --fallback VERSION
+                      fallback version to use if \"git --version\" fails
 
    --help             display this help and exit
    --version          output version information and exit
@@ -100,8 +102,8 @@ while test $# -gt 0; do
   case $1 in
     --help) echo "$usage"; exit 0;;
     --version) echo "$version"; exit 0;;
-    --prefix) shift; prefix="$1";;
-    --fallback) shift; fallback="$1";;
+    --prefix) shift; prefix=${1?};;
+    --fallback) shift; fallback=${1?};;
     -*)
       echo "$0: Unknown option '$1'." >&2
       echo "$0: Try '--help' for more information." >&2
@@ -166,9 +168,10 @@ then
     # tag or the previous older version that did not?
     #   Newer: v6.10-77-g0f8faeb
     #   Older: v6.10-g0f8faeb
-    case $v in
-        *-*-*) : git describe is okay three part flavor ;;
-        *-*)
+    vprefix=`expr "X$v" : 'X\(.*\)-g[^-]*$'` || vprefix=$v
+    case $vprefix in
+        *-*) : git describe is probably okay three part flavor ;;
+        *)
             : git describe is older two part flavor
             # Recreate the number of commits and rewrite such that the
             # result is the same as if we were using the newer version
@@ -183,9 +186,9 @@ then
             ;;
     esac
 
-    # Change the first '-' to a '.', so version-comparing tools work properly.
-    # Remove the "g" in git describe's output string, to save a byte.
-    v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`;
+    # Change the penultimate "-" to ".", for version-comparing tools.
+    # Remove the "g" to save a byte.
+    v=`echo "$v" | sed 's/-\([^-]*\)-g\([^-]*\)$/.\1-\2/'`;
     v_from_git=1
 elif test "x$fallback" = x || git --version >/dev/null 2>&1; then
     v=UNKNOWN
@@ -199,7 +202,7 @@ v=`echo "$v" |sed "s/^$prefix//"`
 # string we're using came from git.  I.e., skip the test if it's "UNKNOWN"
 # or if it came from .tarball-version.
 if test "x$v_from_git" != x; then
-  # Don't declare a version "dirty" merely because a time stamp has changed.
+  # Don't declare a version "dirty" merely because a timestamp has changed.
   git update-index --refresh > /dev/null 2>&1
 
   dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty=
@@ -214,12 +217,12 @@ if test "x$v_from_git" != x; then
 fi
 
 # Omit the trailing newline, so that m4_esyscmd can use the result directly.
-echo "$v" | tr -d "$nl"
+printf %s "$v"
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index 78afff4e8e0bb6f88022973c028b45a1ba72d691..163c48c8e215508e7e702096c10765eae0a3c064 100755 (executable)
@@ -1,31 +1,46 @@
-eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
-  & eval 'exec perl -wS "$0" $argv:q'
-    if 0;
-# Convert git log output to ChangeLog format.
-
-my $VERSION = '2012-07-29 06:11'; # 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.
+#!/bin/sh
+#! -*-perl-*-
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# 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 <http://www.gnu.org/licenses/>.
-
+# 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;
@@ -33,7 +48,7 @@ use POSIX qw(strftime);
 
 (my $ME = $0) =~ s|.*/||;
 
-# use File::Coda; # http://meyering.net/code/Coda/
+# use File::Coda; # https://meyering.net/code/Coda/
 END {
   defined fileno STDOUT or return;
   close STDOUT and return;
@@ -72,6 +87,9 @@ OPTIONS:
                   directory can be derived.
    --since=DATE convert only the logs since DATE;
                   the default is to convert all log entries.
+   --until=DATE convert only the logs older than DATE.
+   --ignore-matching=PAT ignore commit messages whose first lines match PAT.
+   --ignore-line=PAT ignore lines of commit messages that match PAT.
    --format=FMT set format string for commit subject and body;
                   see 'man git-log' for the list of format metacharacters;
                   the default is '%s%n%b%n'
@@ -171,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;
@@ -220,10 +238,13 @@ sub git_dir_option($)
 
 {
   my $since_date;
+  my $until_date;
   my $format_string = '%s%n%b%n';
   my $amend_file;
   my $append_dot = 0;
   my $cluster = 1;
+  my $ignore_matching;
+  my $ignore_line;
   my $strip_tab = 0;
   my $strip_cherry_pick = 0;
   my $srcdir;
@@ -232,10 +253,13 @@ sub git_dir_option($)
      help => sub { usage 0 },
      version => sub { print "$ME version $VERSION\n"; exit },
      'since=s' => \$since_date,
+     'until=s' => \$until_date,
      'format=s' => \$format_string,
      'amend=s' => \$amend_file,
      'append-dot' => \$append_dot,
      'cluster!' => \$cluster,
+     'ignore-matching=s' => \$ignore_matching,
+     'ignore-line=s' => \$ignore_line,
      'strip-tab' => \$strip_tab,
      'strip-cherry-pick' => \$strip_cherry_pick,
      'srcdir=s' => \$srcdir,
@@ -243,6 +267,8 @@ sub git_dir_option($)
 
   defined $since_date
     and unshift @ARGV, "--since=$since_date";
+  defined $until_date
+    and unshift @ARGV, "--until=$until_date";
 
   # This is a hash that maps an SHA1 to perl code (i.e., s/old/new/)
   # that makes a correction in the log or attribution of that commit.
@@ -259,6 +285,7 @@ sub git_dir_option($)
   my $prev_multi_paragraph;
   my $prev_date_line = '';
   my @prev_coauthors = ();
+  my @skipshas = ();
   while (1)
     {
       defined (my $in = <PIPE>)
@@ -276,9 +303,22 @@ 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;
+      if (@skipshas)
+        {
+          foreach(@skipshas)
+            {
+              if ($sha =~ /^$_/)
+                {
+                  $skipflag = $_;
+                  last;
+                }
+            }
+        }
+
       # If this commit's log requires any transformation, do it now.
       my $code = $amend_code->{$sha};
       if (defined $code)
@@ -306,7 +346,7 @@ sub git_dir_option($)
           $rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m;
         }
 
-      my @line = split "\n", $rest;
+      my @line = split /[ \t]*\n/, $rest;
       my $author_line = shift @line;
       defined $author_line
         or die "$ME:$.: unexpected EOF\n";
@@ -316,17 +356,18 @@ sub git_dir_option($)
 
       # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
       # `(tiny change)' annotation.
-      my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line)
+      my $tiny = (grep (/^(?:Copyright-paperwork-exempt|Tiny-change):\s+[Yy]es$/, @line)
                   ? '  (tiny change)' : '');
 
       my $date_line = sprintf "%s  %s$tiny\n",
-        strftime ("%F", localtime ($1)), $2;
+        strftime ("%Y-%m-%d", localtime ($1)), $2;
 
       my @coauthors = grep /^Co-authored-by:.*$/, @line;
       # Omit meta-data lines we've already interpreted.
       @line = grep !/^(?:Signed-off-by:[ ].*>$
                        |Co-authored-by:[ ]
                        |Copyright-paperwork-exempt:[ ]
+                       |Tiny-change:[ ]
                        )/x, @line;
 
       # Remove leading and trailing blank lines.
@@ -336,68 +377,109 @@ sub git_dir_option($)
           while ($line[$#line] =~ /^\s*$/) { pop @line; }
         }
 
-      # Record whether there are two or more paragraphs.
-      my $multi_paragraph = grep /^\s*$/, @line;
-
-      # Format 'Co-authored-by: A U Thor <email@example.com>' lines in
-      # standard multi-author ChangeLog format.
-      for (@coauthors)
+      # Handle Emacs gitmerge.el "skipped" commits.
+      # Yes, this should be controlled by an option.  So sue me.
+      if ( grep /^(; )?Merge from /, @line )
+      {
+          my $found = 0;
+          foreach (@line)
+          {
+              if (grep /^The following commit.*skipped:$/, $_)
+              {
+                  $found = 1;
+                  ## Reset at each merge to reduce chance of false matches.
+                  @skipshas = ();
+                  next;
+              }
+              if ($found && $_ =~ /^([[:xdigit:]]{7,}) [^ ]/)
+              {
+                  push ( @skipshas, $1 );
+              }
+          }
+      }
+
+      # Ignore commits that match the --ignore-matching pattern, if specified.
+      if (defined $ignore_matching && @line && $line[0] =~ /$ignore_matching/)
         {
-          s/^Co-authored-by:\s*/\t    /;
-          s/\s*</  </;
-
-          /<.*?@.*\..*>/
-            or warn "$ME: warning: missing email address for "
-              . substr ($_, 5) . "\n";
+          $skipflag = 1;
         }
-
-      # If clustering of commit messages has been disabled, if this header
-      # would be different from the previous date/name/email/coauthors header,
-      # or if this or the previous entry consists of two or more paragraphs,
-      # then print the header.
-      if ( ! $cluster
-          || $date_line ne $prev_date_line
-          || "@coauthors" ne "@prev_coauthors"
-          || $multi_paragraph
-          || $prev_multi_paragraph)
+      elsif ($skipflag)
         {
-          $prev_date_line eq ''
-            or print "\n";
-          print $date_line;
-          @coauthors
-            and print join ("\n", @coauthors), "\n";
+          ## Perhaps only warn if a pattern matches more than once?
+          warn "$ME: warning: skipping $sha due to $skipflag\n";
         }
-      $prev_date_line = $date_line;
-      @prev_coauthors = @coauthors;
-      $prev_multi_paragraph = $multi_paragraph;
 
-      # If there were any lines
-      if (@line == 0)
-        {
-          warn "$ME: warning: empty commit message:\n  $date_line\n";
-        }
-      else
+      if (! $skipflag)
         {
-          if ($append_dot)
+          if (defined $ignore_line && @line)
+            {
+              @line = grep ! /$ignore_line/, @line;
+              while ($line[$#line] =~ /^\s*$/) { pop @line; }
+            }
+
+          # Record whether there are two or more paragraphs.
+          my $multi_paragraph = grep /^\s*$/, @line;
+
+          # Format 'Co-authored-by: A U Thor <email@example.com>' lines in
+          # standard multi-author ChangeLog format.
+          for (@coauthors)
             {
-              # If the first line of the message has enough room, then
-              if (length $line[0] < 72)
+              s/^Co-authored-by:\s*/\t    /;
+              s/\s*</  </;
+
+              /<.*?@.*\..*>/
+                or warn "$ME: warning: missing email address for "
+                  . substr ($_, 5) . "\n";
+            }
+
+          # If clustering of commit messages has been disabled, if this header
+          # would be different from the previous date/name/etc. header,
+          # or if this or the previous entry consists of two or more paragraphs,
+          # then print the header.
+          if ( ! $cluster
+              || $date_line ne $prev_date_line
+              || "@coauthors" ne "@prev_coauthors"
+              || $multi_paragraph
+              || $prev_multi_paragraph)
+            {
+              $prev_date_line eq ''
+                or print "\n";
+              print $date_line;
+              @coauthors
+                and print join ("\n", @coauthors), "\n";
+            }
+          $prev_date_line = $date_line;
+          @prev_coauthors = @coauthors;
+          $prev_multi_paragraph = $multi_paragraph;
+
+          # If there were any lines
+          if (@line == 0)
+            {
+              warn "$ME: warning: empty commit message:\n  $date_line\n";
+            }
+          else
+            {
+              if ($append_dot)
                 {
-                  # append a dot if there is no other punctuation or blank
-                  # at the end.
-                  $line[0] =~ /[[:punct:]\s]$/
-                    or $line[0] .= '.';
+                  # If the first line of the message has enough room, then
+                  if (length $line[0] < 72)
+                    {
+                      # append a dot if there is no other punctuation or blank
+                      # at the end.
+                      $line[0] =~ /[[:punct:]\s]$/
+                        or $line[0] .= '.';
+                    }
                 }
-            }
 
-          # Remove one additional leading TAB from each line.
-          $strip_tab
-            and map { s/^\t// } @line;
+              # Remove one additional leading TAB from each line.
+              $strip_tab
+                and map { s/^\t// } @line;
 
-          # Prefix each non-empty line with a TAB.
-          @line = map { length $_ ? "\t$_" : '' } @line;
+              # Prefix each non-empty line with a TAB.
+              @line = map { length $_ ? "\t$_" : '' } @line;
 
-          print "\n", join ("\n", @line), "\n";
+              print "\n", join ("\n", @line), "\n";
+            }
         }
 
       defined ($in = <PIPE>)
@@ -424,9 +506,10 @@ sub git_dir_option($)
 # Local Variables:
 # mode: perl
 # indent-tabs-mode: nil
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# 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: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "'; # UTC"
 # End:
index 7af2f185ffd19f2b9c4ef416a4ab18275fe75292..0d52171ecd1395ca936fd71557f64cd8d20dd9ee 100755 (executable)
@@ -1,10 +1,10 @@
 #!/bin/sh
 # Run this after each non-alpha release, to update the web documentation at
-# http://www.gnu.org/software/$pkg/manual/
+# https://www.gnu.org/software/$pkg/manual/
 
-VERSION=2012-12-16.14; # UTC
+VERSION=2018-03-07.03; # UTC
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# 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
@@ -17,7 +17,7 @@ VERSION=2012-12-16.14; # UTC
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 ME=$(basename "$0")
 warn() { printf '%s: %s\n' "$ME" "$*" >&2; }
@@ -30,7 +30,7 @@ Usage: $ME
 
 Run this script from top_srcdir (no arguments) after each non-alpha
 release, to update the web documentation at
-http://www.gnu.org/software/\$pkg/manual/
+https://www.gnu.org/software/\$pkg/manual/
 
 This script assumes you're using git for revision control, and
 requires a .prev-version file as well as a Makefile, from which it
@@ -40,6 +40,7 @@ assumes all documentation is in the doc/ sub-directory.
 Options:
   -C, --builddir=DIR  location of (configured) Makefile (default: .)
   -n, --dry-run       don't actually commit anything
+  -m, --mirror        remove out of date files from document server
   --help              print this help, then exit
   --version           print version number, then exit
 
@@ -54,7 +55,7 @@ version()
   cat <<EOF
 $ME $VERSION
 Copyright (C) $year Free Software Foundation, Inc,
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.
 EOF
@@ -107,6 +108,7 @@ find_tool XARGS gxargs xargs
 
 builddir=.
 dryrun=
+rm_stale='echo'
 while test $# != 0
 do
   # Handle --option=value by splitting apart and putting back on argv.
@@ -115,7 +117,7 @@ do
       opt=$(echo "$1" | sed -e 's/=.*//')
       val=$(echo "$1" | sed -e 's/[^=]*=//')
       shift
-      set dummy "$opt" "$val" ${1+"$@"}; shift
+      set dummy "$opt" "$val" "$@"; shift
       ;;
   esac
 
@@ -123,6 +125,7 @@ do
     --help|--version) ${1#--};;
     -C|--builddir) shift; builddir=$1; shift ;;
     -n|--dry-run) dryrun=echo; shift;;
+    -m|--mirror) rm_stale=''; shift;;
     --*) die "unrecognized option: $1";;
     *) break;;
   esac
@@ -159,6 +162,7 @@ $GIT submodule update --recursive
 ./bootstrap
 srcdir=$(pwd)
 cd "$builddir"
+builddir=$(pwd)
   ./config.status --recheck
   ./config.status
   make
@@ -175,20 +179,32 @@ $RSYNC -avP "$builddir"/doc/manual/ $tmp/$pkg/manual
   cd $tmp/$pkg/manual
 
   # Add all the files.  This is simpler than trying to add only the
-  # new ones because of new directories: it would require iterating on
-  # adding the outer directories, and then their contents.
-  #
-  # find guarantees that we add outer directories first.
-  find . -name CVS -prune -o -print             \
+  # new ones because of new directories
+  # First add non empty dirs individually
+  find . -name CVS -prune -o -type d \! -empty -print             \
+    | $XARGS -n1 --no-run-if-empty -- $dryrun $CVS add -ko
+  # Now add all files
+  find . -name CVS -prune -o -type f -print             \
     | $XARGS --no-run-if-empty -- $dryrun $CVS add -ko
 
+  # Report/Remove stale files
+  #   excluding doc server specific files like CVS/* and .symlinks
+  if test -n "$rm_stale"; then
+    echo 'Consider the --mirror option if all of the manual is generated,' >&2
+    echo 'which will run `cvs remove` to remove stale files.' >&2
+  fi
+  { find . \( -name CVS -o -type f -name '.*' \) -prune -o -type f -print
+    (cd "$builddir"/doc/manual/ && find . -type f -print | sed p)
+  } | sort | uniq -u \
+    | $XARGS --no-run-if-empty -- ${rm_stale:-$dryrun} $CVS remove -f
+
   $dryrun $CVS ci -m $version
 )
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "VERSION="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index 2da97d894c8164f69c8f27bebc6a68f211eb8037..afbafa92409a4456af4f978baf1b1eba9c315048 100755 (executable)
@@ -1,9 +1,9 @@
 #!/bin/sh
 # Sign files and upload them.
 
-scriptversion=2013-03-19.17; # UTC
+scriptversion=2018-05-19.18; # UTC
 
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-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
@@ -16,7 +16,7 @@ scriptversion=2013-03-19.17; # UTC
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # Originally written by Alexandre Duret-Lutz <adl@gnu.org>.
 # The master copy of this file is maintained in the gnulib Git repository.
@@ -24,7 +24,30 @@ scriptversion=2013-03-19.17; # UTC
 
 set -e
 
-GPG='gpg --batch --no-tty'
+GPG=gpg
+# Choose the proper version of gpg, so as to avoid a
+# "gpg-agent is not available in this session" error
+# when gpg-agent is version 3 but gpg is still version 1.
+# FIXME-2020: remove, once all major distros ship gpg version 3 as /usr/bin/gpg
+gpg_agent_version=`(gpg-agent --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'`
+case "$gpg_agent_version" in
+  2.*)
+    gpg_version=`(gpg --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'`
+    case "$gpg_version" in
+      1.*)
+        if (type gpg2) >/dev/null 2>/dev/null; then
+          # gpg2 is present.
+          GPG=gpg2
+        else
+          # gpg2 is missing. Ubuntu users should install the package 'gnupg2'.
+          echo "WARNING: Using 'gpg', which is too old. You should install 'gpg2'." 1>&2
+        fi
+        ;;
+    esac
+    ;;
+esac
+
+GPG="${GPG} --batch --no-tty"
 conffile=.gnuploadrc
 to=
 dry_run=false
@@ -54,10 +77,10 @@ Options:
   --user NAME              sign with key NAME
   --replace                allow replacements of existing files
   --symlink-regex[=EXPR]   use sed script EXPR to compute symbolic link names
-  --dry-run                do nothing, show what would have been done
+  -n, --dry-run            do nothing, show what would have been done
                            (including the constructed directive file)
   --version                output version information and exit
-  --help                   print this help text and exit
+  -h, --help               print this help text and exit
 
 If --symlink-regex is given without EXPR, then the link target name
 is created by replacing the version information with '-latest', e.g.:
@@ -78,7 +101,7 @@ in the current working directory, its contents are prepended to the
 actual command line options.  Use this to keep your defaults.  Comments
 (#) and empty lines in $conffile are allowed.
 
-<http://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html>
+<https://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html>
 gives some further background.
 
 Examples:
@@ -93,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 \\
@@ -108,7 +141,7 @@ Examples:
 gnupload executes a program ncftpput to do the transfers; if you don't
 happen to have an ncftp package installed, the ncftpput-ftp script in
 the build-aux/ directory of the gnulib package
-(http://savannah.gnu.org/projects/gnulib) may serve as a replacement.
+(https://savannah.gnu.org/projects/gnulib) may serve as a replacement.
 
 Send patches and bug reports to <bug-gnulib@gnu.org>."
 
@@ -125,7 +158,7 @@ while test -n "$1"; do
   -*)
     collect_var=
     case $1 in
-    --help)
+    -h | --help)
       echo "$usage"
       exit $?
       ;;
@@ -171,7 +204,7 @@ while test -n "$1"; do
     --symlink)
       collect_var=symlink_files
       ;;
-    --dry-run|-n)
+    -n | --dry-run)
       dry_run=:
       ;;
     --version)
@@ -432,9 +465,9 @@ done
 exit 0
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index 0b0fdcbba69ab6dd05ca162a5328828d46ab1d54..8175c640fe6288a75cc846567ea5506086f326f4 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2013-12-25.23; # UTC
+scriptversion=2018-03-11.20; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -271,15 +271,18 @@ do
     fi
     dst=$dst_arg
 
-    # If destination is a directory, append the input filename; won't work
-    # if double slashes aren't ignored.
+    # If destination is a directory, append the input filename.
     if test -d "$dst"; then
       if test "$is_target_a_directory" = never; then
         echo "$0: $dst_arg: Is a directory" >&2
         exit 1
       fi
       dstdir=$dst
-      dst=$dstdir/`basename "$src"`
+      dstbase=`basename "$src"`
+      case $dst in
+       */) dst=$dst$dstbase;;
+       *)  dst=$dst/$dstbase;;
+      esac
       dstdir_status=0
     else
       dstdir=`dirname "$dst"`
@@ -288,6 +291,11 @@ do
     fi
   fi
 
+  case $dstdir in
+    */) dstdirslash=$dstdir;;
+    *)  dstdirslash=$dstdir/;;
+  esac
+
   obsolete_mkdir_used=false
 
   if test $dstdir_status != 0; then
@@ -324,34 +332,43 @@ do
             # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
             ;;
           *)
+            # Note that $RANDOM variable is not portable (e.g. dash);  Use it
+            # here however when possible just to lower collision chance.
             tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
 
+            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+            # Because "mkdir -p" follows existing symlinks and we likely work
+            # directly in world-writeable /tmp, make sure that the '$tmpdir'
+            # directory is successfully created first before we actually test
+            # 'mkdir -p' feature.
             if (umask $mkdir_umask &&
-                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+                $mkdirprog $mkdir_mode "$tmpdir" &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
             then
               if test -z "$dir_arg" || {
                    # Check for POSIX incompatibilities with -m.
                    # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
                    # other-writable bit of parent directory when it shouldn't.
                    # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                   test_tmpdir="$tmpdir/a"
+                   ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
                    case $ls_ld_tmpdir in
                      d????-?r-*) different_mode=700;;
                      d????-?--*) different_mode=755;;
                      *) false;;
                    esac &&
-                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                   $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
                      test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
                    }
                  }
               then posix_mkdir=:
               fi
-              rmdir "$tmpdir/d" "$tmpdir"
+              rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
             else
               # Remove any dirs left behind by ancient mkdir implementations.
-              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+              rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
             fi
             trap '' 0;;
         esac;;
@@ -427,8 +444,8 @@ do
   else
 
     # Make a couple of temp file names in the proper directory.
-    dsttmp=$dstdir/_inst.$$_
-    rmtmp=$dstdir/_rm.$$_
+    dsttmp=${dstdirslash}_inst.$$_
+    rmtmp=${dstdirslash}_rm.$$_
 
     # Trap to clean up those temp files at exit.
     trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
@@ -493,9 +510,9 @@ do
 done
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index a356acafa4548959e97355d1e8044b7201661754..7f3523d335c55eb0716d11eca34426a237c08027 100644 (file)
@@ -1,9 +1,12 @@
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+##               by inline-source v2014-01-03.01
 
-# libtool (GNU libtool) 2.4.2
+# libtool (GNU libtool) 2.4.6
+# Provide generalized library-building support services.
 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
 # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-#       --config             show all configuration variables
-#       --debug              enable verbose shell tracing
-#   -n, --dry-run            display commands without modifying any files
-#       --features           display basic configuration information and exit
-#       --mode=MODE          use operation mode MODE
-#       --preserve-dup-deps  don't remove duplicate dependency libraries
-#       --quiet, --silent    don't print informational messages
-#       --no-quiet, --no-silent
-#                            print informational messages (default)
-#       --no-warn            don't display warning messages
-#       --tag=TAG            use configuration variables from tag TAG
-#   -v, --verbose            print more informational messages than default
-#       --no-verbose         don't print the extra informational messages
-#       --version            print version information
-#   -h, --help, --help-all   print short, long, or detailed help message
-#
-# MODE must be one of the following:
-#
-#         clean              remove files from the build directory
-#         compile            compile a source file into a libtool object
-#         execute            automatically set library path, then run a program
-#         finish             complete the installation of libtool libraries
-#         install            install libraries or executables
-#         link               create a library or an executable
-#         uninstall          remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE.  When passed as first option,
-# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-#         host-triplet:        $host
-#         shell:               $SHELL
-#         compiler:            $LTCC
-#         compiler flags:              $LTCFLAGS
-#         linker:              $LD (gnu? $with_gnu_ld)
-#         $progname:   (GNU libtool) 2.4.2 Debian-2.4.2-1.7ubuntu1
-#         automake:    $automake_version
-#         autoconf:    $autoconf_version
-#
-# Report bugs to <bug-libtool@gnu.org>.
-# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-# General help using GNU software: <http://www.gnu.org/gethelp/>.
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.7ubuntu1"
-TIMESTAMP=""
-package_revision=1.3337
+VERSION=2.4.6
+package_revision=2.4.6
 
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2015-01-20.17; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# 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.
+
+# As a special exception to the GNU General Public License, if you distribute
+# this file as part of a program or library that is built using GNU Libtool,
+# you may include this file under the same distribution terms that you use
+# for the rest of that program.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNES 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 <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+#   . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
   NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
 fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
 
-# NLS nuisances: We save the old values to restore during execute mode.
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
 do
-  eval "if test \"\${$lt_var+set}\" = set; then
-          save_$lt_var=\$$lt_var
-          $lt_var=C
-         export $lt_var
-         lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
-         lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+  eval "if test set = \"\${$_G_var+set}\"; then
+          save_$_G_var=\$$_G_var
+          $_G_var=C
+         export $_G_var
+         _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+         _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
        fi"
 done
-LC_ALL=C
-LANGUAGE=C
-export LANGUAGE LC_ALL
 
-$lt_unset CDPATH
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp       $nl"
+
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+  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
 
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
 
 
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+    test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
+#
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than
+# $_G_path_prog_max characters.
+func_path_progs ()
+{
+    _G_progs_list=$1
+    _G_check_func=$2
+    _G_PATH=${3-"$PATH"}
+
+    _G_path_prog_max=0
+    _G_path_prog_found=false
+    _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
+    for _G_dir in $_G_PATH; do
+      IFS=$_G_save_IFS
+      test -z "$_G_dir" && _G_dir=.
+      for _G_prog_name in $_G_progs_list; do
+        for _exeext in '' .EXE; do
+          _G_path_prog=$_G_dir/$_G_prog_name$_exeext
+          func_executable_p "$_G_path_prog" || continue
+          case `"$_G_path_prog" --version 2>&1` in
+            *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
+            *)     $_G_check_func $_G_path_prog
+                  func_path_progs_result=$func_check_prog_result
+                  ;;
+          esac
+          $_G_path_prog_found && break 3
+        done
+      done
+    done
+    IFS=$_G_save_IFS
+    test -z "$func_path_progs_result" && {
+      echo "no acceptable sed could be found in \$PATH" >&2
+      exit 1
+    }
+}
+
+
+# We want to be able to use the functions in this file before configure
+# has figured out where the best binaries are kept, which means we have
+# to search for them ourselves - except when the results are already set
+# where we skip the searches.
+
+# Unless the user overrides by setting SED, search the path for either GNU
+# sed, or the sed that truncates its output the least.
+test -z "$SED" && {
+  _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+  for _G_i in 1 2 3 4 5 6 7; do
+    _G_sed_script=$_G_sed_script$nl$_G_sed_script
+  done
+  echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
+  _G_sed_script=
+
+  func_check_prog_sed ()
+  {
+    _G_path_prog=$1
+
+    _G_count=0
+    printf 0123456789 >conftest.in
+    while :
+    do
+      cat conftest.in conftest.in >conftest.tmp
+      mv conftest.tmp conftest.in
+      cp conftest.in conftest.nl
+      echo '' >> conftest.nl
+      "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
+      diff conftest.out conftest.nl >/dev/null 2>&1 || break
+      _G_count=`expr $_G_count + 1`
+      if test "$_G_count" -gt "$_G_path_prog_max"; then
+        # Best one so far, save it but keep looking for a better one
+        func_check_prog_result=$_G_path_prog
+        _G_path_prog_max=$_G_count
+      fi
+      # 10*(2^10) chars as input seems more than enough
+      test 10 -lt "$_G_count" && break
+    done
+    rm -f conftest.in conftest.tmp conftest.nl conftest.out
+  }
+
+  func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+  rm -f conftest.sed
+  SED=$func_path_progs_result
+}
+
+
+# Unless the user overrides by setting GREP, search the path for either GNU
+# grep, or the grep that truncates its output the least.
+test -z "$GREP" && {
+  func_check_prog_grep ()
+  {
+    _G_path_prog=$1
+
+    _G_count=0
+    _G_path_prog_max=0
+    printf 0123456789 >conftest.in
+    while :
+    do
+      cat conftest.in conftest.in >conftest.tmp
+      mv conftest.tmp conftest.in
+      cp conftest.in conftest.nl
+      echo 'GREP' >> conftest.nl
+      "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
+      diff conftest.out conftest.nl >/dev/null 2>&1 || break
+      _G_count=`expr $_G_count + 1`
+      if test "$_G_count" -gt "$_G_path_prog_max"; then
+        # Best one so far, save it but keep looking for a better one
+        func_check_prog_result=$_G_path_prog
+        _G_path_prog_max=$_G_count
+      fi
+      # 10*(2^10) chars as input seems more than enough
+      test 10 -lt "$_G_count" && break
+    done
+    rm -f conftest.in conftest.tmp conftest.nl conftest.out
+  }
+
+  func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+  GREP=$func_path_progs_result
+}
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase variable names are used for environment variables.  These
+# variables can be overridden by the user before calling a script that
+# uses them if a suitable command of that name is not already available
+# in the command search PATH.
 
 : ${CP="cp -f"}
-test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${ECHO="printf %s\n"}
+: ${EGREP="$GREP -E"}
+: ${FGREP="$GREP -F"}
+: ${LN_S="ln -s"}
 : ${MAKE="make"}
 : ${MKDIR="mkdir"}
 : ${MV="mv -f"}
 : ${RM="rm -f"}
 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77     # $? = 77 is used to indicate a skipped test to automake.
-
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS="  $lt_nl"
 
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
 
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-    if test "X$func_dirname_result" = "X${1}"; then
-      func_dirname_result="${3}"
-    else
-      func_dirname_result="$func_dirname_result${2}"
-    fi
-} # func_dirname may be replaced by extended shell implementation
+## -------------------- ##
+## Useful sed snippets. ##
+## -------------------- ##
 
+sed_dirname='s|/[^/]*$||'
+sed_basename='s|^.*/||'
 
-# func_basename file
-func_basename ()
-{
-    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-} # func_basename may be replaced by extended shell implementation
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
 
+# Same as above, but do not quote variable references.
+sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-    # Extract subdirectory from the argument.
-    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
-    if test "X$func_dirname_result" = "X${1}"; then
-      func_dirname_result="${3}"
-    else
-      func_dirname_result="$func_dirname_result${2}"
-    fi
-    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-} # func_dirname_and_basename may be replaced by extended shell implementation
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
 
+# Sed substitution that converts a w32 file name or path
+# that contains forward slashes, into one that contains
+# (escaped) backslashes.  A very naive implementation.
+sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-'\' parameter expansions in output of sed_double_quote_subst that
+# were '\'-ed in input to the same.  If an odd number of '\' preceded a
+# '$' in input to sed_double_quote_subst, that '$' was protected from
+# expansion.  Since each input '\' is now two '\'s, look for any number
+# of runs of four '\'s followed by two '\'s and then a '$'.  '\' that '$'.
+_G_bs='\\'
+_G_bs2='\\\\'
+_G_bs4='\\\\\\\\'
+_G_dollar='\$'
+sed_double_backslash="\
+  s/$_G_bs4/&\\
+/g
+  s/^$_G_bs2$_G_dollar/$_G_bs&/
+  s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
+  s/\n//g"
 
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-    case ${2} in
-      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-    esac
-} # func_stripname may be replaced by extended shell implementation
 
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
 
-# These SED scripts presuppose an absolute path with a trailing slash.
-pathcar='s,^/\([^/]*\).*$,\1,'
-pathcdr='s,^/[^/]*,,'
-removedotparts=':dotsl
-               s@/\./@/@g
-               t dotsl
-               s,/\.$,/,'
-collapseslashes='s@/\{1,\}@/@g'
-finalslash='s,/*$,/,'
+# Except for the global variables explicitly listed below, the following
+# functions in the '^func_' namespace, and the '^require_' namespace
+# variables initialised in the 'Resource management' section, sourcing
+# this file will not pollute your global namespace with anything
+# else. There's no portable way to scope variables in Bourne shell
+# though, so actually running these functions will sometimes place
+# results into a variable named after the function, and often use
+# temporary variables in the '^_G_' namespace. If you are careful to
+# avoid using those namespaces casually in your sourcing script, things
+# should continue to work as you expect. And, of course, you can freely
+# overwrite any of the functions or variables defined here before
+# calling anything to customize them.
 
-# func_normal_abspath PATH
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-#             value returned in "$func_normal_abspath_result"
-func_normal_abspath ()
-{
-  # Start from root dir and reassemble the path.
-  func_normal_abspath_result=
-  func_normal_abspath_tpath=$1
-  func_normal_abspath_altnamespace=
-  case $func_normal_abspath_tpath in
-    "")
-      # Empty path, that just means $cwd.
-      func_stripname '' '/' "`pwd`"
-      func_normal_abspath_result=$func_stripname_result
-      return
-    ;;
-    # The next three entries are used to spot a run of precisely
-    # two leading slashes without using negated character classes;
-    # we take advantage of case's first-match behaviour.
-    ///*)
-      # Unusual form of absolute path, do nothing.
-    ;;
-    //*)
-      # Not necessarily an ordinary path; POSIX reserves leading '//'
-      # and for example Cygwin uses it to access remote file shares
-      # over CIFS/SMB, so we conserve a leading double slash if found.
-      func_normal_abspath_altnamespace=/
-    ;;
-    /*)
-      # Absolute path, do nothing.
-    ;;
-    *)
-      # Relative path, prepend $cwd.
-      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
-    ;;
-  esac
-  # Cancel out all the simple stuff to save iterations.  We also want
-  # the path to end with a slash for ease of parsing, so make sure
-  # there is one (and only one) here.
-  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
-  while :; do
-    # Processed it all yet?
-    if test "$func_normal_abspath_tpath" = / ; then
-      # If we ascended to the root using ".." the result may be empty now.
-      if test -z "$func_normal_abspath_result" ; then
-        func_normal_abspath_result=/
-      fi
-      break
-    fi
-    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcar"`
-    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcdr"`
-    # Figure out what to do with it
-    case $func_normal_abspath_tcomponent in
-      "")
-        # Trailing empty path component, ignore it.
-      ;;
-      ..)
-        # Parent dir; strip last assembled component from result.
-        func_dirname "$func_normal_abspath_result"
-        func_normal_abspath_result=$func_dirname_result
-      ;;
-      *)
-        # Actual path component, append it.
-        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
-      ;;
-    esac
-  done
-  # Restore leading double-slash if one was found on entry.
-  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77     # $? = 77 is used to indicate a skipped test to automake.
 
-# func_relative_path SRCDIR DSTDIR
-# generates a relative path from SRCDIR to DSTDIR, with a trailing
-# slash if non-empty, suitable for immediately appending a filename
-# without needing to append a separator.
-#             value returned in "$func_relative_path_result"
-func_relative_path ()
-{
-  func_relative_path_result=
-  func_normal_abspath "$1"
-  func_relative_path_tlibdir=$func_normal_abspath_result
-  func_normal_abspath "$2"
-  func_relative_path_tbindir=$func_normal_abspath_result
-
-  # Ascend the tree starting from libdir
-  while :; do
-    # check if we have found a prefix of bindir
-    case $func_relative_path_tbindir in
-      $func_relative_path_tlibdir)
-        # found an exact match
-        func_relative_path_tcancelled=
-        break
-        ;;
-      $func_relative_path_tlibdir*)
-        # found a matching prefix
-        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
-        func_relative_path_tcancelled=$func_stripname_result
-        if test -z "$func_relative_path_result"; then
-          func_relative_path_result=.
-        fi
-        break
-        ;;
-      *)
-        func_dirname $func_relative_path_tlibdir
-        func_relative_path_tlibdir=${func_dirname_result}
-        if test "x$func_relative_path_tlibdir" = x ; then
-          # Have to descend all the way to the root!
-          func_relative_path_result=../$func_relative_path_result
-          func_relative_path_tcancelled=$func_relative_path_tbindir
-          break
-        fi
-        func_relative_path_result=../$func_relative_path_result
-        ;;
-    esac
-  done
+# Allow overriding, eg assuming that you follow the convention of
+# putting '$debug_cmd' at the start of all your functions, you can get
+# bash to show function call trace with:
+#
+#    debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+debug_cmd=${debug_cmd-":"}
+exit_cmd=:
 
-  # Now calculate path; take care to avoid doubling-up slashes.
-  func_stripname '' '/' "$func_relative_path_result"
-  func_relative_path_result=$func_stripname_result
-  func_stripname '/' '/' "$func_relative_path_tcancelled"
-  if test "x$func_stripname_result" != x ; then
-    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
-  fi
+# By convention, finish your script with:
+#
+#    exit $exit_status
+#
+# so that you can set exit_status to non-zero if you want to indicate
+# something went wrong during execution without actually bailing out at
+# the point of failure.
+exit_status=$EXIT_SUCCESS
 
-  # Normalisation. If bindir is libdir, return empty string,
-  # else relative path ending with a slash; either way, target
-  # file name can be directly appended.
-  if test ! -z "$func_relative_path_result"; then
-    func_stripname './' '' "$func_relative_path_result/"
-    func_relative_path_result=$func_stripname_result
-  fi
-}
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath=$0
 
-# The name of this program:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
+# The name of this program.
+progname=`$ECHO "$progpath" |$SED "$sed_basename"`
 
-# Make sure we have an absolute path for reexecution:
+# Make sure we have an absolute progpath for reexecution:
 case $progpath in
   [\\/]*|[A-Za-z]:\\*) ;;
   *[\\/]*)
-     progdir=$func_dirname_result
+     progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
      progdir=`cd "$progdir" && pwd`
-     progpath="$progdir/$progname"
+     progpath=$progdir/$progname
      ;;
   *)
-     save_IFS="$IFS"
+     _G_IFS=$IFS
      IFS=${PATH_SEPARATOR-:}
      for progdir in $PATH; do
-       IFS="$save_IFS"
+       IFS=$_G_IFS
        test -x "$progdir/$progname" && break
      done
-     IFS="$save_IFS"
+     IFS=$_G_IFS
      test -n "$progdir" || progdir=`pwd`
-     progpath="$progdir/$progname"
+     progpath=$progdir/$progname
      ;;
 esac
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+## ----------------- ##
+## Standard options. ##
+## ----------------- ##
 
-# Sed substitution that converts a w32 file name or path
-# which contains forward slashes, into one that contains
-# (escaped) backslashes.  A very naive implementation.
-lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
-  s/$bs4/&\\
-/g
-  s/^$bs2$dollar/$bs&/
-  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
-  s/\n//g"
+# The following options affect the operation of the functions defined
+# below, and should be set appropriately depending on run-time para-
+# meters passed on the command line.
 
-# Standard options:
 opt_dry_run=false
-opt_help=false
 opt_quiet=false
 opt_verbose=false
-opt_warning=:
 
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
-{
-    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
-}
+# Categories 'all' and 'none' are always available.  Append any others
+# you will pass as the first argument to func_warning from your own
+# code.
+warning_categories=
 
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
-    $opt_verbose && func_echo ${1+"$@"}
+# By default, display warnings according to 'opt_warning_types'.  Set
+# 'warning_func'  to ':' to elide all warnings, or func_fatal_error to
+# treat the next displayed warning as a fatal error.
+warning_func=func_warn_and_continue
 
-    # A bug in bash halts the script if the last line of a function
-    # fails when set -e is in force, so we need another command to
-    # work around that:
-    :
-}
+# Set to 'all' to display all warnings, 'none' to suppress all
+# warnings, or a space delimited list of some subset of
+# 'warning_categories' to display only the listed warnings.
+opt_warning_types=all
 
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*"
-}
 
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
-    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
-}
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
 
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
-    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files. Call them using their associated
+# 'require_*' variable to ensure that they are executed, at most, once.
+#
+# It's entirely deliberate that calling these functions can set
+# variables that don't obey the namespace limitations obeyed by the rest
+# of this file, in order that that they be as useful as possible to
+# callers.
 
-    # bash bug again:
-    :
-}
 
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
+# require_term_colors
+# -------------------
+# Allow display of bold text on terminals that support it.
+require_term_colors=func_require_term_colors
+func_require_term_colors ()
 {
-    func_error ${1+"$@"}
-    exit $EXIT_FAILURE
-}
+    $debug_cmd
+
+    test -t 1 && {
+      # COLORTERM and USE_ANSI_COLORS environment variables take
+      # precedence, because most terminfo databases neglect to describe
+      # whether color sequences are supported.
+      test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
+
+      if test 1 = "$USE_ANSI_COLORS"; then
+        # Standard ANSI escape sequences
+        tc_reset='\e[0m'
+        tc_bold='\e[1m';   tc_standout='\e[7m'
+        tc_red='\e[31m';   tc_green='\e[32m'
+        tc_blue='\e[34m';  tc_cyan='\e[36m'
+      else
+        # Otherwise trust the terminfo database after all.
+        test -n "`tput sgr0 2>/dev/null`" && {
+          tc_reset=`tput sgr0`
+          test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
+          tc_standout=$tc_bold
+          test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
+          test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
+          test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
+          test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
+          test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
+        }
+      fi
+    }
 
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
-    func_error ${1+"$@"}
-    func_fatal_error "$help"
+    require_term_colors=:
 }
-help="Try \`$progname --help' for more information."  ## default
 
 
-# func_grep expression filename
+## ----------------- ##
+## Function library. ##
+## ----------------- ##
+
+# This section contains a variety of useful functions to call in your
+# scripts. Take note of the portable wrappers for features provided by
+# some modern shells, which will fall back to slower equivalents on
+# less featureful shells.
+
+
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
+
+  # We should try to minimise forks, especially on Windows where they are
+  # unreasonably slow, so skip the feature probes when bash or zsh are
+  # being used:
+  if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
+    : ${_G_HAVE_ARITH_OP="yes"}
+    : ${_G_HAVE_XSI_OPS="yes"}
+    # The += operator was introduced in bash 3.1
+    case $BASH_VERSION in
+      [12].* | 3.0 | 3.0*) ;;
+      *)
+        : ${_G_HAVE_PLUSEQ_OP="yes"}
+        ;;
+    esac
+  fi
+
+  # _G_HAVE_PLUSEQ_OP
+  # Can be empty, in which case the shell is probed, "yes" if += is
+  # useable or anything else if it does not work.
+  test -z "$_G_HAVE_PLUSEQ_OP" \
+    && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
+    && _G_HAVE_PLUSEQ_OP=yes
+
+if test yes = "$_G_HAVE_PLUSEQ_OP"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_append ()
+  {
+    $debug_cmd
+
+    eval "$1+=\$2"
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_append ()
+  {
+    $debug_cmd
+
+    eval "$1=\$$1\$2"
+  }
+fi
+
+
+# func_append_quoted VAR VALUE
+# ----------------------------
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+if test yes = "$_G_HAVE_PLUSEQ_OP"; then
+  eval 'func_append_quoted ()
+  {
+    $debug_cmd
+
+    func_quote_for_eval "$2"
+    eval "$1+=\\ \$func_quote_for_eval_result"
+  }'
+else
+  func_append_quoted ()
+  {
+    $debug_cmd
+
+    func_quote_for_eval "$2"
+    eval "$1=\$$1\\ \$func_quote_for_eval_result"
+  }
+fi
+
+
+# func_append_uniq VAR VALUE
+# --------------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE.  For example:
+#
+#   func_append_uniq options " --another-option option-argument"
+#
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_uniq ()
+{
+    $debug_cmd
+
+    eval _G_current_value='`$ECHO $'$1'`'
+    _G_delim=`expr "$2" : '\(.\)'`
+
+    case $_G_delim$_G_current_value$_G_delim in
+      *"$2$_G_delim"*) ;;
+      *) func_append "$@" ;;
+    esac
+}
+
+
+# func_arith TERM...
+# ------------------
+# Set func_arith_result to the result of evaluating TERMs.
+  test -z "$_G_HAVE_ARITH_OP" \
+    && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
+    && _G_HAVE_ARITH_OP=yes
+
+if test yes = "$_G_HAVE_ARITH_OP"; then
+  eval 'func_arith ()
+  {
+    $debug_cmd
+
+    func_arith_result=$(( $* ))
+  }'
+else
+  func_arith ()
+  {
+    $debug_cmd
+
+    func_arith_result=`expr "$@"`
+  }
+fi
+
+
+# func_basename FILE
+# ------------------
+# Set func_basename_result to FILE with everything up to and including
+# the last / stripped.
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  # If this shell supports suffix pattern removal, then use it to avoid
+  # forking. Hide the definitions single quotes in case the shell chokes
+  # on unsupported syntax...
+  _b='func_basename_result=${1##*/}'
+  _d='case $1 in
+        */*) func_dirname_result=${1%/*}$2 ;;
+        *  ) func_dirname_result=$3        ;;
+      esac'
+
+else
+  # ...otherwise fall back to using sed.
+  _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
+  _d='func_dirname_result=`$ECHO "$1"  |$SED "$sed_dirname"`
+      if test "X$func_dirname_result" = "X$1"; then
+        func_dirname_result=$3
+      else
+        func_append func_dirname_result "$2"
+      fi'
+fi
+
+eval 'func_basename ()
+{
+    $debug_cmd
+
+    '"$_b"'
+}'
+
+
+# func_dirname FILE APPEND NONDIR_REPLACEMENT
+# -------------------------------------------
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+eval 'func_dirname ()
+{
+    $debug_cmd
+
+    '"$_d"'
+}'
+
+
+# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
+# --------------------------------------------------------
+# Perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# For efficiency, we do not delegate to the functions above but instead
+# duplicate the functionality here.
+eval 'func_dirname_and_basename ()
+{
+    $debug_cmd
+
+    '"$_b"'
+    '"$_d"'
+}'
+
+
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message.
+func_echo ()
+{
+    $debug_cmd
+
+    _G_message=$*
+
+    func_echo_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_IFS
+      $ECHO "$progname: $_G_line"
+    done
+    IFS=$func_echo_IFS
+}
+
+
+# func_echo_all ARG...
+# --------------------
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
+
+# func_echo_infix_1 INFIX ARG...
+# ------------------------------
+# Echo program name, followed by INFIX on the first line, with any
+# additional lines not showing INFIX.
+func_echo_infix_1 ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    _G_infix=$1; shift
+    _G_indent=$_G_infix
+    _G_prefix="$progname: $_G_infix: "
+    _G_message=$*
+
+    # Strip color escape sequences before counting printable length
+    for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
+    do
+      test -n "$_G_tc" && {
+        _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
+        _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
+      }
+    done
+    _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`"  " ## exclude from sc_prohibit_nested_quotes
+
+    func_echo_infix_1_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_infix_1_IFS
+      $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+      _G_prefix=$_G_indent
+    done
+    IFS=$func_echo_infix_1_IFS
+}
+
+
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    func_echo_infix_1 "  $tc_standout${tc_red}error$tc_reset" "$*" >&2
+}
+
+
+# func_fatal_error ARG...
+# -----------------------
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    $debug_cmd
+
+    func_error "$*"
+    exit $EXIT_FAILURE
+}
+
+
+# func_grep EXPRESSION FILENAME
+# -----------------------------
 # Check whether EXPRESSION matches any line of FILENAME, without output.
 func_grep ()
 {
+    $debug_cmd
+
     $GREP "$1" "$2" >/dev/null 2>&1
 }
 
 
-# func_mkdir_p directory-path
+# func_len STRING
+# ---------------
+# Set func_len_result to the length of STRING. STRING may not
+# start with a hyphen.
+  test -z "$_G_HAVE_XSI_OPS" \
+    && (eval 'x=a/b/c;
+      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+    && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=${#1}
+  }'
+else
+  func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+  }
+fi
+
+
+# func_mkdir_p DIRECTORY-PATH
+# ---------------------------
 # Make sure the entire path to DIRECTORY-PATH is available.
 func_mkdir_p ()
 {
-    my_directory_path="$1"
-    my_dir_list=
+    $debug_cmd
+
+    _G_directory_path=$1
+    _G_dir_list=
 
-    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+    if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
 
-      # Protect directory names starting with `-'
-      case $my_directory_path in
-        -*) my_directory_path="./$my_directory_path" ;;
+      # Protect directory names starting with '-'
+      case $_G_directory_path in
+        -*) _G_directory_path=./$_G_directory_path ;;
       esac
 
       # While some portion of DIR does not yet exist...
-      while test ! -d "$my_directory_path"; do
+      while test ! -d "$_G_directory_path"; do
         # ...make a list in topmost first order.  Use a colon delimited
        # list incase some portion of path contains whitespace.
-        my_dir_list="$my_directory_path:$my_dir_list"
+        _G_dir_list=$_G_directory_path:$_G_dir_list
 
         # If the last portion added has no slash in it, the list is done
-        case $my_directory_path in */*) ;; *) break ;; esac
+        case $_G_directory_path in */*) ;; *) break ;; esac
 
         # ...otherwise throw away the child directory and loop
-        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
+        _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
       done
-      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+      _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
 
-      save_mkdir_p_IFS="$IFS"; IFS=':'
-      for my_dir in $my_dir_list; do
-       IFS="$save_mkdir_p_IFS"
-        # mkdir can fail with a `File exist' error if two processes
+      func_mkdir_p_IFS=$IFS; IFS=:
+      for _G_dir in $_G_dir_list; do
+       IFS=$func_mkdir_p_IFS
+        # mkdir can fail with a 'File exist' error if two processes
         # try to create one of the directories concurrently.  Don't
         # stop in that case!
-        $MKDIR "$my_dir" 2>/dev/null || :
+        $MKDIR "$_G_dir" 2>/dev/null || :
       done
-      IFS="$save_mkdir_p_IFS"
+      IFS=$func_mkdir_p_IFS
 
       # Bail out if we (or some other process) failed to create a directory.
-      test -d "$my_directory_path" || \
-        func_fatal_error "Failed to create \`$1'"
+      test -d "$_G_directory_path" || \
+        func_fatal_error "Failed to create '$1'"
     fi
 }
 
 
-# func_mktempdir [string]
+# func_mktempdir [BASENAME]
+# -------------------------
 # Make a temporary directory that won't clash with other running
 # libtool processes, and avoids race conditions if possible.  If
-# given, STRING is the basename for that directory.
+# given, BASENAME is the basename for that directory.
 func_mktempdir ()
 {
-    my_template="${TMPDIR-/tmp}/${1-$progname}"
+    $debug_cmd
+
+    _G_template=${TMPDIR-/tmp}/${1-$progname}
 
-    if test "$opt_dry_run" = ":"; then
+    if test : = "$opt_dry_run"; then
       # Return a directory name, but don't create it in dry-run mode
-      my_tmpdir="${my_template}-$$"
+      _G_tmpdir=$_G_template-$$
     else
 
       # If mktemp works, use that first and foremost
-      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+      _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
 
-      if test ! -d "$my_tmpdir"; then
+      if test ! -d "$_G_tmpdir"; then
         # Failing that, at least try and use $RANDOM to avoid a race
-        my_tmpdir="${my_template}-${RANDOM-0}$$"
+        _G_tmpdir=$_G_template-${RANDOM-0}$$
 
-        save_mktempdir_umask=`umask`
+        func_mktempdir_umask=`umask`
         umask 0077
-        $MKDIR "$my_tmpdir"
-        umask $save_mktempdir_umask
+        $MKDIR "$_G_tmpdir"
+        umask $func_mktempdir_umask
       fi
 
       # If we're not in dry-run mode, bomb out on failure
-      test -d "$my_tmpdir" || \
-        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+      test -d "$_G_tmpdir" || \
+        func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
     fi
 
-    $ECHO "$my_tmpdir"
+    $ECHO "$_G_tmpdir"
 }
 
 
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
-func_quote_for_eval ()
+# func_normal_abspath PATH
+# ------------------------
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+func_normal_abspath ()
 {
-    case $1 in
-      *[\\\`\"\$]*)
-       func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
-      *)
-        func_quote_for_eval_unquoted_result="$1" ;;
-    esac
+    $debug_cmd
 
-    case $func_quote_for_eval_unquoted_result in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting, command substitution and and variable
-      # expansion for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+    # These SED scripts presuppose an absolute path with a trailing slash.
+    _G_pathcar='s|^/\([^/]*\).*$|\1|'
+    _G_pathcdr='s|^/[^/]*||'
+    _G_removedotparts=':dotsl
+               s|/\./|/|g
+               t dotsl
+               s|/\.$|/|'
+    _G_collapseslashes='s|/\{1,\}|/|g'
+    _G_finalslash='s|/*$|/|'
+
+    # Start from root dir and reassemble the path.
+    func_normal_abspath_result=
+    func_normal_abspath_tpath=$1
+    func_normal_abspath_altnamespace=
+    case $func_normal_abspath_tpath in
+      "")
+        # Empty path, that just means $cwd.
+        func_stripname '' '/' "`pwd`"
+        func_normal_abspath_result=$func_stripname_result
+        return
+        ;;
+      # The next three entries are used to spot a run of precisely
+      # two leading slashes without using negated character classes;
+      # we take advantage of case's first-match behaviour.
+      ///*)
+        # Unusual form of absolute path, do nothing.
+        ;;
+      //*)
+        # Not necessarily an ordinary path; POSIX reserves leading '//'
+        # and for example Cygwin uses it to access remote file shares
+        # over CIFS/SMB, so we conserve a leading double slash if found.
+        func_normal_abspath_altnamespace=/
+        ;;
+      /*)
+        # Absolute path, do nothing.
         ;;
       *)
-        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+        # Relative path, prepend $cwd.
+        func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+        ;;
     esac
+
+    # Cancel out all the simple stuff to save iterations.  We also want
+    # the path to end with a slash for ease of parsing, so make sure
+    # there is one (and only one) here.
+    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
+    while :; do
+      # Processed it all yet?
+      if test / = "$func_normal_abspath_tpath"; then
+        # If we ascended to the root using ".." the result may be empty now.
+        if test -z "$func_normal_abspath_result"; then
+          func_normal_abspath_result=/
+        fi
+        break
+      fi
+      func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_pathcar"`
+      func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_pathcdr"`
+      # Figure out what to do with it
+      case $func_normal_abspath_tcomponent in
+        "")
+          # Trailing empty path component, ignore it.
+          ;;
+        ..)
+          # Parent dir; strip last assembled component from result.
+          func_dirname "$func_normal_abspath_result"
+          func_normal_abspath_result=$func_dirname_result
+          ;;
+        *)
+          # Actual path component, append it.
+          func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
+          ;;
+      esac
+    done
+    # Restore leading double-slash if one was found on entry.
+    func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+
+# func_notquiet ARG...
+# --------------------
+# Echo program name prefixed message only when not in quiet mode.
+func_notquiet ()
+{
+    $debug_cmd
+
+    $opt_quiet || func_echo ${1+"$@"}
+
+    # A bug in bash halts the script if the last line of a function
+    # fails when set -e is in force, so we need another command to
+    # work around that:
+    :
+}
+
+
+# func_relative_path SRCDIR DSTDIR
+# --------------------------------
+# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
+func_relative_path ()
+{
+    $debug_cmd
+
+    func_relative_path_result=
+    func_normal_abspath "$1"
+    func_relative_path_tlibdir=$func_normal_abspath_result
+    func_normal_abspath "$2"
+    func_relative_path_tbindir=$func_normal_abspath_result
+
+    # Ascend the tree starting from libdir
+    while :; do
+      # check if we have found a prefix of bindir
+      case $func_relative_path_tbindir in
+        $func_relative_path_tlibdir)
+          # found an exact match
+          func_relative_path_tcancelled=
+          break
+          ;;
+        $func_relative_path_tlibdir*)
+          # found a matching prefix
+          func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+          func_relative_path_tcancelled=$func_stripname_result
+          if test -z "$func_relative_path_result"; then
+            func_relative_path_result=.
+          fi
+          break
+          ;;
+        *)
+          func_dirname $func_relative_path_tlibdir
+          func_relative_path_tlibdir=$func_dirname_result
+          if test -z "$func_relative_path_tlibdir"; then
+            # Have to descend all the way to the root!
+            func_relative_path_result=../$func_relative_path_result
+            func_relative_path_tcancelled=$func_relative_path_tbindir
+            break
+          fi
+          func_relative_path_result=../$func_relative_path_result
+          ;;
+      esac
+    done
+
+    # Now calculate path; take care to avoid doubling-up slashes.
+    func_stripname '' '/' "$func_relative_path_result"
+    func_relative_path_result=$func_stripname_result
+    func_stripname '/' '/' "$func_relative_path_tcancelled"
+    if test -n "$func_stripname_result"; then
+      func_append func_relative_path_result "/$func_stripname_result"
+    fi
+
+    # Normalisation. If bindir is libdir, return '.' else relative path.
+    if test -n "$func_relative_path_result"; then
+      func_stripname './' '' "$func_relative_path_result"
+      func_relative_path_result=$func_stripname_result
+    fi
+
+    test -n "$func_relative_path_result" || func_relative_path_result=.
+
+    :
 }
 
 
-# func_quote_for_expand arg
+# func_quote_for_eval ARG...
+# --------------------------
+# Aesthetically quote ARGs to be evaled later.
+# This function returns two values:
+#   i) func_quote_for_eval_result
+#      double-quoted, suitable for a subsequent eval
+#  ii) func_quote_for_eval_unquoted_result
+#      has all characters that are still active within double
+#      quotes backslashified.
+func_quote_for_eval ()
+{
+    $debug_cmd
+
+    func_quote_for_eval_unquoted_result=
+    func_quote_for_eval_result=
+    while test 0 -lt $#; do
+      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
+        func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+      fi
+
+      case $_G_unquoted_arg in
+        # Double-quote args containing shell metacharacters to delay
+        # word splitting, command substitution and variable expansion
+        # for a subsequent eval.
+        # Many Bourne shells cannot handle close brackets correctly
+        # in scan sets, so we specify it separately.
+        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \  ]*|*]*|"")
+          _G_quoted_arg=\"$_G_unquoted_arg\"
+          ;;
+        *)
+          _G_quoted_arg=$_G_unquoted_arg
+         ;;
+      esac
+
+      if test -n "$func_quote_for_eval_result"; then
+       func_append func_quote_for_eval_result " $_G_quoted_arg"
+      else
+        func_append func_quote_for_eval_result "$_G_quoted_arg"
+      fi
+      shift
+    done
+}
+
+
+# func_quote_for_expand ARG
+# -------------------------
 # Aesthetically quote ARG to be evaled later; same as above,
 # but do not quote variable references.
 func_quote_for_expand ()
 {
+    $debug_cmd
+
     case $1 in
       *[\\\`\"]*)
-       my_arg=`$ECHO "$1" | $SED \
-           -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+       _G_arg=`$ECHO "$1" | $SED \
+           -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
       *)
-        my_arg="$1" ;;
+        _G_arg=$1 ;;
     esac
 
-    case $my_arg in
+    case $_G_arg in
       # Double-quote args containing shell metacharacters to delay
       # word splitting and command substitution for a subsequent eval.
       # Many Bourne shells cannot handle close brackets correctly
       # in scan sets, so we specify it separately.
       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-        my_arg="\"$my_arg\""
+        _G_arg=\"$_G_arg\"
         ;;
     esac
 
-    func_quote_for_expand_result="$my_arg"
+    func_quote_for_expand_result=$_G_arg
+}
+
+
+# func_stripname PREFIX SUFFIX NAME
+# ---------------------------------
+# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_stripname ()
+  {
+    $debug_cmd
+
+    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+    # positional parameters, so assign one to ordinary variable first.
+    func_stripname_result=$3
+    func_stripname_result=${func_stripname_result#"$1"}
+    func_stripname_result=${func_stripname_result%"$2"}
+  }'
+else
+  func_stripname ()
+  {
+    $debug_cmd
+
+    case $2 in
+      .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
+      *)  func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
+    esac
+  }
+fi
+
+
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+    $debug_cmd
+
+    _G_cmd=$1
+    _G_fail_exp=${2-':'}
+
+    func_quote_for_expand "$_G_cmd"
+    eval "func_notquiet $func_quote_for_expand_result"
+
+    $opt_dry_run || {
+      eval "$_G_cmd"
+      _G_status=$?
+      if test 0 -ne "$_G_status"; then
+       eval "(exit $_G_status); $_G_fail_exp"
+      fi
+    }
+}
+
+
+# func_show_eval_locale CMD [FAIL_EXP]
+# ------------------------------------
+# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.  Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+    $debug_cmd
+
+    _G_cmd=$1
+    _G_fail_exp=${2-':'}
+
+    $opt_quiet || {
+      func_quote_for_expand "$_G_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    $opt_dry_run || {
+      eval "$_G_user_locale
+           $_G_cmd"
+      _G_status=$?
+      eval "$_G_safe_locale"
+      if test 0 -ne "$_G_status"; then
+       eval "(exit $_G_status); $_G_fail_exp"
+      fi
+    }
+}
+
+
+# func_tr_sh
+# ----------
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result.  All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+    $debug_cmd
+
+    case $1 in
+    [0-9]* | *[!a-zA-Z0-9_]*)
+      func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
+      ;;
+    * )
+      func_tr_sh_result=$1
+      ;;
+    esac
+}
+
+
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $debug_cmd
+
+    $opt_verbose && func_echo "$*"
+
+    :
+}
+
+
+# func_warn_and_continue ARG...
+# -----------------------------
+# Echo program name prefixed warning message to standard error.
+func_warn_and_continue ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
+}
+
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY, where this function
+# elides messages where CATEGORY is not listed in the global variable
+# 'opt_warning_types'.
+func_warning ()
+{
+    $debug_cmd
+
+    # CATEGORY must be in the warning_categories list!
+    case " $warning_categories " in
+      *" $1 "*) ;;
+      *) func_internal_error "invalid warning category '$1'" ;;
+    esac
+
+    _G_category=$1
+    shift
+
+    case " $opt_warning_types " in
+      *" $_G_category "*) $warning_func ${1+"$@"} ;;
+    esac
 }
 
 
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
+# func_sort_ver VER1 VER2
+# -----------------------
+# 'sort -V' is not generally available.
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()
+{
+    $debug_cmd
+
+    printf '%s\n%s\n' "$1" "$2" \
+      | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
+}
+
+# func_lt_ver PREV CURR
+# ---------------------
+# Return true if PREV and CURR are in the correct order according to
+# func_sort_ver, otherwise false.  Use it like this:
+#
+#  func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
+func_lt_ver ()
+{
+    $debug_cmd
+
+    test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+#! /bin/sh
+
+# Set a version string for this script.
+scriptversion=2014-01-07.03; # UTC
+
+# A portable, pluggable option parser for Bourne shell.
+# Written by Gary V. Vaughan, 2010
+
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# 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 <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# This file is a library for parsing options in your shell scripts along
+# with assorted other useful supporting features that you can make use
+# of too.
+#
+# For the simplest scripts you might need only:
+#
+#   #!/bin/sh
+#   . relative/path/to/funclib.sh
+#   . relative/path/to/options-parser
+#   scriptversion=1.0
+#   func_options ${1+"$@"}
+#   eval set dummy "$func_options_result"; shift
+#   ...rest of your script...
+#
+# In order for the '--version' option to work, you will need to have a
+# suitably formatted comment like the one at the top of this file
+# starting with '# Written by ' and ending with '# warranty; '.
+#
+# For '-h' and '--help' to work, you will also need a one line
+# description of your script's purpose in a comment directly above the
+# '# Written by ' line, like the one at the top of this file.
+#
+# The default options also support '--debug', which will turn on shell
+# execution tracing (see the comment above debug_cmd below for another
+# use), and '--verbose' and the func_verbose function to allow your script
+# to display verbose messages only when your user has specified
+# '--verbose'.
+#
+# After sourcing this file, you can plug processing for additional
+# options by amending the variables from the 'Configuration' section
+# below, and following the instructions in the 'Option parsing'
+# section further down.
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# You should override these variables in your script after sourcing this
+# file so that they reflect the customisations you have added to the
+# option parser.
+
+# The usage line for option parsing errors and the start of '-h' and
+# '--help' output messages. You can embed shell variables for delayed
+# expansion at the time the message is displayed, but you will need to
+# quote other shell meta-characters carefully to prevent them being
+# expanded when the contents are evaled.
+usage='$progpath [OPTION]...'
+
+# Short help message in response to '-h' and '--help'.  Add to this or
+# override it after sourcing this library to reflect the full set of
+# options your script accepts.
+usage_message="\
+       --debug        enable verbose shell tracing
+   -W, --warnings=CATEGORY
+                      report the warnings falling in CATEGORY [all]
+   -v, --verbose      verbosely report processing
+       --version      print version information and exit
+   -h, --help         print short or long help message and exit
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message="
+Warning categories include:
+       'all'          show all warnings
+       'none'         turn off all the warnings
+       'error'        warnings are treated as fatal errors"
+
+# Help message printed before fatal option parsing errors.
+fatal_help="Try '\$progname --help' for more information."
+
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# to the main code.  A hook is just a named list of of function, that can
+# be run in order later on.
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# 'func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+    $debug_cmd
+
+    func_append hookable_fns " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns.  FUNC_NAME must
+# first have been declared "hookable" by a call to 'func_hookable'.
+func_add_hook ()
+{
+    $debug_cmd
+
+    case " $hookable_fns " in
+      *" $1 "*) ;;
+      *) func_fatal_error "'$1' does not accept hook functions." ;;
+    esac
+
+    eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+func_remove_hook ()
+{
+    $debug_cmd
+
+    eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It is assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+    $debug_cmd
+
+    case " $hookable_fns " in
+      *" $1 "*) ;;
+      *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+    esac
+
+    eval _G_hook_fns=\$$1_hooks; shift
+
+    for _G_hook in $_G_hook_fns; do
+      eval $_G_hook '"$@"'
+
+      # store returned options list back into positional
+      # parameters for next 'cmd' execution.
+      eval _G_hook_result=\$${_G_hook}_result
+      eval set dummy "$_G_hook_result"; shift
+    done
+
+    func_quote_for_eval ${1+"$@"}
+    func_run_hooks_result=$func_quote_for_eval_result
+}
+
+
+
+## --------------- ##
+## Option parsing. ##
+## --------------- ##
+
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list in your hook function, remove any
+# options that you action, and then pass back the remaining unprocessed
+# options in '<hooked_function_name>_result', escaped suitably for
+# 'eval'.  Like this:
+#
+#    my_options_prep ()
+#    {
+#        $debug_cmd
+#
+#        # Extend the existing usage message.
+#        usage_message=$usage_message'
+#      -s, --silent       don'\''t print informational messages
+#    '
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_options_prep_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_options_prep my_options_prep
+#
+#
+#    my_silent_option ()
+#    {
+#        $debug_cmd
+#
+#        # Note that for efficiency, we parse as many options as we can
+#        # recognise in a loop before passing the remainder back to the
+#        # caller on the first unrecognised argument we encounter.
+#        while test $# -gt 0; do
+#          opt=$1; shift
+#          case $opt in
+#            --silent|-s) opt_silent=: ;;
+#            # Separate non-argument short options:
+#            -s*)         func_split_short_opt "$_G_opt"
+#                         set dummy "$func_split_short_opt_name" \
+#                             "-$func_split_short_opt_arg" ${1+"$@"}
+#                         shift
+#                         ;;
+#            *)            set dummy "$_G_opt" "$*"; shift; break ;;
+#          esac
+#        done
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_silent_option_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_parse_options my_silent_option
+#
+#
+#    my_option_validation ()
+#    {
+#        $debug_cmd
+#
+#        $opt_silent && $opt_verbose && func_fatal_help "\
+#    '--silent' and '--verbose' options are mutually exclusive."
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_option_validation_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_validate_options my_option_validation
+#
+# You'll alse need to manually amend $usage_message to reflect the extra
+# options you parse.  It's preferable to append if you can, so that
+# multiple option parsing hooks can be added safely.
+
+
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
 {
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
+    $debug_cmd
 
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
+    func_options_prep ${1+"$@"}
+    eval func_parse_options \
+        ${func_options_prep_result+"$func_options_prep_result"}
+    eval func_validate_options \
+        ${func_parse_options_result+"$func_parse_options_result"}
 
-    if ${opt_dry_run-false}; then :; else
-      eval "$my_cmd"
-      my_status=$?
-      if test "$my_status" -eq 0; then :; else
-       eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
+    eval func_run_hooks func_options \
+        ${func_validate_options_result+"$func_validate_options_result"}
+
+    # save modified positional parameters for caller
+    func_options_result=$func_run_hooks_result
 }
 
 
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.  Use the saved locale for evaluation.
-func_show_eval_locale ()
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters.  If a hook function modifies that list, and
+# needs to propogate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before
+# returning.
+func_hookable func_options_prep
+func_options_prep ()
 {
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
+    $debug_cmd
 
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
+    # Option defaults:
+    opt_verbose=false
+    opt_warning_types=
 
-    if ${opt_dry_run-false}; then :; else
-      eval "$lt_user_locale
-           $my_cmd"
-      my_status=$?
-      eval "$lt_safe_locale"
-      if test "$my_status" -eq 0; then :; else
-       eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
+    func_run_hooks func_options_prep ${1+"$@"}
+
+    # save modified positional parameters for caller
+    func_options_prep_result=$func_run_hooks_result
 }
 
-# func_tr_sh
-# Turn $1 into a string suitable for a shell variable name.
-# Result is stored in $func_tr_sh_result.  All characters
-# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
-# if $1 begins with a digit, a '_' is prepended as well.
-func_tr_sh ()
+
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+func_hookable func_parse_options
+func_parse_options ()
 {
-  case $1 in
-  [0-9]* | *[!a-zA-Z0-9_]*)
-    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
-    ;;
-  * )
-    func_tr_sh_result=$1
-    ;;
-  esac
+    $debug_cmd
+
+    func_parse_options_result=
+
+    # this just eases exit handling
+    while test $# -gt 0; do
+      # Defer to hook functions for initial option parsing, so they
+      # get priority in the event of reusing an option name.
+      func_run_hooks func_parse_options ${1+"$@"}
+
+      # Adjust func_parse_options positional parameters to match
+      eval set dummy "$func_run_hooks_result"; shift
+
+      # Break out of the loop if we already parsed every option.
+      test $# -gt 0 || break
+
+      _G_opt=$1
+      shift
+      case $_G_opt in
+        --debug|-x)   debug_cmd='set -x'
+                      func_echo "enabling shell trace mode"
+                      $debug_cmd
+                      ;;
+
+        --no-warnings|--no-warning|--no-warn)
+                      set dummy --warnings none ${1+"$@"}
+                      shift
+                     ;;
+
+        --warnings|--warning|-W)
+                      test $# = 0 && func_missing_arg $_G_opt && break
+                      case " $warning_categories $1" in
+                        *" $1 "*)
+                          # trailing space prevents matching last $1 above
+                          func_append_uniq opt_warning_types " $1"
+                          ;;
+                        *all)
+                          opt_warning_types=$warning_categories
+                          ;;
+                        *none)
+                          opt_warning_types=none
+                          warning_func=:
+                          ;;
+                        *error)
+                          opt_warning_types=$warning_categories
+                          warning_func=func_fatal_error
+                          ;;
+                        *)
+                          func_fatal_error \
+                             "unsupported warning category: '$1'"
+                          ;;
+                      esac
+                      shift
+                      ;;
+
+        --verbose|-v) opt_verbose=: ;;
+        --version)    func_version ;;
+        -\?|-h)       func_usage ;;
+        --help)       func_help ;;
+
+       # Separate optargs to long options (plugins may need this):
+       --*=*)        func_split_equals "$_G_opt"
+                     set dummy "$func_split_equals_lhs" \
+                          "$func_split_equals_rhs" ${1+"$@"}
+                      shift
+                      ;;
+
+       # Separate optargs to short options:
+        -W*)
+                      func_split_short_opt "$_G_opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        # Separate non-argument short options:
+        -\?*|-h*|-v*|-x*)
+                      func_split_short_opt "$_G_opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "-$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        --)           break ;;
+        -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
+        *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+      esac
+    done
+
+    # save modified positional parameters for caller
+    func_quote_for_eval ${1+"$@"}
+    func_parse_options_result=$func_quote_for_eval_result
 }
 
 
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
 {
-    $opt_debug
+    $debug_cmd
 
-    $SED -n '/(C)/!b go
-       :more
-       /\./!{
-         N
-         s/\n# / /
-         b more
-       }
-       :go
-       /^# '$PROGRAM' (GNU /,/# warranty; / {
-        s/^# //
-       s/^# *$//
-        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
-        p
-     }' < "$progpath"
-     exit $?
+    # Display all warnings if -W was not given.
+    test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
+
+    func_run_hooks func_validate_options ${1+"$@"}
+
+    # Bail if the options were screwed!
+    $exit_cmd $EXIT_FAILURE
+
+    # save modified positional parameters for caller
+    func_validate_options_result=$func_run_hooks_result
 }
 
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
+
+
+## ----------------- ##
+## Helper functions. ##
+## ----------------- ##
+
+# This section contains the helper functions used by the rest of the
+# hookable option parser framework in ascii-betical order.
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
 {
-    $opt_debug
+    $debug_cmd
 
-    $SED -n '/^# Usage:/,/^#  *.*--help/ {
-        s/^# //
-       s/^# *$//
-       s/\$progname/'$progname'/
-       p
-    }' < "$progpath"
-    echo
-    $ECHO "run \`$progname --help | more' for full usage"
-    exit $?
+    eval \$ECHO \""Usage: $usage"\"
+    eval \$ECHO \""$fatal_help"\"
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
 }
 
-# func_help [NOEXIT]
-# Echo long help message to standard output and exit,
-# unless 'noexit' is passed as argument.
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
 func_help ()
 {
-    $opt_debug
-
-    $SED -n '/^# Usage:/,/# Report bugs to/ {
-       :print
-        s/^# //
-       s/^# *$//
-       s*\$progname*'$progname'*
-       s*\$host*'"$host"'*
-       s*\$SHELL*'"$SHELL"'*
-       s*\$LTCC*'"$LTCC"'*
-       s*\$LTCFLAGS*'"$LTCFLAGS"'*
-       s*\$LD*'"$LD"'*
-       s/\$with_gnu_ld/'"$with_gnu_ld"'/
-       s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
-       s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
-       p
-       d
-     }
-     /^# .* home page:/b print
-     /^# General help using/b print
-     ' < "$progpath"
-    ret=$?
-    if test -z "$1"; then
-      exit $ret
-    fi
+    $debug_cmd
+
+    func_usage_message
+    $ECHO "$long_help_message"
+    exit 0
 }
 
-# func_missing_arg argname
+
+# func_missing_arg ARGNAME
+# ------------------------
 # Echo program name prefixed message to standard error and set global
 # exit_cmd.
 func_missing_arg ()
 {
-    $opt_debug
+    $debug_cmd
 
-    func_error "missing argument for $1."
+    func_error "Missing argument for '$1'."
     exit_cmd=exit
 }
 
 
-# func_split_short_opt shortopt
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
+# splitting STRING at the '=' sign.
+test -z "$_G_HAVE_XSI_OPS" \
+    && (eval 'x=a/b/c;
+      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+    && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=${1%%=*}
+      func_split_equals_rhs=${1#*=}
+      test "x$func_split_equals_lhs" = "x$1" \
+        && func_split_equals_rhs=
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
+      func_split_equals_rhs=
+      test "x$func_split_equals_lhs" = "x$1" \
+        || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+  }
+fi #func_split_equals
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
 # Set func_split_short_opt_name and func_split_short_opt_arg shell
 # variables after splitting SHORTOPT after the 2nd character.
-func_split_short_opt ()
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_arg=${1#??}
+      func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+      func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+  }
+fi #func_split_short_opt
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
 {
-    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
-    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+    $debug_cmd
 
-    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
-    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
-} # func_split_short_opt may be replaced by extended shell implementation
+    func_usage_message
+    $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+    exit 0
+}
 
 
-# func_split_long_opt longopt
-# Set func_split_long_opt_name and func_split_long_opt_arg shell
-# variables after splitting LONGOPT at the `=' sign.
-func_split_long_opt ()
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
 {
-    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
-    my_sed_long_arg='1s/^--[^=]*=//'
+    $debug_cmd
 
-    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
-    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
-} # func_split_long_opt may be replaced by extended shell implementation
+    eval \$ECHO \""Usage: $usage"\"
+    echo
+    $SED -n 's|^# ||
+        /^Written by/{
+          x;p;x
+        }
+       h
+       /^Written by/q' < "$progpath"
+    echo
+    eval \$ECHO \""$usage_message"\"
+}
 
-exit_cmd=:
 
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $debug_cmd
 
+    printf '%s\n' "$progname $scriptversion"
+    $SED -n '
+        /(C)/!b go
+        :more
+        /\./!{
+          N
+          s|\n# | |
+          b more
+        }
+        :go
+        /^# Written by /,/# warranty; / {
+          s|^# ||
+          s|^# *$||
+          s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+          p
+        }
+        /^# Written by / {
+          s|^# ||
+          p
+        }
+        /^warranty; /q' < "$progpath"
 
+    exit $?
+}
 
 
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
 
-# Global variables.
-nonopt=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
+# Set a version string.
+scriptversion='(GNU libtool) 2.4.6'
 
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
 
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
+# func_echo ARG...
+# ----------------
+# Libtool also displays the current mode in messages, so override
+# funclib.sh func_echo with this custom definition.
+func_echo ()
 {
-    eval "${1}=\$${1}\${2}"
-} # func_append may be replaced by extended shell implementation
+    $debug_cmd
 
-# func_append_quoted var value
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-func_append_quoted ()
-{
-    func_quote_for_eval "${2}"
-    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
-} # func_append_quoted may be replaced by extended shell implementation
+    _G_message=$*
+
+    func_echo_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_IFS
+      $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
+    done
+    IFS=$func_echo_IFS
+}
 
 
-# func_arith arithmetic-term...
-func_arith ()
+# func_warning ARG...
+# -------------------
+# Libtool warnings are not categorized, so override funclib.sh
+# func_warning with this simpler definition.
+func_warning ()
 {
-    func_arith_result=`expr "${@}"`
-} # func_arith may be replaced by extended shell implementation
+    $debug_cmd
+
+    $warning_func ${1+"$@"}
+}
+
 
+## ---------------- ##
+## Options parsing. ##
+## ---------------- ##
+
+# Hook in the functions to make sure our own options are parsed during
+# the option parsing loop.
+
+usage='$progpath [OPTION]... [MODE-ARG]...'
+
+# Short help message in response to '-h'.
+usage_message="Options:
+       --config             show all configuration variables
+       --debug              enable verbose shell tracing
+   -n, --dry-run            display commands without modifying any files
+       --features           display basic configuration information and exit
+       --mode=MODE          use operation mode MODE
+       --no-warnings        equivalent to '-Wnone'
+       --preserve-dup-deps  don't remove duplicate dependency libraries
+       --quiet, --silent    don't print informational messages
+       --tag=TAG            use configuration variables from tag TAG
+   -v, --verbose            print more informational messages than default
+       --version            print version information
+   -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [all]
+   -h, --help, --help-all   print short, long, or detailed help message
+"
 
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
+# Additional text appended to 'usage_message' in response to '--help'.
+func_help ()
 {
-    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
-} # func_len may be replaced by extended shell implementation
+    $debug_cmd
+
+    func_usage_message
+    $ECHO "$long_help_message
+
+MODE must be one of the following:
+
+       clean           remove files from the build directory
+       compile         compile a source file into a libtool object
+       execute         automatically set library path, then run a program
+       finish          complete the installation of libtool libraries
+       install         install libraries or executables
+       link            create a library or an executable
+       uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  When passed as first option,
+'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
+Try '$progname --help --mode=MODE' for a more detailed description of MODE.
+
+When reporting a bug, please describe a test case to reproduce it and
+include the following information:
+
+       host-triplet:   $host
+       shell:          $SHELL
+       compiler:       $LTCC
+       compiler flags: $LTCFLAGS
+       linker:         $LD (gnu? $with_gnu_ld)
+       version:        $progname (GNU libtool) 2.4.6
+       automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+       autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+
+Report bugs to <bug-libtool@gnu.org>.
+GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>."
+    exit 0
+}
 
 
-# func_lo2o object
-func_lo2o ()
-{
-    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-} # func_lo2o may be replaced by extended shell implementation
+# func_lo2o OBJECT-NAME
+# ---------------------
+# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
+# object suffix.
 
+lo2o=s/\\.lo\$/.$objext/
+o2lo=s/\\.$objext\$/.lo/
 
-# func_xform libobj-or-source
-func_xform ()
-{
-    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-} # func_xform may be replaced by extended shell implementation
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_lo2o ()
+  {
+    case $1 in
+      *.lo) func_lo2o_result=${1%.lo}.$objext ;;
+      *   ) func_lo2o_result=$1               ;;
+    esac
+  }'
+
+  # func_xform LIBOBJ-OR-SOURCE
+  # ---------------------------
+  # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
+  # suffix to a '.lo' libtool-object suffix.
+  eval 'func_xform ()
+  {
+    func_xform_result=${1%.*}.lo
+  }'
+else
+  # ...otherwise fall back to using sed.
+  func_lo2o ()
+  {
+    func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
+  }
+
+  func_xform ()
+  {
+    func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
+  }
+fi
 
 
-# func_fatal_configuration arg...
+# func_fatal_configuration ARG...
+# -------------------------------
 # Echo program name prefixed message to standard error, followed by
 # a configuration failure hint, and exit.
 func_fatal_configuration ()
 {
-    func_error ${1+"$@"}
-    func_error "See the $PACKAGE documentation for more information."
-    func_fatal_error "Fatal configuration error."
+    func_fatal_error ${1+"$@"} \
+      "See the $PACKAGE documentation for more information." \
+      "Fatal configuration error."
 }
 
 
 # func_config
+# -----------
 # Display the configuration for all the tags in this script.
 func_config ()
 {
@@ -915,17 +2149,19 @@ func_config ()
     exit $?
 }
 
+
 # func_features
+# -------------
 # Display the features supported by this script.
 func_features ()
 {
     echo "host: $host"
-    if test "$build_libtool_libs" = yes; then
+    if test yes = "$build_libtool_libs"; then
       echo "enable shared libraries"
     else
       echo "disable shared libraries"
     fi
-    if test "$build_old_libs" = yes; then
+    if test yes = "$build_old_libs"; then
       echo "enable static libraries"
     else
       echo "disable static libraries"
@@ -934,289 +2170,297 @@ func_features ()
     exit $?
 }
 
-# func_enable_tag tagname
+
+# func_enable_tag TAGNAME
+# -----------------------
 # Verify that TAGNAME is valid, and either flag an error and exit, or
 # enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
 # variable here.
 func_enable_tag ()
 {
-  # Global variable:
-  tagname="$1"
+    # Global variable:
+    tagname=$1
 
-  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-  sed_extractcf="/$re_begincf/,/$re_endcf/p"
+    re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+    re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+    sed_extractcf=/$re_begincf/,/$re_endcf/p
 
-  # Validate tagname.
-  case $tagname in
-    *[!-_A-Za-z0-9,/]*)
-      func_fatal_error "invalid tag name: $tagname"
-      ;;
-  esac
+    # Validate tagname.
+    case $tagname in
+      *[!-_A-Za-z0-9,/]*)
+        func_fatal_error "invalid tag name: $tagname"
+        ;;
+    esac
 
-  # Don't test for the "default" C tag, as we know it's
-  # there but not specially marked.
-  case $tagname in
-    CC) ;;
+    # Don't test for the "default" C tag, as we know it's
+    # there but not specially marked.
+    case $tagname in
+        CC) ;;
     *)
-      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
-       taglist="$taglist $tagname"
-
-       # Evaluate the configuration.  Be careful to quote the path
-       # and the sed script, to avoid splitting on whitespace, but
-       # also don't use non-portable quotes within backquotes within
-       # quotes we have to do it in 2 steps:
-       extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
-       eval "$extractedcf"
-      else
-       func_error "ignoring unknown tag $tagname"
-      fi
-      ;;
-  esac
+        if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+         taglist="$taglist $tagname"
+
+         # Evaluate the configuration.  Be careful to quote the path
+         # and the sed script, to avoid splitting on whitespace, but
+         # also don't use non-portable quotes within backquotes within
+         # quotes we have to do it in 2 steps:
+         extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+         eval "$extractedcf"
+        else
+         func_error "ignoring unknown tag $tagname"
+        fi
+        ;;
+    esac
 }
 
+
 # func_check_version_match
+# ------------------------
 # Ensure that we are using m4 macros, and libtool script from the same
 # release of libtool.
 func_check_version_match ()
 {
-  if test "$package_revision" != "$macro_revision"; then
-    if test "$VERSION" != "$macro_version"; then
-      if test -z "$macro_version"; then
-        cat >&2 <<_LT_EOF
+    if test "$package_revision" != "$macro_revision"; then
+      if test "$VERSION" != "$macro_version"; then
+        if test -z "$macro_version"; then
+          cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
 $progname: definition of this LT_INIT comes from an older release.
 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
 $progname: and run autoconf again.
 _LT_EOF
-      else
-        cat >&2 <<_LT_EOF
+        else
+          cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
 $progname: and run autoconf again.
 _LT_EOF
-      fi
-    else
-      cat >&2 <<_LT_EOF
+        fi
+      else
+        cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
 $progname: but the definition of this LT_INIT comes from revision $macro_revision.
 $progname: You should recreate aclocal.m4 with macros from revision $package_revision
 $progname: of $PACKAGE $VERSION and run autoconf again.
 _LT_EOF
-    fi
+      fi
 
-    exit $EXIT_MISMATCH
-  fi
+      exit $EXIT_MISMATCH
+    fi
 }
 
 
-# Shorthand for --mode=foo, only valid as the first argument
-case $1 in
-clean|clea|cle|cl)
-  shift; set dummy --mode clean ${1+"$@"}; shift
-  ;;
-compile|compil|compi|comp|com|co|c)
-  shift; set dummy --mode compile ${1+"$@"}; shift
-  ;;
-execute|execut|execu|exec|exe|ex|e)
-  shift; set dummy --mode execute ${1+"$@"}; shift
-  ;;
-finish|finis|fini|fin|fi|f)
-  shift; set dummy --mode finish ${1+"$@"}; shift
-  ;;
-install|instal|insta|inst|ins|in|i)
-  shift; set dummy --mode install ${1+"$@"}; shift
-  ;;
-link|lin|li|l)
-  shift; set dummy --mode link ${1+"$@"}; shift
-  ;;
-uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-  shift; set dummy --mode uninstall ${1+"$@"}; shift
-  ;;
-esac
+# libtool_options_prep [ARG]...
+# -----------------------------
+# Preparation for options parsed by libtool.
+libtool_options_prep ()
+{
+    $debug_mode
 
+    # Option defaults:
+    opt_config=false
+    opt_dlopen=
+    opt_dry_run=false
+    opt_help=false
+    opt_mode=
+    opt_preserve_dup_deps=false
+    opt_quiet=false
 
+    nonopt=
+    preserve_args=
 
-# Option defaults:
-opt_debug=:
-opt_dry_run=false
-opt_config=false
-opt_preserve_dup_deps=false
-opt_features=false
-opt_finish=false
-opt_help=false
-opt_help_all=false
-opt_silent=:
-opt_warning=:
-opt_verbose=:
-opt_silent=false
-opt_verbose=false
+    # Shorthand for --mode=foo, only valid as the first argument
+    case $1 in
+    clean|clea|cle|cl)
+      shift; set dummy --mode clean ${1+"$@"}; shift
+      ;;
+    compile|compil|compi|comp|com|co|c)
+      shift; set dummy --mode compile ${1+"$@"}; shift
+      ;;
+    execute|execut|execu|exec|exe|ex|e)
+      shift; set dummy --mode execute ${1+"$@"}; shift
+      ;;
+    finish|finis|fini|fin|fi|f)
+      shift; set dummy --mode finish ${1+"$@"}; shift
+      ;;
+    install|instal|insta|inst|ins|in|i)
+      shift; set dummy --mode install ${1+"$@"}; shift
+      ;;
+    link|lin|li|l)
+      shift; set dummy --mode link ${1+"$@"}; shift
+      ;;
+    uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+      shift; set dummy --mode uninstall ${1+"$@"}; shift
+      ;;
+    esac
+
+    # Pass back the list of options.
+    func_quote_for_eval ${1+"$@"}
+    libtool_options_prep_result=$func_quote_for_eval_result
+}
+func_add_hook func_options_prep libtool_options_prep
 
 
-# Parse options once, thoroughly.  This comes as soon as possible in the
-# script to make things like `--version' happen as quickly as we can.
+# libtool_parse_options [ARG]...
+# ---------------------------------
+# Provide handling for libtool specific options.
+libtool_parse_options ()
 {
-  # this just eases exit handling
-  while test $# -gt 0; do
-    opt="$1"
-    shift
-    case $opt in
-      --debug|-x)      opt_debug='set -x'
-                       func_echo "enabling shell trace mode"
-                       $opt_debug
-                       ;;
-      --dry-run|--dryrun|-n)
-                       opt_dry_run=:
-                       ;;
-      --config)
-                       opt_config=:
-func_config
-                       ;;
-      --dlopen|-dlopen)
-                       optarg="$1"
-                       opt_dlopen="${opt_dlopen+$opt_dlopen
-}$optarg"
-                       shift
-                       ;;
-      --preserve-dup-deps)
-                       opt_preserve_dup_deps=:
-                       ;;
-      --features)
-                       opt_features=:
-func_features
-                       ;;
-      --finish)
-                       opt_finish=:
-set dummy --mode finish ${1+"$@"}; shift
-                       ;;
-      --help)
-                       opt_help=:
-                       ;;
-      --help-all)
-                       opt_help_all=:
-opt_help=': help-all'
-                       ;;
-      --mode)
-                       test $# = 0 && func_missing_arg $opt && break
-                       optarg="$1"
-                       opt_mode="$optarg"
-case $optarg in
-  # Valid mode arguments:
-  clean|compile|execute|finish|install|link|relink|uninstall) ;;
-
-  # Catch anything else as an error
-  *) func_error "invalid argument for $opt"
-     exit_cmd=exit
-     break
-     ;;
-esac
-                       shift
-                       ;;
-      --no-silent|--no-quiet)
-                       opt_silent=false
-func_append preserve_args " $opt"
-                       ;;
-      --no-warning|--no-warn)
-                       opt_warning=false
-func_append preserve_args " $opt"
-                       ;;
-      --no-verbose)
-                       opt_verbose=false
-func_append preserve_args " $opt"
-                       ;;
-      --silent|--quiet)
-                       opt_silent=:
-func_append preserve_args " $opt"
-        opt_verbose=false
-                       ;;
-      --verbose|-v)
-                       opt_verbose=:
-func_append preserve_args " $opt"
-opt_silent=false
-                       ;;
-      --tag)
-                       test $# = 0 && func_missing_arg $opt && break
-                       optarg="$1"
-                       opt_tag="$optarg"
-func_append preserve_args " $opt $optarg"
-func_enable_tag "$optarg"
-                       shift
-                       ;;
-
-      -\?|-h)          func_usage                              ;;
-      --help)          func_help                               ;;
-      --version)       func_version                            ;;
-
-      # Separate optargs to long options:
-      --*=*)
-                       func_split_long_opt "$opt"
-                       set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
-                       shift
-                       ;;
-
-      # Separate non-argument short options:
-      -\?*|-h*|-n*|-v*)
-                       func_split_short_opt "$opt"
-                       set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
-                       shift
-                       ;;
-
-      --)              break                                   ;;
-      -*)              func_fatal_help "unrecognized option \`$opt'" ;;
-      *)               set dummy "$opt" ${1+"$@"};     shift; break  ;;
-    esac
-  done
+    $debug_cmd
 
-  # Validate options:
+    # Perform our own loop to consume as many options as possible in
+    # each iteration.
+    while test $# -gt 0; do
+      _G_opt=$1
+      shift
+      case $_G_opt in
+        --dry-run|--dryrun|-n)
+                        opt_dry_run=:
+                        ;;
+
+        --config)       func_config ;;
+
+        --dlopen|-dlopen)
+                        opt_dlopen="${opt_dlopen+$opt_dlopen
+}$1"
+                        shift
+                        ;;
+
+        --preserve-dup-deps)
+                        opt_preserve_dup_deps=: ;;
+
+        --features)     func_features ;;
+
+        --finish)       set dummy --mode finish ${1+"$@"}; shift ;;
+
+        --help)         opt_help=: ;;
+
+        --help-all)     opt_help=': help-all' ;;
+
+        --mode)         test $# = 0 && func_missing_arg $_G_opt && break
+                        opt_mode=$1
+                        case $1 in
+                          # Valid mode arguments:
+                          clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+                          # Catch anything else as an error
+                          *) func_error "invalid argument for $_G_opt"
+                             exit_cmd=exit
+                             break
+                             ;;
+                        esac
+                        shift
+                        ;;
+
+        --no-silent|--no-quiet)
+                        opt_quiet=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --no-warnings|--no-warning|--no-warn)
+                        opt_warning=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --no-verbose)
+                        opt_verbose=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --silent|--quiet)
+                        opt_quiet=:
+                        opt_verbose=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --tag)          test $# = 0 && func_missing_arg $_G_opt && break
+                        opt_tag=$1
+                        func_append preserve_args " $_G_opt $1"
+                        func_enable_tag "$1"
+                        shift
+                        ;;
+
+        --verbose|-v)   opt_quiet=false
+                        opt_verbose=:
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+       # An option not handled by this hook function:
+        *)             set dummy "$_G_opt" ${1+"$@"};  shift; break  ;;
+      esac
+    done
 
-  # save first non-option argument
-  if test "$#" -gt 0; then
-    nonopt="$opt"
-    shift
-  fi
 
-  # preserve --debug
-  test "$opt_debug" = : || func_append preserve_args " --debug"
+    # save modified positional parameters for caller
+    func_quote_for_eval ${1+"$@"}
+    libtool_parse_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_parse_options libtool_parse_options
 
-  case $host in
-    *cygwin* | *mingw* | *pw32* | *cegcc*)
-      # don't eliminate duplications in $postdeps and $predeps
-      opt_duplicate_compiler_generated_deps=:
-      ;;
-    *)
-      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
-      ;;
-  esac
 
-  $opt_help || {
-    # Sanity checks first:
-    func_check_version_match
 
-    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-      func_fatal_configuration "not configured to build any kind of library"
+# libtool_validate_options [ARG]...
+# ---------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+libtool_validate_options ()
+{
+    # save first non-option argument
+    if test 0 -lt $#; then
+      nonopt=$1
+      shift
     fi
 
-    # Darwin sucks
-    eval std_shrext=\"$shrext_cmds\"
+    # preserve --debug
+    test : = "$debug_cmd" || func_append preserve_args " --debug"
 
-    # Only execute mode is allowed to have -dlopen flags.
-    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
-      func_error "unrecognized option \`-dlopen'"
-      $ECHO "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
+    case $host in
+      # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
+      # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
+      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+        # don't eliminate duplications in $postdeps and $predeps
+        opt_duplicate_compiler_generated_deps=:
+        ;;
+      *)
+        opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+        ;;
+    esac
 
-    # Change the help message to a mode-specific one.
-    generic_help="$help"
-    help="Try \`$progname --help --mode=$opt_mode' for more information."
-  }
+    $opt_help || {
+      # Sanity checks first:
+      func_check_version_match
 
+      test yes != "$build_libtool_libs" \
+        && test yes != "$build_old_libs" \
+        && func_fatal_configuration "not configured to build any kind of library"
 
-  # Bail if the options were screwed
-  $exit_cmd $EXIT_FAILURE
+      # Darwin sucks
+      eval std_shrext=\"$shrext_cmds\"
+
+      # Only execute mode is allowed to have -dlopen flags.
+      if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
+        func_error "unrecognized option '-dlopen'"
+        $ECHO "$help" 1>&2
+        exit $EXIT_FAILURE
+      fi
+
+      # Change the help message to a mode-specific one.
+      generic_help=$help
+      help="Try '$progname --help --mode=$opt_mode' for more information."
+    }
+
+    # Pass back the unparsed argument list
+    func_quote_for_eval ${1+"$@"}
+    libtool_validate_options_result=$func_quote_for_eval_result
 }
+func_add_hook func_validate_options libtool_validate_options
+
 
+# Process options as early as possible so that --help and --version
+# can return quickly.
+func_options ${1+"$@"}
+eval set dummy "$func_options_result"; shift
 
 
 
@@ -1224,24 +2468,52 @@ func_enable_tag "$optarg"
 ##    Main.    ##
 ## ----------- ##
 
+magic='%%%MAGIC variable%%%'
+magic_exe='%%%MAGIC EXE variable%%%'
+
+# Global variables.
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# func_generated_by_libtool
+# True iff stdin has been generated by Libtool. This function is only
+# a basic sanity check; it will hardly flush out determined imposters.
+func_generated_by_libtool_p ()
+{
+  $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
 # func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
 # This function is only a basic sanity check; it will hardly flush out
 # determined imposters.
 func_lalib_p ()
 {
     test -f "$1" &&
-      $SED -e 4q "$1" 2>/dev/null \
-        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+      $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
 }
 
 # func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
 # This function implements the same check as func_lalib_p without
 # resorting to external programs.  To this end, it redirects stdin and
 # closes it afterwards, without saving the original file descriptor.
 # As a safety measure, use it only where a negative result would be
-# fatal anyway.  Works if `file' does not exist.
+# fatal anyway.  Works if 'file' does not exist.
 func_lalib_unsafe_p ()
 {
     lalib_p=no
@@ -1249,13 +2521,13 @@ func_lalib_unsafe_p ()
        for lalib_p_l in 1 2 3 4
        do
            read lalib_p_line
-           case "$lalib_p_line" in
+           case $lalib_p_line in
                \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
            esac
        done
        exec 0<&5 5<&-
     fi
-    test "$lalib_p" = yes
+    test yes = "$lalib_p"
 }
 
 # func_ltwrapper_script_p file
@@ -1264,7 +2536,8 @@ func_lalib_unsafe_p ()
 # determined imposters.
 func_ltwrapper_script_p ()
 {
-    func_lalib_p "$1"
+    test -f "$1" &&
+      $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
 }
 
 # func_ltwrapper_executable_p file
@@ -1289,7 +2562,7 @@ func_ltwrapper_scriptname ()
 {
     func_dirname_and_basename "$1" "" "."
     func_stripname '' '.exe' "$func_basename_result"
-    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+    func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
 }
 
 # func_ltwrapper_p file
@@ -1308,11 +2581,13 @@ func_ltwrapper_p ()
 # FAIL_CMD may read-access the current command in variable CMD!
 func_execute_cmds ()
 {
-    $opt_debug
+    $debug_cmd
+
     save_ifs=$IFS; IFS='~'
     for cmd in $1; do
-      IFS=$save_ifs
+      IFS=$sp$nl
       eval cmd=\"$cmd\"
+      IFS=$save_ifs
       func_show_eval "$cmd" "${2-:}"
     done
     IFS=$save_ifs
@@ -1324,10 +2599,11 @@ func_execute_cmds ()
 # Note that it is not necessary on cygwin/mingw to append a dot to
 # FILE even if both FILE and FILE.exe exist: automatic-append-.exe
 # behavior happens only for exec(3), not for open(2)!  Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
+# 'FILE.' does not work on cygwin managed mounts.
 func_source ()
 {
-    $opt_debug
+    $debug_cmd
+
     case $1 in
     */* | *\\*)        . "$1" ;;
     *)         . "./$1" ;;
@@ -1354,10 +2630,10 @@ func_resolve_sysroot ()
 # store the result into func_replace_sysroot_result.
 func_replace_sysroot ()
 {
-  case "$lt_sysroot:$1" in
+  case $lt_sysroot:$1 in
   ?*:"$lt_sysroot"*)
     func_stripname "$lt_sysroot" '' "$1"
-    func_replace_sysroot_result="=$func_stripname_result"
+    func_replace_sysroot_result='='$func_stripname_result
     ;;
   *)
     # Including no sysroot.
@@ -1374,7 +2650,8 @@ func_replace_sysroot ()
 # arg is usually of the form 'gcc ...'
 func_infer_tag ()
 {
-    $opt_debug
+    $debug_cmd
+
     if test -n "$available_tags" && test -z "$tagname"; then
       CC_quoted=
       for arg in $CC; do
@@ -1393,7 +2670,7 @@ func_infer_tag ()
        for z in $available_tags; do
          if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
            # Evaluate the configuration.
-           eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+           eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
            CC_quoted=
            for arg in $CC; do
              # Double-quote args containing other shell metacharacters.
@@ -1418,7 +2695,7 @@ func_infer_tag ()
        # line option must be used.
        if test -z "$tagname"; then
          func_echo "unable to infer tagged configuration"
-         func_fatal_error "specify a tag with \`--tag'"
+         func_fatal_error "specify a tag with '--tag'"
 #      else
 #        func_verbose "using $tagname tagged configuration"
        fi
@@ -1434,15 +2711,15 @@ func_infer_tag ()
 # but don't create it if we're doing a dry run.
 func_write_libtool_object ()
 {
-    write_libobj=${1}
-    if test "$build_libtool_libs" = yes; then
-      write_lobj=\'${2}\'
+    write_libobj=$1
+    if test yes = "$build_libtool_libs"; then
+      write_lobj=\'$2\'
     else
       write_lobj=none
     fi
 
-    if test "$build_old_libs" = yes; then
-      write_oldobj=\'${3}\'
+    if test yes = "$build_old_libs"; then
+      write_oldobj=\'$3\'
     else
       write_oldobj=none
     fi
@@ -1450,7 +2727,7 @@ func_write_libtool_object ()
     $opt_dry_run || {
       cat >${write_libobj}T <<EOF
 # $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 #
 # Please DO NOT delete this file!
 # It is necessary for linking the library.
@@ -1462,7 +2739,7 @@ pic_object=$write_lobj
 non_pic_object=$write_oldobj
 
 EOF
-      $MV "${write_libobj}T" "${write_libobj}"
+      $MV "${write_libobj}T" "$write_libobj"
     }
 }
 
@@ -1482,8 +2759,9 @@ EOF
 # be empty on error (or when ARG is empty)
 func_convert_core_file_wine_to_w32 ()
 {
-  $opt_debug
-  func_convert_core_file_wine_to_w32_result="$1"
+  $debug_cmd
+
+  func_convert_core_file_wine_to_w32_result=$1
   if test -n "$1"; then
     # Unfortunately, winepath does not exit with a non-zero error code, so we
     # are forced to check the contents of stdout. On the other hand, if the
@@ -1491,9 +2769,9 @@ func_convert_core_file_wine_to_w32 ()
     # *an error message* to stdout. So we must check for both error code of
     # zero AND non-empty stdout, which explains the odd construction:
     func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
-    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+    if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
       func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
-        $SED -e "$lt_sed_naive_backslashify"`
+        $SED -e "$sed_naive_backslashify"`
     else
       func_convert_core_file_wine_to_w32_result=
     fi
@@ -1514,18 +2792,19 @@ func_convert_core_file_wine_to_w32 ()
 # are convertible, then the result may be empty.
 func_convert_core_path_wine_to_w32 ()
 {
-  $opt_debug
+  $debug_cmd
+
   # unfortunately, winepath doesn't convert paths, only file names
-  func_convert_core_path_wine_to_w32_result=""
+  func_convert_core_path_wine_to_w32_result=
   if test -n "$1"; then
     oldIFS=$IFS
     IFS=:
     for func_convert_core_path_wine_to_w32_f in $1; do
       IFS=$oldIFS
       func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
-      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+      if test -n "$func_convert_core_file_wine_to_w32_result"; then
         if test -z "$func_convert_core_path_wine_to_w32_result"; then
-          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+          func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
         else
           func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
         fi
@@ -1554,7 +2833,8 @@ func_convert_core_path_wine_to_w32 ()
 # environment variable; do not put it in $PATH.
 func_cygpath ()
 {
-  $opt_debug
+  $debug_cmd
+
   if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
     func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
     if test "$?" -ne 0; then
@@ -1563,7 +2843,7 @@ func_cygpath ()
     fi
   else
     func_cygpath_result=
-    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+    func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
   fi
 }
 #end: func_cygpath
@@ -1574,10 +2854,11 @@ func_cygpath ()
 # result in func_convert_core_msys_to_w32_result.
 func_convert_core_msys_to_w32 ()
 {
-  $opt_debug
+  $debug_cmd
+
   # awkward: cmd appends spaces to result
   func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
-    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+    $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
 }
 #end: func_convert_core_msys_to_w32
 
@@ -1588,13 +2869,14 @@ func_convert_core_msys_to_w32 ()
 # func_to_host_file_result to ARG1).
 func_convert_file_check ()
 {
-  $opt_debug
-  if test -z "$2" && test -n "$1" ; then
+  $debug_cmd
+
+  if test -z "$2" && test -n "$1"; then
     func_error "Could not determine host file name corresponding to"
-    func_error "  \`$1'"
+    func_error "  '$1'"
     func_error "Continuing, but uninstalled executables may not work."
     # Fallback:
-    func_to_host_file_result="$1"
+    func_to_host_file_result=$1
   fi
 }
 # end func_convert_file_check
@@ -1606,10 +2888,11 @@ func_convert_file_check ()
 # func_to_host_file_result to a simplistic fallback value (see below).
 func_convert_path_check ()
 {
-  $opt_debug
+  $debug_cmd
+
   if test -z "$4" && test -n "$3"; then
     func_error "Could not determine the host path corresponding to"
-    func_error "  \`$3'"
+    func_error "  '$3'"
     func_error "Continuing, but uninstalled executables may not work."
     # Fallback.  This is a deliberately simplistic "conversion" and
     # should not be "improved".  See libtool.info.
@@ -1618,7 +2901,7 @@ func_convert_path_check ()
       func_to_host_path_result=`echo "$3" |
         $SED -e "$lt_replace_pathsep_chars"`
     else
-      func_to_host_path_result="$3"
+      func_to_host_path_result=$3
     fi
   fi
 }
@@ -1630,9 +2913,10 @@ func_convert_path_check ()
 # and appending REPL if ORIG matches BACKPAT.
 func_convert_path_front_back_pathsep ()
 {
-  $opt_debug
+  $debug_cmd
+
   case $4 in
-  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+  $1 ) func_to_host_path_result=$3$func_to_host_path_result
     ;;
   esac
   case $4 in
@@ -1646,7 +2930,7 @@ func_convert_path_front_back_pathsep ()
 ##################################################
 # $build to $host FILE NAME CONVERSION FUNCTIONS #
 ##################################################
-# invoked via `$to_host_file_cmd ARG'
+# invoked via '$to_host_file_cmd ARG'
 #
 # In each case, ARG is the path to be converted from $build to $host format.
 # Result will be available in $func_to_host_file_result.
@@ -1657,7 +2941,8 @@ func_convert_path_front_back_pathsep ()
 # in func_to_host_file_result.
 func_to_host_file ()
 {
-  $opt_debug
+  $debug_cmd
+
   $to_host_file_cmd "$1"
 }
 # end func_to_host_file
@@ -1669,7 +2954,8 @@ func_to_host_file ()
 # in (the comma separated) LAZY, no conversion takes place.
 func_to_tool_file ()
 {
-  $opt_debug
+  $debug_cmd
+
   case ,$2, in
     *,"$to_tool_file_cmd",*)
       func_to_tool_file_result=$1
@@ -1687,7 +2973,7 @@ func_to_tool_file ()
 # Copy ARG to func_to_host_file_result.
 func_convert_file_noop ()
 {
-  func_to_host_file_result="$1"
+  func_to_host_file_result=$1
 }
 # end func_convert_file_noop
 
@@ -1698,11 +2984,12 @@ func_convert_file_noop ()
 # func_to_host_file_result.
 func_convert_file_msys_to_w32 ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     func_convert_core_msys_to_w32 "$1"
-    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+    func_to_host_file_result=$func_convert_core_msys_to_w32_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1714,8 +3001,9 @@ func_convert_file_msys_to_w32 ()
 # func_to_host_file_result.
 func_convert_file_cygwin_to_w32 ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
     # LT_CYGPATH in this case.
@@ -1731,11 +3019,12 @@ func_convert_file_cygwin_to_w32 ()
 # and a working winepath. Returns result in func_to_host_file_result.
 func_convert_file_nix_to_w32 ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     func_convert_core_file_wine_to_w32 "$1"
-    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+    func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1747,12 +3036,13 @@ func_convert_file_nix_to_w32 ()
 # Returns result in func_to_host_file_result.
 func_convert_file_msys_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     func_convert_core_msys_to_w32 "$1"
     func_cygpath -u "$func_convert_core_msys_to_w32_result"
-    func_to_host_file_result="$func_cygpath_result"
+    func_to_host_file_result=$func_cygpath_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1765,13 +3055,14 @@ func_convert_file_msys_to_cygwin ()
 # in func_to_host_file_result.
 func_convert_file_nix_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
     func_convert_core_file_wine_to_w32 "$1"
     func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
-    func_to_host_file_result="$func_cygpath_result"
+    func_to_host_file_result=$func_cygpath_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1781,7 +3072,7 @@ func_convert_file_nix_to_cygwin ()
 #############################################
 # $build to $host PATH CONVERSION FUNCTIONS #
 #############################################
-# invoked via `$to_host_path_cmd ARG'
+# invoked via '$to_host_path_cmd ARG'
 #
 # In each case, ARG is the path to be converted from $build to $host format.
 # The result will be available in $func_to_host_path_result.
@@ -1805,10 +3096,11 @@ func_convert_file_nix_to_cygwin ()
 to_host_path_cmd=
 func_init_to_host_path_cmd ()
 {
-  $opt_debug
+  $debug_cmd
+
   if test -z "$to_host_path_cmd"; then
     func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
-    to_host_path_cmd="func_convert_path_${func_stripname_result}"
+    to_host_path_cmd=func_convert_path_$func_stripname_result
   fi
 }
 
@@ -1818,7 +3110,8 @@ func_init_to_host_path_cmd ()
 # in func_to_host_path_result.
 func_to_host_path ()
 {
-  $opt_debug
+  $debug_cmd
+
   func_init_to_host_path_cmd
   $to_host_path_cmd "$1"
 }
@@ -1829,7 +3122,7 @@ func_to_host_path ()
 # Copy ARG to func_to_host_path_result.
 func_convert_path_noop ()
 {
-  func_to_host_path_result="$1"
+  func_to_host_path_result=$1
 }
 # end func_convert_path_noop
 
@@ -1840,8 +3133,9 @@ func_convert_path_noop ()
 # func_to_host_path_result.
 func_convert_path_msys_to_w32 ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # Remove leading and trailing path separator characters from ARG.  MSYS
     # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
@@ -1849,7 +3143,7 @@ func_convert_path_msys_to_w32 ()
     func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+    func_to_host_path_result=$func_convert_core_msys_to_w32_result
     func_convert_path_check : ";" \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1863,8 +3157,9 @@ func_convert_path_msys_to_w32 ()
 # func_to_host_file_result.
 func_convert_path_cygwin_to_w32 ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"
@@ -1883,14 +3178,15 @@ func_convert_path_cygwin_to_w32 ()
 # a working winepath.  Returns result in func_to_host_file_result.
 func_convert_path_nix_to_w32 ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+    func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
     func_convert_path_check : ";" \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1904,15 +3200,16 @@ func_convert_path_nix_to_w32 ()
 # Returns result in func_to_host_file_result.
 func_convert_path_msys_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
     func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
-    func_to_host_path_result="$func_cygpath_result"
+    func_to_host_path_result=$func_cygpath_result
     func_convert_path_check : : \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1927,8 +3224,9 @@ func_convert_path_msys_to_cygwin ()
 # func_to_host_file_result.
 func_convert_path_nix_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # Remove leading and trailing path separator characters from
     # ARG. msys behavior is inconsistent here, cygpath turns them
@@ -1937,7 +3235,7 @@ func_convert_path_nix_to_cygwin ()
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
     func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
-    func_to_host_path_result="$func_cygpath_result"
+    func_to_host_path_result=$func_cygpath_result
     func_convert_path_check : : \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1946,13 +3244,31 @@ func_convert_path_nix_to_cygwin ()
 # end func_convert_path_nix_to_cygwin
 
 
+# func_dll_def_p FILE
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with _LT_DLL_DEF_P in libtool.m4
+func_dll_def_p ()
+{
+  $debug_cmd
+
+  func_dll_def_p_tmp=`$SED -n \
+    -e 's/^[    ]*//' \
+    -e '/^\(;.*\)*$/d' \
+    -e 's/^\(EXPORTS\|LIBRARY\)\([      ].*\)*$/DEF/p' \
+    -e q \
+    "$1"`
+  test DEF = "$func_dll_def_p_tmp"
+}
+
+
 # func_mode_compile arg...
 func_mode_compile ()
 {
-    $opt_debug
+    $debug_cmd
+
     # Get the compilation command and the source file.
     base_compile=
-    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    srcfile=$nonopt  #  always keep a non-empty value in "srcfile"
     suppress_opt=yes
     suppress_output=
     arg_mode=normal
@@ -1965,12 +3281,12 @@ func_mode_compile ()
       case $arg_mode in
       arg  )
        # do not "continue".  Instead, add this to base_compile
-       lastarg="$arg"
+       lastarg=$arg
        arg_mode=normal
        ;;
 
       target )
-       libobj="$arg"
+       libobj=$arg
        arg_mode=normal
        continue
        ;;
@@ -1980,7 +3296,7 @@ func_mode_compile ()
        case $arg in
        -o)
          test -n "$libobj" && \
-           func_fatal_error "you cannot specify \`-o' more than once"
+           func_fatal_error "you cannot specify '-o' more than once"
          arg_mode=target
          continue
          ;;
@@ -2009,12 +3325,12 @@ func_mode_compile ()
          func_stripname '-Wc,' '' "$arg"
          args=$func_stripname_result
          lastarg=
-         save_ifs="$IFS"; IFS=','
+         save_ifs=$IFS; IFS=,
          for arg in $args; do
-           IFS="$save_ifs"
+           IFS=$save_ifs
            func_append_quoted lastarg "$arg"
          done
-         IFS="$save_ifs"
+         IFS=$save_ifs
          func_stripname ' ' '' "$lastarg"
          lastarg=$func_stripname_result
 
@@ -2027,8 +3343,8 @@ func_mode_compile ()
          # Accept the current argument as the source file.
          # The previous "srcfile" becomes the current argument.
          #
-         lastarg="$srcfile"
-         srcfile="$arg"
+         lastarg=$srcfile
+         srcfile=$arg
          ;;
        esac  #  case $arg
        ;;
@@ -2043,13 +3359,13 @@ func_mode_compile ()
       func_fatal_error "you must specify an argument for -Xcompile"
       ;;
     target)
-      func_fatal_error "you must specify a target with \`-o'"
+      func_fatal_error "you must specify a target with '-o'"
       ;;
     *)
       # Get the name of the library object.
       test -z "$libobj" && {
        func_basename "$srcfile"
-       libobj="$func_basename_result"
+       libobj=$func_basename_result
       }
       ;;
     esac
@@ -2069,7 +3385,7 @@ func_mode_compile ()
     case $libobj in
     *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
     *)
-      func_fatal_error "cannot determine name of library object from \`$libobj'"
+      func_fatal_error "cannot determine name of library object from '$libobj'"
       ;;
     esac
 
@@ -2078,8 +3394,8 @@ func_mode_compile ()
     for arg in $later; do
       case $arg in
       -shared)
-       test "$build_libtool_libs" != yes && \
-         func_fatal_configuration "can not build a shared library"
+       test yes = "$build_libtool_libs" \
+         || func_fatal_configuration "cannot build a shared library"
        build_old_libs=no
        continue
        ;;
@@ -2105,17 +3421,17 @@ func_mode_compile ()
     func_quote_for_eval "$libobj"
     test "X$libobj" != "X$func_quote_for_eval_result" \
       && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'   &()|`$[]' \
-      && func_warning "libobj name \`$libobj' may not contain shell special characters."
+      && func_warning "libobj name '$libobj' may not contain shell special characters."
     func_dirname_and_basename "$obj" "/" ""
-    objname="$func_basename_result"
-    xdir="$func_dirname_result"
-    lobj=${xdir}$objdir/$objname
+    objname=$func_basename_result
+    xdir=$func_dirname_result
+    lobj=$xdir$objdir/$objname
 
     test -z "$base_compile" && \
       func_fatal_help "you must specify a compilation command"
 
     # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
+    if test yes = "$build_old_libs"; then
       removelist="$obj $lobj $libobj ${libobj}T"
     else
       removelist="$lobj $libobj ${libobj}T"
@@ -2127,16 +3443,16 @@ func_mode_compile ()
       pic_mode=default
       ;;
     esac
-    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+    if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
       # non-PIC code in shared libraries is not supported
       pic_mode=default
     fi
 
     # Calculate the filename of the output object if compiler does
     # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
-      lockfile="$output_obj.lock"
+    if test no = "$compiler_c_o"; then
+      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
+      lockfile=$output_obj.lock
     else
       output_obj=
       need_locks=no
@@ -2145,12 +3461,12 @@ func_mode_compile ()
 
     # Lock this critical section if it is needed
     # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
+    if test yes = "$need_locks"; then
       until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
        func_echo "Waiting for $lockfile to be removed"
        sleep 2
       done
-    elif test "$need_locks" = warn; then
+    elif test warn = "$need_locks"; then
       if test -f "$lockfile"; then
        $ECHO "\
 *** ERROR, $lockfile exists and contains:
@@ -2158,7 +3474,7 @@ func_mode_compile ()
 
 This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
+your compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
@@ -2180,11 +3496,11 @@ compiler."
     qsrcfile=$func_quote_for_eval_result
 
     # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
+    if test yes = "$build_libtool_libs"; then
       # Without this assignment, base_compile gets emptied.
       fbsd_hideous_sh_bug=$base_compile
 
-      if test "$pic_mode" != no; then
+      if test no != "$pic_mode"; then
        command="$base_compile $qsrcfile $pic_flag"
       else
        # Don't build PIC code
@@ -2201,7 +3517,7 @@ compiler."
       func_show_eval_locale "$command" \
           'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
 
-      if test "$need_locks" = warn &&
+      if test warn = "$need_locks" &&
         test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
        $ECHO "\
 *** ERROR, $lockfile contains:
@@ -2212,7 +3528,7 @@ $srcfile
 
 This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
+your compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
@@ -2228,20 +3544,20 @@ compiler."
       fi
 
       # Allow error messages only from the first compilation.
-      if test "$suppress_opt" = yes; then
+      if test yes = "$suppress_opt"; then
        suppress_output=' >/dev/null 2>&1'
       fi
     fi
 
     # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      if test "$pic_mode" != yes; then
+    if test yes = "$build_old_libs"; then
+      if test yes != "$pic_mode"; then
        # Don't build PIC code
        command="$base_compile $qsrcfile$pie_flag"
       else
        command="$base_compile $qsrcfile $pic_flag"
       fi
-      if test "$compiler_c_o" = yes; then
+      if test yes = "$compiler_c_o"; then
        func_append command " -o $obj"
       fi
 
@@ -2250,7 +3566,7 @@ compiler."
       func_show_eval_locale "$command" \
         '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
 
-      if test "$need_locks" = warn &&
+      if test warn = "$need_locks" &&
         test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
        $ECHO "\
 *** ERROR, $lockfile contains:
@@ -2261,7 +3577,7 @@ $srcfile
 
 This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
+your compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
@@ -2281,7 +3597,7 @@ compiler."
       func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
 
       # Unlock the critical section if it was locked
-      if test "$need_locks" != no; then
+      if test no != "$need_locks"; then
        removelist=$lockfile
         $RM "$lockfile"
       fi
@@ -2291,7 +3607,7 @@ compiler."
 }
 
 $opt_help || {
-  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+  test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
 }
 
 func_mode_help ()
@@ -2311,7 +3627,7 @@ func_mode_help ()
 Remove files from the build directory.
 
 RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
 to RM.
 
 If FILE is a libtool library, object or program, all the files associated
@@ -2330,16 +3646,16 @@ This mode accepts the following additional options:
   -no-suppress      do not suppress compiler output for multiple passes
   -prefer-pic       try to build PIC objects only
   -prefer-non-pic   try to build non-PIC objects only
-  -shared           do not build a \`.o' file suitable for static linking
-  -static           only build a \`.o' file suitable for static linking
+  -shared           do not build a '.o' file suitable for static linking
+  -static           only build a '.o' file suitable for static linking
   -Wc,FLAG          pass FLAG directly to the compiler
 
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+COMPILE-COMMAND is a command to be used in creating a 'standard' object file
 from the given SOURCEFILE.
 
 The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
+SOURCEFILE, then substituting the C source code suffix '.c' with the
+library object suffix, '.lo'."
         ;;
 
       execute)
@@ -2352,7 +3668,7 @@ This mode accepts the following additional options:
 
   -dlopen FILE      add the directory containing FILE to the library path
 
-This mode sets the library path environment variable according to \`-dlopen'
+This mode sets the library path environment variable according to '-dlopen'
 flags.
 
 If any of the ARGS are libtool executable wrappers, then they are translated
@@ -2371,7 +3687,7 @@ Complete the installation of libtool libraries.
 Each LIBDIR is a directory that contains libtool libraries.
 
 The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
+the '--dry-run' option if you just want to see what would be executed."
         ;;
 
       install)
@@ -2381,7 +3697,7 @@ the \`--dry-run' option if you just want to see what would be executed."
 Install executables or libraries.
 
 INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
+either the 'install' or 'cp' program.
 
 The following components of INSTALL-COMMAND are treated specially:
 
@@ -2407,7 +3723,7 @@ The following components of LINK-COMMAND are treated specially:
   -avoid-version    do not add a version suffix if possible
   -bindir BINDIR    specify path to binaries directory (for systems where
                     libraries must be found in the PATH setting at runtime)
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlopen FILE      '-dlpreopen' FILE if it cannot be dlopened at runtime
   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   -export-symbols SYMFILE
@@ -2421,7 +3737,8 @@ The following components of LINK-COMMAND are treated specially:
   -no-install       link a not-installable executable
   -no-undefined     declare that a library does not refer to external symbols
   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -objectlist FILE  use a list of object files found in FILE to specify objects
+  -os2dllname NAME  force a short DLL name on OS/2 (no effect on other OSes)
   -precious-files-regex REGEX
                     don't remove output files matching REGEX
   -release RELEASE  specify package release information
@@ -2441,20 +3758,20 @@ The following components of LINK-COMMAND are treated specially:
   -Xlinker FLAG     pass linker-specific FLAG directly to the linker
   -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
 
-All other options (arguments beginning with \`-') are ignored.
+All other options (arguments beginning with '-') are ignored.
 
-Every other argument is treated as a filename.  Files ending in \`.la' are
+Every other argument is treated as a filename.  Files ending in '.la' are
 treated as uninstalled libtool libraries, other files are standard or library
 object files.
 
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
+If the OUTPUT-FILE ends in '.la', then a libtool library is created,
+only library objects ('.lo' files) may be specified, and '-rpath' is
 required, except when creating a convenience library.
 
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
+If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
+using 'ar' and 'ranlib', or on Windows using 'lib'.
 
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
 is created, otherwise an executable program is created."
         ;;
 
@@ -2465,7 +3782,7 @@ is created, otherwise an executable program is created."
 Remove libraries from an installation directory.
 
 RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
 to RM.
 
 If FILE is a libtool library, all the files associated with it are deleted.
@@ -2473,17 +3790,17 @@ Otherwise, only FILE itself is deleted using RM."
         ;;
 
       *)
-        func_fatal_help "invalid operation mode \`$opt_mode'"
+        func_fatal_help "invalid operation mode '$opt_mode'"
         ;;
     esac
 
     echo
-    $ECHO "Try \`$progname --help' for more information about other modes."
+    $ECHO "Try '$progname --help' for more information about other modes."
 }
 
 # Now that we've collected a possible --mode arg, show help if necessary
 if $opt_help; then
-  if test "$opt_help" = :; then
+  if test : = "$opt_help"; then
     func_mode_help
   else
     {
@@ -2491,7 +3808,7 @@ if $opt_help; then
       for opt_mode in compile link execute install finish uninstall clean; do
        func_mode_help
       done
-    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
+    } | $SED -n '1p; 2,$s/^Usage:/  or: /p'
     {
       func_help noexit
       for opt_mode in compile link execute install finish uninstall clean; do
@@ -2499,7 +3816,7 @@ if $opt_help; then
        func_mode_help
       done
     } |
-    sed '1d
+    $SED '1d
       /^When reporting/,/^Report/{
        H
        d
@@ -2516,16 +3833,17 @@ fi
 # func_mode_execute arg...
 func_mode_execute ()
 {
-    $opt_debug
+    $debug_cmd
+
     # The first argument is the command name.
-    cmd="$nonopt"
+    cmd=$nonopt
     test -z "$cmd" && \
       func_fatal_help "you must specify a COMMAND"
 
     # Handle -dlopen flags immediately.
     for file in $opt_dlopen; do
       test -f "$file" \
-       || func_fatal_help "\`$file' is not a file"
+       || func_fatal_help "'$file' is not a file"
 
       dir=
       case $file in
@@ -2535,7 +3853,7 @@ func_mode_execute ()
 
        # Check to see that this really is a libtool archive.
        func_lalib_unsafe_p "$file" \
-         || func_fatal_help "\`$lib' is not a valid libtool archive"
+         || func_fatal_help "'$lib' is not a valid libtool archive"
 
        # Read the libtool library.
        dlname=
@@ -2546,18 +3864,18 @@ func_mode_execute ()
        if test -z "$dlname"; then
          # Warn if it was a shared library.
          test -n "$library_names" && \
-           func_warning "\`$file' was not linked with \`-export-dynamic'"
+           func_warning "'$file' was not linked with '-export-dynamic'"
          continue
        fi
 
        func_dirname "$file" "" "."
-       dir="$func_dirname_result"
+       dir=$func_dirname_result
 
        if test -f "$dir/$objdir/$dlname"; then
          func_append dir "/$objdir"
        else
          if test ! -f "$dir/$dlname"; then
-           func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+           func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
          fi
        fi
        ;;
@@ -2565,18 +3883,18 @@ func_mode_execute ()
       *.lo)
        # Just add the directory containing the .lo file.
        func_dirname "$file" "" "."
-       dir="$func_dirname_result"
+       dir=$func_dirname_result
        ;;
 
       *)
-       func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+       func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
        continue
        ;;
       esac
 
       # Get the absolute pathname.
       absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
+      test -n "$absdir" && dir=$absdir
 
       # Now add the directory to shlibpath_var.
       if eval "test -z \"\$$shlibpath_var\""; then
@@ -2588,7 +3906,7 @@ func_mode_execute ()
 
     # This variable tells wrapper scripts just to set shlibpath_var
     # rather than running their programs.
-    libtool_execute_magic="$magic"
+    libtool_execute_magic=$magic
 
     # Check if any of the arguments is a wrapper script.
     args=
@@ -2601,12 +3919,12 @@ func_mode_execute ()
        if func_ltwrapper_script_p "$file"; then
          func_source "$file"
          # Transform arg to wrapped name.
-         file="$progdir/$program"
+         file=$progdir/$program
        elif func_ltwrapper_executable_p "$file"; then
          func_ltwrapper_scriptname "$file"
          func_source "$func_ltwrapper_scriptname_result"
          # Transform arg to wrapped name.
-         file="$progdir/$program"
+         file=$progdir/$program
        fi
        ;;
       esac
@@ -2614,7 +3932,15 @@ func_mode_execute ()
       func_append_quoted args "$file"
     done
 
-    if test "X$opt_dry_run" = Xfalse; then
+    if $opt_dry_run; then
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+       eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+       echo "export $shlibpath_var"
+      fi
+      $ECHO "$cmd$args"
+      exit $EXIT_SUCCESS
+    else
       if test -n "$shlibpath_var"; then
        # Export the shlibpath_var.
        eval "export $shlibpath_var"
@@ -2631,25 +3957,18 @@ func_mode_execute ()
       done
 
       # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-       eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-       echo "export $shlibpath_var"
-      fi
-      $ECHO "$cmd$args"
-      exit $EXIT_SUCCESS
+      exec_cmd=\$cmd$args
     fi
 }
 
-test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
 
 
 # func_mode_finish arg...
 func_mode_finish ()
 {
-    $opt_debug
+    $debug_cmd
+
     libs=
     libdirs=
     admincmds=
@@ -2663,11 +3982,11 @@ func_mode_finish ()
        if func_lalib_unsafe_p "$opt"; then
          func_append libs " $opt"
        else
-         func_warning "\`$opt' is not a valid libtool archive"
+         func_warning "'$opt' is not a valid libtool archive"
        fi
 
       else
-       func_fatal_error "invalid argument \`$opt'"
+       func_fatal_error "invalid argument '$opt'"
       fi
     done
 
@@ -2682,12 +4001,12 @@ func_mode_finish ()
       # Remove sysroot references
       if $opt_dry_run; then
         for lib in $libs; do
-          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+          echo "removing references to $lt_sysroot and '=' prefixes from $lib"
         done
       else
         tmpdir=`func_mktempdir`
         for lib in $libs; do
-         sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+         $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
            > $tmpdir/tmp-la
          mv -f $tmpdir/tmp-la $lib
        done
@@ -2712,7 +4031,7 @@ func_mode_finish ()
     fi
 
     # Exit here if they wanted silent mode.
-    $opt_silent && exit $EXIT_SUCCESS
+    $opt_quiet && exit $EXIT_SUCCESS
 
     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
       echo "----------------------------------------------------------------------"
@@ -2723,27 +4042,27 @@ func_mode_finish ()
       echo
       echo "If you ever happen to want to link against installed libraries"
       echo "in a given directory, LIBDIR, you must either use libtool, and"
-      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+      echo "specify the full pathname of the library, or use the '-LLIBDIR'"
       echo "flag during linking and do at least one of the following:"
       if test -n "$shlibpath_var"; then
-       echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+       echo "   - add LIBDIR to the '$shlibpath_var' environment variable"
        echo "     during execution"
       fi
       if test -n "$runpath_var"; then
-       echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+       echo "   - add LIBDIR to the '$runpath_var' environment variable"
        echo "     during linking"
       fi
       if test -n "$hardcode_libdir_flag_spec"; then
        libdir=LIBDIR
        eval flag=\"$hardcode_libdir_flag_spec\"
 
-       $ECHO "   - use the \`$flag' linker flag"
+       $ECHO "   - use the '$flag' linker flag"
       fi
       if test -n "$admincmds"; then
        $ECHO "   - have your system administrator run these commands:$admincmds"
       fi
       if test -f /etc/ld.so.conf; then
-       echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+       echo "   - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
       fi
       echo
 
@@ -2762,18 +4081,20 @@ func_mode_finish ()
     exit $EXIT_SUCCESS
 }
 
-test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
 
 
 # func_mode_install arg...
 func_mode_install ()
 {
-    $opt_debug
+    $debug_cmd
+
     # There may be an optional sh(1) argument at the beginning of
     # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+    if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
        # Allow the use of GNU shtool's install command.
-       case $nonopt in *shtool*) :;; *) false;; esac; then
+       case $nonopt in *shtool*) :;; *) false;; esac
+    then
       # Aesthetically quote it.
       func_quote_for_eval "$nonopt"
       install_prog="$func_quote_for_eval_result "
@@ -2800,7 +4121,7 @@ func_mode_install ()
     opts=
     prev=
     install_type=
-    isdir=no
+    isdir=false
     stripme=
     no_mode=:
     for arg
@@ -2813,7 +4134,7 @@ func_mode_install ()
       fi
 
       case $arg in
-      -d) isdir=yes ;;
+      -d) isdir=: ;;
       -f)
        if $install_cp; then :; else
          prev=$arg
@@ -2831,7 +4152,7 @@ func_mode_install ()
       *)
        # If the previous option needed an argument, then skip it.
        if test -n "$prev"; then
-         if test "x$prev" = x-m && test -n "$install_override_mode"; then
+         if test X-m = "X$prev" && test -n "$install_override_mode"; then
            arg2=$install_override_mode
            no_mode=false
          fi
@@ -2856,7 +4177,7 @@ func_mode_install ()
       func_fatal_help "you must specify an install program"
 
     test -n "$prev" && \
-      func_fatal_help "the \`$prev' option requires an argument"
+      func_fatal_help "the '$prev' option requires an argument"
 
     if test -n "$install_override_mode" && $no_mode; then
       if $install_cp; then :; else
@@ -2878,19 +4199,19 @@ func_mode_install ()
     dest=$func_stripname_result
 
     # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
+    test -d "$dest" && isdir=:
+    if $isdir; then
+      destdir=$dest
       destname=
     else
       func_dirname_and_basename "$dest" "" "."
-      destdir="$func_dirname_result"
-      destname="$func_basename_result"
+      destdir=$func_dirname_result
+      destname=$func_basename_result
 
       # Not a directory, so check to see that there is only one file specified.
       set dummy $files; shift
       test "$#" -gt 1 && \
-       func_fatal_help "\`$dest' is not a directory"
+       func_fatal_help "'$dest' is not a directory"
     fi
     case $destdir in
     [\\/]* | [A-Za-z]:[\\/]*) ;;
@@ -2899,7 +4220,7 @@ func_mode_install ()
        case $file in
        *.lo) ;;
        *)
-         func_fatal_help "\`$destdir' must be an absolute directory name"
+         func_fatal_help "'$destdir' must be an absolute directory name"
          ;;
        esac
       done
@@ -2908,7 +4229,7 @@ func_mode_install ()
 
     # This variable tells wrapper scripts just to set variables rather
     # than running their programs.
-    libtool_install_magic="$magic"
+    libtool_install_magic=$magic
 
     staticlibs=
     future_libdirs=
@@ -2928,7 +4249,7 @@ func_mode_install ()
 
        # Check to see that this really is a libtool archive.
        func_lalib_unsafe_p "$file" \
-         || func_fatal_help "\`$file' is not a valid libtool archive"
+         || func_fatal_help "'$file' is not a valid libtool archive"
 
        library_names=
        old_library=
@@ -2950,7 +4271,7 @@ func_mode_install ()
        fi
 
        func_dirname "$file" "/" ""
-       dir="$func_dirname_result"
+       dir=$func_dirname_result
        func_append dir "$objdir"
 
        if test -n "$relink_command"; then
@@ -2964,7 +4285,7 @@ func_mode_install ()
          # are installed into $libdir/../bin (currently, that works fine)
          # but it's something to keep an eye on.
          test "$inst_prefix_dir" = "$destdir" && \
-           func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+           func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
 
          if test -n "$inst_prefix_dir"; then
            # Stick the inst_prefix_dir data into the link command.
@@ -2973,29 +4294,36 @@ func_mode_install ()
            relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
          fi
 
-         func_warning "relinking \`$file'"
+         func_warning "relinking '$file'"
          func_show_eval "$relink_command" \
-           'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+           'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
        fi
 
        # See the names of the shared library.
        set dummy $library_names; shift
        if test -n "$1"; then
-         realname="$1"
+         realname=$1
          shift
 
-         srcname="$realname"
-         test -n "$relink_command" && srcname="$realname"T
+         srcname=$realname
+         test -n "$relink_command" && srcname=${realname}T
 
          # Install the shared library and build the symlinks.
          func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
              'exit $?'
-         tstripme="$stripme"
+         tstripme=$stripme
          case $host_os in
          cygwin* | mingw* | pw32* | cegcc*)
            case $realname in
            *.dll.a)
-             tstripme=""
+             tstripme=
+             ;;
+           esac
+           ;;
+         os2*)
+           case $realname in
+           *_dll.a)
+             tstripme=
              ;;
            esac
            ;;
@@ -3006,7 +4334,7 @@ func_mode_install ()
 
          if test "$#" -gt 0; then
            # Delete the old symlinks, and create new ones.
-           # Try `ln -sf' first, because the `ln' binary might depend on
+           # Try 'ln -sf' first, because the 'ln' binary might depend on
            # the symlink we replace!  Solaris /bin/ln does not understand -f,
            # so we also need to try rm && ln -s.
            for linkname
@@ -3017,14 +4345,14 @@ func_mode_install ()
          fi
 
          # Do each command in the postinstall commands.
-         lib="$destdir/$realname"
+         lib=$destdir/$realname
          func_execute_cmds "$postinstall_cmds" 'exit $?'
        fi
 
        # Install the pseudo-library for information purposes.
        func_basename "$file"
-       name="$func_basename_result"
-       instname="$dir/$name"i
+       name=$func_basename_result
+       instname=$dir/${name}i
        func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
 
        # Maybe install the static library, too.
@@ -3036,11 +4364,11 @@ func_mode_install ()
 
        # Figure out destination file name, if it wasn't already specified.
        if test -n "$destname"; then
-         destfile="$destdir/$destname"
+         destfile=$destdir/$destname
        else
          func_basename "$file"
-         destfile="$func_basename_result"
-         destfile="$destdir/$destfile"
+         destfile=$func_basename_result
+         destfile=$destdir/$destfile
        fi
 
        # Deduce the name of the destination old-style object file.
@@ -3050,11 +4378,11 @@ func_mode_install ()
          staticdest=$func_lo2o_result
          ;;
        *.$objext)
-         staticdest="$destfile"
+         staticdest=$destfile
          destfile=
          ;;
        *)
-         func_fatal_help "cannot copy a libtool object to \`$destfile'"
+         func_fatal_help "cannot copy a libtool object to '$destfile'"
          ;;
        esac
 
@@ -3063,7 +4391,7 @@ func_mode_install ()
          func_show_eval "$install_prog $file $destfile" 'exit $?'
 
        # Install the old object if enabled.
-       if test "$build_old_libs" = yes; then
+       if test yes = "$build_old_libs"; then
          # Deduce the name of the old-style object file.
          func_lo2o "$file"
          staticobj=$func_lo2o_result
@@ -3075,23 +4403,23 @@ func_mode_install ()
       *)
        # Figure out destination file name, if it wasn't already specified.
        if test -n "$destname"; then
-         destfile="$destdir/$destname"
+         destfile=$destdir/$destname
        else
          func_basename "$file"
-         destfile="$func_basename_result"
-         destfile="$destdir/$destfile"
+         destfile=$func_basename_result
+         destfile=$destdir/$destfile
        fi
 
        # If the file is missing, and there is a .exe on the end, strip it
        # because it is most likely a libtool script we actually want to
        # install
-       stripped_ext=""
+       stripped_ext=
        case $file in
          *.exe)
            if test ! -f "$file"; then
              func_stripname '' '.exe' "$file"
              file=$func_stripname_result
-             stripped_ext=".exe"
+             stripped_ext=.exe
            fi
            ;;
        esac
@@ -3119,19 +4447,19 @@ func_mode_install ()
 
          # Check the variables that should have been set.
          test -z "$generated_by_libtool_version" && \
-           func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+           func_fatal_error "invalid libtool wrapper script '$wrapper'"
 
-         finalize=yes
+         finalize=:
          for lib in $notinst_deplibs; do
            # Check to see that each library is installed.
            libdir=
            if test -f "$lib"; then
              func_source "$lib"
            fi
-           libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
+           libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
            if test -n "$libdir" && test ! -f "$libfile"; then
-             func_warning "\`$lib' has not been installed in \`$libdir'"
-             finalize=no
+             func_warning "'$lib' has not been installed in '$libdir'"
+             finalize=false
            fi
          done
 
@@ -3139,29 +4467,29 @@ func_mode_install ()
          func_source "$wrapper"
 
          outputname=
-         if test "$fast_install" = no && test -n "$relink_command"; then
+         if test no = "$fast_install" && test -n "$relink_command"; then
            $opt_dry_run || {
-             if test "$finalize" = yes; then
+             if $finalize; then
                tmpdir=`func_mktempdir`
                func_basename "$file$stripped_ext"
-               file="$func_basename_result"
-               outputname="$tmpdir/$file"
+               file=$func_basename_result
+               outputname=$tmpdir/$file
                # Replace the output file specification.
                relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
 
-               $opt_silent || {
+               $opt_quiet || {
                  func_quote_for_expand "$relink_command"
                  eval "func_echo $func_quote_for_expand_result"
                }
                if eval "$relink_command"; then :
                  else
-                 func_error "error: relink \`$file' with the above command before installing it"
+                 func_error "error: relink '$file' with the above command before installing it"
                  $opt_dry_run || ${RM}r "$tmpdir"
                  continue
                fi
-               file="$outputname"
+               file=$outputname
              else
-               func_warning "cannot relink \`$file'"
+               func_warning "cannot relink '$file'"
              fi
            }
          else
@@ -3198,10 +4526,10 @@ func_mode_install ()
 
     for file in $staticlibs; do
       func_basename "$file"
-      name="$func_basename_result"
+      name=$func_basename_result
 
       # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
+      oldlib=$destdir/$name
       func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
       tool_oldlib=$func_to_tool_file_result
 
@@ -3216,18 +4544,18 @@ func_mode_install ()
     done
 
     test -n "$future_libdirs" && \
-      func_warning "remember to run \`$progname --finish$future_libdirs'"
+      func_warning "remember to run '$progname --finish$future_libdirs'"
 
     if test -n "$current_libdirs"; then
       # Maybe just do a dry run.
       $opt_dry_run && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+      exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
     else
       exit $EXIT_SUCCESS
     fi
 }
 
-test "$opt_mode" = install && func_mode_install ${1+"$@"}
+test install = "$opt_mode" && func_mode_install ${1+"$@"}
 
 
 # func_generate_dlsyms outputname originator pic_p
@@ -3235,16 +4563,17 @@ test "$opt_mode" = install && func_mode_install ${1+"$@"}
 # a dlpreopen symbol table.
 func_generate_dlsyms ()
 {
-    $opt_debug
-    my_outputname="$1"
-    my_originator="$2"
-    my_pic_p="${3-no}"
-    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+    $debug_cmd
+
+    my_outputname=$1
+    my_originator=$2
+    my_pic_p=${3-false}
+    my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
     my_dlsyms=
 
-    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+    if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
       if test -n "$NM" && test -n "$global_symbol_pipe"; then
-       my_dlsyms="${my_outputname}S.c"
+       my_dlsyms=${my_outputname}S.c
       else
        func_error "not configured to extract global symbols from dlpreopened files"
       fi
@@ -3255,7 +4584,7 @@ func_generate_dlsyms ()
       "") ;;
       *.c)
        # Discover the nlist of each of the dlfiles.
-       nlist="$output_objdir/${my_outputname}.nm"
+       nlist=$output_objdir/$my_outputname.nm
 
        func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
 
@@ -3263,34 +4592,36 @@ func_generate_dlsyms ()
        func_verbose "creating $output_objdir/$my_dlsyms"
 
        $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
 
 #ifdef __cplusplus
 extern \"C\" {
 #endif
 
-#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
 #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
 #endif
 
 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
    relocations are performed -- see ld's documentation on pseudo-relocs.  */
 # define LT_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
 /* This system does not cope well with relocations in const data.  */
 # define LT_DLSYM_CONST
 #else
 # define LT_DLSYM_CONST const
 #endif
 
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
 /* External symbol declarations for the compiler. */\
 "
 
-       if test "$dlself" = yes; then
-         func_verbose "generating symbol list for \`$output'"
+       if test yes = "$dlself"; then
+         func_verbose "generating symbol list for '$output'"
 
          $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
 
@@ -3298,7 +4629,7 @@ extern \"C\" {
          progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
          for progfile in $progfiles; do
            func_to_tool_file "$progfile" func_convert_file_msys_to_w32
-           func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+           func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
            $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
          done
 
@@ -3318,10 +4649,10 @@ extern \"C\" {
 
          # Prepare the list of exported symbols
          if test -z "$export_symbols"; then
-           export_symbols="$output_objdir/$outputname.exp"
+           export_symbols=$output_objdir/$outputname.exp
            $opt_dry_run || {
              $RM $export_symbols
-             eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+             eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
              case $host in
              *cygwin* | *mingw* | *cegcc* )
                 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
@@ -3331,7 +4662,7 @@ extern \"C\" {
            }
          else
            $opt_dry_run || {
-             eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+             eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
              eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
              eval '$MV "$nlist"T "$nlist"'
              case $host in
@@ -3345,22 +4676,22 @@ extern \"C\" {
        fi
 
        for dlprefile in $dlprefiles; do
-         func_verbose "extracting global C symbols from \`$dlprefile'"
+         func_verbose "extracting global C symbols from '$dlprefile'"
          func_basename "$dlprefile"
-         name="$func_basename_result"
+         name=$func_basename_result
           case $host in
            *cygwin* | *mingw* | *cegcc* )
              # if an import library, we need to obtain dlname
              if func_win32_import_lib_p "$dlprefile"; then
                func_tr_sh "$dlprefile"
                eval "curr_lafile=\$libfile_$func_tr_sh_result"
-               dlprefile_dlbasename=""
+               dlprefile_dlbasename=
                if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
                  # Use subshell, to avoid clobbering current variable values
                  dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
-                 if test -n "$dlprefile_dlname" ; then
+                 if test -n "$dlprefile_dlname"; then
                    func_basename "$dlprefile_dlname"
-                   dlprefile_dlbasename="$func_basename_result"
+                   dlprefile_dlbasename=$func_basename_result
                  else
                    # no lafile. user explicitly requested -dlpreopen <import library>.
                    $sharedlib_from_linklib_cmd "$dlprefile"
@@ -3368,7 +4699,7 @@ extern \"C\" {
                  fi
                fi
                $opt_dry_run || {
-                 if test -n "$dlprefile_dlbasename" ; then
+                 if test -n "$dlprefile_dlbasename"; then
                    eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
                  else
                    func_warning "Could not compute DLL name from $name"
@@ -3424,6 +4755,11 @@ extern \"C\" {
            echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
          fi
 
+         func_show_eval '$RM "${nlist}I"'
+         if test -n "$global_symbol_to_import"; then
+           eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
+         fi
+
          echo >> "$output_objdir/$my_dlsyms" "\
 
 /* The mapping between symbol names and symbols.  */
@@ -3432,11 +4768,30 @@ typedef struct {
   void *address;
 } lt_dlsymlist;
 extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
+lt_${my_prefix}_LTX_preloaded_symbols[];\
+"
+
+         if test -s "$nlist"I; then
+           echo >> "$output_objdir/$my_dlsyms" "\
+static void lt_syminit(void)
+{
+  LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
+  for (; symbol->name; ++symbol)
+    {"
+           $SED 's/.*/      if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
+           echo >> "$output_objdir/$my_dlsyms" "\
+    }
+}"
+         fi
+         echo >> "$output_objdir/$my_dlsyms" "\
 LT_DLSYM_CONST lt_dlsymlist
 lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
-  { \"$my_originator\", (void *) 0 },"
+{ {\"$my_originator\", (void *) 0},"
+
+         if test -s "$nlist"I; then
+           echo >> "$output_objdir/$my_dlsyms" "\
+  {\"@INIT@\", (void *) &lt_syminit},"
+         fi
 
          case $need_lib_prefix in
          no)
@@ -3478,9 +4833,7 @@ static const void *lt_preloaded_setup() {
          *-*-hpux*)
            pic_flag_for_symtable=" $pic_flag"  ;;
          *)
-           if test "X$my_pic_p" != Xno; then
-             pic_flag_for_symtable=" $pic_flag"
-           fi
+           $my_pic_p && pic_flag_for_symtable=" $pic_flag"
            ;;
          esac
          ;;
@@ -3497,10 +4850,10 @@ static const void *lt_preloaded_setup() {
        func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
 
        # Clean up the generated files.
-       func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+       func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
 
        # Transform the symbol file into the correct name.
-       symfileobj="$output_objdir/${my_outputname}S.$objext"
+       symfileobj=$output_objdir/${my_outputname}S.$objext
        case $host in
        *cygwin* | *mingw* | *cegcc* )
          if test -f "$output_objdir/$my_outputname.def"; then
@@ -3518,7 +4871,7 @@ static const void *lt_preloaded_setup() {
        esac
        ;;
       *)
-       func_fatal_error "unknown suffix for \`$my_dlsyms'"
+       func_fatal_error "unknown suffix for '$my_dlsyms'"
        ;;
       esac
     else
@@ -3532,6 +4885,32 @@ static const void *lt_preloaded_setup() {
     fi
 }
 
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+  $debug_cmd
+
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+  test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+  $debug_cmd
+
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+  test -n "$func_cygming_ms_implib_tmp"
+}
+
 # func_win32_libid arg
 # return the library type of file 'arg'
 #
@@ -3541,8 +4920,9 @@ static const void *lt_preloaded_setup() {
 # Despite the name, also deal with 64 bit binaries.
 func_win32_libid ()
 {
-  $opt_debug
-  win32_libid_type="unknown"
+  $debug_cmd
+
+  win32_libid_type=unknown
   win32_fileres=`file -L $1 2>/dev/null`
   case $win32_fileres in
   *ar\ archive\ import\ library*) # definitely import
@@ -3552,16 +4932,29 @@ func_win32_libid ()
     # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
        $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
-      func_to_tool_file "$1" func_convert_file_msys_to_w32
-      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
-       $SED -n -e '
+      case $nm_interface in
+      "MS dumpbin")
+       if func_cygming_ms_implib_p "$1" ||
+          func_cygming_gnu_implib_p "$1"
+       then
+         win32_nmres=import
+       else
+         win32_nmres=
+       fi
+       ;;
+      *)
+       func_to_tool_file "$1" func_convert_file_msys_to_w32
+       win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+         $SED -n -e '
            1,100{
                / I /{
-                   s,.*,import,
+                   s|.*|import|
                    p
                    q
                }
            }'`
+       ;;
+      esac
       case $win32_nmres in
       import*)  win32_libid_type="x86 archive import";;
       *)        win32_libid_type="x86 archive static";;
@@ -3593,7 +4986,8 @@ func_win32_libid ()
 #    $sharedlib_from_linklib_result
 func_cygming_dll_for_implib ()
 {
-  $opt_debug
+  $debug_cmd
+
   sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
 }
 
@@ -3610,7 +5004,8 @@ func_cygming_dll_for_implib ()
 # specified import library.
 func_cygming_dll_for_implib_fallback_core ()
 {
-  $opt_debug
+  $debug_cmd
+
   match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
   $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
     $SED '/^Contents of section '"$match_literal"':/{
@@ -3646,8 +5041,8 @@ func_cygming_dll_for_implib_fallback_core ()
       /./p' |
     # we now have a list, one entry per line, of the stringified
     # contents of the appropriate section of all members of the
-    # archive which possess that section. Heuristic: eliminate
-    # all those which have a first or second character that is
+    # archive that possess that section. Heuristic: eliminate
+    # all those that have a first or second character that is
     # a '.' (that is, objdump's representation of an unprintable
     # character.) This should work for all archives with less than
     # 0x302f exports -- but will fail for DLLs whose name actually
@@ -3658,30 +5053,6 @@ func_cygming_dll_for_implib_fallback_core ()
     $SED -e '/^\./d;/^.\./d;q'
 }
 
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
-  $opt_debug
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
-  test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
-  $opt_debug
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
-  test -n "$func_cygming_ms_implib_tmp"
-}
-
 # func_cygming_dll_for_implib_fallback ARG
 # Platform-specific function to extract the
 # name of the DLL associated with the specified
@@ -3695,16 +5066,17 @@ func_cygming_ms_implib_p ()
 #    $sharedlib_from_linklib_result
 func_cygming_dll_for_implib_fallback ()
 {
-  $opt_debug
-  if func_cygming_gnu_implib_p "$1" ; then
+  $debug_cmd
+
+  if func_cygming_gnu_implib_p "$1"; then
     # binutils import library
     sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
-  elif func_cygming_ms_implib_p "$1" ; then
+  elif func_cygming_ms_implib_p "$1"; then
     # ms-generated import library
     sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
   else
     # unknown
-    sharedlib_from_linklib_result=""
+    sharedlib_from_linklib_result=
   fi
 }
 
@@ -3712,10 +5084,11 @@ func_cygming_dll_for_implib_fallback ()
 # func_extract_an_archive dir oldlib
 func_extract_an_archive ()
 {
-    $opt_debug
-    f_ex_an_ar_dir="$1"; shift
-    f_ex_an_ar_oldlib="$1"
-    if test "$lock_old_archive_extraction" = yes; then
+    $debug_cmd
+
+    f_ex_an_ar_dir=$1; shift
+    f_ex_an_ar_oldlib=$1
+    if test yes = "$lock_old_archive_extraction"; then
       lockfile=$f_ex_an_ar_oldlib.lock
       until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
        func_echo "Waiting for $lockfile to be removed"
@@ -3724,7 +5097,7 @@ func_extract_an_archive ()
     fi
     func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
                   'stat=$?; rm -f "$lockfile"; exit $stat'
-    if test "$lock_old_archive_extraction" = yes; then
+    if test yes = "$lock_old_archive_extraction"; then
       $opt_dry_run || rm -f "$lockfile"
     fi
     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
@@ -3738,22 +5111,23 @@ func_extract_an_archive ()
 # func_extract_archives gentop oldlib ...
 func_extract_archives ()
 {
-    $opt_debug
-    my_gentop="$1"; shift
+    $debug_cmd
+
+    my_gentop=$1; shift
     my_oldlibs=${1+"$@"}
-    my_oldobjs=""
-    my_xlib=""
-    my_xabs=""
-    my_xdir=""
+    my_oldobjs=
+    my_xlib=
+    my_xabs=
+    my_xdir=
 
     for my_xlib in $my_oldlibs; do
       # Extract the objects.
       case $my_xlib in
-       [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+       [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
        *) my_xabs=`pwd`"/$my_xlib" ;;
       esac
       func_basename "$my_xlib"
-      my_xlib="$func_basename_result"
+      my_xlib=$func_basename_result
       my_xlib_u=$my_xlib
       while :; do
         case " $extracted_archives " in
@@ -3765,7 +5139,7 @@ func_extract_archives ()
        esac
       done
       extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir="$my_gentop/$my_xlib_u"
+      my_xdir=$my_gentop/$my_xlib_u
 
       func_mkdir_p "$my_xdir"
 
@@ -3778,22 +5152,23 @@ func_extract_archives ()
          cd $my_xdir || exit $?
          darwin_archive=$my_xabs
          darwin_curdir=`pwd`
-         darwin_base_archive=`basename "$darwin_archive"`
+         func_basename "$darwin_archive"
+         darwin_base_archive=$func_basename_result
          darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
          if test -n "$darwin_arches"; then
            darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
            darwin_arch=
            func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
-           for darwin_arch in  $darwin_arches ; do
-             func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-             $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-             cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-             func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+           for darwin_arch in  $darwin_arches; do
+             func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
+             $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
+             cd "unfat-$$/$darwin_base_archive-$darwin_arch"
+             func_extract_an_archive "`pwd`" "$darwin_base_archive"
              cd "$darwin_curdir"
-             $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+             $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
            done # $darwin_arches
             ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
            darwin_file=
            darwin_files=
            for darwin_file in $darwin_filelist; do
@@ -3815,7 +5190,7 @@ func_extract_archives ()
       my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
     done
 
-    func_extract_archives_result="$my_oldobjs"
+    func_extract_archives_result=$my_oldobjs
 }
 
 
@@ -3830,7 +5205,7 @@ func_extract_archives ()
 #
 # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
 # variable will take.  If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
+# will assume that the directory where it is stored is
 # the $objdir directory.  This is a cygwin/mingw-specific
 # behavior.
 func_emit_wrapper ()
@@ -3841,7 +5216,7 @@ func_emit_wrapper ()
 #! $SHELL
 
 # $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 #
 # The $output program cannot be directly executed until all the libtool
 # libraries that it depends on are installed.
@@ -3898,9 +5273,9 @@ _LTECHO_EOF'
 
 # Very basic option parsing. These options are (a) specific to
 # the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ which is used only on
+# /script/ and the wrapper /executable/ that is used only on
 # windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options which match
+# (application programs are unlikely to have options that match
 # this pattern).
 #
 # There are only two supported options: --lt-debug and
@@ -3933,7 +5308,7 @@ func_parse_lt_options ()
 
   # Print the debug banner immediately:
   if test -n \"\$lt_option_debug\"; then
-    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+    echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
   fi
 }
 
@@ -3944,7 +5319,7 @@ func_lt_dump_args ()
   lt_dump_args_N=1;
   for lt_arg
   do
-    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+    \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
     lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
   done
 }
@@ -3958,7 +5333,7 @@ func_exec_program_core ()
   *-*-mingw | *-*-os2* | *-cegcc*)
     $ECHO "\
       if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
         func_lt_dump_args \${1+\"\$@\"} 1>&2
       fi
       exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
@@ -3968,7 +5343,7 @@ func_exec_program_core ()
   *)
     $ECHO "\
       if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
         func_lt_dump_args \${1+\"\$@\"} 1>&2
       fi
       exec \"\$progdir/\$program\" \${1+\"\$@\"}
@@ -4043,13 +5418,13 @@ func_exec_program ()
   test -n \"\$absdir\" && thisdir=\"\$absdir\"
 "
 
-       if test "$fast_install" = yes; then
+       if test yes = "$fast_install"; then
          $ECHO "\
   program=lt-'$outputname'$exeext
   progdir=\"\$thisdir/$objdir\"
 
   if test ! -f \"\$progdir/\$program\" ||
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
        test \"X\$file\" != \"X\$progdir/\$program\"; }; then
 
     file=\"\$\$-\$program\"
@@ -4066,7 +5441,7 @@ func_exec_program ()
     if test -n \"\$relink_command\"; then
       if relink_command_output=\`eval \$relink_command 2>&1\`; then :
       else
-       $ECHO \"\$relink_command_output\" >&2
+       \$ECHO \"\$relink_command_output\" >&2
        $RM \"\$progdir/\$file\"
        exit 1
       fi
@@ -4101,7 +5476,7 @@ func_exec_program ()
        fi
 
        # Export our shlibpath_var if we have one.
-       if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+       if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
          $ECHO "\
     # Add our own library path to $shlibpath_var
     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
@@ -4121,7 +5496,7 @@ func_exec_program ()
     fi
   else
     # The program doesn't exist.
-    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
     \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
     \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1
@@ -4140,7 +5515,7 @@ func_emit_cwrapperexe_src ()
        cat <<EOF
 
 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+   Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 
    The $output program cannot be directly executed until all the libtool
    libraries that it depends on are installed.
@@ -4175,47 +5550,45 @@ EOF
 #include <fcntl.h>
 #include <sys/stat.h>
 
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
 /* declarations of non-ANSI functions */
-#if defined(__MINGW32__)
+#if defined __MINGW32__
 # ifdef __STRICT_ANSI__
 int _putenv (const char *);
 # endif
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
 # ifdef __STRICT_ANSI__
 char *realpath (const char *, char *);
 int putenv (char *);
 int setenv (const char *, const char *, int);
 # endif
-/* #elif defined (other platforms) ... */
+/* #elif defined other_platform || defined ... */
 #endif
 
 /* portability defines, excluding path handling macros */
-#if defined(_MSC_VER)
+#if defined _MSC_VER
 # define setmode _setmode
 # define stat    _stat
 # define chmod   _chmod
 # define getcwd  _getcwd
 # define putenv  _putenv
 # define S_IXUSR _S_IEXEC
-# ifndef _INTPTR_T_DEFINED
-#  define _INTPTR_T_DEFINED
-#  define intptr_t int
-# endif
-#elif defined(__MINGW32__)
+#elif defined __MINGW32__
 # define setmode _setmode
 # define stat    _stat
 # define chmod   _chmod
 # define getcwd  _getcwd
 # define putenv  _putenv
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
 # define HAVE_SETENV
 # define FOPEN_WB "wb"
-/* #elif defined (other platforms) ... */
+/* #elif defined other platforms ... */
 #endif
 
-#if defined(PATH_MAX)
+#if defined PATH_MAX
 # define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
+#elif defined MAXPATHLEN
 # define LT_PATHMAX MAXPATHLEN
 #else
 # define LT_PATHMAX 1024
@@ -4234,8 +5607,8 @@ int setenv (const char *, const char *, int);
 # define PATH_SEPARATOR ':'
 #endif
 
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
+#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
+  defined __OS2__
 # define HAVE_DOS_BASED_FILE_SYSTEM
 # define FOPEN_WB "wb"
 # ifndef DIR_SEPARATOR_2
@@ -4268,10 +5641,10 @@ int setenv (const char *, const char *, int);
 
 #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
 #define XFREE(stale) do { \
-  if (stale) { free ((void *) stale); stale = 0; } \
+  if (stale) { free (stale); stale = 0; } \
 } while (0)
 
-#if defined(LT_DEBUGWRAPPER)
+#if defined LT_DEBUGWRAPPER
 static int lt_debug = 1;
 #else
 static int lt_debug = 0;
@@ -4300,11 +5673,16 @@ void lt_dump_script (FILE *f);
 EOF
 
            cat <<EOF
-volatile const char * MAGIC_EXE = "$magic_exe";
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
+# define externally_visible volatile
+#else
+# define externally_visible __attribute__((externally_visible)) volatile
+#endif
+externally_visible const char * MAGIC_EXE = "$magic_exe";
 const char * LIB_PATH_VARNAME = "$shlibpath_var";
 EOF
 
-           if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+           if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
               func_to_host_path "$temp_rpath"
              cat <<EOF
 const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
@@ -4328,7 +5706,7 @@ const char * EXE_PATH_VALUE   = "";
 EOF
            fi
 
-           if test "$fast_install" = yes; then
+           if test yes = "$fast_install"; then
              cat <<EOF
 const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
 EOF
@@ -4357,12 +5735,12 @@ main (int argc, char *argv[])
   char *actual_cwrapper_name;
   char *target_name;
   char *lt_argv_zero;
-  intptr_t rval = 127;
+  int rval = 127;
 
   int i;
 
   program_name = (char *) xstrdup (base_name (argv[0]));
-  newargz = XMALLOC (char *, argc + 1);
+  newargz = XMALLOC (char *, (size_t) argc + 1);
 
   /* very simple arg parsing; don't want to rely on getopt
    * also, copy all non cwrapper options to newargz, except
@@ -4371,10 +5749,10 @@ main (int argc, char *argv[])
   newargc=0;
   for (i = 1; i < argc; i++)
     {
-      if (strcmp (argv[i], dumpscript_opt) == 0)
+      if (STREQ (argv[i], dumpscript_opt))
        {
 EOF
-           case "$host" in
+           case $host in
              *mingw* | *cygwin* )
                # make stdout use "unix" line endings
                echo "          setmode(1,_O_BINARY);"
@@ -4385,12 +5763,12 @@ EOF
          lt_dump_script (stdout);
          return 0;
        }
-      if (strcmp (argv[i], debug_opt) == 0)
+      if (STREQ (argv[i], debug_opt))
        {
           lt_debug = 1;
           continue;
        }
-      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+      if (STREQ (argv[i], ltwrapper_option_prefix))
         {
           /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
              namespace, but it is not one of the ones we know about and
@@ -4413,7 +5791,7 @@ EOF
 EOF
            cat <<EOF
   /* The GNU banner must be the first non-error debug message */
-  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
 EOF
            cat <<"EOF"
   lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
@@ -4524,7 +5902,7 @@ EOF
                cat <<"EOF"
   /* execv doesn't actually work on mingw as expected on unix */
   newargz = prepare_spawn (newargz);
-  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+  rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
   if (rval == -1)
     {
       /* failed to start process */
@@ -4569,7 +5947,7 @@ base_name (const char *name)
 {
   const char *base;
 
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
   /* Skip over the disk name in MSDOS pathnames. */
   if (isalpha ((unsigned char) name[0]) && name[1] == ':')
     name += 2;
@@ -4628,7 +6006,7 @@ find_executable (const char *wrapper)
   const char *p_next;
   /* static buffer for getcwd */
   char tmp[LT_PATHMAX + 1];
-  int tmp_len;
+  size_t tmp_len;
   char *concat_name;
 
   lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
@@ -4638,7 +6016,7 @@ find_executable (const char *wrapper)
     return NULL;
 
   /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
   if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
     {
       concat_name = xstrdup (wrapper);
@@ -4656,7 +6034,7 @@ find_executable (const char *wrapper)
            return concat_name;
          XFREE (concat_name);
        }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
     }
 #endif
 
@@ -4679,7 +6057,7 @@ find_executable (const char *wrapper)
              for (q = p; *q; q++)
                if (IS_PATH_SEPARATOR (*q))
                  break;
-             p_len = q - p;
+             p_len = (size_t) (q - p);
              p_next = (*q == '\0' ? q : q + 1);
              if (p_len == 0)
                {
@@ -4798,7 +6176,7 @@ strendzap (char *str, const char *pat)
   if (patlen <= len)
     {
       str += len - patlen;
-      if (strcmp (str, pat) == 0)
+      if (STREQ (str, pat))
        *str = '\0';
     }
   return str;
@@ -4863,7 +6241,7 @@ lt_setenv (const char *name, const char *value)
     char *str = xstrdup (value);
     setenv (name, str, 1);
 #else
-    int len = strlen (name) + 1 + strlen (value) + 1;
+    size_t len = strlen (name) + 1 + strlen (value) + 1;
     char *str = XMALLOC (char, len);
     sprintf (str, "%s=%s", name, value);
     if (putenv (str) != EXIT_SUCCESS)
@@ -4880,8 +6258,8 @@ lt_extend_str (const char *orig_value, const char *add, int to_end)
   char *new_value;
   if (orig_value && *orig_value)
     {
-      int orig_value_len = strlen (orig_value);
-      int add_len = strlen (add);
+      size_t orig_value_len = strlen (orig_value);
+      size_t add_len = strlen (add);
       new_value = XMALLOC (char, add_len + orig_value_len + 1);
       if (to_end)
         {
@@ -4912,10 +6290,10 @@ lt_update_exe_path (const char *name, const char *value)
     {
       char *new_value = lt_extend_str (getenv (name), value, 0);
       /* some systems can't cope with a ':'-terminated path #' */
-      int len = strlen (new_value);
-      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+      size_t len = strlen (new_value);
+      while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
         {
-          new_value[len-1] = '\0';
+          new_value[--len] = '\0';
         }
       lt_setenv (name, new_value);
       XFREE (new_value);
@@ -5082,27 +6460,47 @@ EOF
 # True if ARG is an import lib, as indicated by $file_magic_cmd
 func_win32_import_lib_p ()
 {
-    $opt_debug
+    $debug_cmd
+
     case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
     *import*) : ;;
     *) false ;;
     esac
 }
 
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+    $debug_cmd
+
+    case " $compile_command " in
+    *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+      suncc_use_cstd_abi=no
+      ;;
+    *)
+      suncc_use_cstd_abi=yes
+      ;;
+    esac
+}
+
 # func_mode_link arg...
 func_mode_link ()
 {
-    $opt_debug
+    $debug_cmd
+
     case $host in
     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
       # It is impossible to link a dll without this setting, and
       # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
+      # what system we are compiling for in order to pass an extra
       # flag for every libtool invocation.
       # allow_undefined=no
 
       # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
+      # to make a dll that has undefined symbols, in which case not
       # even a static library is built.  For now, we need to specify
       # -no-undefined on the libtool link line when we can be certain
       # that all symbols are satisfied, otherwise we get a static library.
@@ -5146,10 +6544,11 @@ func_mode_link ()
     module=no
     no_install=no
     objs=
+    os2dllname=
     non_pic_objects=
     precious_files_regex=
     prefer_static_libs=no
-    preload=no
+    preload=false
     prev=
     prevarg=
     release=
@@ -5161,7 +6560,7 @@ func_mode_link ()
     vinfo=
     vinfo_number=no
     weak_libs=
-    single_module="${wl}-single_module"
+    single_module=$wl-single_module
     func_infer_tag $base_compile
 
     # We need to know -static, to get the right output filenames.
@@ -5169,15 +6568,15 @@ func_mode_link ()
     do
       case $arg in
       -shared)
-       test "$build_libtool_libs" != yes && \
-         func_fatal_configuration "can not build a shared library"
+       test yes != "$build_libtool_libs" \
+         && func_fatal_configuration "cannot build a shared library"
        build_old_libs=no
        break
        ;;
       -all-static | -static | -static-libtool-libs)
        case $arg in
        -all-static)
-         if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+         if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
            func_warning "complete static linking is impossible in this configuration"
          fi
          if test -n "$link_static_flag"; then
@@ -5210,7 +6609,7 @@ func_mode_link ()
 
     # Go through the arguments, transforming them on the way.
     while test "$#" -gt 0; do
-      arg="$1"
+      arg=$1
       shift
       func_quote_for_eval "$arg"
       qarg=$func_quote_for_eval_unquoted_result
@@ -5227,21 +6626,21 @@ func_mode_link ()
 
        case $prev in
        bindir)
-         bindir="$arg"
+         bindir=$arg
          prev=
          continue
          ;;
        dlfiles|dlprefiles)
-         if test "$preload" = no; then
+         $preload || {
            # Add the symbol object into the linking commands.
            func_append compile_command " @SYMFILE@"
            func_append finalize_command " @SYMFILE@"
-           preload=yes
-         fi
+           preload=:
+         }
          case $arg in
          *.la | *.lo) ;;  # We handle these cases below.
          force)
-           if test "$dlself" = no; then
+           if test no = "$dlself"; then
              dlself=needless
              export_dynamic=yes
            fi
@@ -5249,9 +6648,9 @@ func_mode_link ()
            continue
            ;;
          self)
-           if test "$prev" = dlprefiles; then
+           if test dlprefiles = "$prev"; then
              dlself=yes
-           elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+           elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
              dlself=yes
            else
              dlself=needless
@@ -5261,7 +6660,7 @@ func_mode_link ()
            continue
            ;;
          *)
-           if test "$prev" = dlfiles; then
+           if test dlfiles = "$prev"; then
              func_append dlfiles " $arg"
            else
              func_append dlprefiles " $arg"
@@ -5272,14 +6671,14 @@ func_mode_link ()
          esac
          ;;
        expsyms)
-         export_symbols="$arg"
+         export_symbols=$arg
          test -f "$arg" \
-           || func_fatal_error "symbol file \`$arg' does not exist"
+           || func_fatal_error "symbol file '$arg' does not exist"
          prev=
          continue
          ;;
        expsyms_regex)
-         export_symbols_regex="$arg"
+         export_symbols_regex=$arg
          prev=
          continue
          ;;
@@ -5297,7 +6696,13 @@ func_mode_link ()
          continue
          ;;
        inst_prefix)
-         inst_prefix_dir="$arg"
+         inst_prefix_dir=$arg
+         prev=
+         continue
+         ;;
+       mllvm)
+         # Clang does not use LLVM to link, so we can simply discard any
+         # '-mllvm $arg' options when doing the link step.
          prev=
          continue
          ;;
@@ -5321,21 +6726,21 @@ func_mode_link ()
 
                if test -z "$pic_object" ||
                   test -z "$non_pic_object" ||
-                  test "$pic_object" = none &&
-                  test "$non_pic_object" = none; then
-                 func_fatal_error "cannot find name of object for \`$arg'"
+                  test none = "$pic_object" &&
+                  test none = "$non_pic_object"; then
+                 func_fatal_error "cannot find name of object for '$arg'"
                fi
 
                # Extract subdirectory from the argument.
                func_dirname "$arg" "/" ""
-               xdir="$func_dirname_result"
+               xdir=$func_dirname_result
 
-               if test "$pic_object" != none; then
+               if test none != "$pic_object"; then
                  # Prepend the subdirectory the object is found in.
-                 pic_object="$xdir$pic_object"
+                 pic_object=$xdir$pic_object
 
-                 if test "$prev" = dlfiles; then
-                   if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+                 if test dlfiles = "$prev"; then
+                   if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
                      func_append dlfiles " $pic_object"
                      prev=
                      continue
@@ -5346,7 +6751,7 @@ func_mode_link ()
                  fi
 
                  # CHECK ME:  I think I busted this.  -Ossama
-                 if test "$prev" = dlprefiles; then
+                 if test dlprefiles = "$prev"; then
                    # Preload the old-style object.
                    func_append dlprefiles " $pic_object"
                    prev=
@@ -5354,23 +6759,23 @@ func_mode_link ()
 
                  # A PIC object.
                  func_append libobjs " $pic_object"
-                 arg="$pic_object"
+                 arg=$pic_object
                fi
 
                # Non-PIC object.
-               if test "$non_pic_object" != none; then
+               if test none != "$non_pic_object"; then
                  # Prepend the subdirectory the object is found in.
-                 non_pic_object="$xdir$non_pic_object"
+                 non_pic_object=$xdir$non_pic_object
 
                  # A standard non-PIC object
                  func_append non_pic_objects " $non_pic_object"
-                 if test -z "$pic_object" || test "$pic_object" = none ; then
-                   arg="$non_pic_object"
+                 if test -z "$pic_object" || test none = "$pic_object"; then
+                   arg=$non_pic_object
                  fi
                else
                  # If the PIC object exists, use it instead.
                  # $xdir was prepended to $pic_object above.
-                 non_pic_object="$pic_object"
+                 non_pic_object=$pic_object
                  func_append non_pic_objects " $non_pic_object"
                fi
              else
@@ -5378,7 +6783,7 @@ func_mode_link ()
                if $opt_dry_run; then
                  # Extract subdirectory from the argument.
                  func_dirname "$arg" "/" ""
-                 xdir="$func_dirname_result"
+                 xdir=$func_dirname_result
 
                  func_lo2o "$arg"
                  pic_object=$xdir$objdir/$func_lo2o_result
@@ -5386,24 +6791,29 @@ func_mode_link ()
                  func_append libobjs " $pic_object"
                  func_append non_pic_objects " $non_pic_object"
                else
-                 func_fatal_error "\`$arg' is not a valid libtool object"
+                 func_fatal_error "'$arg' is not a valid libtool object"
                fi
              fi
            done
          else
-           func_fatal_error "link input file \`$arg' does not exist"
+           func_fatal_error "link input file '$arg' does not exist"
          fi
          arg=$save_arg
          prev=
          continue
          ;;
+       os2dllname)
+         os2dllname=$arg
+         prev=
+         continue
+         ;;
        precious_regex)
-         precious_files_regex="$arg"
+         precious_files_regex=$arg
          prev=
          continue
          ;;
        release)
-         release="-$arg"
+         release=-$arg
          prev=
          continue
          ;;
@@ -5415,7 +6825,7 @@ func_mode_link ()
            func_fatal_error "only absolute run-paths are allowed"
            ;;
          esac
-         if test "$prev" = rpath; then
+         if test rpath = "$prev"; then
            case "$rpath " in
            *" $arg "*) ;;
            *) func_append rpath " $arg" ;;
@@ -5430,7 +6840,7 @@ func_mode_link ()
          continue
          ;;
        shrext)
-         shrext_cmds="$arg"
+         shrext_cmds=$arg
          prev=
          continue
          ;;
@@ -5470,7 +6880,7 @@ func_mode_link ()
        esac
       fi # test -n "$prev"
 
-      prevarg="$arg"
+      prevarg=$arg
 
       case $arg in
       -all-static)
@@ -5484,7 +6894,7 @@ func_mode_link ()
 
       -allow-undefined)
        # FIXME: remove this flag sometime in the future.
-       func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+       func_fatal_error "'-allow-undefined' must not be used because it is the default"
        ;;
 
       -avoid-version)
@@ -5516,7 +6926,7 @@ func_mode_link ()
        if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
          func_fatal_error "more than one -exported-symbols argument is not allowed"
        fi
-       if test "X$arg" = "X-export-symbols"; then
+       if test X-export-symbols = "X$arg"; then
          prev=expsyms
        else
          prev=expsyms_regex
@@ -5550,9 +6960,9 @@ func_mode_link ()
        func_stripname "-L" '' "$arg"
        if test -z "$func_stripname_result"; then
          if test "$#" -gt 0; then
-           func_fatal_error "require no space between \`-L' and \`$1'"
+           func_fatal_error "require no space between '-L' and '$1'"
          else
-           func_fatal_error "need path for \`-L' option"
+           func_fatal_error "need path for '-L' option"
          fi
        fi
        func_resolve_sysroot "$func_stripname_result"
@@ -5563,8 +6973,8 @@ func_mode_link ()
        *)
          absdir=`cd "$dir" && pwd`
          test -z "$absdir" && \
-           func_fatal_error "cannot determine absolute directory name of \`$dir'"
-         dir="$absdir"
+           func_fatal_error "cannot determine absolute directory name of '$dir'"
+         dir=$absdir
          ;;
        esac
        case "$deplibs " in
@@ -5599,7 +7009,7 @@ func_mode_link ()
        ;;
 
       -l*)
-       if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+       if test X-lc = "X$arg" || test X-lm = "X$arg"; then
          case $host in
          *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
            # These systems don't actually have a C or math library (as such)
@@ -5607,11 +7017,11 @@ func_mode_link ()
            ;;
          *-*-os2*)
            # These systems don't actually have a C library (as such)
-           test "X$arg" = "X-lc" && continue
+           test X-lc = "X$arg" && continue
            ;;
-         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
            # Do not include libc due to us having libc/libc_r.
-           test "X$arg" = "X-lc" && continue
+           test X-lc = "X$arg" && continue
            ;;
          *-*-rhapsody* | *-*-darwin1.[012])
            # Rhapsody C and math libraries are in the System framework
@@ -5620,16 +7030,16 @@ func_mode_link ()
            ;;
          *-*-sco3.2v5* | *-*-sco5v6*)
            # Causes problems with __ctype
-           test "X$arg" = "X-lc" && continue
+           test X-lc = "X$arg" && continue
            ;;
          *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
            # Compiler inserts libc in the correct place for threads to work
-           test "X$arg" = "X-lc" && continue
+           test X-lc = "X$arg" && continue
            ;;
          esac
-       elif test "X$arg" = "X-lc_r"; then
+       elif test X-lc_r = "X$arg"; then
         case $host in
-        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
           # Do not include libc_r directly, use -pthread flag.
           continue
           ;;
@@ -5639,6 +7049,11 @@ func_mode_link ()
        continue
        ;;
 
+      -mllvm)
+       prev=mllvm
+       continue
+       ;;
+
       -module)
        module=yes
        continue
@@ -5668,7 +7083,7 @@ func_mode_link ()
        ;;
 
       -multi_module)
-       single_module="${wl}-multi_module"
+       single_module=$wl-multi_module
        continue
        ;;
 
@@ -5682,8 +7097,8 @@ func_mode_link ()
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
          # The PATH hackery in wrapper scripts is required on Windows
          # and Darwin in order for the loader to find any dlls it needs.
-         func_warning "\`-no-install' is ignored for $host"
-         func_warning "assuming \`-no-fast-install' instead"
+         func_warning "'-no-install' is ignored for $host"
+         func_warning "assuming '-no-fast-install' instead"
          fast_install=no
          ;;
        *) no_install=yes ;;
@@ -5701,6 +7116,11 @@ func_mode_link ()
        continue
        ;;
 
+      -os2dllname)
+       prev=os2dllname
+       continue
+       ;;
+
       -o) prev=output ;;
 
       -precious-files-regex)
@@ -5788,14 +7208,14 @@ func_mode_link ()
        func_stripname '-Wc,' '' "$arg"
        args=$func_stripname_result
        arg=
-       save_ifs="$IFS"; IFS=','
+       save_ifs=$IFS; IFS=,
        for flag in $args; do
-         IFS="$save_ifs"
+         IFS=$save_ifs
           func_quote_for_eval "$flag"
          func_append arg " $func_quote_for_eval_result"
          func_append compiler_flags " $func_quote_for_eval_result"
        done
-       IFS="$save_ifs"
+       IFS=$save_ifs
        func_stripname ' ' '' "$arg"
        arg=$func_stripname_result
        ;;
@@ -5804,15 +7224,15 @@ func_mode_link ()
        func_stripname '-Wl,' '' "$arg"
        args=$func_stripname_result
        arg=
-       save_ifs="$IFS"; IFS=','
+       save_ifs=$IFS; IFS=,
        for flag in $args; do
-         IFS="$save_ifs"
+         IFS=$save_ifs
           func_quote_for_eval "$flag"
          func_append arg " $wl$func_quote_for_eval_result"
          func_append compiler_flags " $wl$func_quote_for_eval_result"
          func_append linker_flags " $func_quote_for_eval_result"
        done
-       IFS="$save_ifs"
+       IFS=$save_ifs
        func_stripname ' ' '' "$arg"
        arg=$func_stripname_result
        ;;
@@ -5835,7 +7255,7 @@ func_mode_link ()
       # -msg_* for osf cc
       -msg_*)
        func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
+       arg=$func_quote_for_eval_result
        ;;
 
       # Flags to be passed through unchanged, with rationale:
@@ -5847,25 +7267,48 @@ func_mode_link ()
       # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
       # -F/path              path to uninstalled frameworks, gcc on darwin
       # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
+      # -fstack-protector*   stack protector flags for GCC
       # @file                GCC response files
       # -tp=*                Portland pgcc target processor selection
       # --sysroot=*          for sysroot support
-      # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      # -specs=*             GCC specs files
+      # -stdlib=*            select c++ std lib with clang
       -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*|-flto*|-fwhopr*|-fuse-linker-plugin)
+      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+      -specs=*)
         func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
+       arg=$func_quote_for_eval_result
         func_append compile_command " $arg"
         func_append finalize_command " $arg"
         func_append compiler_flags " $arg"
         continue
         ;;
 
+      -Z*)
+        if test os2 = "`expr $host : '.*\(os2\)'`"; then
+          # OS/2 uses -Zxxx to specify OS/2-specific options
+         compiler_flags="$compiler_flags $arg"
+         func_append compile_command " $arg"
+         func_append finalize_command " $arg"
+         case $arg in
+         -Zlinker | -Zstack)
+           prev=xcompiler
+           ;;
+         esac
+         continue
+        else
+         # Otherwise treat like 'Some other compiler flag' below
+         func_quote_for_eval "$arg"
+         arg=$func_quote_for_eval_result
+        fi
+       ;;
+
       # Some other compiler flag.
       -* | +*)
         func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
+       arg=$func_quote_for_eval_result
        ;;
 
       *.$objext)
@@ -5886,21 +7329,21 @@ func_mode_link ()
 
          if test -z "$pic_object" ||
             test -z "$non_pic_object" ||
-            test "$pic_object" = none &&
-            test "$non_pic_object" = none; then
-           func_fatal_error "cannot find name of object for \`$arg'"
+            test none = "$pic_object" &&
+            test none = "$non_pic_object"; then
+           func_fatal_error "cannot find name of object for '$arg'"
          fi
 
          # Extract subdirectory from the argument.
          func_dirname "$arg" "/" ""
-         xdir="$func_dirname_result"
+         xdir=$func_dirname_result
 
-         if test "$pic_object" != none; then
+         test none = "$pic_object" || {
            # Prepend the subdirectory the object is found in.
-           pic_object="$xdir$pic_object"
+           pic_object=$xdir$pic_object
 
-           if test "$prev" = dlfiles; then
-             if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+           if test dlfiles = "$prev"; then
+             if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
                func_append dlfiles " $pic_object"
                prev=
                continue
@@ -5911,7 +7354,7 @@ func_mode_link ()
            fi
 
            # CHECK ME:  I think I busted this.  -Ossama
-           if test "$prev" = dlprefiles; then
+           if test dlprefiles = "$prev"; then
              # Preload the old-style object.
              func_append dlprefiles " $pic_object"
              prev=
@@ -5919,23 +7362,23 @@ func_mode_link ()
 
            # A PIC object.
            func_append libobjs " $pic_object"
-           arg="$pic_object"
-         fi
+           arg=$pic_object
+         }
 
          # Non-PIC object.
-         if test "$non_pic_object" != none; then
+         if test none != "$non_pic_object"; then
            # Prepend the subdirectory the object is found in.
-           non_pic_object="$xdir$non_pic_object"
+           non_pic_object=$xdir$non_pic_object
 
            # A standard non-PIC object
            func_append non_pic_objects " $non_pic_object"
-           if test -z "$pic_object" || test "$pic_object" = none ; then
-             arg="$non_pic_object"
+           if test -z "$pic_object" || test none = "$pic_object"; then
+             arg=$non_pic_object
            fi
          else
            # If the PIC object exists, use it instead.
            # $xdir was prepended to $pic_object above.
-           non_pic_object="$pic_object"
+           non_pic_object=$pic_object
            func_append non_pic_objects " $non_pic_object"
          fi
        else
@@ -5943,7 +7386,7 @@ func_mode_link ()
          if $opt_dry_run; then
            # Extract subdirectory from the argument.
            func_dirname "$arg" "/" ""
-           xdir="$func_dirname_result"
+           xdir=$func_dirname_result
 
            func_lo2o "$arg"
            pic_object=$xdir$objdir/$func_lo2o_result
@@ -5951,7 +7394,7 @@ func_mode_link ()
            func_append libobjs " $pic_object"
            func_append non_pic_objects " $non_pic_object"
          else
-           func_fatal_error "\`$arg' is not a valid libtool object"
+           func_fatal_error "'$arg' is not a valid libtool object"
          fi
        fi
        ;;
@@ -5967,11 +7410,11 @@ func_mode_link ()
        # A libtool-controlled library.
 
        func_resolve_sysroot "$arg"
-       if test "$prev" = dlfiles; then
+       if test dlfiles = "$prev"; then
          # This library was specified with -dlopen.
          func_append dlfiles " $func_resolve_sysroot_result"
          prev=
-       elif test "$prev" = dlprefiles; then
+       elif test dlprefiles = "$prev"; then
          # The library was specified with -dlpreopen.
          func_append dlprefiles " $func_resolve_sysroot_result"
          prev=
@@ -5986,7 +7429,7 @@ func_mode_link ()
        # Unknown arguments in both finalize_command and compile_command need
        # to be aesthetically quoted because they are evaled later.
        func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
+       arg=$func_quote_for_eval_result
        ;;
       esac # arg
 
@@ -5998,9 +7441,9 @@ func_mode_link ()
     done # argument parsing loop
 
     test -n "$prev" && \
-      func_fatal_help "the \`$prevarg' option requires an argument"
+      func_fatal_help "the '$prevarg' option requires an argument"
 
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+    if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
       eval arg=\"$export_dynamic_flag_spec\"
       func_append compile_command " $arg"
       func_append finalize_command " $arg"
@@ -6009,20 +7452,23 @@ func_mode_link ()
     oldlibs=
     # calculate the name of the file, without its directory
     func_basename "$output"
-    outputname="$func_basename_result"
-    libobjs_save="$libobjs"
+    outputname=$func_basename_result
+    libobjs_save=$libobjs
 
     if test -n "$shlibpath_var"; then
       # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+      eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
     else
       shlib_search_path=
     fi
     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
 
+    # Definition is injected by LT_CONFIG during libtool generation.
+    func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
     func_dirname "$output" "/" ""
-    output_objdir="$func_dirname_result$objdir"
+    output_objdir=$func_dirname_result$objdir
     func_to_tool_file "$output_objdir/"
     tool_output_objdir=$func_to_tool_file_result
     # Create the object directory.
@@ -6045,7 +7491,7 @@ func_mode_link ()
     # Find all interdependent deplibs by searching for libraries
     # that are linked more than once (e.g. -la -lb -la)
     for deplib in $deplibs; do
-      if $opt_preserve_dup_deps ; then
+      if $opt_preserve_dup_deps; then
        case "$libs " in
        *" $deplib "*) func_append specialdeplibs " $deplib" ;;
        esac
@@ -6053,7 +7499,7 @@ func_mode_link ()
       func_append libs " $deplib"
     done
 
-    if test "$linkmode" = lib; then
+    if test lib = "$linkmode"; then
       libs="$predeps $libs $compiler_lib_search_path $postdeps"
 
       # Compute libraries that are listed more than once in $predeps
@@ -6085,7 +7531,7 @@ func_mode_link ()
          case $file in
          *.la) ;;
          *)
-           func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+           func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
            ;;
          esac
        done
@@ -6093,7 +7539,7 @@ func_mode_link ()
     prog)
        compile_deplibs=
        finalize_deplibs=
-       alldeplibs=no
+       alldeplibs=false
        newdlfiles=
        newdlprefiles=
        passes="conv scan dlopen dlpreopen link"
@@ -6105,32 +7551,29 @@ func_mode_link ()
     for pass in $passes; do
       # The preopen pass in lib mode reverses $deplibs; put it back here
       # so that -L comes before libs that need it for instance...
-      if test "$linkmode,$pass" = "lib,link"; then
+      if test lib,link = "$linkmode,$pass"; then
        ## FIXME: Find the place where the list is rebuilt in the wrong
        ##        order, and fix it there properly
         tmp_deplibs=
        for deplib in $deplibs; do
          tmp_deplibs="$deplib $tmp_deplibs"
        done
-       deplibs="$tmp_deplibs"
+       deplibs=$tmp_deplibs
       fi
 
-      if test "$linkmode,$pass" = "lib,link" ||
-        test "$linkmode,$pass" = "prog,scan"; then
-       libs="$deplibs"
+      if test lib,link = "$linkmode,$pass" ||
+        test prog,scan = "$linkmode,$pass"; then
+       libs=$deplibs
        deplibs=
       fi
-      if test "$linkmode" = prog; then
+      if test prog = "$linkmode"; then
        case $pass in
-       dlopen) libs="$dlfiles" ;;
-       dlpreopen) libs="$dlprefiles" ;;
-       link)
-         libs="$deplibs %DEPLIBS%"
-         test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
-         ;;
+       dlopen) libs=$dlfiles ;;
+       dlpreopen) libs=$dlprefiles ;;
+       link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
        esac
       fi
-      if test "$linkmode,$pass" = "lib,dlpreopen"; then
+      if test lib,dlpreopen = "$linkmode,$pass"; then
        # Collect and forward deplibs of preopened libtool libs
        for lib in $dlprefiles; do
          # Ignore non-libtool-libs
@@ -6151,26 +7594,26 @@ func_mode_link ()
            esac
          done
        done
-       libs="$dlprefiles"
+       libs=$dlprefiles
       fi
-      if test "$pass" = dlopen; then
+      if test dlopen = "$pass"; then
        # Collect dlpreopened libraries
-       save_deplibs="$deplibs"
+       save_deplibs=$deplibs
        deplibs=
       fi
 
       for deplib in $libs; do
        lib=
-       found=no
+       found=false
        case $deplib in
        -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
         |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
-         if test "$linkmode,$pass" = "prog,link"; then
+         if test prog,link = "$linkmode,$pass"; then
            compile_deplibs="$deplib $compile_deplibs"
            finalize_deplibs="$deplib $finalize_deplibs"
          else
            func_append compiler_flags " $deplib"
-           if test "$linkmode" = lib ; then
+           if test lib = "$linkmode"; then
                case "$new_inherited_linker_flags " in
                    *" $deplib "*) ;;
                    * ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6180,13 +7623,13 @@ func_mode_link ()
          continue
          ;;
        -l*)
-         if test "$linkmode" != lib && test "$linkmode" != prog; then
-           func_warning "\`-l' is ignored for archives/objects"
+         if test lib != "$linkmode" && test prog != "$linkmode"; then
+           func_warning "'-l' is ignored for archives/objects"
            continue
          fi
          func_stripname '-l' '' "$deplib"
          name=$func_stripname_result
-         if test "$linkmode" = lib; then
+         if test lib = "$linkmode"; then
            searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
          else
            searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
@@ -6194,31 +7637,22 @@ func_mode_link ()
          for searchdir in $searchdirs; do
            for search_ext in .la $std_shrext .so .a; do
              # Search the libtool library
-             lib="$searchdir/lib${name}${search_ext}"
+             lib=$searchdir/lib$name$search_ext
              if test -f "$lib"; then
-               if test "$search_ext" = ".la"; then
-                 found=yes
+               if test .la = "$search_ext"; then
+                 found=:
                else
-                 found=no
+                 found=false
                fi
                break 2
              fi
            done
          done
-         if test "$found" != yes; then
-           # deplib doesn't seem to be a libtool library
-           if test "$linkmode,$pass" = "prog,link"; then
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           else
-             deplibs="$deplib $deplibs"
-             test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-           fi
-           continue
-         else # deplib is a libtool library
+         if $found; then
+           # deplib is a libtool library
            # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
            # We need to do some special things here, and not later.
-           if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+           if test yes = "$allow_libtool_libs_with_static_runtimes"; then
              case " $predeps $postdeps " in
              *" $deplib "*)
                if func_lalib_p "$lib"; then
@@ -6226,19 +7660,19 @@ func_mode_link ()
                  old_library=
                  func_source "$lib"
                  for l in $old_library $library_names; do
-                   ll="$l"
+                   ll=$l
                  done
-                 if test "X$ll" = "X$old_library" ; then # only static version available
-                   found=no
+                 if test "X$ll" = "X$old_library"; then # only static version available
+                   found=false
                    func_dirname "$lib" "" "."
-                   ladir="$func_dirname_result"
+                   ladir=$func_dirname_result
                    lib=$ladir/$old_library
-                   if test "$linkmode,$pass" = "prog,link"; then
+                   if test prog,link = "$linkmode,$pass"; then
                      compile_deplibs="$deplib $compile_deplibs"
                      finalize_deplibs="$deplib $finalize_deplibs"
                    else
                      deplibs="$deplib $deplibs"
-                     test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+                     test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
                    fi
                    continue
                  fi
@@ -6247,15 +7681,25 @@ func_mode_link ()
              *) ;;
              esac
            fi
+         else
+           # deplib doesn't seem to be a libtool library
+           if test prog,link = "$linkmode,$pass"; then
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           else
+             deplibs="$deplib $deplibs"
+             test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+           fi
+           continue
          fi
          ;; # -l
        *.ltframework)
-         if test "$linkmode,$pass" = "prog,link"; then
+         if test prog,link = "$linkmode,$pass"; then
            compile_deplibs="$deplib $compile_deplibs"
            finalize_deplibs="$deplib $finalize_deplibs"
          else
            deplibs="$deplib $deplibs"
-           if test "$linkmode" = lib ; then
+           if test lib = "$linkmode"; then
                case "$new_inherited_linker_flags " in
                    *" $deplib "*) ;;
                    * ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6268,18 +7712,18 @@ func_mode_link ()
          case $linkmode in
          lib)
            deplibs="$deplib $deplibs"
-           test "$pass" = conv && continue
+           test conv = "$pass" && continue
            newdependency_libs="$deplib $newdependency_libs"
            func_stripname '-L' '' "$deplib"
            func_resolve_sysroot "$func_stripname_result"
            func_append newlib_search_path " $func_resolve_sysroot_result"
            ;;
          prog)
-           if test "$pass" = conv; then
+           if test conv = "$pass"; then
              deplibs="$deplib $deplibs"
              continue
            fi
-           if test "$pass" = scan; then
+           if test scan = "$pass"; then
              deplibs="$deplib $deplibs"
            else
              compile_deplibs="$deplib $compile_deplibs"
@@ -6290,13 +7734,13 @@ func_mode_link ()
            func_append newlib_search_path " $func_resolve_sysroot_result"
            ;;
          *)
-           func_warning "\`-L' is ignored for archives/objects"
+           func_warning "'-L' is ignored for archives/objects"
            ;;
          esac # linkmode
          continue
          ;; # -L
        -R*)
-         if test "$pass" = link; then
+         if test link = "$pass"; then
            func_stripname '-R' '' "$deplib"
            func_resolve_sysroot "$func_stripname_result"
            dir=$func_resolve_sysroot_result
@@ -6314,7 +7758,7 @@ func_mode_link ()
          lib=$func_resolve_sysroot_result
          ;;
        *.$libext)
-         if test "$pass" = conv; then
+         if test conv = "$pass"; then
            deplibs="$deplib $deplibs"
            continue
          fi
@@ -6325,21 +7769,26 @@ func_mode_link ()
            case " $dlpreconveniencelibs " in
            *" $deplib "*) ;;
            *)
-             valid_a_lib=no
+             valid_a_lib=false
              case $deplibs_check_method in
                match_pattern*)
                  set dummy $deplibs_check_method; shift
                  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
                  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
                    | $EGREP "$match_pattern_regex" > /dev/null; then
-                   valid_a_lib=yes
+                   valid_a_lib=:
                  fi
                ;;
                pass_all)
-                 valid_a_lib=yes
+                 valid_a_lib=:
                ;;
              esac
-             if test "$valid_a_lib" != yes; then
+             if $valid_a_lib; then
+               echo
+               $ECHO "*** Warning: Linking the shared library $output against the"
+               $ECHO "*** static library $deplib is not portable!"
+               deplibs="$deplib $deplibs"
+             else
                echo
                $ECHO "*** Warning: Trying to link with static lib archive $deplib."
                echo "*** I have the capability to make that library automatically link in when"
@@ -6347,18 +7796,13 @@ func_mode_link ()
                echo "*** shared version of the library, which you do not appear to have"
                echo "*** because the file extensions .$libext of this argument makes me believe"
                echo "*** that it is just a static archive that I should not use here."
-             else
-               echo
-               $ECHO "*** Warning: Linking the shared library $output against the"
-               $ECHO "*** static library $deplib is not portable!"
-               deplibs="$deplib $deplibs"
              fi
              ;;
            esac
            continue
            ;;
          prog)
-           if test "$pass" != link; then
+           if test link != "$pass"; then
              deplibs="$deplib $deplibs"
            else
              compile_deplibs="$deplib $compile_deplibs"
@@ -6369,10 +7813,10 @@ func_mode_link ()
          esac # linkmode
          ;; # *.$libext
        *.lo | *.$objext)
-         if test "$pass" = conv; then
+         if test conv = "$pass"; then
            deplibs="$deplib $deplibs"
-         elif test "$linkmode" = prog; then
-           if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+         elif test prog = "$linkmode"; then
+           if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
              # If there is no dlopen support or we're linking statically,
              # we need to preload.
              func_append newdlprefiles " $deplib"
@@ -6385,22 +7829,20 @@ func_mode_link ()
          continue
          ;;
        %DEPLIBS%)
-         alldeplibs=yes
+         alldeplibs=:
          continue
          ;;
        esac # case $deplib
 
-       if test "$found" = yes || test -f "$lib"; then :
-       else
-         func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
-       fi
+       $found || test -f "$lib" \
+         || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
 
        # Check to see that this really is a libtool archive.
        func_lalib_unsafe_p "$lib" \
-         || func_fatal_error "\`$lib' is not a valid libtool archive"
+         || func_fatal_error "'$lib' is not a valid libtool archive"
 
        func_dirname "$lib" "" "."
-       ladir="$func_dirname_result"
+       ladir=$func_dirname_result
 
        dlname=
        dlopen=
@@ -6430,36 +7872,36 @@ func_mode_link ()
          done
        fi
        dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-       if test "$linkmode,$pass" = "lib,link" ||
-          test "$linkmode,$pass" = "prog,scan" ||
-          { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+       if test lib,link = "$linkmode,$pass" ||
+          test prog,scan = "$linkmode,$pass" ||
+          { test prog != "$linkmode" && test lib != "$linkmode"; }; then
          test -n "$dlopen" && func_append dlfiles " $dlopen"
          test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
        fi
 
-       if test "$pass" = conv; then
+       if test conv = "$pass"; then
          # Only check for convenience libraries
          deplibs="$lib $deplibs"
          if test -z "$libdir"; then
            if test -z "$old_library"; then
-             func_fatal_error "cannot find name of link library for \`$lib'"
+             func_fatal_error "cannot find name of link library for '$lib'"
            fi
            # It is a libtool convenience library, so add in its objects.
            func_append convenience " $ladir/$objdir/$old_library"
            func_append old_convenience " $ladir/$objdir/$old_library"
-           tmp_libs=
-           for deplib in $dependency_libs; do
-             deplibs="$deplib $deplibs"
-             if $opt_preserve_dup_deps ; then
-               case "$tmp_libs " in
-               *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-               esac
-             fi
-             func_append tmp_libs " $deplib"
-           done
-         elif test "$linkmode" != prog && test "$linkmode" != lib; then
-           func_fatal_error "\`$lib' is not a convenience library"
+         elif test prog != "$linkmode" && test lib != "$linkmode"; then
+           func_fatal_error "'$lib' is not a convenience library"
          fi
+         tmp_libs=
+         for deplib in $dependency_libs; do
+           deplibs="$deplib $deplibs"
+           if $opt_preserve_dup_deps; then
+             case "$tmp_libs " in
+             *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+             esac
+           fi
+           func_append tmp_libs " $deplib"
+         done
          continue
        fi # $pass = conv
 
@@ -6467,26 +7909,26 @@ func_mode_link ()
        # Get the name of the library we link against.
        linklib=
        if test -n "$old_library" &&
-          { test "$prefer_static_libs" = yes ||
-            test "$prefer_static_libs,$installed" = "built,no"; }; then
+          { test yes = "$prefer_static_libs" ||
+            test built,no = "$prefer_static_libs,$installed"; }; then
          linklib=$old_library
        else
          for l in $old_library $library_names; do
-           linklib="$l"
+           linklib=$l
          done
        fi
        if test -z "$linklib"; then
-         func_fatal_error "cannot find name of link library for \`$lib'"
+         func_fatal_error "cannot find name of link library for '$lib'"
        fi
 
        # This library was specified with -dlopen.
-       if test "$pass" = dlopen; then
-         if test -z "$libdir"; then
-           func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
-         fi
+       if test dlopen = "$pass"; then
+         test -z "$libdir" \
+           && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
          if test -z "$dlname" ||
-            test "$dlopen_support" != yes ||
-            test "$build_libtool_libs" = no; then
+            test yes != "$dlopen_support" ||
+            test no = "$build_libtool_libs"
+         then
            # If there is no dlname, no dlopen support or we're linking
            # statically, we need to preload.  We also need to preload any
            # dependent libraries so libltdl's deplib preloader doesn't
@@ -6500,40 +7942,40 @@ func_mode_link ()
 
        # We need an absolute path.
        case $ladir in
-       [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+       [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
        *)
          abs_ladir=`cd "$ladir" && pwd`
          if test -z "$abs_ladir"; then
-           func_warning "cannot determine absolute directory name of \`$ladir'"
+           func_warning "cannot determine absolute directory name of '$ladir'"
            func_warning "passing it literally to the linker, although it might fail"
-           abs_ladir="$ladir"
+           abs_ladir=$ladir
          fi
          ;;
        esac
        func_basename "$lib"
-       laname="$func_basename_result"
+       laname=$func_basename_result
 
        # Find the relevant object directory and library name.
-       if test "X$installed" = Xyes; then
+       if test yes = "$installed"; then
          if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-           func_warning "library \`$lib' was moved."
-           dir="$ladir"
-           absdir="$abs_ladir"
-           libdir="$abs_ladir"
+           func_warning "library '$lib' was moved."
+           dir=$ladir
+           absdir=$abs_ladir
+           libdir=$abs_ladir
          else
-           dir="$lt_sysroot$libdir"
-           absdir="$lt_sysroot$libdir"
+           dir=$lt_sysroot$libdir
+           absdir=$lt_sysroot$libdir
          fi
-         test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+         test yes = "$hardcode_automatic" && avoidtemprpath=yes
        else
          if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-           dir="$ladir"
-           absdir="$abs_ladir"
+           dir=$ladir
+           absdir=$abs_ladir
            # Remove this search path later
            func_append notinst_path " $abs_ladir"
          else
-           dir="$ladir/$objdir"
-           absdir="$abs_ladir/$objdir"
+           dir=$ladir/$objdir
+           absdir=$abs_ladir/$objdir
            # Remove this search path later
            func_append notinst_path " $abs_ladir"
          fi
@@ -6542,11 +7984,11 @@ func_mode_link ()
        name=$func_stripname_result
 
        # This library was specified with -dlpreopen.
-       if test "$pass" = dlpreopen; then
-         if test -z "$libdir" && test "$linkmode" = prog; then
-           func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+       if test dlpreopen = "$pass"; then
+         if test -z "$libdir" && test prog = "$linkmode"; then
+           func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
          fi
-         case "$host" in
+         case $host in
            # special handling for platforms with PE-DLLs.
            *cygwin* | *mingw* | *cegcc* )
              # Linker will automatically link against shared library if both
@@ -6590,9 +8032,9 @@ func_mode_link ()
 
        if test -z "$libdir"; then
          # Link the convenience library
-         if test "$linkmode" = lib; then
+         if test lib = "$linkmode"; then
            deplibs="$dir/$old_library $deplibs"
-         elif test "$linkmode,$pass" = "prog,link"; then
+         elif test prog,link = "$linkmode,$pass"; then
            compile_deplibs="$dir/$old_library $compile_deplibs"
            finalize_deplibs="$dir/$old_library $finalize_deplibs"
          else
@@ -6602,14 +8044,14 @@ func_mode_link ()
        fi
 
 
-       if test "$linkmode" = prog && test "$pass" != link; then
+       if test prog = "$linkmode" && test link != "$pass"; then
          func_append newlib_search_path " $ladir"
          deplibs="$lib $deplibs"
 
-         linkalldeplibs=no
-         if test "$link_all_deplibs" != no || test -z "$library_names" ||
-            test "$build_libtool_libs" = no; then
-           linkalldeplibs=yes
+         linkalldeplibs=false
+         if test no != "$link_all_deplibs" || test -z "$library_names" ||
+            test no = "$build_libtool_libs"; then
+           linkalldeplibs=:
          fi
 
          tmp_libs=
@@ -6621,14 +8063,14 @@ func_mode_link ()
                 ;;
            esac
            # Need to link against all dependency_libs?
-           if test "$linkalldeplibs" = yes; then
+           if $linkalldeplibs; then
              deplibs="$deplib $deplibs"
            else
              # Need to hardcode shared library paths
              # or/and link against static libraries
              newdependency_libs="$deplib $newdependency_libs"
            fi
-           if $opt_preserve_dup_deps ; then
+           if $opt_preserve_dup_deps; then
              case "$tmp_libs " in
              *" $deplib "*) func_append specialdeplibs " $deplib" ;;
              esac
@@ -6638,15 +8080,15 @@ func_mode_link ()
          continue
        fi # $linkmode = prog...
 
-       if test "$linkmode,$pass" = "prog,link"; then
+       if test prog,link = "$linkmode,$pass"; then
          if test -n "$library_names" &&
-            { { test "$prefer_static_libs" = no ||
-                test "$prefer_static_libs,$installed" = "built,yes"; } ||
+            { { test no = "$prefer_static_libs" ||
+                test built,yes = "$prefer_static_libs,$installed"; } ||
               test -z "$old_library"; }; then
            # We need to hardcode the library path
-           if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+           if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
              # Make sure the rpath contains only unique directories.
-             case "$temp_rpath:" in
+             case $temp_rpath: in
              *"$absdir:"*) ;;
              *) func_append temp_rpath "$absdir:" ;;
              esac
@@ -6675,9 +8117,9 @@ func_mode_link ()
            esac
          fi # $linkmode,$pass = prog,link...
 
-         if test "$alldeplibs" = yes &&
-            { test "$deplibs_check_method" = pass_all ||
-              { test "$build_libtool_libs" = yes &&
+         if $alldeplibs &&
+            { test pass_all = "$deplibs_check_method" ||
+              { test yes = "$build_libtool_libs" &&
                 test -n "$library_names"; }; }; then
            # We only need to search for static libraries
            continue
@@ -6686,19 +8128,19 @@ func_mode_link ()
 
        link_static=no # Whether the deplib will be linked statically
        use_static_libs=$prefer_static_libs
-       if test "$use_static_libs" = built && test "$installed" = yes; then
+       if test built = "$use_static_libs" && test yes = "$installed"; then
          use_static_libs=no
        fi
        if test -n "$library_names" &&
-          { test "$use_static_libs" = no || test -z "$old_library"; }; then
+          { test no = "$use_static_libs" || test -z "$old_library"; }; then
          case $host in
-         *cygwin* | *mingw* | *cegcc*)
+         *cygwin* | *mingw* | *cegcc* | *os2*)
              # No point in relinking DLLs because paths are not encoded
              func_append notinst_deplibs " $lib"
              need_relink=no
            ;;
          *)
-           if test "$installed" = no; then
+           if test no = "$installed"; then
              func_append notinst_deplibs " $lib"
              need_relink=yes
            fi
@@ -6708,24 +8150,24 @@ func_mode_link ()
 
          # Warn about portability, can't link against -module's on some
          # systems (darwin).  Don't bleat about dlopened modules though!
-         dlopenmodule=""
+         dlopenmodule=
          for dlpremoduletest in $dlprefiles; do
            if test "X$dlpremoduletest" = "X$lib"; then
-             dlopenmodule="$dlpremoduletest"
+             dlopenmodule=$dlpremoduletest
              break
            fi
          done
-         if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+         if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
            echo
-           if test "$linkmode" = prog; then
+           if test prog = "$linkmode"; then
              $ECHO "*** Warning: Linking the executable $output against the loadable module"
            else
              $ECHO "*** Warning: Linking the shared library $output against the loadable module"
            fi
            $ECHO "*** $linklib is not portable!"
          fi
-         if test "$linkmode" = lib &&
-            test "$hardcode_into_libs" = yes; then
+         if test lib = "$linkmode" &&
+            test yes = "$hardcode_into_libs"; then
            # Hardcode the library path.
            # Skip directories that are in the system default run-time
            # search path.
@@ -6753,43 +8195,43 @@ func_mode_link ()
            # figure out the soname
            set dummy $library_names
            shift
-           realname="$1"
+           realname=$1
            shift
            libname=`eval "\\$ECHO \"$libname_spec\""`
            # use dlname if we got it. it's perfectly good, no?
            if test -n "$dlname"; then
-             soname="$dlname"
+             soname=$dlname
            elif test -n "$soname_spec"; then
              # bleh windows
              case $host in
-             *cygwin* | mingw* | *cegcc*)
+             *cygwin* | mingw* | *cegcc* | *os2*)
                func_arith $current - $age
                major=$func_arith_result
-               versuffix="-$major"
+               versuffix=-$major
                ;;
              esac
              eval soname=\"$soname_spec\"
            else
-             soname="$realname"
+             soname=$realname
            fi
 
            # Make a new name for the extract_expsyms_cmds to use
-           soroot="$soname"
+           soroot=$soname
            func_basename "$soroot"
-           soname="$func_basename_result"
+           soname=$func_basename_result
            func_stripname 'lib' '.dll' "$soname"
            newlib=libimp-$func_stripname_result.a
 
            # If the library has no export list, then create one now
            if test -f "$output_objdir/$soname-def"; then :
            else
-             func_verbose "extracting exported symbol list from \`$soname'"
+             func_verbose "extracting exported symbol list from '$soname'"
              func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
            fi
 
            # Create $newlib
            if test -f "$output_objdir/$newlib"; then :; else
-             func_verbose "generating import library for \`$soname'"
+             func_verbose "generating import library for '$soname'"
              func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
            fi
            # make sure the library variables are pointing to the new library
@@ -6797,58 +8239,58 @@ func_mode_link ()
            linklib=$newlib
          fi # test -n "$old_archive_from_expsyms_cmds"
 
-         if test "$linkmode" = prog || test "$opt_mode" != relink; then
+         if test prog = "$linkmode" || test relink != "$opt_mode"; then
            add_shlibpath=
            add_dir=
            add=
            lib_linked=yes
            case $hardcode_action in
            immediate | unsupported)
-             if test "$hardcode_direct" = no; then
-               add="$dir/$linklib"
+             if test no = "$hardcode_direct"; then
+               add=$dir/$linklib
                case $host in
-                 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
-                 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+                 *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+                 *-*-sysv4*uw2*) add_dir=-L$dir ;;
                  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-                   *-*-unixware7*) add_dir="-L$dir" ;;
+                   *-*-unixware7*) add_dir=-L$dir ;;
                  *-*-darwin* )
-                   # if the lib is a (non-dlopened) module then we can not
+                   # if the lib is a (non-dlopened) module then we cannot
                    # link against it, someone is ignoring the earlier warnings
                    if /usr/bin/file -L $add 2> /dev/null |
-                        $GREP ": [^:]* bundle" >/dev/null ; then
+                        $GREP ": [^:]* bundle" >/dev/null; then
                      if test "X$dlopenmodule" != "X$lib"; then
                        $ECHO "*** Warning: lib $linklib is a module, not a shared library"
-                       if test -z "$old_library" ; then
+                       if test -z "$old_library"; then
                          echo
                          echo "*** And there doesn't seem to be a static archive available"
                          echo "*** The link will probably fail, sorry"
                        else
-                         add="$dir/$old_library"
+                         add=$dir/$old_library
                        fi
                      elif test -n "$old_library"; then
-                       add="$dir/$old_library"
+                       add=$dir/$old_library
                      fi
                    fi
                esac
-             elif test "$hardcode_minus_L" = no; then
+             elif test no = "$hardcode_minus_L"; then
                case $host in
-               *-*-sunos*) add_shlibpath="$dir" ;;
+               *-*-sunos*) add_shlibpath=$dir ;;
                esac
-               add_dir="-L$dir"
-               add="-l$name"
-             elif test "$hardcode_shlibpath_var" = no; then
-               add_shlibpath="$dir"
-               add="-l$name"
+               add_dir=-L$dir
+               add=-l$name
+             elif test no = "$hardcode_shlibpath_var"; then
+               add_shlibpath=$dir
+               add=-l$name
              else
                lib_linked=no
              fi
              ;;
            relink)
-             if test "$hardcode_direct" = yes &&
-                test "$hardcode_direct_absolute" = no; then
-               add="$dir/$linklib"
-             elif test "$hardcode_minus_L" = yes; then
-               add_dir="-L$absdir"
+             if test yes = "$hardcode_direct" &&
+                test no = "$hardcode_direct_absolute"; then
+               add=$dir/$linklib
+             elif test yes = "$hardcode_minus_L"; then
+               add_dir=-L$absdir
                # Try looking first in the location we're being installed to.
                if test -n "$inst_prefix_dir"; then
                  case $libdir in
@@ -6857,10 +8299,10 @@ func_mode_link ()
                      ;;
                  esac
                fi
-               add="-l$name"
-             elif test "$hardcode_shlibpath_var" = yes; then
-               add_shlibpath="$dir"
-               add="-l$name"
+               add=-l$name
+             elif test yes = "$hardcode_shlibpath_var"; then
+               add_shlibpath=$dir
+               add=-l$name
              else
                lib_linked=no
              fi
@@ -6868,7 +8310,7 @@ func_mode_link ()
            *) lib_linked=no ;;
            esac
 
-           if test "$lib_linked" != yes; then
+           if test yes != "$lib_linked"; then
              func_fatal_configuration "unsupported hardcode properties"
            fi
 
@@ -6878,15 +8320,15 @@ func_mode_link ()
              *) func_append compile_shlibpath "$add_shlibpath:" ;;
              esac
            fi
-           if test "$linkmode" = prog; then
+           if test prog = "$linkmode"; then
              test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
              test -n "$add" && compile_deplibs="$add $compile_deplibs"
            else
              test -n "$add_dir" && deplibs="$add_dir $deplibs"
              test -n "$add" && deplibs="$add $deplibs"
-             if test "$hardcode_direct" != yes &&
-                test "$hardcode_minus_L" != yes &&
-                test "$hardcode_shlibpath_var" = yes; then
+             if test yes != "$hardcode_direct" &&
+                test yes != "$hardcode_minus_L" &&
+                test yes = "$hardcode_shlibpath_var"; then
                case :$finalize_shlibpath: in
                *":$libdir:"*) ;;
                *) func_append finalize_shlibpath "$libdir:" ;;
@@ -6895,33 +8337,33 @@ func_mode_link ()
            fi
          fi
 
-         if test "$linkmode" = prog || test "$opt_mode" = relink; then
+         if test prog = "$linkmode" || test relink = "$opt_mode"; then
            add_shlibpath=
            add_dir=
            add=
            # Finalize command for both is simple: just hardcode it.
-           if test "$hardcode_direct" = yes &&
-              test "$hardcode_direct_absolute" = no; then
-             add="$libdir/$linklib"
-           elif test "$hardcode_minus_L" = yes; then
-             add_dir="-L$libdir"
-             add="-l$name"
-           elif test "$hardcode_shlibpath_var" = yes; then
+           if test yes = "$hardcode_direct" &&
+              test no = "$hardcode_direct_absolute"; then
+             add=$libdir/$linklib
+           elif test yes = "$hardcode_minus_L"; then
+             add_dir=-L$libdir
+             add=-l$name
+           elif test yes = "$hardcode_shlibpath_var"; then
              case :$finalize_shlibpath: in
              *":$libdir:"*) ;;
              *) func_append finalize_shlibpath "$libdir:" ;;
              esac
-             add="-l$name"
-           elif test "$hardcode_automatic" = yes; then
+             add=-l$name
+           elif test yes = "$hardcode_automatic"; then
              if test -n "$inst_prefix_dir" &&
-                test -f "$inst_prefix_dir$libdir/$linklib" ; then
-               add="$inst_prefix_dir$libdir/$linklib"
+                test -f "$inst_prefix_dir$libdir/$linklib"; then
+               add=$inst_prefix_dir$libdir/$linklib
              else
-               add="$libdir/$linklib"
+               add=$libdir/$linklib
              fi
            else
              # We cannot seem to hardcode it, guess we'll fake it.
-             add_dir="-L$libdir"
+             add_dir=-L$libdir
              # Try looking first in the location we're being installed to.
              if test -n "$inst_prefix_dir"; then
                case $libdir in
@@ -6930,10 +8372,10 @@ func_mode_link ()
                    ;;
                esac
              fi
-             add="-l$name"
+             add=-l$name
            fi
 
-           if test "$linkmode" = prog; then
+           if test prog = "$linkmode"; then
              test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
              test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
            else
@@ -6941,43 +8383,43 @@ func_mode_link ()
              test -n "$add" && deplibs="$add $deplibs"
            fi
          fi
-       elif test "$linkmode" = prog; then
+       elif test prog = "$linkmode"; then
          # Here we assume that one of hardcode_direct or hardcode_minus_L
          # is not unsupported.  This is valid on all known static and
          # shared platforms.
-         if test "$hardcode_direct" != unsupported; then
-           test -n "$old_library" && linklib="$old_library"
+         if test unsupported != "$hardcode_direct"; then
+           test -n "$old_library" && linklib=$old_library
            compile_deplibs="$dir/$linklib $compile_deplibs"
            finalize_deplibs="$dir/$linklib $finalize_deplibs"
          else
            compile_deplibs="-l$name -L$dir $compile_deplibs"
            finalize_deplibs="-l$name -L$dir $finalize_deplibs"
          fi
-       elif test "$build_libtool_libs" = yes; then
+       elif test yes = "$build_libtool_libs"; then
          # Not a shared library
-         if test "$deplibs_check_method" != pass_all; then
+         if test pass_all != "$deplibs_check_method"; then
            # We're trying link a shared library against a static one
            # but the system doesn't support it.
 
            # Just print a warning and add the library to dependency_libs so
            # that the program can be linked against the static library.
            echo
-           $ECHO "*** Warning: This system can not link to static lib archive $lib."
+           $ECHO "*** Warning: This system cannot link to static lib archive $lib."
            echo "*** I have the capability to make that library automatically link in when"
            echo "*** you link to this library.  But I can only do this if you have a"
            echo "*** shared version of the library, which you do not appear to have."
-           if test "$module" = yes; then
+           if test yes = "$module"; then
              echo "*** But as you try to build a module library, libtool will still create "
              echo "*** a static module, that should work as long as the dlopening application"
              echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
              if test -z "$global_symbol_pipe"; then
                echo
                echo "*** However, this would only work if libtool was able to extract symbol"
-               echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+               echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
                echo "*** not find such a program.  So, this module is probably useless."
-               echo "*** \`nm' from GNU binutils and a full rebuild may help."
+               echo "*** 'nm' from GNU binutils and a full rebuild may help."
              fi
-             if test "$build_old_libs" = no; then
+             if test no = "$build_old_libs"; then
                build_libtool_libs=module
                build_old_libs=yes
              else
@@ -6990,11 +8432,11 @@ func_mode_link ()
          fi
        fi # link shared/static library?
 
-       if test "$linkmode" = lib; then
+       if test lib = "$linkmode"; then
          if test -n "$dependency_libs" &&
-            { test "$hardcode_into_libs" != yes ||
-              test "$build_old_libs" = yes ||
-              test "$link_static" = yes; }; then
+            { test yes != "$hardcode_into_libs" ||
+              test yes = "$build_old_libs" ||
+              test yes = "$link_static"; }; then
            # Extract -R from dependency_libs
            temp_deplibs=
            for libdir in $dependency_libs; do
@@ -7008,12 +8450,12 @@ func_mode_link ()
              *) func_append temp_deplibs " $libdir";;
              esac
            done
-           dependency_libs="$temp_deplibs"
+           dependency_libs=$temp_deplibs
          fi
 
          func_append newlib_search_path " $absdir"
          # Link against this library
-         test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+         test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
          # ... and its dependency_libs
          tmp_libs=
          for deplib in $dependency_libs; do
@@ -7023,7 +8465,7 @@ func_mode_link ()
                    func_resolve_sysroot "$func_stripname_result";;
               *) func_resolve_sysroot "$deplib" ;;
             esac
-           if $opt_preserve_dup_deps ; then
+           if $opt_preserve_dup_deps; then
              case "$tmp_libs " in
              *" $func_resolve_sysroot_result "*)
                 func_append specialdeplibs " $func_resolve_sysroot_result" ;;
@@ -7032,12 +8474,12 @@ func_mode_link ()
            func_append tmp_libs " $func_resolve_sysroot_result"
          done
 
-         if test "$link_all_deplibs" != no; then
+         if test no != "$link_all_deplibs"; then
            # Add the search paths of all dependency libraries
            for deplib in $dependency_libs; do
              path=
              case $deplib in
-             -L*) path="$deplib" ;;
+             -L*) path=$deplib ;;
              *.la)
                func_resolve_sysroot "$deplib"
                deplib=$func_resolve_sysroot_result
@@ -7045,12 +8487,12 @@ func_mode_link ()
                dir=$func_dirname_result
                # We need an absolute path.
                case $dir in
-               [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+               [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
                *)
                  absdir=`cd "$dir" && pwd`
                  if test -z "$absdir"; then
-                   func_warning "cannot determine absolute directory name of \`$dir'"
-                   absdir="$dir"
+                   func_warning "cannot determine absolute directory name of '$dir'"
+                   absdir=$dir
                  fi
                  ;;
                esac
@@ -7058,35 +8500,35 @@ func_mode_link ()
                case $host in
                *-*-darwin*)
                  depdepl=
-                 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-                 if test -n "$deplibrary_names" ; then
-                   for tmp in $deplibrary_names ; do
+                 eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+                 if test -n "$deplibrary_names"; then
+                   for tmp in $deplibrary_names; do
                      depdepl=$tmp
                    done
-                   if test -f "$absdir/$objdir/$depdepl" ; then
-                     depdepl="$absdir/$objdir/$depdepl"
-                     darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+                   if test -f "$absdir/$objdir/$depdepl"; then
+                     depdepl=$absdir/$objdir/$depdepl
+                     darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
                       if test -z "$darwin_install_name"; then
-                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
+                          darwin_install_name=`$OTOOL64 -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
                       fi
-                     func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
-                     func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+                     func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
+                     func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
                      path=
                    fi
                  fi
                  ;;
                *)
-                 path="-L$absdir/$objdir"
+                 path=-L$absdir/$objdir
                  ;;
                esac
                else
-                 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+                 eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
                  test -z "$libdir" && \
-                   func_fatal_error "\`$deplib' is not a valid libtool archive"
+                   func_fatal_error "'$deplib' is not a valid libtool archive"
                  test "$absdir" != "$libdir" && \
-                   func_warning "\`$deplib' seems to be moved"
+                   func_warning "'$deplib' seems to be moved"
 
-                 path="-L$absdir"
+                 path=-L$absdir
                fi
                ;;
              esac
@@ -7098,23 +8540,23 @@ func_mode_link ()
          fi # link_all_deplibs != no
        fi # linkmode = lib
       done # for deplib in $libs
-      if test "$pass" = link; then
-       if test "$linkmode" = "prog"; then
+      if test link = "$pass"; then
+       if test prog = "$linkmode"; then
          compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
          finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
        else
          compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
        fi
       fi
-      dependency_libs="$newdependency_libs"
-      if test "$pass" = dlpreopen; then
+      dependency_libs=$newdependency_libs
+      if test dlpreopen = "$pass"; then
        # Link the dlpreopened libraries before other libraries
        for deplib in $save_deplibs; do
          deplibs="$deplib $deplibs"
        done
       fi
-      if test "$pass" != dlopen; then
-       if test "$pass" != conv; then
+      if test dlopen != "$pass"; then
+       test conv = "$pass" || {
          # Make sure lib_search_path contains only unique directories.
          lib_search_path=
          for dir in $newlib_search_path; do
@@ -7124,12 +8566,12 @@ func_mode_link ()
            esac
          done
          newlib_search_path=
-       fi
+       }
 
-       if test "$linkmode,$pass" != "prog,link"; then
-         vars="deplibs"
-       else
+       if test prog,link = "$linkmode,$pass"; then
          vars="compile_deplibs finalize_deplibs"
+       else
+         vars=deplibs
        fi
        for var in $vars dependency_libs; do
          # Add libraries to $var in reverse order
@@ -7187,62 +8629,93 @@ func_mode_link ()
          eval $var=\"$tmp_libs\"
        done # for var
       fi
+
+      # Add Sun CC postdeps if required:
+      test CXX = "$tagname" && {
+        case $host_os in
+        linux*)
+          case `$CC -V 2>&1 | sed 5q` in
+          *Sun\ C*) # Sun C++ 5.9
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+
+        solaris*)
+          func_cc_basename "$CC"
+          case $func_cc_basename_result in
+          CC* | sunCC*)
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+        esac
+      }
+
       # Last step: remove runtime libs from dependency_libs
       # (they stay in deplibs)
       tmp_libs=
-      for i in $dependency_libs ; do
+      for i in $dependency_libs; do
        case " $predeps $postdeps $compiler_lib_search_path " in
        *" $i "*)
-         i=""
+         i=
          ;;
        esac
-       if test -n "$i" ; then
+       if test -n "$i"; then
          func_append tmp_libs " $i"
        fi
       done
       dependency_libs=$tmp_libs
     done # for pass
-    if test "$linkmode" = prog; then
-      dlfiles="$newdlfiles"
+    if test prog = "$linkmode"; then
+      dlfiles=$newdlfiles
     fi
-    if test "$linkmode" = prog || test "$linkmode" = lib; then
-      dlprefiles="$newdlprefiles"
+    if test prog = "$linkmode" || test lib = "$linkmode"; then
+      dlprefiles=$newdlprefiles
     fi
 
     case $linkmode in
     oldlib)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       func_warning "\`-dlopen' is ignored for archives"
+      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+       func_warning "'-dlopen' is ignored for archives"
       fi
 
       case " $deplibs" in
       *\ -l* | *\ -L*)
-       func_warning "\`-l' and \`-L' are ignored for archives" ;;
+       func_warning "'-l' and '-L' are ignored for archives" ;;
       esac
 
       test -n "$rpath" && \
-       func_warning "\`-rpath' is ignored for archives"
+       func_warning "'-rpath' is ignored for archives"
 
       test -n "$xrpath" && \
-       func_warning "\`-R' is ignored for archives"
+       func_warning "'-R' is ignored for archives"
 
       test -n "$vinfo" && \
-       func_warning "\`-version-info/-version-number' is ignored for archives"
+       func_warning "'-version-info/-version-number' is ignored for archives"
 
       test -n "$release" && \
-       func_warning "\`-release' is ignored for archives"
+       func_warning "'-release' is ignored for archives"
 
       test -n "$export_symbols$export_symbols_regex" && \
-       func_warning "\`-export-symbols' is ignored for archives"
+       func_warning "'-export-symbols' is ignored for archives"
 
       # Now set the variables for building old libraries.
       build_libtool_libs=no
-      oldlibs="$output"
+      oldlibs=$output
       func_append objs "$old_deplibs"
       ;;
 
     lib)
-      # Make sure we only generate libraries of the form `libNAME.la'.
+      # Make sure we only generate libraries of the form 'libNAME.la'.
       case $outputname in
       lib*)
        func_stripname 'lib' '.la' "$outputname"
@@ -7251,10 +8724,10 @@ func_mode_link ()
        eval libname=\"$libname_spec\"
        ;;
       *)
-       test "$module" = no && \
-         func_fatal_help "libtool library \`$output' must begin with \`lib'"
+       test no = "$module" \
+         && func_fatal_help "libtool library '$output' must begin with 'lib'"
 
-       if test "$need_lib_prefix" != no; then
+       if test no != "$need_lib_prefix"; then
          # Add the "lib" prefix for modules if required
          func_stripname '' '.la' "$outputname"
          name=$func_stripname_result
@@ -7268,8 +8741,8 @@ func_mode_link ()
       esac
 
       if test -n "$objs"; then
-       if test "$deplibs_check_method" != pass_all; then
-         func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+       if test pass_all != "$deplibs_check_method"; then
+         func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
        else
          echo
          $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
@@ -7278,21 +8751,21 @@ func_mode_link ()
        fi
       fi
 
-      test "$dlself" != no && \
-       func_warning "\`-dlopen self' is ignored for libtool libraries"
+      test no = "$dlself" \
+       || func_warning "'-dlopen self' is ignored for libtool libraries"
 
       set dummy $rpath
       shift
-      test "$#" -gt 1 && \
-       func_warning "ignoring multiple \`-rpath's for a libtool library"
+      test 1 -lt "$#" \
+       && func_warning "ignoring multiple '-rpath's for a libtool library"
 
-      install_libdir="$1"
+      install_libdir=$1
 
       oldlibs=
       if test -z "$rpath"; then
-       if test "$build_libtool_libs" = yes; then
+       if test yes = "$build_libtool_libs"; then
          # Building a libtool convenience library.
-         # Some compilers have problems with a `.al' extension so
+         # Some compilers have problems with a '.al' extension so
          # convenience libraries should have the same extension an
          # archive normally would.
          oldlibs="$output_objdir/$libname.$libext $oldlibs"
@@ -7301,20 +8774,20 @@ func_mode_link ()
        fi
 
        test -n "$vinfo" && \
-         func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+         func_warning "'-version-info/-version-number' is ignored for convenience libraries"
 
        test -n "$release" && \
-         func_warning "\`-release' is ignored for convenience libraries"
+         func_warning "'-release' is ignored for convenience libraries"
       else
 
        # Parse the version information argument.
-       save_ifs="$IFS"; IFS=':'
+       save_ifs=$IFS; IFS=:
        set dummy $vinfo 0 0 0
        shift
-       IFS="$save_ifs"
+       IFS=$save_ifs
 
        test -n "$7" && \
-         func_fatal_help "too many parameters to \`-version-info'"
+         func_fatal_help "too many parameters to '-version-info'"
 
        # convert absolute version numbers to libtool ages
        # this retains compatibility with .la files and attempts
@@ -7322,45 +8795,42 @@ func_mode_link ()
 
        case $vinfo_number in
        yes)
-         number_major="$1"
-         number_minor="$2"
-         number_revision="$3"
+         number_major=$1
+         number_minor=$2
+         number_revision=$3
          #
          # There are really only two kinds -- those that
          # use the current revision as the major version
          # and those that subtract age and use age as
          # a minor version.  But, then there is irix
-         # which has an extra 1 added just for fun
+         # that has an extra 1 added just for fun
          #
          case $version_type in
          # correct linux to gnu/linux during the next big refactor
-         darwin|linux|osf|windows|none)
+         darwin|freebsd-elf|linux|osf|windows|none)
            func_arith $number_major + $number_minor
            current=$func_arith_result
-           age="$number_minor"
-           revision="$number_revision"
+           age=$number_minor
+           revision=$number_revision
            ;;
-         freebsd-aout|freebsd-elf|qnx|sunos)
-           current="$number_major"
-           revision="$number_minor"
-           age="0"
+         freebsd-aout|qnx|sunos)
+           current=$number_major
+           revision=$number_minor
+           age=0
            ;;
          irix|nonstopux)
            func_arith $number_major + $number_minor
            current=$func_arith_result
-           age="$number_minor"
-           revision="$number_minor"
+           age=$number_minor
+           revision=$number_minor
            lt_irix_increment=no
            ;;
-         *)
-           func_fatal_configuration "$modename: unknown library version type \`$version_type'"
-           ;;
          esac
          ;;
        no)
-         current="$1"
-         revision="$2"
-         age="$3"
+         current=$1
+         revision=$2
+         age=$3
          ;;
        esac
 
@@ -7368,30 +8838,30 @@ func_mode_link ()
        case $current in
        0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         func_error "CURRENT \`$current' must be a nonnegative integer"
-         func_fatal_error "\`$vinfo' is not valid version information"
+         func_error "CURRENT '$current' must be a nonnegative integer"
+         func_fatal_error "'$vinfo' is not valid version information"
          ;;
        esac
 
        case $revision in
        0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         func_error "REVISION \`$revision' must be a nonnegative integer"
-         func_fatal_error "\`$vinfo' is not valid version information"
+         func_error "REVISION '$revision' must be a nonnegative integer"
+         func_fatal_error "'$vinfo' is not valid version information"
          ;;
        esac
 
        case $age in
        0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         func_error "AGE \`$age' must be a nonnegative integer"
-         func_fatal_error "\`$vinfo' is not valid version information"
+         func_error "AGE '$age' must be a nonnegative integer"
+         func_fatal_error "'$vinfo' is not valid version information"
          ;;
        esac
 
        if test "$age" -gt "$current"; then
-         func_error "AGE \`$age' is greater than the current interface number \`$current'"
-         func_fatal_error "\`$vinfo' is not valid version information"
+         func_error "AGE '$age' is greater than the current interface number '$current'"
+         func_fatal_error "'$vinfo' is not valid version information"
        fi
 
        # Calculate the version variables.
@@ -7406,26 +8876,36 @@ func_mode_link ()
          # verstring for coding it into the library header
          func_arith $current - $age
          major=.$func_arith_result
-         versuffix="$major.$age.$revision"
+         versuffix=$major.$age.$revision
          # Darwin ld doesn't like 0 for these options...
          func_arith $current + 1
          minor_current=$func_arith_result
-         xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+         xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
          verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+          # On Darwin other compilers
+          case $CC in
+              nagfor*)
+                  verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+                  ;;
+              *)
+                  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+                  ;;
+          esac
          ;;
 
        freebsd-aout)
-         major=".$current"
-         versuffix=".$current.$revision";
+         major=.$current
+         versuffix=.$current.$revision
          ;;
 
        freebsd-elf)
-         major=".$current"
-         versuffix=".$current"
+         func_arith $current - $age
+         major=.$func_arith_result
+         versuffix=$major.$age.$revision
          ;;
 
        irix | nonstopux)
-         if test "X$lt_irix_increment" = "Xno"; then
+         if test no = "$lt_irix_increment"; then
            func_arith $current - $age
          else
            func_arith $current - $age + 1
@@ -7436,69 +8916,74 @@ func_mode_link ()
            nonstopux) verstring_prefix=nonstopux ;;
            *)         verstring_prefix=sgi ;;
          esac
-         verstring="$verstring_prefix$major.$revision"
+         verstring=$verstring_prefix$major.$revision
 
          # Add in all the interfaces that we are compatible with.
          loop=$revision
-         while test "$loop" -ne 0; do
+         while test 0 -ne "$loop"; do
            func_arith $revision - $loop
            iface=$func_arith_result
            func_arith $loop - 1
            loop=$func_arith_result
-           verstring="$verstring_prefix$major.$iface:$verstring"
+           verstring=$verstring_prefix$major.$iface:$verstring
          done
 
-         # Before this point, $major must not contain `.'.
+         # Before this point, $major must not contain '.'.
          major=.$major
-         versuffix="$major.$revision"
+         versuffix=$major.$revision
          ;;
 
        linux) # correct to gnu/linux during the next big refactor
          func_arith $current - $age
          major=.$func_arith_result
-         versuffix="$major.$age.$revision"
+         versuffix=$major.$age.$revision
          ;;
 
        osf)
          func_arith $current - $age
          major=.$func_arith_result
-         versuffix=".$current.$age.$revision"
-         verstring="$current.$age.$revision"
+         versuffix=.$current.$age.$revision
+         verstring=$current.$age.$revision
 
          # Add in all the interfaces that we are compatible with.
          loop=$age
-         while test "$loop" -ne 0; do
+         while test 0 -ne "$loop"; do
            func_arith $current - $loop
            iface=$func_arith_result
            func_arith $loop - 1
            loop=$func_arith_result
-           verstring="$verstring:${iface}.0"
+           verstring=$verstring:$iface.0
          done
 
          # Make executables depend on our current version.
-         func_append verstring ":${current}.0"
+         func_append verstring ":$current.0"
          ;;
 
        qnx)
-         major=".$current"
-         versuffix=".$current"
+         major=.$current
+         versuffix=.$current
+         ;;
+
+       sco)
+         major=.$current
+         versuffix=.$current
          ;;
 
        sunos)
-         major=".$current"
-         versuffix=".$current.$revision"
+         major=.$current
+         versuffix=.$current.$revision
          ;;
 
        windows)
          # Use '-' rather than '.', since we only want one
-         # extension on DOS 8.3 filesystems.
+         # extension on DOS 8.3 file systems.
          func_arith $current - $age
          major=$func_arith_result
-         versuffix="-$major"
+         versuffix=-$major
          ;;
 
        *)
-         func_fatal_configuration "unknown library version type \`$version_type'"
+         func_fatal_configuration "unknown library version type '$version_type'"
          ;;
        esac
 
@@ -7512,42 +8997,45 @@ func_mode_link ()
            verstring=
            ;;
          *)
-           verstring="0.0"
+           verstring=0.0
            ;;
          esac
-         if test "$need_version" = no; then
+         if test no = "$need_version"; then
            versuffix=
          else
-           versuffix=".0.0"
+           versuffix=.0.0
          fi
        fi
 
        # Remove version info from name if versioning should be avoided
-       if test "$avoid_version" = yes && test "$need_version" = no; then
+       if test yes,no = "$avoid_version,$need_version"; then
          major=
          versuffix=
-         verstring=""
+         verstring=
        fi
 
        # Check to see if the archive will have undefined symbols.
-       if test "$allow_undefined" = yes; then
-         if test "$allow_undefined_flag" = unsupported; then
-           func_warning "undefined symbols not allowed in $host shared libraries"
-           build_libtool_libs=no
-           build_old_libs=yes
+       if test yes = "$allow_undefined"; then
+         if test unsupported = "$allow_undefined_flag"; then
+           if test yes = "$build_old_libs"; then
+             func_warning "undefined symbols not allowed in $host shared libraries; building static only"
+             build_libtool_libs=no
+           else
+             func_fatal_error "can't build $host shared library unless -no-undefined is specified"
+           fi
          fi
        else
          # Don't allow undefined symbols.
-         allow_undefined_flag="$no_undefined_flag"
+         allow_undefined_flag=$no_undefined_flag
        fi
 
       fi
 
-      func_generate_dlsyms "$libname" "$libname" "yes"
+      func_generate_dlsyms "$libname" "$libname" :
       func_append libobjs " $symfileobj"
-      test "X$libobjs" = "X " && libobjs=
+      test " " = "$libobjs" && libobjs=
 
-      if test "$opt_mode" != relink; then
+      if test relink != "$opt_mode"; then
        # Remove our outputs, but don't remove object files since they
        # may have been created when compiling PIC objects.
        removelist=
@@ -7556,8 +9044,8 @@ func_mode_link ()
          case $p in
            *.$objext | *.gcno)
               ;;
-           $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
-              if test "X$precious_files_regex" != "X"; then
+           $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
+              if test -n "$precious_files_regex"; then
                 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
                 then
                   continue
@@ -7573,11 +9061,11 @@ func_mode_link ()
       fi
 
       # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+      if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
        func_append oldlibs " $output_objdir/$libname.$libext"
 
        # Transform .lo files to .o files.
-       oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+       oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
       fi
 
       # Eliminate all temporary directories.
@@ -7598,13 +9086,13 @@ func_mode_link ()
          *) func_append finalize_rpath " $libdir" ;;
          esac
        done
-       if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+       if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
          dependency_libs="$temp_xrpath $dependency_libs"
        fi
       fi
 
       # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles="$dlfiles"
+      old_dlfiles=$dlfiles
       dlfiles=
       for lib in $old_dlfiles; do
        case " $dlprefiles $dlfiles " in
@@ -7614,7 +9102,7 @@ func_mode_link ()
       done
 
       # Make sure dlprefiles contains only unique files
-      old_dlprefiles="$dlprefiles"
+      old_dlprefiles=$dlprefiles
       dlprefiles=
       for lib in $old_dlprefiles; do
        case "$dlprefiles " in
@@ -7623,7 +9111,7 @@ func_mode_link ()
        esac
       done
 
-      if test "$build_libtool_libs" = yes; then
+      if test yes = "$build_libtool_libs"; then
        if test -n "$rpath"; then
          case $host in
          *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
@@ -7647,7 +9135,7 @@ func_mode_link ()
            ;;
          *)
            # Add libc to deplibs on all other systems if necessary.
-           if test "$build_libtool_need_lc" = "yes"; then
+           if test yes = "$build_libtool_need_lc"; then
              func_append deplibs " -lc"
            fi
            ;;
@@ -7663,9 +9151,9 @@ func_mode_link ()
        # I'm not sure if I'm treating the release correctly.  I think
        # release should show up in the -l (ie -lgmp5) so we don't want to
        # add it in twice.  Is that correct?
-       release=""
-       versuffix=""
-       major=""
+       release=
+       versuffix=
+       major=
        newdeplibs=
        droppeddeps=no
        case $deplibs_check_method in
@@ -7694,20 +9182,20 @@ EOF
              -l*)
                func_stripname -l '' "$i"
                name=$func_stripname_result
-               if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+               if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                  case " $predeps $postdeps " in
                  *" $i "*)
                    func_append newdeplibs " $i"
-                   i=""
+                   i=
                    ;;
                  esac
                fi
-               if test -n "$i" ; then
+               if test -n "$i"; then
                  libname=`eval "\\$ECHO \"$libname_spec\""`
                  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
                  set dummy $deplib_matches; shift
                  deplib_match=$1
-                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
                    func_append newdeplibs " $i"
                  else
                    droppeddeps=yes
@@ -7737,20 +9225,20 @@ EOF
                $opt_dry_run || $RM conftest
                if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
                  ldd_output=`ldd conftest`
-                 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+                 if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                    case " $predeps $postdeps " in
                    *" $i "*)
                      func_append newdeplibs " $i"
-                     i=""
+                     i=
                      ;;
                    esac
                  fi
-                 if test -n "$i" ; then
+                 if test -n "$i"; then
                    libname=`eval "\\$ECHO \"$libname_spec\""`
                    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
                    set dummy $deplib_matches; shift
                    deplib_match=$1
-                   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
                      func_append newdeplibs " $i"
                    else
                      droppeddeps=yes
@@ -7787,24 +9275,24 @@ EOF
            -l*)
              func_stripname -l '' "$a_deplib"
              name=$func_stripname_result
-             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+             if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                case " $predeps $postdeps " in
                *" $a_deplib "*)
                  func_append newdeplibs " $a_deplib"
-                 a_deplib=""
+                 a_deplib=
                  ;;
                esac
              fi
-             if test -n "$a_deplib" ; then
+             if test -n "$a_deplib"; then
                libname=`eval "\\$ECHO \"$libname_spec\""`
                if test -n "$file_magic_glob"; then
                  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
                else
                  libnameglob=$libname
                fi
-               test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+               test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
                for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-                 if test "$want_nocaseglob" = yes; then
+                 if test yes = "$want_nocaseglob"; then
                    shopt -s nocaseglob
                    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
                    $nocaseglob
@@ -7822,25 +9310,25 @@ EOF
                      # We might still enter an endless loop, since a link
                      # loop can be closed while we follow links,
                      # but so what?
-                     potlib="$potent_lib"
+                     potlib=$potent_lib
                      while test -h "$potlib" 2>/dev/null; do
-                       potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+                       potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
                        case $potliblink in
-                       [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-                       *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+                       [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
+                       *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
                        esac
                      done
                      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
                         $SED -e 10q |
                         $EGREP "$file_magic_regex" > /dev/null; then
                        func_append newdeplibs " $a_deplib"
-                       a_deplib=""
+                       a_deplib=
                        break 2
                      fi
                  done
                done
              fi
-             if test -n "$a_deplib" ; then
+             if test -n "$a_deplib"; then
                droppeddeps=yes
                echo
                $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7848,7 +9336,7 @@ EOF
                echo "*** you link to this library.  But I can only do this if you have a"
                echo "*** shared version of the library, which you do not appear to have"
                echo "*** because I did check the linker path looking for a file starting"
-               if test -z "$potlib" ; then
+               if test -z "$potlib"; then
                  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
                else
                  $ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7871,30 +9359,30 @@ EOF
            -l*)
              func_stripname -l '' "$a_deplib"
              name=$func_stripname_result
-             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+             if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                case " $predeps $postdeps " in
                *" $a_deplib "*)
                  func_append newdeplibs " $a_deplib"
-                 a_deplib=""
+                 a_deplib=
                  ;;
                esac
              fi
-             if test -n "$a_deplib" ; then
+             if test -n "$a_deplib"; then
                libname=`eval "\\$ECHO \"$libname_spec\""`
                for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
                  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
                  for potent_lib in $potential_libs; do
-                   potlib="$potent_lib" # see symlink-check above in file_magic test
+                   potlib=$potent_lib # see symlink-check above in file_magic test
                    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
                       $EGREP "$match_pattern_regex" > /dev/null; then
                      func_append newdeplibs " $a_deplib"
-                     a_deplib=""
+                     a_deplib=
                      break 2
                    fi
                  done
                done
              fi
-             if test -n "$a_deplib" ; then
+             if test -n "$a_deplib"; then
                droppeddeps=yes
                echo
                $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7902,7 +9390,7 @@ EOF
                echo "*** you link to this library.  But I can only do this if you have a"
                echo "*** shared version of the library, which you do not appear to have"
                echo "*** because I did check the linker path looking for a file starting"
-               if test -z "$potlib" ; then
+               if test -z "$potlib"; then
                  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
                else
                  $ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7918,18 +9406,18 @@ EOF
          done # Gone through all deplibs.
          ;;
        none | unknown | *)
-         newdeplibs=""
+         newdeplibs=
          tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
-         if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-           for i in $predeps $postdeps ; do
+         if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+           for i in $predeps $postdeps; do
              # can't use Xsed below, because $i might contain '/'
-             tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+             tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
            done
          fi
          case $tmp_deplibs in
          *[!\  \ ]*)
            echo
-           if test "X$deplibs_check_method" = "Xnone"; then
+           if test none = "$deplibs_check_method"; then
              echo "*** Warning: inter-library dependencies are not supported in this platform."
            else
              echo "*** Warning: inter-library dependencies are not known to be supported."
@@ -7953,8 +9441,8 @@ EOF
          ;;
        esac
 
-       if test "$droppeddeps" = yes; then
-         if test "$module" = yes; then
+       if test yes = "$droppeddeps"; then
+         if test yes = "$module"; then
            echo
            echo "*** Warning: libtool could not satisfy all declared inter-library"
            $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
@@ -7963,12 +9451,12 @@ EOF
            if test -z "$global_symbol_pipe"; then
              echo
              echo "*** However, this would only work if libtool was able to extract symbol"
-             echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+             echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
              echo "*** not find such a program.  So, this module is probably useless."
-             echo "*** \`nm' from GNU binutils and a full rebuild may help."
+             echo "*** 'nm' from GNU binutils and a full rebuild may help."
            fi
-           if test "$build_old_libs" = no; then
-             oldlibs="$output_objdir/$libname.$libext"
+           if test no = "$build_old_libs"; then
+             oldlibs=$output_objdir/$libname.$libext
              build_libtool_libs=module
              build_old_libs=yes
            else
@@ -7979,14 +9467,14 @@ EOF
            echo "*** automatically added whenever a program is linked with this library"
            echo "*** or is declared to -dlopen it."
 
-           if test "$allow_undefined" = no; then
+           if test no = "$allow_undefined"; then
              echo
              echo "*** Since this library must not contain undefined symbols,"
              echo "*** because either the platform does not support them or"
              echo "*** it was explicitly requested with -no-undefined,"
              echo "*** libtool will only create a static version of it."
-             if test "$build_old_libs" = no; then
-               oldlibs="$output_objdir/$libname.$libext"
+             if test no = "$build_old_libs"; then
+               oldlibs=$output_objdir/$libname.$libext
                build_libtool_libs=module
                build_old_libs=yes
              else
@@ -8032,7 +9520,7 @@ EOF
        *) func_append new_libs " $deplib" ;;
        esac
       done
-      deplibs="$new_libs"
+      deplibs=$new_libs
 
       # All the library-specific variables (install_libdir is set above).
       library_names=
@@ -8040,25 +9528,25 @@ EOF
       dlname=
 
       # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-       # Remove ${wl} instances when linking with ld.
+      if test yes = "$build_libtool_libs"; then
+       # Remove $wl instances when linking with ld.
        # FIXME: should test the right _cmds variable.
        case $archive_cmds in
          *\$LD\ *) wl= ;;
         esac
-       if test "$hardcode_into_libs" = yes; then
+       if test yes = "$hardcode_into_libs"; then
          # Hardcode the library paths
          hardcode_libdirs=
          dep_rpath=
-         rpath="$finalize_rpath"
-         test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+         rpath=$finalize_rpath
+         test relink = "$opt_mode" || rpath=$compile_rpath$rpath
          for libdir in $rpath; do
            if test -n "$hardcode_libdir_flag_spec"; then
              if test -n "$hardcode_libdir_separator"; then
                func_replace_sysroot "$libdir"
                libdir=$func_replace_sysroot_result
                if test -z "$hardcode_libdirs"; then
-                 hardcode_libdirs="$libdir"
+                 hardcode_libdirs=$libdir
                else
                  # Just accumulate the unique libdirs.
                  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8083,7 +9571,7 @@ EOF
          # Substitute the hardcoded libdirs into the rpath.
          if test -n "$hardcode_libdir_separator" &&
             test -n "$hardcode_libdirs"; then
-           libdir="$hardcode_libdirs"
+           libdir=$hardcode_libdirs
            eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
          fi
          if test -n "$runpath_var" && test -n "$perm_rpath"; then
@@ -8097,8 +9585,8 @@ EOF
          test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
        fi
 
-       shlibpath="$finalize_shlibpath"
-       test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+       shlibpath=$finalize_shlibpath
+       test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
        if test -n "$shlibpath"; then
          eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
        fi
@@ -8108,19 +9596,19 @@ EOF
        eval library_names=\"$library_names_spec\"
        set dummy $library_names
        shift
-       realname="$1"
+       realname=$1
        shift
 
        if test -n "$soname_spec"; then
          eval soname=\"$soname_spec\"
        else
-         soname="$realname"
+         soname=$realname
        fi
        if test -z "$dlname"; then
          dlname=$soname
        fi
 
-       lib="$output_objdir/$realname"
+       lib=$output_objdir/$realname
        linknames=
        for link
        do
@@ -8134,7 +9622,7 @@ EOF
        delfiles=
        if test -n "$export_symbols" && test -n "$include_expsyms"; then
          $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
-         export_symbols="$output_objdir/$libname.uexp"
+         export_symbols=$output_objdir/$libname.uexp
          func_append delfiles " $export_symbols"
        fi
 
@@ -8143,31 +9631,31 @@ EOF
        cygwin* | mingw* | cegcc*)
          if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
            # exporting using user supplied symfile
-           if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+           func_dll_def_p "$export_symbols" || {
              # and it's NOT already a .def file. Must figure out
              # which of the given symbols are data symbols and tag
              # them as such. So, trigger use of export_symbols_cmds.
              # export_symbols gets reassigned inside the "prepare
              # the list of exported symbols" if statement, so the
              # include_expsyms logic still works.
-             orig_export_symbols="$export_symbols"
+             orig_export_symbols=$export_symbols
              export_symbols=
              always_export_symbols=yes
-           fi
+           }
          fi
          ;;
        esac
 
        # Prepare the list of exported symbols
        if test -z "$export_symbols"; then
-         if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-           func_verbose "generating symbol list for \`$libname.la'"
-           export_symbols="$output_objdir/$libname.exp"
+         if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
+           func_verbose "generating symbol list for '$libname.la'"
+           export_symbols=$output_objdir/$libname.exp
            $opt_dry_run || $RM $export_symbols
            cmds=$export_symbols_cmds
-           save_ifs="$IFS"; IFS='~'
+           save_ifs=$IFS; IFS='~'
            for cmd1 in $cmds; do
-             IFS="$save_ifs"
+             IFS=$save_ifs
              # Take the normal branch if the nm_file_list_spec branch
              # doesn't work or if tool conversion is not needed.
              case $nm_file_list_spec~$to_tool_file_cmd in
@@ -8181,7 +9669,7 @@ EOF
                  try_normal_branch=no
                  ;;
              esac
-             if test "$try_normal_branch" = yes \
+             if test yes = "$try_normal_branch" \
                 && { test "$len" -lt "$max_cmd_len" \
                      || test "$max_cmd_len" -le -1; }
              then
@@ -8192,7 +9680,7 @@ EOF
                output_la=$func_basename_result
                save_libobjs=$libobjs
                save_output=$output
-               output=${output_objdir}/${output_la}.nm
+               output=$output_objdir/$output_la.nm
                func_to_tool_file "$output"
                libobjs=$nm_file_list_spec$func_to_tool_file_result
                func_append delfiles " $output"
@@ -8215,8 +9703,8 @@ EOF
                break
              fi
            done
-           IFS="$save_ifs"
-           if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+           IFS=$save_ifs
+           if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
              func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
              func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
            fi
@@ -8224,16 +9712,16 @@ EOF
        fi
 
        if test -n "$export_symbols" && test -n "$include_expsyms"; then
-         tmp_export_symbols="$export_symbols"
-         test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+         tmp_export_symbols=$export_symbols
+         test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
          $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
        fi
 
-       if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+       if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
          # The given exports_symbols file has to be filtered, so filter it.
-         func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+         func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
          # FIXME: $output_objdir/$libname.filter potentially contains lots of
-         # 's' commands which not all seds can handle. GNU sed should be fine
+         # 's' commands, which not all seds can handle. GNU sed should be fine
          # though. Also, the filter scales superlinearly with the number of
          # global variables. join(1) would be nice here, but unfortunately
          # isn't a blessed tool.
@@ -8252,11 +9740,11 @@ EOF
            ;;
          esac
        done
-       deplibs="$tmp_deplibs"
+       deplibs=$tmp_deplibs
 
        if test -n "$convenience"; then
          if test -n "$whole_archive_flag_spec" &&
-           test "$compiler_needs_object" = yes &&
+           test yes = "$compiler_needs_object" &&
            test -z "$libobjs"; then
            # extract the archives, so we have objects to list.
            # TODO: could optimize this to just extract one archive.
@@ -8267,7 +9755,7 @@ EOF
            eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
            test "X$libobjs" = "X " && libobjs=
          else
-           gentop="$output_objdir/${outputname}x"
+           gentop=$output_objdir/${outputname}x
            func_append generated " $gentop"
 
            func_extract_archives $gentop $convenience
@@ -8276,18 +9764,18 @@ EOF
          fi
        fi
 
-       if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+       if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
          eval flag=\"$thread_safe_flag_spec\"
          func_append linker_flags " $flag"
        fi
 
        # Make a backup of the uninstalled library when relinking
-       if test "$opt_mode" = relink; then
+       if test relink = "$opt_mode"; then
          $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
        fi
 
        # Do each of the archive commands.
-       if test "$module" = yes && test -n "$module_cmds" ; then
+       if test yes = "$module" && test -n "$module_cmds"; then
          if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
            eval test_cmds=\"$module_expsym_cmds\"
            cmds=$module_expsym_cmds
@@ -8305,7 +9793,7 @@ EOF
          fi
        fi
 
-       if test "X$skipped_export" != "X:" &&
+       if test : != "$skipped_export" &&
           func_len " $test_cmds" &&
           len=$func_len_result &&
           test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
@@ -8338,8 +9826,8 @@ EOF
          last_robj=
          k=1
 
-         if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
-           output=${output_objdir}/${output_la}.lnkscript
+         if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
+           output=$output_objdir/$output_la.lnkscript
            func_verbose "creating GNU ld script: $output"
            echo 'INPUT (' > $output
            for obj in $save_libobjs
@@ -8351,14 +9839,14 @@ EOF
            func_append delfiles " $output"
            func_to_tool_file "$output"
            output=$func_to_tool_file_result
-         elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
-           output=${output_objdir}/${output_la}.lnk
+         elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
+           output=$output_objdir/$output_la.lnk
            func_verbose "creating linker input file list: $output"
            : > $output
            set x $save_libobjs
            shift
            firstobj=
-           if test "$compiler_needs_object" = yes; then
+           if test yes = "$compiler_needs_object"; then
              firstobj="$1 "
              shift
            fi
@@ -8373,7 +9861,7 @@ EOF
          else
            if test -n "$save_libobjs"; then
              func_verbose "creating reloadable object files..."
-             output=$output_objdir/$output_la-${k}.$objext
+             output=$output_objdir/$output_la-$k.$objext
              eval test_cmds=\"$reload_cmds\"
              func_len " $test_cmds"
              len0=$func_len_result
@@ -8385,13 +9873,13 @@ EOF
                func_len " $obj"
                func_arith $len + $func_len_result
                len=$func_arith_result
-               if test "X$objlist" = X ||
+               if test -z "$objlist" ||
                   test "$len" -lt "$max_cmd_len"; then
                  func_append objlist " $obj"
                else
                  # The command $test_cmds is almost too long, add a
                  # command to the queue.
-                 if test "$k" -eq 1 ; then
+                 if test 1 -eq "$k"; then
                    # The first file doesn't have a previous command to add.
                    reload_objs=$objlist
                    eval concat_cmds=\"$reload_cmds\"
@@ -8401,10 +9889,10 @@ EOF
                    reload_objs="$objlist $last_robj"
                    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
                  fi
-                 last_robj=$output_objdir/$output_la-${k}.$objext
+                 last_robj=$output_objdir/$output_la-$k.$objext
                  func_arith $k + 1
                  k=$func_arith_result
-                 output=$output_objdir/$output_la-${k}.$objext
+                 output=$output_objdir/$output_la-$k.$objext
                  objlist=" $obj"
                  func_len " $last_robj"
                  func_arith $len0 + $func_len_result
@@ -8416,9 +9904,9 @@ EOF
              # files will link in the last one created.
              test -z "$concat_cmds" || concat_cmds=$concat_cmds~
              reload_objs="$objlist $last_robj"
-             eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+             eval concat_cmds=\"\$concat_cmds$reload_cmds\"
              if test -n "$last_robj"; then
-               eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+               eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
              fi
              func_append delfiles " $output"
 
@@ -8426,9 +9914,9 @@ EOF
              output=
            fi
 
-           if ${skipped_export-false}; then
-             func_verbose "generating symbol list for \`$libname.la'"
-             export_symbols="$output_objdir/$libname.exp"
+           ${skipped_export-false} && {
+             func_verbose "generating symbol list for '$libname.la'"
+             export_symbols=$output_objdir/$libname.exp
              $opt_dry_run || $RM $export_symbols
              libobjs=$output
              # Append the command to create the export file.
@@ -8437,16 +9925,16 @@ EOF
              if test -n "$last_robj"; then
                eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
              fi
-           fi
+           }
 
            test -n "$save_libobjs" &&
              func_verbose "creating a temporary reloadable object file: $output"
 
            # Loop through the commands generated above and execute them.
-           save_ifs="$IFS"; IFS='~'
+           save_ifs=$IFS; IFS='~'
            for cmd in $concat_cmds; do
-             IFS="$save_ifs"
-             $opt_silent || {
+             IFS=$save_ifs
+             $opt_quiet || {
                  func_quote_for_expand "$cmd"
                  eval "func_echo $func_quote_for_expand_result"
              }
@@ -8454,7 +9942,7 @@ EOF
                lt_exit=$?
 
                # Restore the uninstalled library and exit
-               if test "$opt_mode" = relink; then
+               if test relink = "$opt_mode"; then
                  ( cd "$output_objdir" && \
                    $RM "${realname}T" && \
                    $MV "${realname}U" "$realname" )
@@ -8463,7 +9951,7 @@ EOF
                exit $lt_exit
              }
            done
-           IFS="$save_ifs"
+           IFS=$save_ifs
 
            if test -n "$export_symbols_regex" && ${skipped_export-false}; then
              func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
@@ -8471,18 +9959,18 @@ EOF
            fi
          fi
 
-          if ${skipped_export-false}; then
+          ${skipped_export-false} && {
            if test -n "$export_symbols" && test -n "$include_expsyms"; then
-             tmp_export_symbols="$export_symbols"
-             test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+             tmp_export_symbols=$export_symbols
+             test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
              $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
            fi
 
            if test -n "$orig_export_symbols"; then
              # The given exports_symbols file has to be filtered, so filter it.
-             func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+             func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
              # FIXME: $output_objdir/$libname.filter potentially contains lots of
-             # 's' commands which not all seds can handle. GNU sed should be fine
+             # 's' commands, which not all seds can handle. GNU sed should be fine
              # though. Also, the filter scales superlinearly with the number of
              # global variables. join(1) would be nice here, but unfortunately
              # isn't a blessed tool.
@@ -8491,7 +9979,7 @@ EOF
              export_symbols=$output_objdir/$libname.def
              $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
            fi
-         fi
+         }
 
          libobjs=$output
          # Restore the value of output.
@@ -8505,7 +9993,7 @@ EOF
          # value of $libobjs for piecewise linking.
 
          # Do each of the archive commands.
-         if test "$module" = yes && test -n "$module_cmds" ; then
+         if test yes = "$module" && test -n "$module_cmds"; then
            if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
              cmds=$module_expsym_cmds
            else
@@ -8527,7 +10015,7 @@ EOF
 
        # Add any objects from preloaded convenience libraries
        if test -n "$dlprefiles"; then
-         gentop="$output_objdir/${outputname}x"
+         gentop=$output_objdir/${outputname}x
          func_append generated " $gentop"
 
          func_extract_archives $gentop $dlprefiles
@@ -8535,11 +10023,12 @@ EOF
          test "X$libobjs" = "X " && libobjs=
        fi
 
-       save_ifs="$IFS"; IFS='~'
+       save_ifs=$IFS; IFS='~'
        for cmd in $cmds; do
-         IFS="$save_ifs"
+         IFS=$sp$nl
          eval cmd=\"$cmd\"
-         $opt_silent || {
+         IFS=$save_ifs
+         $opt_quiet || {
            func_quote_for_expand "$cmd"
            eval "func_echo $func_quote_for_expand_result"
          }
@@ -8547,7 +10036,7 @@ EOF
            lt_exit=$?
 
            # Restore the uninstalled library and exit
-           if test "$opt_mode" = relink; then
+           if test relink = "$opt_mode"; then
              ( cd "$output_objdir" && \
                $RM "${realname}T" && \
                $MV "${realname}U" "$realname" )
@@ -8556,10 +10045,10 @@ EOF
            exit $lt_exit
          }
        done
-       IFS="$save_ifs"
+       IFS=$save_ifs
 
        # Restore the uninstalled library and exit
-       if test "$opt_mode" = relink; then
+       if test relink = "$opt_mode"; then
          $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
 
          if test -n "$convenience"; then
@@ -8579,39 +10068,39 @@ EOF
        done
 
        # If -module or -export-dynamic was specified, set the dlname.
-       if test "$module" = yes || test "$export_dynamic" = yes; then
+       if test yes = "$module" || test yes = "$export_dynamic"; then
          # On all known operating systems, these are identical.
-         dlname="$soname"
+         dlname=$soname
        fi
       fi
       ;;
 
     obj)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       func_warning "\`-dlopen' is ignored for objects"
+      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+       func_warning "'-dlopen' is ignored for objects"
       fi
 
       case " $deplibs" in
       *\ -l* | *\ -L*)
-       func_warning "\`-l' and \`-L' are ignored for objects" ;;
+       func_warning "'-l' and '-L' are ignored for objects" ;;
       esac
 
       test -n "$rpath" && \
-       func_warning "\`-rpath' is ignored for objects"
+       func_warning "'-rpath' is ignored for objects"
 
       test -n "$xrpath" && \
-       func_warning "\`-R' is ignored for objects"
+       func_warning "'-R' is ignored for objects"
 
       test -n "$vinfo" && \
-       func_warning "\`-version-info' is ignored for objects"
+       func_warning "'-version-info' is ignored for objects"
 
       test -n "$release" && \
-       func_warning "\`-release' is ignored for objects"
+       func_warning "'-release' is ignored for objects"
 
       case $output in
       *.lo)
        test -n "$objs$old_deplibs" && \
-         func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+         func_fatal_error "cannot build library object '$output' from non-libtool objects"
 
        libobj=$output
        func_lo2o "$libobj"
@@ -8619,7 +10108,7 @@ EOF
        ;;
       *)
        libobj=
-       obj="$output"
+       obj=$output
        ;;
       esac
 
@@ -8632,17 +10121,19 @@ EOF
       # the extraction.
       reload_conv_objs=
       gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec and hope we can get by with
-      # turning comma into space..
-      wl=
-
+      # if reload_cmds runs $LD directly, get rid of -Wl from
+      # whole_archive_flag_spec and hope we can get by with turning comma
+      # into space.
+      case $reload_cmds in
+        *\$LD[\ \$]*) wl= ;;
+      esac
       if test -n "$convenience"; then
        if test -n "$whole_archive_flag_spec"; then
          eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-         reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+         test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+         reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
        else
-         gentop="$output_objdir/${obj}x"
+         gentop=$output_objdir/${obj}x
          func_append generated " $gentop"
 
          func_extract_archives $gentop $convenience
@@ -8651,12 +10142,12 @@ EOF
       fi
 
       # If we're not building shared, we need to use non_pic_objs
-      test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+      test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
 
       # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+      reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
 
-      output="$obj"
+      output=$obj
       func_execute_cmds "$reload_cmds" 'exit $?'
 
       # Exit if we aren't doing a library object file.
@@ -8668,7 +10159,7 @@ EOF
        exit $EXIT_SUCCESS
       fi
 
-      if test "$build_libtool_libs" != yes; then
+      test yes = "$build_libtool_libs" || {
        if test -n "$gentop"; then
          func_show_eval '${RM}r "$gentop"'
        fi
@@ -8678,12 +10169,12 @@ EOF
        # $show "echo timestamp > $libobj"
        # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
        exit $EXIT_SUCCESS
-      fi
+      }
 
-      if test -n "$pic_flag" || test "$pic_mode" != default; then
+      if test -n "$pic_flag" || test default != "$pic_mode"; then
        # Only do commands if we really have different PIC objects.
        reload_objs="$libobjs $reload_conv_objs"
-       output="$libobj"
+       output=$libobj
        func_execute_cmds "$reload_cmds" 'exit $?'
       fi
 
@@ -8700,16 +10191,14 @@ EOF
                  output=$func_stripname_result.exe;;
       esac
       test -n "$vinfo" && \
-       func_warning "\`-version-info' is ignored for programs"
+       func_warning "'-version-info' is ignored for programs"
 
       test -n "$release" && \
-       func_warning "\`-release' is ignored for programs"
+       func_warning "'-release' is ignored for programs"
 
-      test "$preload" = yes \
-        && test "$dlopen_support" = unknown \
-       && test "$dlopen_self" = unknown \
-       && test "$dlopen_self_static" = unknown && \
-         func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+      $preload \
+       && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
+       && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
 
       case $host in
       *-*-rhapsody* | *-*-darwin1.[012])
@@ -8723,11 +10212,11 @@ EOF
       *-*-darwin*)
        # Don't allow lazy linking, it breaks C++ global constructors
        # But is supposedly fixed on 10.4 or later (yay!).
-       if test "$tagname" = CXX ; then
+       if test CXX = "$tagname"; then
          case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
            10.[0123])
-             func_append compile_command " ${wl}-bind_at_load"
-             func_append finalize_command " ${wl}-bind_at_load"
+             func_append compile_command " $wl-bind_at_load"
+             func_append finalize_command " $wl-bind_at_load"
            ;;
          esac
        fi
@@ -8763,7 +10252,7 @@ EOF
        *) func_append new_libs " $deplib" ;;
        esac
       done
-      compile_deplibs="$new_libs"
+      compile_deplibs=$new_libs
 
 
       func_append compile_command " $compile_deplibs"
@@ -8787,7 +10276,7 @@ EOF
        if test -n "$hardcode_libdir_flag_spec"; then
          if test -n "$hardcode_libdir_separator"; then
            if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs="$libdir"
+             hardcode_libdirs=$libdir
            else
              # Just accumulate the unique libdirs.
              case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8810,7 +10299,7 @@ EOF
        fi
        case $host in
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-         testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+         testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
          case :$dllsearchpath: in
          *":$libdir:"*) ;;
          ::) dllsearchpath=$libdir;;
@@ -8827,10 +10316,10 @@ EOF
       # Substitute the hardcoded libdirs into the rpath.
       if test -n "$hardcode_libdir_separator" &&
         test -n "$hardcode_libdirs"; then
-       libdir="$hardcode_libdirs"
+       libdir=$hardcode_libdirs
        eval rpath=\" $hardcode_libdir_flag_spec\"
       fi
-      compile_rpath="$rpath"
+      compile_rpath=$rpath
 
       rpath=
       hardcode_libdirs=
@@ -8838,7 +10327,7 @@ EOF
        if test -n "$hardcode_libdir_flag_spec"; then
          if test -n "$hardcode_libdir_separator"; then
            if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs="$libdir"
+             hardcode_libdirs=$libdir
            else
              # Just accumulate the unique libdirs.
              case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8863,45 +10352,43 @@ EOF
       # Substitute the hardcoded libdirs into the rpath.
       if test -n "$hardcode_libdir_separator" &&
         test -n "$hardcode_libdirs"; then
-       libdir="$hardcode_libdirs"
+       libdir=$hardcode_libdirs
        eval rpath=\" $hardcode_libdir_flag_spec\"
       fi
-      finalize_rpath="$rpath"
+      finalize_rpath=$rpath
 
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+      if test -n "$libobjs" && test yes = "$build_old_libs"; then
        # Transform all the library objects into standard objects.
        compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
        finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
       fi
 
-      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+      func_generate_dlsyms "$outputname" "@PROGRAM@" false
 
       # template prelinking step
       if test -n "$prelink_cmds"; then
        func_execute_cmds "$prelink_cmds" 'exit $?'
       fi
 
-      wrappers_required=yes
+      wrappers_required=:
       case $host in
       *cegcc* | *mingw32ce*)
         # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
-        wrappers_required=no
+        wrappers_required=false
         ;;
       *cygwin* | *mingw* )
-        if test "$build_libtool_libs" != yes; then
-          wrappers_required=no
-        fi
+        test yes = "$build_libtool_libs" || wrappers_required=false
         ;;
       *)
-        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
-          wrappers_required=no
+        if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
+          wrappers_required=false
         fi
         ;;
       esac
-      if test "$wrappers_required" = no; then
+      $wrappers_required || {
        # Replace the output file specification.
        compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-       link_command="$compile_command$compile_rpath"
+       link_command=$compile_command$compile_rpath
 
        # We have no uninstalled library dependencies, so finalize right now.
        exit_status=0
@@ -8914,12 +10401,12 @@ EOF
        fi
 
        # Delete the generated files.
-       if test -f "$output_objdir/${outputname}S.${objext}"; then
-         func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+       if test -f "$output_objdir/${outputname}S.$objext"; then
+         func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
        fi
 
        exit $exit_status
-      fi
+      }
 
       if test -n "$compile_shlibpath$finalize_shlibpath"; then
        compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
@@ -8949,9 +10436,9 @@ EOF
        fi
       fi
 
-      if test "$no_install" = yes; then
+      if test yes = "$no_install"; then
        # We don't need to create a wrapper script.
-       link_command="$compile_var$compile_command$compile_rpath"
+       link_command=$compile_var$compile_command$compile_rpath
        # Replace the output file specification.
        link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
        # Delete the old output file.
@@ -8968,27 +10455,28 @@ EOF
        exit $EXIT_SUCCESS
       fi
 
-      if test "$hardcode_action" = relink; then
-       # Fast installation is not supported
-       link_command="$compile_var$compile_command$compile_rpath"
-       relink_command="$finalize_var$finalize_command$finalize_rpath"
+      case $hardcode_action,$fast_install in
+        relink,*)
+         # Fast installation is not supported
+         link_command=$compile_var$compile_command$compile_rpath
+         relink_command=$finalize_var$finalize_command$finalize_rpath
 
-       func_warning "this platform does not like uninstalled shared libraries"
-       func_warning "\`$output' will be relinked during installation"
-      else
-       if test "$fast_install" != no; then
-         link_command="$finalize_var$compile_command$finalize_rpath"
-         if test "$fast_install" = yes; then
-           relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
-         else
-           # fast_install is set to needless
-           relink_command=
-         fi
-       else
-         link_command="$compile_var$compile_command$compile_rpath"
-         relink_command="$finalize_var$finalize_command$finalize_rpath"
-       fi
-      fi
+         func_warning "this platform does not like uninstalled shared libraries"
+         func_warning "'$output' will be relinked during installation"
+         ;;
+        *,yes)
+         link_command=$finalize_var$compile_command$finalize_rpath
+         relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+          ;;
+       *,no)
+         link_command=$compile_var$compile_command$compile_rpath
+         relink_command=$finalize_var$finalize_command$finalize_rpath
+          ;;
+       *,needless)
+         link_command=$finalize_var$compile_command$finalize_rpath
+         relink_command=
+          ;;
+      esac
 
       # Replace the output file specification.
       link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
@@ -9045,8 +10533,8 @@ EOF
            func_dirname_and_basename "$output" "" "."
            output_name=$func_basename_result
            output_path=$func_dirname_result
-           cwrappersource="$output_path/$objdir/lt-$output_name.c"
-           cwrapper="$output_path/$output_name.exe"
+           cwrappersource=$output_path/$objdir/lt-$output_name.c
+           cwrapper=$output_path/$output_name.exe
            $RM $cwrappersource $cwrapper
            trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
 
@@ -9067,7 +10555,7 @@ EOF
            trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
            $opt_dry_run || {
              # note: this script will not be executed, so do not chmod.
-             if test "x$build" = "x$host" ; then
+             if test "x$build" = "x$host"; then
                $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
              else
                func_emit_wrapper no > $func_ltwrapper_scriptname_result
@@ -9090,25 +10578,27 @@ EOF
     # See if we need to build an old-fashioned archive.
     for oldlib in $oldlibs; do
 
-      if test "$build_libtool_libs" = convenience; then
-       oldobjs="$libobjs_save $symfileobj"
-       addlibs="$convenience"
-       build_libtool_libs=no
-      else
-       if test "$build_libtool_libs" = module; then
-         oldobjs="$libobjs_save"
+      case $build_libtool_libs in
+        convenience)
+         oldobjs="$libobjs_save $symfileobj"
+         addlibs=$convenience
          build_libtool_libs=no
-       else
+         ;;
+       module)
+         oldobjs=$libobjs_save
+         addlibs=$old_convenience
+         build_libtool_libs=no
+          ;;
+       *)
          oldobjs="$old_deplibs $non_pic_objects"
-         if test "$preload" = yes && test -f "$symfileobj"; then
-           func_append oldobjs " $symfileobj"
-         fi
-       fi
-       addlibs="$old_convenience"
-      fi
+         $preload && test -f "$symfileobj" \
+           && func_append oldobjs " $symfileobj"
+         addlibs=$old_convenience
+         ;;
+      esac
 
       if test -n "$addlibs"; then
-       gentop="$output_objdir/${outputname}x"
+       gentop=$output_objdir/${outputname}x
        func_append generated " $gentop"
 
        func_extract_archives $gentop $addlibs
@@ -9116,13 +10606,13 @@ EOF
       fi
 
       # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+      if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
        cmds=$old_archive_from_new_cmds
       else
 
        # Add any objects from preloaded convenience libraries
        if test -n "$dlprefiles"; then
-         gentop="$output_objdir/${outputname}x"
+         gentop=$output_objdir/${outputname}x
          func_append generated " $gentop"
 
          func_extract_archives $gentop $dlprefiles
@@ -9143,7 +10633,7 @@ EOF
          :
        else
          echo "copying selected object files to avoid basename conflicts..."
-         gentop="$output_objdir/${outputname}x"
+         gentop=$output_objdir/${outputname}x
          func_append generated " $gentop"
          func_mkdir_p "$gentop"
          save_oldobjs=$oldobjs
@@ -9152,7 +10642,7 @@ EOF
          for obj in $save_oldobjs
          do
            func_basename "$obj"
-           objbase="$func_basename_result"
+           objbase=$func_basename_result
            case " $oldobjs " in
            " ") oldobjs=$obj ;;
            *[\ /]"$objbase "*)
@@ -9221,18 +10711,18 @@ EOF
            else
              # the above command should be used before it gets too long
              oldobjs=$objlist
-             if test "$obj" = "$last_oldobj" ; then
+             if test "$obj" = "$last_oldobj"; then
                RANLIB=$save_RANLIB
              fi
              test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-             eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+             eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
              objlist=
              len=$len0
            fi
          done
          RANLIB=$save_RANLIB
          oldobjs=$objlist
-         if test "X$oldobjs" = "X" ; then
+         if test -z "$oldobjs"; then
            eval cmds=\"\$concat_cmds\"
          else
            eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
@@ -9249,7 +10739,7 @@ EOF
     case $output in
     *.la)
       old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      test yes = "$build_old_libs" && old_library=$libname.$libext
       func_verbose "creating $output"
 
       # Preserve any variables that may affect compiler behavior
@@ -9264,31 +10754,31 @@ EOF
        fi
       done
       # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
       relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-      if test "$hardcode_automatic" = yes ; then
+      if test yes = "$hardcode_automatic"; then
        relink_command=
       fi
 
       # Only create the output if not a dry run.
       $opt_dry_run || {
        for installed in no yes; do
-         if test "$installed" = yes; then
+         if test yes = "$installed"; then
            if test -z "$install_libdir"; then
              break
            fi
-           output="$output_objdir/$outputname"i
+           output=$output_objdir/${outputname}i
            # Replace all uninstalled libtool libraries with the installed ones
            newdependency_libs=
            for deplib in $dependency_libs; do
              case $deplib in
              *.la)
                func_basename "$deplib"
-               name="$func_basename_result"
+               name=$func_basename_result
                func_resolve_sysroot "$deplib"
-               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+               eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
                test -z "$libdir" && \
-                 func_fatal_error "\`$deplib' is not a valid libtool archive"
+                 func_fatal_error "'$deplib' is not a valid libtool archive"
                func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
                ;;
              -L*)
@@ -9304,23 +10794,23 @@ EOF
              *) func_append newdependency_libs " $deplib" ;;
              esac
            done
-           dependency_libs="$newdependency_libs"
+           dependency_libs=$newdependency_libs
            newdlfiles=
 
            for lib in $dlfiles; do
              case $lib in
              *.la)
                func_basename "$lib"
-               name="$func_basename_result"
-               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+               name=$func_basename_result
+               eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
                test -z "$libdir" && \
-                 func_fatal_error "\`$lib' is not a valid libtool archive"
+                 func_fatal_error "'$lib' is not a valid libtool archive"
                func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
                ;;
              *) func_append newdlfiles " $lib" ;;
              esac
            done
-           dlfiles="$newdlfiles"
+           dlfiles=$newdlfiles
            newdlprefiles=
            for lib in $dlprefiles; do
              case $lib in
@@ -9330,34 +10820,34 @@ EOF
                # didn't already link the preopened objects directly into
                # the library:
                func_basename "$lib"
-               name="$func_basename_result"
-               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+               name=$func_basename_result
+               eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
                test -z "$libdir" && \
-                 func_fatal_error "\`$lib' is not a valid libtool archive"
+                 func_fatal_error "'$lib' is not a valid libtool archive"
                func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
                ;;
              esac
            done
-           dlprefiles="$newdlprefiles"
+           dlprefiles=$newdlprefiles
          else
            newdlfiles=
            for lib in $dlfiles; do
              case $lib in
-               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+               [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
                *) abs=`pwd`"/$lib" ;;
              esac
              func_append newdlfiles " $abs"
            done
-           dlfiles="$newdlfiles"
+           dlfiles=$newdlfiles
            newdlprefiles=
            for lib in $dlprefiles; do
              case $lib in
-               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+               [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
                *) abs=`pwd`"/$lib" ;;
              esac
              func_append newdlprefiles " $abs"
            done
-           dlprefiles="$newdlprefiles"
+           dlprefiles=$newdlprefiles
          fi
          $RM $output
          # place dlname in correct position for cygwin
@@ -9373,10 +10863,9 @@ EOF
          case $host,$output,$installed,$module,$dlname in
            *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
              # If a -bindir argument was supplied, place the dll there.
-             if test "x$bindir" != x ;
-             then
+             if test -n "$bindir"; then
                func_relative_path "$install_libdir" "$bindir"
-               tdlname=$func_relative_path_result$dlname
+               tdlname=$func_relative_path_result/$dlname
              else
                # Otherwise fall back on heuristic.
                tdlname=../bin/$dlname
@@ -9385,7 +10874,7 @@ EOF
          esac
          $ECHO > $output "\
 # $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 #
 # Please DO NOT delete this file!
 # It is necessary for linking the library.
@@ -9399,7 +10888,7 @@ library_names='$library_names'
 # The name of the static archive.
 old_library='$old_library'
 
-# Linker flags that can not go in dependency_libs.
+# Linker flags that cannot go in dependency_libs.
 inherited_linker_flags='$new_inherited_linker_flags'
 
 # Libraries that this one depends upon.
@@ -9425,7 +10914,7 @@ dlpreopen='$dlprefiles'
 
 # Directory that this library needs to be installed in:
 libdir='$install_libdir'"
-         if test "$installed" = no && test "$need_relink" = yes; then
+         if test no,yes = "$installed,$need_relink"; then
            $ECHO >> $output "\
 relink_command=\"$relink_command\""
          fi
@@ -9440,27 +10929,29 @@ relink_command=\"$relink_command\""
     exit $EXIT_SUCCESS
 }
 
-{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
-    func_mode_link ${1+"$@"}
+if test link = "$opt_mode" || test relink = "$opt_mode"; then
+  func_mode_link ${1+"$@"}
+fi
 
 
 # func_mode_uninstall arg...
 func_mode_uninstall ()
 {
-    $opt_debug
-    RM="$nonopt"
+    $debug_cmd
+
+    RM=$nonopt
     files=
-    rmforce=
+    rmforce=false
     exit_status=0
 
     # This variable tells wrapper scripts just to set variables rather
     # than running their programs.
-    libtool_install_magic="$magic"
+    libtool_install_magic=$magic
 
     for arg
     do
       case $arg in
-      -f) func_append RM " $arg"; rmforce=yes ;;
+      -f) func_append RM " $arg"; rmforce=: ;;
       -*) func_append RM " $arg" ;;
       *) func_append files " $arg" ;;
       esac
@@ -9473,18 +10964,18 @@ func_mode_uninstall ()
 
     for file in $files; do
       func_dirname "$file" "" "."
-      dir="$func_dirname_result"
-      if test "X$dir" = X.; then
-       odir="$objdir"
+      dir=$func_dirname_result
+      if test . = "$dir"; then
+       odir=$objdir
       else
-       odir="$dir/$objdir"
+       odir=$dir/$objdir
       fi
       func_basename "$file"
-      name="$func_basename_result"
-      test "$opt_mode" = uninstall && odir="$dir"
+      name=$func_basename_result
+      test uninstall = "$opt_mode" && odir=$dir
 
       # Remember odir for removal later, being careful to avoid duplicates
-      if test "$opt_mode" = clean; then
+      if test clean = "$opt_mode"; then
        case " $rmdirs " in
          *" $odir "*) ;;
          *) func_append rmdirs " $odir" ;;
@@ -9499,11 +10990,11 @@ func_mode_uninstall ()
       elif test -d "$file"; then
        exit_status=1
        continue
-      elif test "$rmforce" = yes; then
+      elif $rmforce; then
        continue
       fi
 
-      rmfiles="$file"
+      rmfiles=$file
 
       case $name in
       *.la)
@@ -9517,7 +11008,7 @@ func_mode_uninstall ()
          done
          test -n "$old_library" && func_append rmfiles " $odir/$old_library"
 
-         case "$opt_mode" in
+         case $opt_mode in
          clean)
            case " $library_names " in
            *" $dlname "*) ;;
@@ -9528,12 +11019,12 @@ func_mode_uninstall ()
          uninstall)
            if test -n "$library_names"; then
              # Do each command in the postuninstall commands.
-             func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+             func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
            fi
 
            if test -n "$old_library"; then
              # Do each command in the old_postuninstall commands.
-             func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+             func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
            fi
            # FIXME: should reinstall the best remaining shared library.
            ;;
@@ -9549,21 +11040,19 @@ func_mode_uninstall ()
          func_source $dir/$name
 
          # Add PIC object to the list of files to remove.
-         if test -n "$pic_object" &&
-            test "$pic_object" != none; then
+         if test -n "$pic_object" && test none != "$pic_object"; then
            func_append rmfiles " $dir/$pic_object"
          fi
 
          # Add non-PIC object to the list of files to remove.
-         if test -n "$non_pic_object" &&
-            test "$non_pic_object" != none; then
+         if test -n "$non_pic_object" && test none != "$non_pic_object"; then
            func_append rmfiles " $dir/$non_pic_object"
          fi
        fi
        ;;
 
       *)
-       if test "$opt_mode" = clean ; then
+       if test clean = "$opt_mode"; then
          noexename=$name
          case $file in
          *.exe)
@@ -9590,12 +11079,12 @@ func_mode_uninstall ()
 
            # note $name still contains .exe if it was in $file originally
            # as does the version of $file that was added into $rmfiles
-           func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
-           if test "$fast_install" = yes && test -n "$relink_command"; then
+           func_append rmfiles " $odir/$name $odir/${name}S.$objext"
+           if test yes = "$fast_install" && test -n "$relink_command"; then
              func_append rmfiles " $odir/lt-$name"
            fi
-           if test "X$noexename" != "X$name" ; then
-             func_append rmfiles " $odir/lt-${noexename}.c"
+           if test "X$noexename" != "X$name"; then
+             func_append rmfiles " $odir/lt-$noexename.c"
            fi
          fi
        fi
@@ -9604,7 +11093,7 @@ func_mode_uninstall ()
       func_show_eval "$RM $rmfiles" 'exit_status=1'
     done
 
-    # Try to remove the ${objdir}s in the directories where we deleted files
+    # Try to remove the $objdir's in the directories where we deleted files
     for dir in $rmdirs; do
       if test -d "$dir"; then
        func_show_eval "rmdir $dir >/dev/null 2>&1"
@@ -9614,16 +11103,17 @@ func_mode_uninstall ()
     exit $exit_status
 }
 
-{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
-    func_mode_uninstall ${1+"$@"}
+if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
+  func_mode_uninstall ${1+"$@"}
+fi
 
 test -z "$opt_mode" && {
-  help="$generic_help"
+  help=$generic_help
   func_fatal_help "you must specify a MODE"
 }
 
 test -z "$exec_cmd" && \
-  func_fatal_help "invalid operation mode \`$opt_mode'"
+  func_fatal_help "invalid operation mode '$opt_mode'"
 
 if test -n "$exec_cmd"; then
   eval exec "$exec_cmd"
@@ -9634,7 +11124,7 @@ exit $exit_status
 
 
 # The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries.  Given conflicting
+# where we disable both kinds of libraries.  Given conflicting
 # choices, we go for a static library, that is the most portable,
 # since we can't tell whether shared libraries were disabled because
 # the user asked for that or because the platform doesn't support
@@ -9657,5 +11147,3 @@ build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
 # mode:shell-script
 # sh-indentation:2
 # End:
-# vi:sw=2
-
index b3719cf76191aefd6a48f36c27b8275e268677d0..8c7a5901a0690aded843445b891b91f3fe8002df 100755 (executable)
@@ -1,9 +1,9 @@
 #!/bin/sh
 # Get modification time of a file or directory and pretty-print it.
 
-scriptversion=2010-08-21.06; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 1995-2013 Free Software Foundation, Inc.
+# Copyright (C) 1995-2018 Free Software Foundation, Inc.
 # written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
 #
 # This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@ scriptversion=2010-08-21.06; # UTC
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -74,6 +74,10 @@ export LC_ALL
 LC_TIME=C
 export LC_TIME
 
+# Use UTC to get reproducible result.
+TZ=UTC0
+export TZ
+
 # GNU ls changes its time format in response to the TIME_STYLE
 # variable.  Since we cannot assume 'unset' works, revert this
 # variable to its documented default.
@@ -216,9 +220,9 @@ echo $day $month $year
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index db98974ff5d59295d7e0edfec2eb2069dc78ef1a..625aeb11897a2221d5cda1d55b6866d61d21f660 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@ scriptversion=2013-10-28.13; # UTC
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -101,9 +101,9 @@ else
   exit $st
 fi
 
-perl_URL=http://www.perl.org/
-flex_URL=http://flex.sourceforge.net/
-gnu_software_URL=http://www.gnu.org/software
+perl_URL=https://www.perl.org/
+flex_URL=https://github.com/westes/flex
+gnu_software_URL=https://www.gnu.org/software
 
 program_details ()
 {
@@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
 exit $st
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index 863a346b81a4df2638d4e73c61a7f049ea6affa1..2e7fd520672ccdac1198768e72298d0693d7bd1b 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Create a temporary directory, much like mktemp -d does.
 
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-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
@@ -14,7 +14,7 @@
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # Written by Jim Meyering.
 
@@ -49,7 +49,7 @@ rand_bytes()
     return
   fi
 
-  cmds='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n'
+  cmds='date; date +%N; free; who -a; w; ps auxww; ps -ef'
   data=` (eval "$cmds") 2>&1 | gzip `
 
   n_plus_50=`expr $n + 50`
diff --git a/build-aux/snippet/_Noreturn.h b/build-aux/snippet/_Noreturn.h
deleted file mode 100644 (file)
index c44ad89..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#if !defined _Noreturn && __STDC_VERSION__ < 201112
-# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
-      || 0x5110 <= __SUNPRO_C)
-#  define _Noreturn __attribute__ ((__noreturn__))
-# elif 1200 <= _MSC_VER
-#  define _Noreturn __declspec (noreturn)
-# else
-#  define _Noreturn
-# endif
-#endif
diff --git a/build-aux/snippet/arg-nonnull.h b/build-aux/snippet/arg-nonnull.h
deleted file mode 100644 (file)
index 9ee8b15..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/* A C macro for declaring that specific arguments must not be NULL.
-   Copyright (C) 2009-2014 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 <http://www.gnu.org/licenses/>.  */
-
-/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
-   that the values passed as arguments n, ..., m must be non-NULL pointers.
-   n = 1 stands for the first argument, n = 2 for the second argument etc.  */
-#ifndef _GL_ARG_NONNULL
-# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
-#  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
-# else
-#  define _GL_ARG_NONNULL(params)
-# endif
-#endif
diff --git a/build-aux/snippet/c++defs.h b/build-aux/snippet/c++defs.h
deleted file mode 100644 (file)
index 67b1233..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/* C++ compatible function declaration macros.
-   Copyright (C) 2010-2014 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 <http://www.gnu.org/licenses/>.  */
-
-#ifndef _GL_CXXDEFS_H
-#define _GL_CXXDEFS_H
-
-/* The three most frequent use cases of these macros are:
-
-   * For providing a substitute for a function that is missing on some
-     platforms, but is declared and works fine on the platforms on which
-     it exists:
-
-       #if @GNULIB_FOO@
-       # if !@HAVE_FOO@
-       _GL_FUNCDECL_SYS (foo, ...);
-       # endif
-       _GL_CXXALIAS_SYS (foo, ...);
-       _GL_CXXALIASWARN (foo);
-       #elif defined GNULIB_POSIXCHECK
-       ...
-       #endif
-
-   * For providing a replacement for a function that exists on all platforms,
-     but is broken/insufficient and needs to be replaced on some platforms:
-
-       #if @GNULIB_FOO@
-       # if @REPLACE_FOO@
-       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-       #   undef foo
-       #   define foo rpl_foo
-       #  endif
-       _GL_FUNCDECL_RPL (foo, ...);
-       _GL_CXXALIAS_RPL (foo, ...);
-       # else
-       _GL_CXXALIAS_SYS (foo, ...);
-       # endif
-       _GL_CXXALIASWARN (foo);
-       #elif defined GNULIB_POSIXCHECK
-       ...
-       #endif
-
-   * For providing a replacement for a function that exists on some platforms
-     but is broken/insufficient and needs to be replaced on some of them and
-     is additionally either missing or undeclared on some other platforms:
-
-       #if @GNULIB_FOO@
-       # if @REPLACE_FOO@
-       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-       #   undef foo
-       #   define foo rpl_foo
-       #  endif
-       _GL_FUNCDECL_RPL (foo, ...);
-       _GL_CXXALIAS_RPL (foo, ...);
-       # else
-       #  if !@HAVE_FOO@   or   if !@HAVE_DECL_FOO@
-       _GL_FUNCDECL_SYS (foo, ...);
-       #  endif
-       _GL_CXXALIAS_SYS (foo, ...);
-       # endif
-       _GL_CXXALIASWARN (foo);
-       #elif defined GNULIB_POSIXCHECK
-       ...
-       #endif
-*/
-
-/* _GL_EXTERN_C declaration;
-   performs the declaration with C linkage.  */
-#if defined __cplusplus
-# define _GL_EXTERN_C extern "C"
-#else
-# define _GL_EXTERN_C extern
-#endif
-
-/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
-   declares a replacement function, named rpl_func, with the given prototype,
-   consisting of return type, parameters, and attributes.
-   Example:
-     _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
-                                  _GL_ARG_NONNULL ((1)));
- */
-#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
-  _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
-#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
-  _GL_EXTERN_C rettype rpl_func parameters_and_attributes
-
-/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
-   declares the system function, named func, with the given prototype,
-   consisting of return type, parameters, and attributes.
-   Example:
-     _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
-                                  _GL_ARG_NONNULL ((1)));
- */
-#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
-  _GL_EXTERN_C rettype func parameters_and_attributes
-
-/* _GL_CXXALIAS_RPL (func, rettype, parameters);
-   declares a C++ alias called GNULIB_NAMESPACE::func
-   that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
-   Example:
-     _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
- */
-#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
-  _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
-    namespace GNULIB_NAMESPACE                                \
-    {                                                         \
-      rettype (*const func) parameters = ::rpl_func;          \
-    }                                                         \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
-   is like  _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
-   except that the C function rpl_func may have a slightly different
-   declaration.  A cast is used to silence the "invalid conversion" error
-   that would otherwise occur.  */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
-    namespace GNULIB_NAMESPACE                                     \
-    {                                                              \
-      rettype (*const func) parameters =                           \
-        reinterpret_cast<rettype(*)parameters>(::rpl_func);        \
-    }                                                              \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_SYS (func, rettype, parameters);
-   declares a C++ alias called GNULIB_NAMESPACE::func
-   that redirects to the system provided function func, if GNULIB_NAMESPACE
-   is defined.
-   Example:
-     _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
- */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-  /* If we were to write
-       rettype (*const func) parameters = ::func;
-     like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
-     better (remove an indirection through a 'static' pointer variable),
-     but then the _GL_CXXALIASWARN macro below would cause a warning not only
-     for uses of ::func but also for uses of GNULIB_NAMESPACE::func.  */
-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
-    namespace GNULIB_NAMESPACE                     \
-    {                                              \
-      static rettype (*func) parameters = ::func;  \
-    }                                              \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
-   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
-   except that the C function func may have a slightly different declaration.
-   A cast is used to silence the "invalid conversion" error that would
-   otherwise occur.  */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
-    namespace GNULIB_NAMESPACE                          \
-    {                                                   \
-      static rettype (*func) parameters =               \
-        reinterpret_cast<rettype(*)parameters>(::func); \
-    }                                                   \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
-   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
-   except that the C function is picked among a set of overloaded functions,
-   namely the one with rettype2 and parameters2.  Two consecutive casts
-   are used to silence the "cannot find a match" and "invalid conversion"
-   errors that would otherwise occur.  */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-  /* The outer cast must be a reinterpret_cast.
-     The inner cast: When the function is defined as a set of overloaded
-     functions, it works as a static_cast<>, choosing the designated variant.
-     When the function is defined as a single variant, it works as a
-     reinterpret_cast<>. The parenthesized cast syntax works both ways.  */
-# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
-    namespace GNULIB_NAMESPACE                                                \
-    {                                                                         \
-      static rettype (*func) parameters =                                     \
-        reinterpret_cast<rettype(*)parameters>(                               \
-          (rettype2(*)parameters2)(::func));                                  \
-    }                                                                         \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIASWARN (func);
-   causes a warning to be emitted when ::func is used but not when
-   GNULIB_NAMESPACE::func is used.  func must be defined without overloaded
-   variants.  */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIASWARN(func) \
-   _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
-# define _GL_CXXALIASWARN_1(func,namespace) \
-   _GL_CXXALIASWARN_2 (func, namespace)
-/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
-   we enable the warning only when not optimizing.  */
-# if !__OPTIMIZE__
-#  define _GL_CXXALIASWARN_2(func,namespace) \
-    _GL_WARN_ON_USE (func, \
-                     "The symbol ::" #func " refers to the system function. " \
-                     "Use " #namespace "::" #func " instead.")
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-#  define _GL_CXXALIASWARN_2(func,namespace) \
-     extern __typeof__ (func) func
-# else
-#  define _GL_CXXALIASWARN_2(func,namespace) \
-     _GL_EXTERN_C int _gl_cxxalias_dummy
-# endif
-#else
-# define _GL_CXXALIASWARN(func) \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
-   causes a warning to be emitted when the given overloaded variant of ::func
-   is used but not when GNULIB_NAMESPACE::func is used.  */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
-   _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
-                        GNULIB_NAMESPACE)
-# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
-   _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
-/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
-   we enable the warning only when not optimizing.  */
-# if !__OPTIMIZE__
-#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
-    _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
-                         "The symbol ::" #func " refers to the system function. " \
-                         "Use " #namespace "::" #func " instead.")
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
-     extern __typeof__ (func) func
-# else
-#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
-     _GL_EXTERN_C int _gl_cxxalias_dummy
-# endif
-#else
-# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
-    _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-#endif /* _GL_CXXDEFS_H */
diff --git a/build-aux/snippet/warn-on-use.h b/build-aux/snippet/warn-on-use.h
deleted file mode 100644 (file)
index 1c4d7bd..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/* A C macro for emitting warnings if a function is used.
-   Copyright (C) 2010-2014 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 <http://www.gnu.org/licenses/>.  */
-
-/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
-   for FUNCTION which will then trigger a compiler warning containing
-   the text of "literal string" anywhere that function is called, if
-   supported by the compiler.  If the compiler does not support this
-   feature, the macro expands to an unused extern declaration.
-
-   This macro is useful for marking a function as a potential
-   portability trap, with the intent that "literal string" include
-   instructions on the replacement function that should be used
-   instead.  However, one of the reasons that a function is a
-   portability trap is if it has the wrong signature.  Declaring
-   FUNCTION with a different signature in C is a compilation error, so
-   this macro must use the same type as any existing declaration so
-   that programs that avoid the problematic FUNCTION do not fail to
-   compile merely because they included a header that poisoned the
-   function.  But this implies that _GL_WARN_ON_USE is only safe to
-   use if FUNCTION is known to already have a declaration.  Use of
-   this macro implies that there must not be any other macro hiding
-   the declaration of FUNCTION; but undefining FUNCTION first is part
-   of the poisoning process anyway (although for symbols that are
-   provided only via a macro, the result is a compilation error rather
-   than a warning containing "literal string").  Also note that in
-   C++, it is only safe to use if FUNCTION has no overloads.
-
-   For an example, it is possible to poison 'getline' by:
-   - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
-     [getline]) in configure.ac, which potentially defines
-     HAVE_RAW_DECL_GETLINE
-   - adding this code to a header that wraps the system <stdio.h>:
-     #undef getline
-     #if HAVE_RAW_DECL_GETLINE
-     _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
-       "not universally present; use the gnulib module getline");
-     #endif
-
-   It is not possible to directly poison global variables.  But it is
-   possible to write a wrapper accessor function, and poison that
-   (less common usage, like &environ, will cause a compilation error
-   rather than issue the nice warning, but the end result of informing
-   the developer about their portability problem is still achieved):
-   #if HAVE_RAW_DECL_ENVIRON
-   static char ***rpl_environ (void) { return &environ; }
-   _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
-   # undef environ
-   # define environ (*rpl_environ ())
-   #endif
-   */
-#ifndef _GL_WARN_ON_USE
-
-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
-/* A compiler attribute is available in gcc versions 4.3.0 and later.  */
-#  define _GL_WARN_ON_USE(function, message) \
-extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-/* Verify the existence of the function.  */
-#  define _GL_WARN_ON_USE(function, message) \
-extern __typeof__ (function) function
-# else /* Unsupported.  */
-#  define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C int _gl_warn_on_use
-# endif
-#endif
-
-/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
-   is like _GL_WARN_ON_USE (function, "string"), except that the function is
-   declared with the given prototype, consisting of return type, parameters,
-   and attributes.
-   This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
-   not work in this case.  */
-#ifndef _GL_WARN_ON_USE_CXX
-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
-#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
-extern rettype function parameters_and_attributes \
-     __attribute__ ((__warning__ (msg)))
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-/* Verify the existence of the function.  */
-#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
-extern rettype function parameters_and_attributes
-# else /* Unsupported.  */
-#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
-_GL_WARN_EXTERN_C int _gl_warn_on_use
-# endif
-#endif
-
-/* _GL_WARN_EXTERN_C declaration;
-   performs the declaration with C linkage.  */
-#ifndef _GL_WARN_EXTERN_C
-# if defined __cplusplus
-#  define _GL_WARN_EXTERN_C extern "C"
-# else
-#  define _GL_WARN_EXTERN_C extern
-# endif
-#endif
index d30605660a0612aa12702dd7e0d0a3c86e7f7dad..b8521a482e2b79eaf6fbd7db6725d78091b47299 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # test-driver - basic testsuite driver script.
 
-scriptversion=2013-07-13.22; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# Copyright (C) 2011-2018 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
@@ -16,7 +16,7 @@ scriptversion=2013-07-13.22; # UTC
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -106,11 +106,14 @@ trap "st=143; $do_exit" 15
 # Test script is run here.
 "$@" >$log_file 2>&1
 estatus=$?
+
 if test $enable_hard_errors = no && test $estatus -eq 99; then
-  estatus=1
+  tweaked_estatus=1
+else
+  tweaked_estatus=$estatus
 fi
 
-case $estatus:$expect_failure in
+case $tweaked_estatus:$expect_failure in
   0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
   0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
   77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
@@ -119,6 +122,12 @@ case $estatus:$expect_failure in
   *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
 esac
 
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
 # Report outcome to console.
 echo "${col}${res}${std}: $test_name"
 
@@ -131,9 +140,9 @@ echo ":copy-in-global-log: $gcopy" >> $trs_file
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index 6312dadbce044dda55f728598b21705a1007ca3c..ed3f0ee98f4c536be1f99e6f324326df0757623b 100644 (file)
@@ -3,11 +3,9 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2014-05-20.16}
+\def\texinfoversion{2019-06-01.23}
 %
-% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
-% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 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
@@ -20,7 +18,7 @@
 % 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 <http://www.gnu.org/licenses/>.
+% along with this program.  If not, see <https://www.gnu.org/licenses/>.
 %
 % As a special exception, when this file is read by TeX when processing
 % a Texinfo source document, you may use the result without
@@ -29,9 +27,9 @@
 %
 % Please try the latest version of texinfo.tex before submitting bug
 % reports; you can get the latest version from:
-%   http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or
-%   http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or
-%   http://www.gnu.org/software/texinfo/ (the Texinfo home page)
+%   https://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or
+%   https://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or
+%   https://www.gnu.org/software/texinfo/ (the Texinfo home page)
 % The texinfo.tex in any given distribution could well be out
 % of date, so if that's what you're using, please check.
 %
@@ -55,7 +53,7 @@
 % extent.  You can get the existing language-specific files from the
 % full Texinfo distribution.
 %
-% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
+% The GNU Texinfo home page is https://www.gnu.org/software/texinfo.
 
 
 \message{Loading texinfo [version \texinfoversion]:}
 \everyjob{\message{[Texinfo version \texinfoversion]}%
   \catcode`+=\active \catcode`\_=\active}
 
+% LaTeX's \typeout.  This ensures that the messages it is used for
+% are identical in format to the corresponding ones from latex/pdflatex.
+\def\typeout{\immediate\write17}%
+
 \chardef\other=12
 
 % We never want plain's \outer definition of \+ in Texinfo.
@@ -96,7 +98,9 @@
 \let\ptexraggedright=\raggedright
 \let\ptexrbrace=\}
 \let\ptexslash=\/
+\let\ptexsp=\sp
 \let\ptexstar=\*
+\let\ptexsup=\sup
 \let\ptext=\t
 \let\ptextop=\top
 {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode
 \ifx\putwordDefopt\undefined    \gdef\putwordDefopt{User Option}\fi
 \ifx\putwordDeffunc\undefined   \gdef\putwordDeffunc{Function}\fi
 
-% Since the category of space is not known, we have to be careful.
-\chardef\spacecat = 10
-\def\spaceisspace{\catcode`\ =\spacecat}
+% Give the space character the catcode for a space.
+\def\spaceisspace{\catcode`\ =10\relax}
+
+% Likewise for ^^M, the end of line character.
+\def\endlineisspace{\catcode13=10\relax}
 
-% sometimes characters are active, so we need control sequences.
-\chardef\ampChar   = `\&
-\chardef\colonChar = `\:
-\chardef\commaChar = `\,
 \chardef\dashChar  = `\-
-\chardef\dotChar   = `\.
-\chardef\exclamChar= `\!
-\chardef\hashChar  = `\#
-\chardef\lquoteChar= `\`
-\chardef\questChar = `\?
-\chardef\rquoteChar= `\'
-\chardef\semiChar  = `\;
 \chardef\slashChar = `\/
 \chardef\underChar = `\_
 
   wide-spread wrap-around
 }
 
-% Margin to add to right of even pages, to left of odd pages.
-\newdimen\bindingoffset
-\newdimen\normaloffset
-\newdimen\pagewidth \newdimen\pageheight
-
-% For a final copy, take out the rectangles
-% that mark overfull boxes (in case you have decided
-% that the text looks ok even though it passes the margin).
-%
-\def\finalout{\overfullrule=0pt }
-
 % Sometimes it is convenient to have everything in the transcript file
 % and nothing on the terminal.  We don't just call \tracingall here,
 % since that produces some useless output on the terminal.  We also make
 \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
   \removelastskip\penalty-200\bigskip\fi\fi}
 
-% Do @cropmarks to get crop marks.
-%
-\newif\ifcropmarks
-\let\cropmarks = \cropmarkstrue
+%\f Output routine
 %
-% Dimensions to add cropmarks at corners.
-% Added by P. A. MacKay, 12 Nov. 1986
+
+% For a final copy, take out the rectangles
+% that mark overfull boxes (in case you have decided
+% that the text looks ok even though it passes the margin).
 %
+\def\finalout{\overfullrule=0pt }
+
 \newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
-\newdimen\cornerlong  \cornerlong=1pc
-\newdimen\cornerthick \cornerthick=.3pt
 \newdimen\topandbottommargin \topandbottommargin=.75in
 
 % Output a mark which sets \thischapter, \thissection and \thiscolor.
 %
 % Another complication is to let the user choose whether \thischapter
 % (\thissection) refers to the chapter (section) in effect at the top
-% of a page, or that at the bottom of a page.  The solution is
-% described on page 260 of The TeXbook.  It involves outputting two
-% marks for the sectioning macros, one before the section break, and
-% one after.  I won't pretend I can describe this better than DEK...
+% of a page, or that at the bottom of a page.
+
+% \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 \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.
+%   @everyheadingmarks bottom uses \botmark.
+%
+% 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: top marks (\last...)
-      \noexpand\or \the\toks4 \the\toks6  % 1: bottom marks (default, \prev...)
+                   \the\toks0 \the\toks2  % 0: marks for @everyheadingmarks top
+      \noexpand\or \the\toks4 \the\toks6  % 1: for @everyheadingmarks bottom
     \noexpand\else \the\toks8             % 2: color marks
   }%
 }
+
+% \gettopheadingmarks, \getbottomheadingmarks,
+% \getcolormarks - extract needed part of mark.
+%
 % \topmark doesn't work for the very first chapter (after the title
 % page or the contents), so we use \firstmark there -- this gets us
 % the mark with the chapter defs, unless the user sneaks in, e.g.,
 % @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\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
+\newdimen\normaloffset
+\newdimen\txipagewidth \newdimen\txipageheight
 
 % 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
 
-% \onepageout takes a vbox as an argument.  Note that \pagecontents
-% does insertions, but you have to call it yourself.
+% 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
+% to the auxiliary files.
+%
 \def\onepageout#1{%
-  \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
+  \hoffset=\normaloffset
   %
   \ifodd\pageno  \advance\hoffset by \bindingoffset
   \else \advance\hoffset by -\bindingoffset\fi
   %
+  % 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\the\savedtopmark\fi
+  \let\prevchaptername\thischaptername
+  \ifcase0\firstmark\fi
+  \let\curchaptername\thischaptername
+  %
+  \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \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 
+    % 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=\pagewidth \texinfochars}
+  \def\commmonheadfootline{\let\hsize=\txipagewidth \texinfochars}
   %
-  \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
   \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}%
   %
   \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
   \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}%
   %
   {%
+    % Set context for writing to auxiliary files like index files.
     % Have to do this stuff outside the \shipout because we want it to
     % 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{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
-               % "\acronym" won't work when it's read back in;
-               % it needs to be
-               % {\code {{\tt \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
       %
-      \ifcropmarks \vbox to \outervsize\bgroup
-        \hsize = \outerhsize
-        \vskip-\topandbottommargin
-        \vtop to0pt{%
-          \line{\ewtop\hfil\ewtop}%
-          \nointerlineskip
-          \line{%
-            \vbox{\moveleft\cornerthick\nstop}%
-            \hfill
-            \vbox{\moveright\cornerthick\nstop}%
-          }%
-          \vss}%
-        \vskip\topandbottommargin
-        \line\bgroup
-          \hfil % center the page within the outer (page) hsize.
-          \ifodd\pageno\hskip\bindingoffset\fi
-          \vbox\bgroup
-      \fi
-      %
       \unvbox\headlinebox
       \pagebody{#1}%
       \ifdim\ht\footlinebox > 0pt
         \unvbox\footlinebox
       \fi
       %
-      \ifcropmarks
-          \egroup % end of \vbox\bgroup
-        \hfil\egroup % end of (centering) \line\bgroup
-        \vskip\topandbottommargin plus1fill minus1fill
-        \boxmaxdepth = \cornerthick
-        \vbox to0pt{\vss
-          \line{%
-            \vbox{\moveleft\cornerthick\nsbot}%
-            \hfill
-            \vbox{\moveright\cornerthick\nsbot}%
-          }%
-          \nointerlineskip
-          \line{\ewbot\hfil\ewbot}%
-        }%
-      \egroup % \vbox from first cropmarks clause
-      \fi
-    }% end of \shipout\vbox
-  }% end of group with \indexdummies
+    }%
+  }%
+  \global\topmarksavedfalse
   \advancepageno
   \ifnum\outputpenalty>-20000 \else\dosupereject\fi
 }
 
 \newinsert\margin \dimen\margin=\maxdimen
 
-\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
+% Main part of page, including any footnotes
+\def\pagebody#1{\vbox to\txipageheight{\boxmaxdepth=\maxdepth #1}}
 {\catcode`\@ =11
 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
 % marginal hacks, juha@viisa.uucp (Juha Takala)
 \ifr@ggedbottom \kern-\dimen@ \vfil \fi}
 }
 
-% Here are the rules for the cropmarks.  Note that they are
-% offset so that the space between them is truly \outerhsize or \outervsize
-% (P. A. MacKay, 12 November, 1986)
-%
-\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
-\def\nstop{\vbox
-  {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
-\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
-\def\nsbot{\vbox
-  {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
+
+% Argument parsing
 
 % Parse an argument, then pass it to #1.  The argument is the rest of
 % the input line (except we remove a trailing comment).  #1 should be a
 % macro which expects an ordinary undelimited TeX argument.
+% For example, \def\foo{\parsearg\fooxxx}.
 %
 \def\parsearg{\parseargusing{}}
 \def\parseargusing#1#2{%
   }%
 }
 
-% First remove any @comment, then any @c comment.
+% 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{\argcheckspaces#1\^^M\ArgTerm}
 
 %
 \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}}
 
+
+% \parseargdef - define a command taking an argument on the line
+%
 % \parseargdef\foo{...}
 %      is roughly equivalent to
 % \def\foo{\parsearg\Xfoo}
 % \def\Xfoo#1{...}
-%
-% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
-% favourite TeX trick.  --kasal, 16nov03
-
 \def\parseargdef#1{%
   \expandafter \doparseargdef \csname\string#1\endcsname #1%
 }
     \endgraf % Not \par, as it may have been set to \lisppar.
     \global\dimen1 = \prevdepth
   \egroup           % End the \vtop.
+  \addgroupbox
+  \prevdepth = \dimen1
+  \checkinserts
+}
+
+\def\addgroupbox{
   % \dimen0 is the vertical size of the group's box.
   \dimen0 = \ht\groupbox  \advance\dimen0 by \dp\groupbox
   % \dimen2 is how much space is left on the page (more or less).
-  \dimen2 = \pageheight   \advance\dimen2 by -\pagetotal
+  \dimen2 = \txipageheight   \advance\dimen2 by -\pagetotal
   % if the group doesn't fit on the current page, and it's a big big
   % group, force a page break.
   \ifdim \dimen0 > \dimen2
-    \ifdim \pagetotal < \vfilllimit\pageheight
+    \ifdim \pagetotal < \vfilllimit\txipageheight
       \page
     \fi
   \fi
   \box\groupbox
-  \prevdepth = \dimen1
-  \checkinserts
 }
+
 %
 % TeX puts in an \escapechar (i.e., `@') at the beginning of the help
 % message, so this ends up printing `@group can only ...'.
@@ -815,36 +825,6 @@ where each line of input produces a line of output.}
   \temp
 }
 
-% @| inserts a changebar to the left of the current line.  It should
-% surround any changed text.  This approach does *not* work if the
-% change spans more than two lines of output.  To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change).  This command
-% is not documented, not supported, and doesn't work.
-%
-\def\|{%
-  % \vadjust can only be used in horizontal mode.
-  \leavevmode
-  %
-  % Append this vertical mode material after the current line in the output.
-  \vadjust{%
-    % We want to insert a rule with the height and depth of the current
-    % leading; that is exactly what \strutbox is supposed to record.
-    \vskip-\baselineskip
-    %
-    % \vadjust-items are inserted at the left edge of the type.  So
-    % the \llap here moves out into the left-hand margin.
-    \llap{%
-      %
-      % For a thicker or thinner bar, change the `1pt'.
-      \vrule height\baselineskip width1pt
-      %
-      % This is the space between the bar and the text.
-      \hskip 12pt
-    }%
-  }%
-}
-
 % @include FILE -- \input text of FILE.
 %
 \def\include{\parseargusing\filenamecatcodes\includezzz}
@@ -933,13 +913,14 @@ where each line of input produces a line of output.}
 % @comment ...line which is ignored...
 % @c is the same as @comment
 % @ignore ... @end ignore  is another way to write a comment
-%
-\def\comment{\begingroup \catcode`\^^M=\other%
+
+
+\def\c{\begingroup \catcode`\^^M=\active%
 \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
-\commentxxx}
-{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
+\cxxx}
+{\catcode`\^^M=\active \gdef\cxxx#1^^M{\endgroup}}
 %
-\let\c=\comment
+\let\comment\c
 
 % @paragraphindent NCHARS
 % We'll use ems for NCHARS, close enough.
@@ -1010,69 +991,23 @@ where each line of input produces a line of output.}
 % paragraph.
 %
 \gdef\dosuppressfirstparagraphindent{%
-  \gdef\indent{%
-    \restorefirstparagraphindent
-    \indent
-  }%
-  \gdef\noindent{%
-    \restorefirstparagraphindent
-    \noindent
-  }%
-  \global\everypar = {%
-    \kern -\parindent
-    \restorefirstparagraphindent
-  }%
+  \gdef\indent  {\restorefirstparagraphindent \indent}%
+  \gdef\noindent{\restorefirstparagraphindent \noindent}%
+  \global\everypar = {\kern -\parindent \restorefirstparagraphindent}%
 }
-
+%
 \gdef\restorefirstparagraphindent{%
-  \global \let \indent = \ptexindent
-  \global \let \noindent = \ptexnoindent
-  \global \everypar = {}%
+  \global\let\indent = \ptexindent
+  \global\let\noindent = \ptexnoindent
+  \global\everypar = {}%
 }
 
 
 % @refill is a no-op.
 \let\refill=\relax
 
-% If working on a large document in chapters, it is convenient to
-% be able to disable indexing, cross-referencing, and contents, for test runs.
-% This is done with @novalidate (before @setfilename).
-%
-\newif\iflinks \linkstrue % by default we want the aux files.
-\let\novalidate = \linksfalse
-
-% @setfilename is done at the beginning of every texinfo file.
-% So open here the files we need to have open while reading the input.
-% This makes it possible to make a .fmt file for texinfo.
-\def\setfilename{%
-   \fixbackslash  % Turn off hack to swallow `\input texinfo'.
-   \iflinks
-     \tryauxfile
-     % Open the new aux file.  TeX will close it automatically at exit.
-     \immediate\openout\auxfile=\jobname.aux
-   \fi % \openindices needs to do some work in any case.
-   \openindices
-   \let\setfilename=\comment % Ignore extra @setfilename cmds.
-   %
-   % If texinfo.cnf is present on the system, read it.
-   % Useful for site-wide @afourpaper, etc.
-   \openin 1 texinfo.cnf
-   \ifeof 1 \else \input texinfo.cnf \fi
-   \closein 1
-   %
-   \comment % Ignore the actual filename.
-}
-
-% Called from \setfilename.
-%
-\def\openindices{%
-  \newindex{cp}%
-  \newcodeindex{fn}%
-  \newcodeindex{vr}%
-  \newcodeindex{tp}%
-  \newcodeindex{ky}%
-  \newcodeindex{pg}%
-}
+% @setfilename INFO-FILENAME - ignored
+\let\setfilename=\comment
 
 % @bye.
 \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
@@ -1090,10 +1025,91 @@ where each line of input produces a line of output.}
 \newtoks\toksC
 \newtoks\toksD
 \newbox\boxA
+\newbox\boxB
 \newcount\countA
 \newif\ifpdf
 \newif\ifpdfmakepagedest
 
+%
+% For LuaTeX
+%
+
+\newif\iftxiuseunicodedestname
+\txiuseunicodedestnamefalse % For pdfTeX etc.
+
+\ifx\luatexversion\thisisundefined
+\else
+  % Use Unicode destination names
+  \txiuseunicodedestnametrue
+  % Escape PDF strings with converting UTF-16 from UTF-8
+  \begingroup
+    \catcode`\%=12
+    \directlua{
+      function UTF16oct(str)
+        tex.sprint(string.char(0x5c) .. '376' .. string.char(0x5c) .. '377')
+        for c in string.utfvalues(str) do
+          if c < 0x10000 then
+            tex.sprint(
+              string.format(string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o',
+                            (c / 256), (c % 256)))
+          else
+            c = c - 0x10000
+            local c_hi = c / 1024 + 0xd800
+            local c_lo = c % 1024 + 0xdc00
+            tex.sprint(
+              string.format(string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o',
+                            (c_hi / 256), (c_hi % 256),
+                            (c_lo / 256), (c_lo % 256)))
+          end
+        end
+      end
+    }
+  \endgroup
+  \def\pdfescapestrutfsixteen#1{\directlua{UTF16oct('\luaescapestring{#1}')}}
+  % Escape PDF strings without converting
+  \begingroup
+    \directlua{
+      function PDFescstr(str)
+        for c in string.bytes(str) do
+          if c <= 0x20 or c >= 0x80 or c == 0x28 or c == 0x29 or c == 0x5c then
+            tex.sprint(
+              string.format(string.char(0x5c) .. string.char(0x25) .. '03o',
+                            c))
+          else
+            tex.sprint(string.char(c))
+          end
+        end
+      end
+    }
+  \endgroup
+  \def\pdfescapestring#1{\directlua{PDFescstr('\luaescapestring{#1}')}}
+  \ifnum\luatexversion>84
+    % For LuaTeX >= 0.85
+    \def\pdfdest{\pdfextension dest}
+    \let\pdfoutput\outputmode
+    \def\pdfliteral{\pdfextension literal}
+    \def\pdfcatalog{\pdfextension catalog}
+    \def\pdftexversion{\numexpr\pdffeedback version\relax}
+    \let\pdfximage\saveimageresource
+    \let\pdfrefximage\useimageresource
+    \let\pdflastximage\lastsavedimageresourceindex
+    \def\pdfendlink{\pdfextension endlink\relax}
+    \def\pdfoutline{\pdfextension outline}
+    \def\pdfstartlink{\pdfextension startlink}
+    \def\pdffontattr{\pdfextension fontattr}
+    \def\pdfobj{\pdfextension obj}
+    \def\pdflastobj{\numexpr\pdffeedback lastobj\relax}
+    \let\pdfpagewidth\pagewidth
+    \let\pdfpageheight\pageheight
+    \edef\pdfhorigin{\pdfvariable horigin}
+    \edef\pdfvorigin{\pdfvariable vorigin}
+  \fi
+\fi
+
 % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
 % can be set).  So we test for \relax and 0 as well as being undefined.
 \ifx\pdfoutput\thisisundefined
@@ -1107,6 +1123,16 @@ 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
@@ -1124,12 +1150,21 @@ where each line of input produces a line of output.}
   \ifx\pdfescapestring\thisisundefined
     % No primitive available; should we give a warning or log?
     % Many times it won't matter.
+    \xdef#1{#1}%
   \else
     % The expandable \pdfescapestring primitive escapes parentheses,
     % backslashes, and other special chars.
     \xdef#1{\pdfescapestring{#1}}%
   \fi
 }
+\def\txiescapepdfutfsixteen#1{%
+  \ifx\pdfescapestrutfsixteen\thisisundefined
+    % No UTF-16 converting macro available.
+    \txiescapepdf{#1}%
+  \else
+    \xdef#1{\pdfescapestrutfsixteen{#1}}%
+  \fi
+}
 
 \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
 with PDF output, and none of those formats could be found.  (.eps cannot
@@ -1147,14 +1182,14 @@ output) for that.)}
   \def\rgbDarkRed{0.50 0.09 0.12}
   \def\rgbBlack{0 0 0}
   %
-  % k sets the color for filling (usual text, etc.);
-  % K sets the color for stroking (thin rules, e.g., normal _'s).
+  % rg sets the color for filling (usual text, etc.);
+  % RG sets the color for stroking (thin rules, e.g., normal _'s).
   \def\pdfsetcolor#1{\pdfliteral{#1 rg  #1 RG}}
   %
   % 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}%
   }
@@ -1162,7 +1197,7 @@ output) for that.)}
   \def\maincolor{\rgbBlack}
   \pdfsetcolor{\maincolor}
   \edef\thiscolor{\maincolor}
-  \def\lastcolordefs{}
+  \def\currentcolordefs{}
   %
   \def\makefootline{%
     \baselineskip24pt
@@ -1239,17 +1274,77 @@ output) for that.)}
       \pdfrefximage \pdflastximage
     \fi}
   %
-  \def\pdfmkdest#1{{%
+  \def\setpdfdestname#1{{%
     % We have to set dummies so commands such as @code, and characters
     % such as \, aren't expanded when present in a section title.
     \indexnofonts
-    \turnoffactive
     \makevalueexpandable
+    \turnoffactive
+    \iftxiuseunicodedestname
+      \ifx \declaredencoding \latone
+        % Pass through Latin-1 characters.
+        % LuaTeX with byte wise I/O converts Latin-1 characters to Unicode.
+      \else
+        \ifx \declaredencoding \utfeight
+          % Pass through Unicode characters.
+        \else
+          % Use ASCII approximations in destination names.
+          \passthroughcharsfalse
+        \fi
+      \fi
+    \else
+      % Use ASCII approximations in destination names.
+      \passthroughcharsfalse
+    \fi
     \def\pdfdestname{#1}%
     \txiescapepdf\pdfdestname
-    \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
   }}
   %
+  \def\setpdfoutlinetext#1{{%
+    \indexnofonts
+    \makevalueexpandable
+    \turnoffactive
+    \ifx \declaredencoding \latone
+      % The PDF format can use an extended form of Latin-1 in bookmark
+      % strings.  See Appendix D of the PDF Reference, Sixth Edition, for
+      % the "PDFDocEncoding".
+      \passthroughcharstrue
+      % Pass through Latin-1 characters.
+      %   LuaTeX: Convert to Unicode
+      %   pdfTeX: Use Latin-1 as PDFDocEncoding
+      \def\pdfoutlinetext{#1}%
+    \else
+      \ifx \declaredencoding \utfeight
+        \ifx\luatexversion\thisisundefined
+          % For pdfTeX  with UTF-8.
+          % TODO: the PDF format can use UTF-16 in bookmark strings,
+          % but the code for this isn't done yet.
+          % Use ASCII approximations.
+          \passthroughcharsfalse
+          \def\pdfoutlinetext{#1}%
+        \else
+          % For LuaTeX with UTF-8.
+          % Pass through Unicode characters for title texts.
+          \passthroughcharstrue
+          \def\pdfoutlinetext{#1}%
+        \fi
+      \else
+        % For non-Latin-1 or non-UTF-8 encodings.
+        % Use ASCII approximations.
+        \passthroughcharsfalse
+        \def\pdfoutlinetext{#1}%
+      \fi
+    \fi
+    % LuaTeX: Convert to UTF-16
+    % pdfTeX: Use Latin-1 as PDFDocEncoding
+    \txiescapepdfutfsixteen\pdfoutlinetext
+  }}
+  %
+  \def\pdfmkdest#1{%
+    \setpdfdestname{#1}%
+    \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
+  }
+  %
   % used to mark target names; must be expandable.
   \def\pdfmkpgn#1{#1}
   %
@@ -1277,18 +1372,13 @@ output) for that.)}
     % page number.  We could generate a destination for the section
     % text in the case where a section has no node, but it doesn't
     % seem worth the trouble, since most documents are normally structured.
-    \edef\pdfoutlinedest{#3}%
-    \ifx\pdfoutlinedest\empty
-      \def\pdfoutlinedest{#4}%
-    \else
-      \txiescapepdf\pdfoutlinedest
+    \setpdfoutlinetext{#1}
+    \setpdfdestname{#3}
+    \ifx\pdfdestname\empty
+      \def\pdfdestname{#4}%
     \fi
     %
-    % Also escape PDF chars in the display string.
-    \edef\pdfoutlinetext{#1}%
-    \txiescapepdf\pdfoutlinetext
-    %
-    \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
+    \pdfoutline goto name{\pdfmkpgn{\pdfdestname}}#2{\pdfoutlinetext}%
   }
   %
   \def\pdfmakeoutlines{%
@@ -1408,6 +1498,9 @@ output) for that.)}
       \startlink attr{/Border [0 0 0]}%
         user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
     \endgroup}
+  % \pdfgettoks - Surround page numbers in #1 with @pdflink.  #1 may
+  % be a simple number, or a list of numbers in the case of an index
+  % entry.
   \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
   \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
   \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
@@ -1443,41 +1536,297 @@ output) for that.)}
   \let\pdfmakeoutlines = \relax
 \fi  % \ifx\pdfoutput
 
-
-\message{fonts,}
-
-% Change the current font style to #1, remembering it in \curfontstyle.
-% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
-% italics, not bold italics.
 %
-\def\setfontstyle#1{%
-  \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
-  \csname ten#1\endcsname  % change the current font
-}
-
-% Select #1 fonts with the current style.
+% For XeTeX
 %
-\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
-
-\def\rm{\fam=0 \setfontstyle{rm}}
-\def\it{\fam=\itfam \setfontstyle{it}}
-\def\sl{\fam=\slfam \setfontstyle{sl}}
-\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
-\def\tt{\fam=\ttfam \setfontstyle{tt}}
-
-% Unfortunately, we have to override this for titles and the like, since
-% in those cases "rm" is bold.  Sigh.
-\def\rmisbold{\rm\def\curfontstyle{bf}}
+\ifx\XeTeXrevision\thisisundefined
+\else
+  %
+  % XeTeX version check
+  %
+  \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99996}>-1
+    % TeX Live 2016 contains XeTeX 0.99996 and xdvipdfmx 20160307.
+    % It can use the `dvipdfmx:config' special (from TeX Live SVN r40941).
+    % For avoiding PDF destination name replacement, we use this special
+    % instead of xdvipdfmx's command line option `-C 0x0010'.
+    \special{dvipdfmx:config C 0x0010}
+    % XeTeX 0.99995+ comes with xdvipdfmx 20160307+.
+    % It can handle Unicode destination names for PDF.
+    \txiuseunicodedestnametrue
+  \else
+    % XeTeX < 0.99996 (TeX Live < 2016) cannot use the
+    % `dvipdfmx:config' special.
+    % So for avoiding PDF destination name replacement,
+    % xdvipdfmx's command line option `-C 0x0010' is necessary.
+    %
+    % XeTeX < 0.99995 can not handle Unicode destination names for PDF
+    % because xdvipdfmx 20150315 has a UTF-16 conversion issue.
+    % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
+    \txiuseunicodedestnamefalse
+  \fi
+  %
+  % Color support
+  %
+  \def\rgbDarkRed{0.50 0.09 0.12}
+  \def\rgbBlack{0 0 0}
+  %
+  \def\pdfsetcolor#1{\special{pdf:scolor [#1]}}
+  %
+  % Set color, and create a mark which defines \thiscolor accordingly,
+  % so that \makeheadline knows which color to restore.
+  \def\setcolor#1{%
+    \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
+    \domark
+    \pdfsetcolor{#1}%
+  }
+  %
+  \def\maincolor{\rgbBlack}
+  \pdfsetcolor{\maincolor}
+  \edef\thiscolor{\maincolor}
+  \def\currentcolordefs{}
+  %
+  \def\makefootline{%
+    \baselineskip24pt
+    \line{\pdfsetcolor{\maincolor}\the\footline}%
+  }
+  %
+  \def\makeheadline{%
+    \vbox to 0pt{%
+      \vskip-22.5pt
+      \line{%
+        \vbox to8.5pt{}%
+        % Extract \thiscolor definition from the marks.
+        \getcolormarks
+        % Typeset the headline with \maincolor, then restore the color.
+        \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
+      }%
+      \vss
+    }%
+    \nointerlineskip
+  }
+  %
+  % PDF outline support
+  %
+  % Emulate pdfTeX primitive
+  \def\pdfdest name#1 xyz{%
+    \special{pdf:dest (#1) [@thispage /XYZ @xpos @ypos null]}%
+  }
+  %
+  \def\setpdfdestname#1{{%
+    % We have to set dummies so commands such as @code, and characters
+    % such as \, aren't expanded when present in a section title.
+    \indexnofonts
+    \makevalueexpandable
+    \turnoffactive
+    \iftxiuseunicodedestname
+      % Pass through Unicode characters.
+    \else
+      % Use ASCII approximations in destination names.
+      \passthroughcharsfalse
+    \fi
+    \def\pdfdestname{#1}%
+    \txiescapepdf\pdfdestname
+  }}
+  %
+  \def\setpdfoutlinetext#1{{%
+    \turnoffactive
+    % Always use Unicode characters in title texts.
+    \def\pdfoutlinetext{#1}%
+    % For XeTeX, xdvipdfmx converts to UTF-16.
+    % So we do not convert.
+    \txiescapepdf\pdfoutlinetext
+  }}
+  %
+  \def\pdfmkdest#1{%
+    \setpdfdestname{#1}%
+    \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
+  }
+  %
+  % by default, use black for everything.
+  \def\urlcolor{\rgbBlack}
+  \def\linkcolor{\rgbBlack}
+  \def\endlink{\setcolor{\maincolor}\pdfendlink}
+  %
+  \def\dopdfoutline#1#2#3#4{%
+    \setpdfoutlinetext{#1}
+    \setpdfdestname{#3}
+    \ifx\pdfdestname\empty
+      \def\pdfdestname{#4}%
+    \fi
+    %
+    \special{pdf:out [-] #2 << /Title (\pdfoutlinetext) /A
+      << /S /GoTo /D (\pdfdestname) >> >> }%
+  }
+  %
+  \def\pdfmakeoutlines{%
+    \begingroup
+      %
+      % For XeTeX, counts of subentries are not necessary.
+      % Therefore, we read toc only once.
+      %
+      % We use node names as destinations.
+      \def\partentry##1##2##3##4{}% ignore parts in the outlines
+      \def\numchapentry##1##2##3##4{%
+        \dopdfoutline{##1}{1}{##3}{##4}}%
+      \def\numsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{2}{##3}{##4}}%
+      \def\numsubsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{3}{##3}{##4}}%
+      \def\numsubsubsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{4}{##3}{##4}}%
+      %
+      \let\appentry\numchapentry%
+      \let\appsecentry\numsecentry%
+      \let\appsubsecentry\numsubsecentry%
+      \let\appsubsubsecentry\numsubsubsecentry%
+      \let\unnchapentry\numchapentry%
+      \let\unnsecentry\numsecentry%
+      \let\unnsubsecentry\numsubsecentry%
+      \let\unnsubsubsecentry\numsubsubsecentry%
+      %
+      % For XeTeX, xdvipdfmx converts strings to UTF-16.
+      % Therefore, the encoding and the language may not be considered.
+      %
+      \indexnofonts
+      \setupdatafile
+      % We can have normal brace characters in the PDF outlines, unlike
+      % Texinfo index files.  So set that up.
+      \def\{{\lbracecharliteral}%
+      \def\}{\rbracecharliteral}%
+      \catcode`\\=\active \otherbackslash
+      \input \tocreadfilename
+    \endgroup
+  }
+  {\catcode`[=1 \catcode`]=2
+   \catcode`{=\other \catcode`}=\other
+   \gdef\lbracecharliteral[{]%
+   \gdef\rbracecharliteral[}]%
+  ]
 
-% Texinfo sort of supports the sans serif font style, which plain TeX does not.
-% So we set up a \sf.
-\newfam\sffam
-\def\sf{\fam=\sffam \setfontstyle{sf}}
-\let\li = \sf % Sometimes we call it \li, not \sf.
+  \special{pdf:docview << /PageMode /UseOutlines >> }
+  % ``\special{pdf:tounicode ...}'' is not necessary
+  % because xdvipdfmx converts strings from UTF-8 to UTF-16 without it.
+  % However, due to a UTF-16 conversion issue of xdvipdfmx 20150315,
+  % ``\special{pdf:dest ...}'' cannot handle non-ASCII strings.
+  % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
+%
+  \def\skipspaces#1{\def\PP{#1}\def\D{|}%
+    \ifx\PP\D\let\nextsp\relax
+    \else\let\nextsp\skipspaces
+      \addtokens{\filename}{\PP}%
+      \advance\filenamelength by 1
+    \fi
+    \nextsp}
+  \def\getfilename#1{%
+    \filenamelength=0
+    % If we don't expand the argument now, \skipspaces will get
+    % snagged on things like "@value{foo}".
+    \edef\temp{#1}%
+    \expandafter\skipspaces\temp|\relax
+  }
+  % make a live url in pdf output.
+  \def\pdfurl#1{%
+    \begingroup
+      % it seems we really need yet another set of dummies; have not
+      % tried to figure out what each command should do in the context
+      % of @url.  for now, just make @/ a no-op, that's the only one
+      % people have actually reported a problem with.
+      %
+      \normalturnoffactive
+      \def\@{@}%
+      \let\/=\empty
+      \makevalueexpandable
+      % do we want to go so far as to use \indexnofonts instead of just
+      % special-casing \var here?
+      \def\var##1{##1}%
+      %
+      \leavevmode\setcolor{\urlcolor}%
+      \special{pdf:bann << /Border [0 0 0]
+        /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
+    \endgroup}
+  \def\endlink{\setcolor{\maincolor}\special{pdf:eann}}
+  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+  \def\maketoks{%
+    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+    \ifx\first0\adn0
+    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+    \else
+      \ifnum0=\countA\else\makelink\fi
+      \ifx\first.\let\next=\done\else
+        \let\next=\maketoks
+        \addtokens{\toksB}{\the\toksD}
+        \ifx\first,\addtokens{\toksB}{\space}\fi
+      \fi
+    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+    \next}
+  \def\makelink{\addtokens{\toksB}%
+    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+  \def\pdflink#1{%
+    \special{pdf:bann << /Border [0 0 0]
+      /Type /Annot /Subtype /Link /A << /S /GoTo /D (#1) >> >>}%
+    \setcolor{\linkcolor}#1\endlink}
+  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+%
+  %
+  % @image support
+  %
+  % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
+  \def\doxeteximage#1#2#3{%
+    \def\xeteximagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
+    \def\xeteximageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
+    %
+    % XeTeX (and the PDF format) supports .pdf, .png, .jpg (among
+    % others).  Let's try in that order, PDF first since if
+    % someone has a scalable image, presumably better to use that than a
+    % bitmap.
+    \let\xeteximgext=\empty
+    \begingroup
+      \openin 1 #1.pdf \ifeof 1
+        \openin 1 #1.PDF \ifeof 1
+          \openin 1 #1.png \ifeof 1
+            \openin 1 #1.jpg \ifeof 1
+              \openin 1 #1.jpeg \ifeof 1
+                \openin 1 #1.JPG \ifeof 1
+                  \errmessage{Could not find image file #1 for XeTeX}%
+                \else \gdef\xeteximgext{JPG}%
+                \fi
+              \else \gdef\xeteximgext{jpeg}%
+              \fi
+            \else \gdef\xeteximgext{jpg}%
+            \fi
+          \else \gdef\xeteximgext{png}%
+          \fi
+        \else \gdef\xeteximgext{PDF}%
+        \fi
+      \else \gdef\xeteximgext{pdf}%
+      \fi
+      \closein 1
+    \endgroup
+    %
+    \def\xetexpdfext{pdf}%
+    \ifx\xeteximgext\xetexpdfext
+      \XeTeXpdffile "#1".\xeteximgext ""
+    \else
+      \def\xetexpdfext{PDF}%
+      \ifx\xeteximgext\xetexpdfext
+        \XeTeXpdffile "#1".\xeteximgext ""
+      \else
+        \XeTeXpicfile "#1".\xeteximgext ""
+      \fi
+    \fi
+    \ifdim \wd0 >0pt width \xeteximagewidth \fi
+    \ifdim \wd2 >0pt height \xeteximageheight \fi \relax
+  }
+\fi
 
-% We don't need math for this font style.
-\def\ttsl{\setfontstyle{ttsl}}
 
+%
+\message{fonts,}
 
 % Set the baselineskip to #1, and the lineskip and strut size
 % correspondingly.  There is no deep meaning behind these magic numbers
@@ -1826,8 +2175,10 @@ 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}{OT1}
 \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT}
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
+\def\df{\let\ttfont=\deftt \let\bffont = \defbf
+\let\ttslfont=\defttsl \let\slfont=\defsl \bf}
 
 % Fonts for indices, footnotes, small examples (9pt).
 \def\smallnominalsize{9pt}
@@ -1857,6 +2208,20 @@ end
 \font\smallersy=cmsy8
 \def\smallerecsize{0800}
 
+% Fonts for math mode superscripts (7pt).
+\def\sevennominalsize{7pt}
+\setfont\sevenrm\rmshape{7}{1000}{OT1}
+\setfont\seventt\ttshape{10}{700}{OT1TT}
+\setfont\sevenbf\bfshape{10}{700}{OT1}
+\setfont\sevenit\itshape{7}{1000}{OT1IT}
+\setfont\sevensl\slshape{10}{700}{OT1}
+\setfont\sevensf\sfshape{10}{700}{OT1}
+\setfont\sevensc\scshape{10}{700}{OT1}
+\setfont\seventtsl\ttslshape{10}{700}{OT1TT}
+\font\seveni=cmmi7
+\font\sevensy=cmsy7
+\def\sevenecsize{0700}
+
 % Fonts for title page (20.4pt):
 \def\titlenominalsize{20pt}
 \setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
@@ -1888,6 +2253,7 @@ end
 % Section fonts (14.4pt).
 \def\secnominalsize{14pt}
 \setfont\secrm\rmbshape{12}{\magstep1}{OT1}
+\setfont\secrmnotbold\rmshape{12}{\magstep1}{OT1}
 \setfont\secit\itbshape{10}{\magstep2}{OT1IT}
 \setfont\secsl\slbshape{10}{\magstep2}{OT1}
 \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT}
@@ -1913,7 +2279,7 @@ end
 \font\ssecsy=cmsy10 scaled 1315
 \def\ssececsize{1200}
 
-% Reduced fonts for @acro in text (10pt).
+% Reduced fonts for @acronym in text (10pt).
 \def\reducednominalsize{10pt}
 \setfont\reducedrm\rmshape{10}{1000}{OT1}
 \setfont\reducedtt\ttshape{10}{1000}{OT1TT}
@@ -1957,8 +2323,10 @@ 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}{OT1}
 \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT}
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
+\def\df{\let\ttfont=\deftt \let\bffont = \defbf
+\let\slfont=\defsl \let\ttslfont=\defttsl \bf}
 
 % Fonts for indices, footnotes, small examples (9pt).
 \def\smallnominalsize{9pt}
@@ -1988,6 +2356,20 @@ end
 \font\smallersy=cmsy8
 \def\smallerecsize{0800}
 
+% Fonts for math mode superscripts (7pt).
+\def\sevennominalsize{7pt}
+\setfont\sevenrm\rmshape{7}{1000}{OT1}
+\setfont\seventt\ttshape{10}{700}{OT1TT}
+\setfont\sevenbf\bfshape{10}{700}{OT1}
+\setfont\sevenit\itshape{7}{1000}{OT1IT}
+\setfont\sevensl\slshape{10}{700}{OT1}
+\setfont\sevensf\sfshape{10}{700}{OT1}
+\setfont\sevensc\scshape{10}{700}{OT1}
+\setfont\seventtsl\ttslshape{10}{700}{OT1TT}
+\font\seveni=cmmi7
+\font\sevensy=cmsy7
+\def\sevenecsize{0700}
+
 % Fonts for title page (20.4pt):
 \def\titlenominalsize{20pt}
 \setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
@@ -2044,7 +2426,7 @@ end
 \font\ssecsy=cmsy10
 \def\ssececsize{1000}
 
-% Reduced fonts for @acro in text (9pt).
+% Reduced fonts for @acronym in text (9pt).
 \def\reducednominalsize{9pt}
 \setfont\reducedrm\rmshape{9}{1000}{OT1}
 \setfont\reducedtt\ttshape{9}{1000}{OT1TT}
@@ -2064,6 +2446,12 @@ end
 \rm
 } % end of 10pt text font size definitions, \definetextfontsizex
 
+% Fonts for short table of contents.
+\setfont\shortcontrm\rmshape{12}{1000}{OT1}
+\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1}  % no cmb12
+\setfont\shortcontsl\slshape{12}{1000}{OT1}
+\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
+
 
 % We provide the user-level command
 %   @fonttextsize 10
@@ -2090,102 +2478,121 @@ end
  \endgroup
 }
 
+%
+% Change the current font style to #1, remembering it in \curfontstyle.
+% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
+% italics, not bold italics.
+%
+\def\setfontstyle#1{%
+  \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
+  \csname #1font\endcsname  % change the current font
+}
+
+\def\rm{\fam=0 \setfontstyle{rm}}
+\def\it{\fam=\itfam \setfontstyle{it}}
+\def\sl{\fam=\slfam \setfontstyle{sl}}
+\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
+\def\tt{\fam=\ttfam \setfontstyle{tt}}
+
+% Texinfo sort of supports the sans serif font style, which plain TeX does not.
+% So we set up a \sf.
+\newfam\sffam
+\def\sf{\fam=\sffam \setfontstyle{sf}}
+
+% We don't need math for this font style.
+\def\ttsl{\setfontstyle{ttsl}}
+
 
 % In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families.  Since
-% texinfo doesn't allow for producing subscripts and superscripts except
-% in the main text, we don't bother to reset \scriptfont and
-% \scriptscriptfont (which would also require loading a lot more fonts).
+% we have to define the \textfont of the standard families.
+% We don't bother to reset \scriptscriptfont; awaiting user need.
 %
 \def\resetmathfonts{%
-  \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
-  \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
-  \textfont\ttfam=\tentt \textfont\sffam=\tensf
+  \textfont0=\rmfont \textfont1=\ifont \textfont2=\syfont
+  \textfont\itfam=\itfont \textfont\slfam=\slfont \textfont\bffam=\bffont
+  \textfont\ttfam=\ttfont \textfont\sffam=\sffont
+  %
+  % Fonts for superscript.  Note that the 7pt fonts are used regardless
+  % of the current font size.
+  \scriptfont0=\sevenrm \scriptfont1=\seveni \scriptfont2=\sevensy
+  \scriptfont\itfam=\sevenit \scriptfont\slfam=\sevensl
+  \scriptfont\bffam=\sevenbf \scriptfont\ttfam=\seventt
+  \scriptfont\sffam=\sevensf
 }
 
-% The font-changing commands redefine the meanings of \tenSTYLE, instead
-% of just \STYLE.  We do this because \STYLE needs to also set the
-% current \fam for math mode.  Our \STYLE (e.g., \rm) commands hardwire
-% \tenSTYLE to set the current font.
+%
+
+% The font-changing commands (all called \...fonts) redefine the meanings
+% of \STYLEfont, instead of just \STYLE.  We do this because \STYLE needs
+% to also set the current \fam for math mode.  Our \STYLE (e.g., \rm)
+% commands hardwire \STYLEfont to set the current font.
+%
+% The fonts used for \ifont are for "math italics"  (\itfont is for italics
+% in regular text).  \syfont is also used in math mode only.
 %
 % Each font-changing command also sets the names \lsize (one size lower)
-% and \lllsize (three sizes lower).  These relative commands are used in
-% the LaTeX logo and acronyms.
+% and \lllsize (three sizes lower).  These relative commands are used
+% in, e.g., the LaTeX logo and acronyms.
 %
 % This all needs generalizing, badly.
 %
-\def\textfonts{%
-  \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
-  \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
-  \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
-  \let\tenttsl=\textttsl
-  \def\curfontsize{text}%
-  \def\lsize{reduced}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{\textleading}}
-\def\titlefonts{%
-  \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
-  \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
-  \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
-  \let\tenttsl=\titlettsl
-  \def\curfontsize{title}%
-  \def\lsize{chap}\def\lllsize{subsec}%
-  \resetmathfonts \setleading{27pt}}
-\def\titlefont#1{{\titlefonts\rmisbold #1}}
-\def\chapfonts{%
-  \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
-  \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
-  \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
-  \let\tenttsl=\chapttsl
-  \def\curfontsize{chap}%
-  \def\lsize{sec}\def\lllsize{text}%
-  \resetmathfonts \setleading{19pt}}
-\def\secfonts{%
-  \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
-  \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
-  \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
-  \let\tenttsl=\secttsl
-  \def\curfontsize{sec}%
-  \def\lsize{subsec}\def\lllsize{reduced}%
-  \resetmathfonts \setleading{17pt}}
-\def\subsecfonts{%
-  \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
-  \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
-  \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
-  \let\tenttsl=\ssecttsl
-  \def\curfontsize{ssec}%
-  \def\lsize{text}\def\lllsize{small}%
-  \resetmathfonts \setleading{15pt}}
-\let\subsubsecfonts = \subsecfonts
-\def\reducedfonts{%
-  \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
-  \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
-  \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
-  \let\tenttsl=\reducedttsl
-  \def\curfontsize{reduced}%
-  \def\lsize{small}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{10.5pt}}
-\def\smallfonts{%
-  \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
-  \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
-  \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
-  \let\tenttsl=\smallttsl
-  \def\curfontsize{small}%
-  \def\lsize{smaller}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{10.5pt}}
-\def\smallerfonts{%
-  \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
-  \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
-  \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
-  \let\tenttsl=\smallerttsl
-  \def\curfontsize{smaller}%
-  \def\lsize{smaller}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{9.5pt}}
 
-% Fonts for short table of contents.
-\setfont\shortcontrm\rmshape{12}{1000}{OT1}
-\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1}  % no cmb12
-\setfont\shortcontsl\slshape{12}{1000}{OT1}
-\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
+\def\assignfonts#1{%
+  \expandafter\let\expandafter\rmfont\csname #1rm\endcsname
+  \expandafter\let\expandafter\itfont\csname #1it\endcsname
+  \expandafter\let\expandafter\slfont\csname #1sl\endcsname
+  \expandafter\let\expandafter\bffont\csname #1bf\endcsname
+  \expandafter\let\expandafter\ttfont\csname #1tt\endcsname
+  \expandafter\let\expandafter\smallcaps\csname #1sc\endcsname
+  \expandafter\let\expandafter\sffont  \csname #1sf\endcsname
+  \expandafter\let\expandafter\ifont   \csname #1i\endcsname
+  \expandafter\let\expandafter\syfont  \csname #1sy\endcsname
+  \expandafter\let\expandafter\ttslfont\csname #1ttsl\endcsname
+}
+
+\newif\ifrmisbold
+
+% Select smaller font size with the current style.  Used to change font size
+% in, e.g., the LaTeX logo and acronyms.  If we are using bold fonts for
+% normal roman text, also use bold fonts for roman text in the smaller size.
+\def\switchtolllsize{%
+   \expandafter\assignfonts\expandafter{\lllsize}%
+   \ifrmisbold
+     \let\rmfont\bffont
+   \fi
+   \csname\curfontstyle\endcsname
+}%
+
+\def\switchtolsize{%
+   \expandafter\assignfonts\expandafter{\lsize}%
+   \ifrmisbold
+     \let\rmfont\bffont
+   \fi
+   \csname\curfontstyle\endcsname
+}%
+
+\def\definefontsetatsize#1#2#3#4#5{%
+\expandafter\def\csname #1fonts\endcsname{%
+  \def\curfontsize{#1}%
+  \def\lsize{#2}\def\lllsize{#3}%
+  \csname rmisbold#5\endcsname
+  \assignfonts{#1}%
+  \resetmathfonts
+  \setleading{#4}%
+}}
+
+\definefontsetatsize{text}   {reduced}{smaller}{\textleading}{false}
+\definefontsetatsize{title}  {chap}   {subsec} {27pt}  {true}
+\definefontsetatsize{chap}   {sec}    {text}   {19pt}  {true}
+\definefontsetatsize{sec}    {subsec} {reduced}{17pt}  {true}
+\definefontsetatsize{ssec}   {text}   {small}  {15pt}  {true}
+\definefontsetatsize{reduced}{small}  {smaller}{10.5pt}{false}
+\definefontsetatsize{small}  {smaller}{smaller}{10.5pt}{false}
+\definefontsetatsize{smaller}{smaller}{smaller}{9.5pt} {false}
+
+\def\titlefont#1{{\titlefonts\rm #1}}
+\let\subsecfonts = \ssecfonts
+\let\subsubsecfonts = \ssecfonts
 
 % Define these just so they can be easily changed for other fonts.
 \def\angleleft{$\langle$}
@@ -2223,26 +2630,11 @@ end
 % Markup style infrastructure.  \defmarkupstylesetup\INITMACRO will
 % define and register \INITMACRO to be called on markup style changes.
 % \INITMACRO can check \currentmarkupstyle for the innermost
-% style and the set of \ifmarkupSTYLE switches for all styles
-% currently in effect.
-\newif\ifmarkupvar
-\newif\ifmarkupsamp
-\newif\ifmarkupkey
-%\newif\ifmarkupfile % @file == @samp.
-%\newif\ifmarkupoption % @option == @samp.
-\newif\ifmarkupcode
-\newif\ifmarkupkbd
-%\newif\ifmarkupenv % @env == @code.
-%\newif\ifmarkupcommand % @command == @code.
-\newif\ifmarkuptex % @tex (and part of @math, for now).
-\newif\ifmarkupexample
-\newif\ifmarkupverb
-\newif\ifmarkupverbatim
+% style.
 
 \let\currentmarkupstyle\empty
 
 \def\setupmarkupstyle#1{%
-  \csname markup#1true\endcsname
   \def\currentmarkupstyle{#1}%
   \markupstylesetup
 }
@@ -2304,11 +2696,15 @@ end
 % lilypond developers report.  xpdf does work with the regular 0x27.
 %
 \def\codequoteright{%
-  \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
-    \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
-      '%
+  \ifmonospace
+    \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
+      \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
+        '%
+      \else \char'15 \fi
     \else \char'15 \fi
-  \else \char'15 \fi
+   \else
+     '%
+   \fi
 }
 %
 % and a similar option for the left quote char vs. a grave accent.
@@ -2316,13 +2712,17 @@ end
 % the code environments to do likewise.
 %
 \def\codequoteleft{%
-  \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
-    \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
-      % [Knuth] pp. 380,381,391
-      % \relax disables Spanish ligatures ?` and !` of \tt font.
-      \relax`%
+  \ifmonospace
+    \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
+      \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
+        % [Knuth] pp. 380,381,391
+        % \relax disables Spanish ligatures ?` and !` of \tt font.
+        \relax`%
+      \else \char'22 \fi
     \else \char'22 \fi
-  \else \char'22 \fi
+   \else
+     \relax`%
+   \fi
 }
 
 % Commands to set the quote options.
@@ -2432,8 +2832,8 @@ end
 %
 \catcode`@=11
   \def\plainfrenchspacing{%
-    \sfcode\dotChar  =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
-    \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
+    \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m
+    \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m
     \def\endofsentencespacefactor{1000}% for @. and friends
   }
   \def\plainnonfrenchspacing{%
@@ -2446,7 +2846,7 @@ end
 
 % @t, explicit typewriter.
 \def\t#1{%
-  {\tt \rawbackslash \plainfrenchspacing #1}%
+  {\tt \plainfrenchspacing #1}%
   \null
 }
 
@@ -2473,7 +2873,6 @@ end
     % Turn off hyphenation.
     \nohyphenation
     %
-    \rawbackslash
     \plainfrenchspacing
     #1%
   }%
@@ -2601,6 +3000,7 @@ end
     \setbox0 = \hbox{\ignorespaces #2}% look for second arg
     \ifdim\wd0 > 0pt
       \ifpdf
+        % For pdfTeX and LuaTeX
         \ifurefurlonlylink
           % PDF plus option to not display url, show just arg
           \unhbox0             
@@ -2610,7 +3010,19 @@ end
           \unhbox0\ (\urefcode{#1})%
         \fi
       \else
-        \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
+        \ifx\XeTeXrevision\thisisundefined
+          \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
+        \else
+          % For XeTeX
+          \ifurefurlonlylink
+            % PDF plus option to not display url, show just arg
+            \unhbox0             
+          \else
+            % PDF, normally display both arg and url for consistency,
+            % visibility, if the pdf is eventually used to print, etc.
+            \unhbox0\ (\urefcode{#1})%
+          \fi
+        \fi
       \fi
     \else
       \urefcode{#1}% only url given, so show it
@@ -2621,9 +3033,9 @@ end
 
 % Allow line breaks around only a few characters (only).
 \def\urefcatcodes{%
-  \catcode\ampChar=\active   \catcode\dotChar=\active
-  \catcode\hashChar=\active  \catcode\questChar=\active
-  \catcode\slashChar=\active
+  \catcode`\&=\active \catcode`\.=\active
+  \catcode`\#=\active \catcode`\?=\active
+  \catcode`\/=\active
 }
 {
   \urefcatcodes
@@ -2647,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'}%
@@ -2691,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.
@@ -2701,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
@@ -2780,18 +3192,13 @@ end
 %
 \def\dmn#1{\thinspace #1}
 
-% @l was never documented to mean ``switch to the Lisp font'',
-% and it is not used as such in any manual I can find.  We need it for
-% Polish suppressed-l.  --karl, 22sep96.
-%\def\l#1{{\li #1}\null}
-
 % @acronym for "FBI", "NATO", and the like.
 % We print this one point size smaller, since it's intended for
 % all-uppercase.
 %
 \def\acronym#1{\doacronym #1,,\finish}
 \def\doacronym#1,#2,#3\finish{%
-  {\selectfonts\lsize #1}%
+  {\switchtolsize #1}%
   \def\temp{#2}%
   \ifx\temp\empty \else
     \space ({\unsepspaces \ignorespaces \temp \unskip})%
@@ -2837,21 +3244,24 @@ end
 \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
 %
 \def\math{%
-  \tex
-  \mathunderscore
-  \let\\ = \mathbackslash
-  \mathactive
-  % make the texinfo accent commands work in math mode
-  \let\"=\ddot
-  \let\'=\acute
-  \let\==\bar
-  \let\^=\hat
-  \let\`=\grave
-  \let\u=\breve
-  \let\v=\check
-  \let\~=\tilde
-  \let\dotaccent=\dot
-  $\finishmath
+  \ifmmode\else % only go into math if not in math mode already
+    \tex
+    \mathunderscore
+    \let\\ = \mathbackslash
+    \mathactive
+    % make the texinfo accent commands work in math mode
+    \let\"=\ddot
+    \let\'=\acute
+    \let\==\bar
+    \let\^=\hat
+    \let\`=\grave
+    \let\u=\breve
+    \let\v=\check
+    \let\~=\tilde
+    \let\dotaccent=\dot
+    % have to provide another name for sup operator
+    \let\mathopsup=\sup
+  $\expandafter\finishmath\fi
 }
 \def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
 
@@ -2874,8 +3284,17 @@ end
   }
 }
 
-% ctrl is no longer a Texinfo command, but leave this definition for fun.
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+% for @sub and @sup, if in math mode, just do a normal sub/superscript.
+% If in text, use math to place as sub/superscript, but switch
+% into text mode, with smaller fonts.  This is a different font than the
+% one used for real math sub/superscripts (8pt vs. 7pt), but let's not
+% fix it (significant additions to font machinery) until someone notices.
+%
+\def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi}
+\def\finishsub#1{$\sb{\hbox{\switchtolllsize #1}}$}%
+%
+\def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi}
+\def\finishsup#1{$\ptexsp{\hbox{\switchtolllsize #1}}$}%
 
 % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
 % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
@@ -2939,23 +3358,10 @@ end
 \let\atchar=\@
 
 % @{ @} @lbracechar{} @rbracechar{} all generate brace characters.
-% Unless we're in typewriter, use \ecfont because the CM text fonts do
-% not have braces, and we don't want to switch into math.
-\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}}
-\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
-\let\{=\mylbrace \let\lbracechar=\{
-\let\}=\myrbrace \let\rbracechar=\}
-\begingroup
-  % Definitions to produce \{ and \} commands for indices,
-  % and @{ and @} for the aux/toc files.
-  \catcode`\{ = \other \catcode`\} = \other
-  \catcode`\[ = 1 \catcode`\] = 2
-  \catcode`\! = 0 \catcode`\\ = \other
-  !gdef!lbracecmd[\{]%
-  !gdef!rbracecmd[\}]%
-  !gdef!lbraceatcmd[@{]%
-  !gdef!rbraceatcmd[@}]%
-!endgroup
+\def\lbracechar{{\ifmonospace\char123\else\ensuremath\lbrace\fi}}
+\def\rbracechar{{\ifmonospace\char125\else\ensuremath\rbrace\fi}}
+\let\{=\lbracechar
+\let\}=\rbracechar
 
 % @comma{} to avoid , parsing problems.
 \let\comma = ,
@@ -2973,8 +3379,8 @@ end
 % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
 \def\questiondown{?`}
 \def\exclamdown{!`}
-\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
-\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
+\def\ordf{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{a}}}
+\def\ordm{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{o}}}
 
 % Dotless i and dotless j, used for accents.
 \def\imacro{i}
@@ -3003,12 +3409,12 @@ end
   {\setbox0=\hbox{T}%
    \vbox to \ht0{\hbox{%
      \ifx\textnominalsize\xwordpt
-       % for 10pt running text, \lllsize (8pt) is too small for the A in LaTeX.
+       % for 10pt running text, lllsize (8pt) is too small for the A in LaTeX.
        % Revert to plain's \scriptsize, which is 7pt.
        \count255=\the\fam $\fam\count255 \scriptstyle A$%
      \else
        % For 11pt, we can use our lllsize.
-       \selectfonts\lllsize A%
+       \switchtolllsize A%
      \fi
      }%
      \vss
@@ -3017,11 +3423,16 @@ end
   \TeX
 }
 
-% Some math mode symbols.
-\def\bullet{$\ptexbullet$}
-\def\geq{\ifmmode \ge\else $\ge$\fi}
-\def\leq{\ifmmode \le\else $\le$\fi}
-\def\minus{\ifmmode -\else $-$\fi}
+% Some math mode symbols.  Define \ensuremath to switch into math mode
+% unless we are already there.  Expansion tricks may not be needed here,
+% but safer, and can't hurt.
+\def\ensuremath{\ifmmode \expandafter\asis \else\expandafter\ensuredmath \fi}
+\def\ensuredmath#1{$\relax#1$}
+%
+\def\bullet{\ensuremath\ptexbullet}
+\def\geq{\ensuremath\ge}
+\def\leq{\ensuremath\le}
+\def\minus{\ensuremath-}
 
 % @dots{} outputs an ellipsis using the current font.
 % We do .5em per period so that it has the same spacing in the cm
@@ -3069,7 +3480,7 @@ end
 %
 \newbox\errorbox
 %
-{\tentt \global\dimen0 = 3em}% Width of the box.
+{\ttfont \global\dimen0 = 3em}% Width of the box.
 \dimen2 = .55pt % Thickness of rules
 % The text. (`r' is open on the right, `e' somewhat less so on the left.)
 \setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
@@ -3185,8 +3596,15 @@ end
 \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E}
 \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e}
 %
-% Use the ec* fonts (cm-super in outline format) for non-CM glyphs.
-\def\ecfont{%
+% Use the European Computer Modern fonts (cm-super in outline format)
+% 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}}
+%
+\def\etcfont#1{%
   % We can't distinguish serif/sans and italic/slanted, but this
   % is used for crude hacks anyway (like adding French and German
   % quotes to documents typeset with CM, where we lose kerning), so
@@ -3195,14 +3613,14 @@ end
   \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
   \ifmonospace
     % typewriter:
-    \font\thisecfont = ectt\ecsize \space at \nominalsize
+    \font\thisecfont = #1ctt\ecsize \space at \nominalsize
   \else
     \ifx\curfontstyle\bfstylename
       % bold:
-      \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+      \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
     \else
       % regular:
-      \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+      \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize
     \fi
   \fi
   \thisecfont
@@ -3213,7 +3631,7 @@ end
 % Adapted from the plain.tex definition of \copyright.
 %
 \def\registeredsymbol{%
-  $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
+  $^{{\ooalign{\hfil\raise.07ex\hbox{\switchtolllsize R}%
                \hfil\crcr\Orb}}%
     }$%
 }
@@ -3246,13 +3664,16 @@ end
 \newif\ifseenauthor
 \newif\iffinishedtitlepage
 
-% Do an implicit @contents or @shortcontents after @end titlepage if the
-% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
-%
-\newif\ifsetcontentsaftertitlepage
- \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
-\newif\ifsetshortcontentsaftertitlepage
- \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
+% @setcontentsaftertitlepage used to do an implicit @contents or
+% @shortcontents after @end titlepage, but it is now obsolete.
+\def\setcontentsaftertitlepage{%
+  \errmessage{@setcontentsaftertitlepage has been removed as a Texinfo
+              command; move your @contents command if you want the contents
+              after the title page.}}%
+\def\setshortcontentsaftertitlepage{%
+  \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo
+              command; move your @shortcontents and @contents commands if you 
+              want the contents after the title page.}}%
 
 \parseargdef\shorttitlepage{%
   \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
@@ -3294,20 +3715,6 @@ end
   % Need this before the \...aftertitlepage checks so that if they are
   % in effect the toc pages will come out with page numbers.
   \HEADINGSon
-  %
-  % If they want short, they certainly want long too.
-  \ifsetshortcontentsaftertitlepage
-    \shortcontents
-    \contents
-    \global\let\shortcontents = \relax
-    \global\let\contents = \relax
-  \fi
-  %
-  \ifsetcontentsaftertitlepage
-    \contents
-    \global\let\contents = \relax
-    \global\let\shortcontents = \relax
-  \fi
 }
 
 \def\finishtitlepage{%
@@ -3318,12 +3725,11 @@ end
 
 % Settings used for typesetting titles: no hyphenation, no indentation,
 % don't worry much about spacing, ragged right.  This should be used
-% inside a \vbox, and fonts need to be set appropriately first.  Because
-% it is always used for titles, nothing else, we call \rmisbold.  \par
-% should be specified before the end of the \vbox, since a vbox is a group.
+% 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{%
-  \rmisbold
+  \rm
   \hyphenpenalty=10000
   \parindent=0pt
   \tolerance=5000
@@ -3332,7 +3738,7 @@ end
 
 % Macros to be used within @titlepage:
 
-\let\subtitlerm=\tenrm
+\let\subtitlerm=\rmfont
 \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
 
 \parseargdef\title{%
@@ -3358,7 +3764,7 @@ end
   \else
     \checkenv\titlepage
     \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
-    {\secfonts\rmisbold \leftline{#1}}%
+    {\secfonts\rm \leftline{#1}}%
   \fi
 }
 
@@ -3372,7 +3778,7 @@ end
 \newtoks\evenfootline    % footline on even pages
 \newtoks\oddfootline     % footline on odd pages
 
-% Now make TeX use those variables
+% Now make \makeheadline and \makefootline in Plain TeX use those variables
 \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
                             \else \the\evenheadline \fi}}
 \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
@@ -3411,7 +3817,7 @@ end
   %
   % Leave some space for the footline.  Hopefully ok to assume
   % @evenfooting will not be used by itself.
-  \global\advance\pageheight by -12pt
+  \global\advance\txipageheight by -12pt
   \global\advance\vsize by -12pt
 }
 
@@ -3428,13 +3834,17 @@ end
 % @everyheadingmarks
 % @everyfootingmarks
 
+% These define \getoddheadingmarks, \getevenheadingmarks,
+% \getoddfootingmarks, and \getevenfootingmarks, each to one of
+% \gettopheadingmarks, \getbottomheadingmarks.
+%
 \def\evenheadingmarks{\headingmarks{even}{heading}}
 \def\oddheadingmarks{\headingmarks{odd}{heading}}
 \def\evenfootingmarks{\headingmarks{even}{footing}}
 \def\oddfootingmarks{\headingmarks{odd}{footing}}
-\def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1}
+\parseargdef\everyheadingmarks{\headingmarks{even}{heading}{#1}
                           \headingmarks{odd}{heading}{#1} }
-\def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1}
+\parseargdef\everyfootingmarks{\headingmarks{even}{footing}{#1}
                           \headingmarks{odd}{footing}{#1} }
 % #1 = even/odd, #2 = heading/footing, #3 = top/bottom.
 \def\headingmarks#1#2#3 {%
@@ -3455,7 +3865,7 @@ end
 % By default, they are off at the start of a document,
 % and turned `on' after @end titlepage.
 
-\def\headings #1 {\csname HEADINGS#1\endcsname}
+\parseargdef\headings{\csname HEADINGS#1\endcsname}
 
 \def\headingsoff{% non-global headings elimination
   \evenheadline={\hfil}\evenfootline={\hfil}%
@@ -3475,7 +3885,7 @@ end
 \global\evenfootline={\hfil}
 \global\oddfootline={\hfil}
 \global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\oddheadline={\line{\thischapterheading\hfil\folio}}
 \global\let\contentsalignmacro = \chapoddpage
 }
 \let\contentsalignmacro = \chappager
@@ -3486,8 +3896,8 @@ end
 \global\pageno=1
 \global\evenfootline={\hfil}
 \global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\evenheadline={\line{\thischapterheading\hfil\folio}}
+\global\oddheadline={\line{\thischapterheading\hfil\folio}}
 \global\let\contentsalignmacro = \chappager
 }
 \def\HEADINGSon{\HEADINGSdouble}
@@ -3498,7 +3908,7 @@ end
 \global\evenfootline={\hfil}
 \global\oddfootline={\hfil}
 \global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\oddheadline={\line{\thischapterheading\hfil\folio}}
 \global\let\contentsalignmacro = \chapoddpage
 }
 
@@ -3506,8 +3916,8 @@ end
 \def\HEADINGSsinglex{%
 \global\evenfootline={\hfil}
 \global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\evenheadline={\line{\thischapterheading\hfil\folio}}
+\global\oddheadline={\line{\thischapterheading\hfil\folio}}
 \global\let\contentsalignmacro = \chappager
 }
 
@@ -3717,7 +4127,12 @@ end
    \noindent
    \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
    %
-   \vadjust{\penalty 1200}}% not good to break after first line of item.
+   \ifinner\else
+     \vadjust{\penalty 1200}% not good to break after first line of item.
+   \fi
+   % We can be in inner vertical mode in a footnote, although an
+   % @itemize looks awful there.
+  }%
   \flushcr
 }
 
@@ -4242,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'']}%
@@ -4264,6 +4666,31 @@ end
   \fi
 }
 
+% 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 
+% 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}%
+  \else
+    \csname SET#1\endcsname
+  \fi
+}
+
+% Used for @value's in index entries to form the sort key: expand the @value
+% if possible, otherwise sort late.
+\def\indexnofontsvalue#1{%
+  \expandafter\ifx\csname SET#1\endcsname\relax
+    ZZZZZZZ%
+  \else
+    \csname SET#1\endcsname
+  \fi
+}
+
 % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
 % with @set.
 % 
@@ -4339,19 +4766,16 @@ end
 % except not \outer, so it can be used within macros and \if's.
 \edef\newwrite{\makecsname{ptexnewwrite}}
 
-% \newindex {foo} defines an index named foo.
-% It automatically defines \fooindex such that
-% \fooindex ...rest of line... puts an entry in the index foo.
-% It also defines \fooindfile to be the number of the output channel for
-% the file that accumulates this index.  The file's extension is foo.
+% \newindex {foo} defines an index named IX.
+% It automatically defines \IXindex such that
+% \IXindex ...rest of line... puts an entry in the index IX.
+% It also defines \IXindfile to be the number of the output channel for
+% the file that accumulates this index.  The file's extension is IX.
 % The name of an index should be no more than 2 characters long
 % for the sake of vms.
 %
 \def\newindex#1{%
-  \iflinks
-    \expandafter\newwrite \csname#1indfile\endcsname
-    \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
-  \fi
+  \expandafter\chardef\csname#1indfile\endcsname=0
   \expandafter\xdef\csname#1index\endcsname{%     % Define @#1index
     \noexpand\doindex{#1}}
 }
@@ -4365,14 +4789,19 @@ end
 \def\defcodeindex{\parsearg\newcodeindex}
 %
 \def\newcodeindex#1{%
-  \iflinks
-    \expandafter\newwrite \csname#1indfile\endcsname
-    \openout \csname#1indfile\endcsname \jobname.#1
-  \fi
+  \expandafter\chardef\csname#1indfile\endcsname=0
   \expandafter\xdef\csname#1index\endcsname{%
     \noexpand\docodeindex{#1}}%
 }
 
+% The default indices:
+\newindex{cp}%      concepts,
+\newcodeindex{fn}%  functions,
+\newcodeindex{vr}%  variables,
+\newcodeindex{tp}%  types,
+\newcodeindex{ky}%  keys
+\newcodeindex{pg}%  and programs.
+
 
 % @synindex foo bar    makes index foo feed into index bar.
 % Do this instead of @defindex foo if you don't want it as a separate index.
@@ -4386,14 +4815,7 @@ end
 % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
 % #3 the target index (bar).
 \def\dosynindex#1#2#3{%
-  % Only do \closeout if we haven't already done it, else we'll end up
-  % closing the target index.
-  \expandafter \ifx\csname donesynindex#2\endcsname \relax
-    % The \closeout helps reduce unnecessary open files; the limit on the
-    % Acorn RISC OS is a mere 16 files.
-    \expandafter\closeout\csname#2indfile\endcsname
-    \expandafter\let\csname donesynindex#2\endcsname = 1
-  \fi
+  \requireopenindexfile{#3}%
   % redefine \fooindfile:
   \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
   \expandafter\let\csname#2indfile\endcsname=\temp
@@ -4401,107 +4823,56 @@ end
   \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
 }
 
-% Define \doindex, the driver for all \fooindex macros.
+% Define \doindex, the driver for all index macros.
 % Argument #1 is generated by the calling \fooindex macro,
-%  and it is "foo", the name of the index.
-
-% \doindex just uses \parsearg; it calls \doind for the actual work.
-% This is because \doind is more useful to call from other macros.
+% and it is the two-letter name of the index.
 
-% There is also \dosubind {index}{topic}{subtopic}
-% which makes an entry in a two-level index such as the operation index.
-
-\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
-\def\singleindexer #1{\doind{\indexname}{#1}}
+\def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx}
+\def\doindexxxx #1{\doind{\indexname}{#1}}
 
 % like the previous two, but they put @code around the argument.
-\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
-\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
-
-% Take care of Texinfo commands that can appear in an index entry.
-% Since there are some commands we want to expand, and others we don't,
-% we have to laboriously prevent expansion for those that we don't.
-%
-\def\indexdummies{%
-  \escapechar = `\\     % use backslash in output files.
-  \def\@{@}% change to @@ when we switch to @ as escape char in index files.
-  \def\ {\realbackslash\space }%
-  %
-  % Need these unexpandable (because we define \tt as a dummy)
-  % definitions when @{ or @} appear in index entry text.  Also, more
-  % complicated, when \tex is in effect and \{ is a \delimiter again.
-  % We can't use \lbracecmd and \rbracecmd because texindex assumes
-  % braces and backslashes are used only as delimiters.  Perhaps we
-  % should use @lbracechar and @rbracechar?
-  \def\{{{\tt\char123}}%
-  \def\}{{\tt\char125}}%
-  %
-  % I don't entirely understand this, but when an index entry is
-  % generated from a macro call, the \endinput which \scanmacro inserts
-  % causes processing to be prematurely terminated.  This is,
-  % apparently, because \indexsorttmp is fully expanded, and \endinput
-  % is an expandable command.  The redefinition below makes \endinput
-  % disappear altogether for that purpose -- although logging shows that
-  % processing continues to some further point.  On the other hand, it
-  % seems \endinput does not hurt in the printed index arg, since that
-  % is still getting written without apparent harm.
-  %
-  % Sample source (mac-idx3.tex, reported by Graham Percival to
-  % help-texinfo, 22may06):
-  % @macro funindex {WORD}
-  % @findex xyz
-  % @end macro
-  % ...
-  % @funindex commtest
-  % This is not enough to reproduce the bug, but it gives the flavor.
-  %
-  % Sample whatsit resulting:
-  % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
-  %
-  % So:
-  \let\endinput = \empty
-  %
-  % Do the redefinitions.
-  \commondummies
-}
+\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
+\def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}}
 
-% For the aux and toc files, @ is the escape character.  So we want to
-% redefine everything using @ as the escape character (instead of
-% \realbackslash, still used for index files).  When everything uses @,
-% this will be simpler.
+\f
+% Used for the aux, toc and index files to prevent expansion of Texinfo 
+% commands.
 %
 \def\atdummies{%
-  \def\@{@@}%
-  \def\ {@ }%
-  \let\{ = \lbraceatcmd
-  \let\} = \rbraceatcmd
+  \definedummyletter\@%
+  \definedummyletter\ %
+  \definedummyletter\{%
+  \definedummyletter\}%
   %
   % Do the redefinitions.
-  \commondummies
+  \definedummies
   \otherbackslash
 }
 
-% Called from \indexdummies and \atdummies.
+% \definedummyword defines \#1 as \string\#1\space, thus effectively
+% preventing its expansion.  This is used only for control words,
+% not control letters, because the \space would be incorrect for
+% control characters, but is needed to separate the control word
+% from whatever follows.
 %
-\def\commondummies{%
-  %
-  % \definedummyword defines \#1 as \string\#1\space, thus effectively
-  % preventing its expansion.  This is used only for control words,
-  % not control letters, because the \space would be incorrect for
-  % control characters, but is needed to separate the control word
-  % from whatever follows.
-  %
-  % For control letters, we have \definedummyletter, which omits the
-  % space.
-  %
-  % These can be used both for control words that take an argument and
-  % those that do not.  If it is followed by {arg} in the input, then
-  % that will dutifully get written to the index (or wherever).
-  %
-  \def\definedummyword  ##1{\def##1{\string##1\space}}%
-  \def\definedummyletter##1{\def##1{\string##1}}%
-  \let\definedummyaccent\definedummyletter
+% These can be used both for control words that take an argument and
+% those that do not.  If it is followed by {arg} in the input, then
+% that will dutifully get written to the index (or wherever).
+%
+% For control letters, we have \definedummyletter, which omits the
+% space.
+%
+\def\definedummyword  #1{\def#1{\string#1\space}}%
+\def\definedummyletter#1{\def#1{\string#1}}%
+\let\definedummyaccent\definedummyletter
+
+% Called from \atdummies to prevent the expansion of commands.
+%
+\def\definedummies{%
   %
+  \let\commondummyword\definedummyword
+  \let\commondummyletter\definedummyletter
+  \let\commondummyaccent\definedummyaccent
   \commondummiesnofonts
   %
   \definedummyletter\_%
@@ -4542,7 +4913,9 @@ end
   \definedummyword\TeX
   %
   % Assorted special characters.
+  \definedummyword\atchar
   \definedummyword\arrow
+  \definedummyword\backslashchar
   \definedummyword\bullet
   \definedummyword\comma
   \definedummyword\copyright
@@ -4561,6 +4934,7 @@ end
   \definedummyword\guilsinglright
   \definedummyword\lbracechar
   \definedummyword\leq
+  \definedummyword\mathopsup
   \definedummyword\minus
   \definedummyword\ogonek
   \definedummyword\pounds
@@ -4574,100 +4948,134 @@ end
   \definedummyword\quotesinglbase
   \definedummyword\rbracechar
   \definedummyword\result
+  \definedummyword\sub
+  \definedummyword\sup
   \definedummyword\textdegree
   %
+  \definedummyword\subentry
+  %
   % We want to disable all macros so that they are not expanded by \write.
   \macrolist
+  \let\value\dummyvalue
   %
   \normalturnoffactive
-  %
-  % Handle some cases of @value -- where it does not contain any
-  % (non-fully-expandable) commands.
-  \makevalueexpandable
 }
 
-% \commondummiesnofonts: common to \commondummies and \indexnofonts.
+% \commondummiesnofonts: common to \definedummies and \indexnofonts.
+% Define \commondummyletter, \commondummyaccent and \commondummyword before
+% using.  Used for accents, font commands, and various control letters.
 %
 \def\commondummiesnofonts{%
   % Control letters and accents.
-  \definedummyletter\!%
-  \definedummyaccent\"%
-  \definedummyaccent\'%
-  \definedummyletter\*%
-  \definedummyaccent\,%
-  \definedummyletter\.%
-  \definedummyletter\/%
-  \definedummyletter\:%
-  \definedummyaccent\=%
-  \definedummyletter\?%
-  \definedummyaccent\^%
-  \definedummyaccent\`%
-  \definedummyaccent\~%
-  \definedummyword\u
-  \definedummyword\v
-  \definedummyword\H
-  \definedummyword\dotaccent
-  \definedummyword\ogonek
-  \definedummyword\ringaccent
-  \definedummyword\tieaccent
-  \definedummyword\ubaraccent
-  \definedummyword\udotaccent
-  \definedummyword\dotless
+  \commondummyletter\!%
+  \commondummyaccent\"%
+  \commondummyaccent\'%
+  \commondummyletter\*%
+  \commondummyaccent\,%
+  \commondummyletter\.%
+  \commondummyletter\/%
+  \commondummyletter\:%
+  \commondummyaccent\=%
+  \commondummyletter\?%
+  \commondummyaccent\^%
+  \commondummyaccent\`%
+  \commondummyaccent\~%
+  \commondummyword\u
+  \commondummyword\v
+  \commondummyword\H
+  \commondummyword\dotaccent
+  \commondummyword\ogonek
+  \commondummyword\ringaccent
+  \commondummyword\tieaccent
+  \commondummyword\ubaraccent
+  \commondummyword\udotaccent
+  \commondummyword\dotless
   %
   % Texinfo font commands.
-  \definedummyword\b
-  \definedummyword\i
-  \definedummyword\r
-  \definedummyword\sansserif
-  \definedummyword\sc
-  \definedummyword\slanted
-  \definedummyword\t
+  \commondummyword\b
+  \commondummyword\i
+  \commondummyword\r
+  \commondummyword\sansserif
+  \commondummyword\sc
+  \commondummyword\slanted
+  \commondummyword\t
   %
   % Commands that take arguments.
-  \definedummyword\abbr
-  \definedummyword\acronym
-  \definedummyword\anchor
-  \definedummyword\cite
-  \definedummyword\code
-  \definedummyword\command
-  \definedummyword\dfn
-  \definedummyword\dmn
-  \definedummyword\email
-  \definedummyword\emph
-  \definedummyword\env
-  \definedummyword\file
-  \definedummyword\image
-  \definedummyword\indicateurl
-  \definedummyword\inforef
-  \definedummyword\kbd
-  \definedummyword\key
-  \definedummyword\math
-  \definedummyword\option
-  \definedummyword\pxref
-  \definedummyword\ref
-  \definedummyword\samp
-  \definedummyword\strong
-  \definedummyword\tie
-  \definedummyword\uref
-  \definedummyword\url
-  \definedummyword\var
-  \definedummyword\verb
-  \definedummyword\w
-  \definedummyword\xref
-  %
-  % Consider:
-  %   @macro mkind{arg1,arg2}
-  %   @cindex \arg2\
-  %   @end macro
-  %   @mkind{foo, bar}
-  % The space after the comma will end up in the temporary definition
-  % that we make for arg2 (see \parsemargdef ff.).  We want all this to be
-  % expanded for the sake of the index, so we end up just seeing "bar".
-  \let\xeatspaces = \eatspaces
-}
-
-% For testing: output @{ and @} in index sort strings as \{ and \}.
-\newif\ifusebracesinindexes
+  \commondummyword\abbr
+  \commondummyword\acronym
+  \commondummyword\anchor
+  \commondummyword\cite
+  \commondummyword\code
+  \commondummyword\command
+  \commondummyword\dfn
+  \commondummyword\dmn
+  \commondummyword\email
+  \commondummyword\emph
+  \commondummyword\env
+  \commondummyword\file
+  \commondummyword\image
+  \commondummyword\indicateurl
+  \commondummyword\inforef
+  \commondummyword\kbd
+  \commondummyword\key
+  \commondummyword\math
+  \commondummyword\option
+  \commondummyword\pxref
+  \commondummyword\ref
+  \commondummyword\samp
+  \commondummyword\strong
+  \commondummyword\tie
+  \commondummyword\U
+  \commondummyword\uref
+  \commondummyword\url
+  \commondummyword\var
+  \commondummyword\verb
+  \commondummyword\w
+  \commondummyword\xref
+}
+
+\let\indexlbrace\relax
+\let\indexrbrace\relax
+\let\indexatchar\relax
+\let\indexbackslash\relax
+
+{\catcode`\@=0
+\catcode`\\=13
+  @gdef@backslashdisappear{@def\{}}
+}
+
+{
+\catcode`\<=13
+\catcode`\-=13
+\catcode`\`=13
+  \gdef\indexnonalnumdisappear{%
+    \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax\else
+      % @set txiindexlquoteignore makes us ignore left quotes in the sort term.
+      % (Introduced for FSFS 2nd ed.)
+      \let`=\empty
+    \fi
+    %
+    \expandafter\ifx\csname SETtxiindexbackslashignore\endcsname\relax\else
+      \backslashdisappear
+    \fi
+    %
+    \expandafter\ifx\csname SETtxiindexhyphenignore\endcsname\relax\else
+      \def-{}%
+    \fi
+    \expandafter\ifx\csname SETtxiindexlessthanignore\endcsname\relax\else
+      \def<{}%
+    \fi
+    \expandafter\ifx\csname SETtxiindexatsignignore\endcsname\relax\else
+      \def\@{}%
+    \fi
+  }
+
+  \gdef\indexnonalnumreappear{%
+    \let-\normaldash
+    \let<\normalless
+  }
+}
+
 
 % \indexnofonts is used when outputting the strings to sort the index
 % by, and when constructing control sequence names.  It eliminates all
@@ -4676,12 +5084,11 @@ end
 %
 \def\indexnofonts{%
   % Accent commands should become @asis.
-  \def\definedummyaccent##1{\let##1\asis}%
+  \def\commondummyaccent##1{\let##1\asis}%
   % We can just ignore other control letters.
-  \def\definedummyletter##1{\let##1\empty}%
+  \def\commondummyletter##1{\let##1\empty}%
   % All control words become @asis by default; overrides below.
-  \let\definedummyword\definedummyaccent
-  %
+  \let\commondummyword\commondummyaccent
   \commondummiesnofonts
   %
   % Don't no-op \tt, since it isn't a user-level command
@@ -4694,19 +5101,10 @@ end
   \def\_{\normalunderscore}%
   \def\-{}% @- shouldn't affect sorting
   %
-  % Unfortunately, texindex is not prepared to handle braces in the
-  % content at all.  So for index sorting, we map @{ and @} to strings
-  % starting with |, since that ASCII character is between ASCII { and }.
-  \ifusebracesinindexes
-    \def\lbracechar{\lbracecmd}%
-    \def\rbracechar{\rbracecmd}%
-  \else
-    \def\lbracechar{|a}%
-    \def\rbracechar{|b}%
-  \fi
-  \let\{=\lbracechar
-  \let\}=\rbracechar
-  %
+  \uccode`\1=`\{ \uppercase{\def\{{1}}%
+  \uccode`\1=`\} \uppercase{\def\}{1}}%
+  \let\lbracechar\{%
+  \let\rbracechar\}%
   %
   % Non-English letters.
   \def\AA{AA}%
@@ -4715,7 +5113,7 @@ end
   \def\L{L}%
   \def\OE{OE}%
   \def\O{O}%
-  \def\TH{ZZZ}%
+  \def\TH{TH}%
   \def\aa{aa}%
   \def\ae{ae}%
   \def\dh{dzz}%
@@ -4727,45 +5125,45 @@ end
   \def\o{o}%
   \def\questiondown{?}%
   \def\ss{ss}%
-  \def\th{zzz}%
+  \def\th{th}%
   %
   \def\LaTeX{LaTeX}%
   \def\TeX{TeX}%
   %
-  % Assorted special characters.
-  % (The following {} will end up in the sort string, but that's ok.)
-  \def\arrow{->}%
-  \def\bullet{bullet}%
-  \def\comma{,}%
-  \def\copyright{copyright}%
-  \def\dots{...}%
-  \def\enddots{...}%
-  \def\equiv{==}%
-  \def\error{error}%
-  \def\euro{euro}%
-  \def\expansion{==>}%
-  \def\geq{>=}%
-  \def\guillemetleft{<<}%
-  \def\guillemetright{>>}%
-  \def\guilsinglleft{<}%
-  \def\guilsinglright{>}%
-  \def\leq{<=}%
-  \def\minus{-}%
-  \def\point{.}%
-  \def\pounds{pounds}%
-  \def\print{-|}%
-  \def\quotedblbase{"}%
-  \def\quotedblleft{"}%
-  \def\quotedblright{"}%
-  \def\quoteleft{`}%
-  \def\quoteright{'}%
-  \def\quotesinglbase{,}%
-  \def\registeredsymbol{R}%
-  \def\result{=>}%
-  \def\textdegree{o}%
-  %
-  \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax
-  \else \indexlquoteignore \fi
+  % Assorted special characters.  \defglyph gives the control sequence a
+  % definition that removes the {} that follows its use.
+  \defglyph\atchar{@}%
+  \defglyph\arrow{->}%
+  \defglyph\bullet{bullet}%
+  \defglyph\comma{,}%
+  \defglyph\copyright{copyright}%
+  \defglyph\dots{...}%
+  \defglyph\enddots{...}%
+  \defglyph\equiv{==}%
+  \defglyph\error{error}%
+  \defglyph\euro{euro}%
+  \defglyph\expansion{==>}%
+  \defglyph\geq{>=}%
+  \defglyph\guillemetleft{<<}%
+  \defglyph\guillemetright{>>}%
+  \defglyph\guilsinglleft{<}%
+  \defglyph\guilsinglright{>}%
+  \defglyph\leq{<=}%
+  \defglyph\lbracechar{\{}%
+  \defglyph\minus{-}%
+  \defglyph\point{.}%
+  \defglyph\pounds{pounds}%
+  \defglyph\print{-|}%
+  \defglyph\quotedblbase{"}%
+  \defglyph\quotedblleft{"}%
+  \defglyph\quotedblright{"}%
+  \defglyph\quoteleft{`}%
+  \defglyph\quoteright{'}%
+  \defglyph\quotesinglbase{,}%
+  \defglyph\rbracechar{\}}%
+  \defglyph\registeredsymbol{R}%
+  \defglyph\result{=>}%
+  \defglyph\textdegree{o}%
   %
   % We need to get rid of all macros, leaving only the arguments (if present).
   % Of course this is not nearly correct, but it is the best we can do for now.
@@ -4778,75 +5176,200 @@ end
   % goes to end-of-line is not handled.
   %
   \macrolist
+  \let\value\indexnofontsvalue
 }
+\def\defglyph#1#2{\def#1##1{#2}} % see above
 
-% Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us
-% ignore left quotes in the sort term.
-{\catcode`\`=\active
- \gdef\indexlquoteignore{\let`=\empty}}
+\f
 
-\let\indexbackslash=0  %overridden during \printindex.
-\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}{}}
-
-% Workhorse for all \fooindexes.
-% #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
   {%
-    % 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
 }
 
-% Write the entry in \toks0 to the index file:
+% Check if an index file has been opened, and if not, open it.
+\def\requireopenindexfile#1{%
+\ifnum\csname #1indfile\endcsname=0
+  \expandafter\newwrite \csname#1indfile\endcsname
+  \edef\suffix{#1}%
+  % A .fls suffix would conflict with the file extension for the output
+  % of -recorder, so use .f1s instead.
+  \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 
+  % box, which could confound checks such as those in \safewhatsit for
+  % preceding skips.
+  \typeout{Writing index file \jobname.\suffix}%
+\fi}
+\def\indexisfl{fl}
+
+% Definition for writing index entry sort key.
+{
+\catcode`\-=13
+\gdef\indexwritesortas{%
+  \begingroup
+  \indexnonalnumreappear
+  \indexwritesortasxxx}
+\gdef\indexwritesortasxxx#1{%
+  \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
+
+
+% 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
+  %
+  \atdummies
+  %
+  \expandafter\ifx\csname SETtxiindexescapeisbackslash\endcsname\relax\else
+    \escapeisbackslash
   \fi
   %
-  % Remember, we are within a group.
-  \indexdummies % Must do this here, since \bf, etc expand at this stage
-  \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
-      % so it will be output as is; and it will print as backslash.
+  % For texindex which always views { and } as separators.
+  \def\{{\lbracechar{}}%
+  \def\}{\rbracechar{}}%
+  \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}%
   %
-  % Process the index entry with all font commands turned off, to
-  % get the string to sort by.
-  {\indexnofonts
-   \edef\temp{\the\toks0}% need full expansion
-   \xdef\indexsorttmp{\temp}%
-  }%
+  % 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{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
+      \string\entry{\fullindexsortkey}%
+        {\ifx\pagenumbertext\empty\noexpand\folio\else\pagenumbertext\fi}%
+        \bracedtext}%
   }%
   \temp
 }
 
+% 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:
 %
 % If a skip is the last thing on the list now, preserve it
@@ -4933,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.
@@ -4947,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.
@@ -4965,57 +5488,123 @@ end
   \plainfrenchspacing
   \everypar = {}% don't want the \kern\-parindent from indentation suppression.
   %
+  % See comment in \requireopenindexfile.
+  \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi
+  %
   % 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`\@ = 11
-  \openin 1 \jobname.#1s
+  \openin 1 \jobname.\indexname s
   \ifeof 1
     % \enddoublecolumns gets confused if there is no text in the index,
     % and it loses the chapter title and the aux file entries for the
     % index.  The easiest way to prevent this problem is to make sure
     % there is some text.
     \putwordIndexNonexistent
+    \typeout{No file \jobname.\indexname s.}%
   \else
-    %
     % 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.
-    \read 1 to \temp
+    \read 1 to \thisline
     \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{\backslashcurfont}%
-      \catcode`\\ = 0
-      \escapechar = `\\
-      \begindoublecolumns
-      \input \jobname.#1s
-      \enddoublecolumns
+      \expandafter\printindexzz\thisline\relax\relax\finish%
     \fi
   \fi
   \closein 1
 \endgroup}
 
+% 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
+    \begindoublecolumns
+    \catcode`\\=0\relax
+    \catcode`\@=12\relax
+    \input \jobname.\indexname s
+    \enddoublecolumns
+  \fi
+}
+
 % These macros are used by the sorted index file itself.
 % Change them to control the appearance of the index.
 
-\def\initial#1{{%
-  % Some minor font changes for the special characters.
-  \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
-  %
+{\catcode`\/=13 \catcode`\-=13 \catcode`\^=13 \catcode`\~=13 \catcode`\_=13
+\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.
+  \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}}%
+  \def-{{\normaldash\normaldash}}% en dash `--'
+  \def^{{\chapbf \normalcaret}}%
+  \def~{{\chapbf \normaltilde}}%
+  \def\_{%
+     \leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }%
+  \def|{$\vert$}%
+  \def<{$\less$}%
+  \def>{$\gtr$}%
+  \def+{$\normalplus$}%
+}}
+
+\def\initial{%
+  \bgroup
+  \initialglyphs
+  \initialx
+}
+
+\def\initialx#1{%
   % Remove any glue we may have, we'll be inserting our own.
   \removelastskip
   %
   % We like breaks before the index initials, so insert a bonus.
+  % The glue before the bonus allows a little bit of space at the
+  % bottom of a column to reduce an increase in inter-line spacing.
   \nobreak
-  \vskip 0pt plus 3\baselineskip
-  \penalty 0
-  \vskip 0pt plus -3\baselineskip
+  \vskip 0pt plus 5\baselineskip
+  \penalty -300 
+  \vskip 0pt plus -5\baselineskip
   %
   % Typeset the initial.  Making this add up to a whole number of
   % baselineskips increases the chance of the dots lining up from column
@@ -5023,24 +5612,24 @@ end
   % we need before each entry, but it's better.
   %
   % No shrink because it confuses \balancecolumns.
-  \vskip 1.67\baselineskip plus .5\baselineskip
-  \leftline{\secbf #1}%
+  \vskip 1.67\baselineskip plus 1\baselineskip
+  \leftline{\secfonts \kern-0.05em \secbf #1}%
+  % \secfonts is inside the argument of \leftline so that the change of
+  % \baselineskip will not affect any glue inserted before the vbox that
+  % \leftline creates.
   % Do our best not to break after the initial.
   \nobreak
   \vskip .33\baselineskip plus .1\baselineskip
-}}
+  \egroup % \initialglyphs
+}
+
+\newdimen\entryrightmargin
+\entryrightmargin=0pt
 
 % \entry typesets a paragraph consisting of the text (#1), dot leaders, and
 % then page number (#2) flushed to the right margin.  It is used for index
 % and table of contents entries.  The paragraph is indented by \leftskip.
 %
-% A straightforward implementation would start like this:
-%      \def\entry#1#2{...
-% But this freezes the catcodes in the argument, and can cause problems to
-% @code, which sets - active.  This problem was fixed by a kludge---
-% ``-'' was active throughout whole index, but this isn't really right.
-% The right solution is to prevent \entry from swallowing the whole text.
-%                                 --kasal, 21nov03
 \def\entry{%
   \begingroup
     %
@@ -5048,38 +5637,14 @@ end
     % affect previous text.
     \par
     %
-    % Do not fill out the last line with white space.
-    \parfillskip = 0in
-    %
     % No extra space above this paragraph.
     \parskip = 0in
     %
-    % Do not prefer a separate line ending with a hyphen to fewer lines.
-    \finalhyphendemerits = 0
-    %
-    % \hangindent is only relevant when the entry text and page number
-    % don't both fit on one line.  In that case, bob suggests starting the
-    % dots pretty far over on the line.  Unfortunately, a large
-    % indentation looks wrong when the entry text itself is broken across
-    % lines.  So we use a small indentation and put up with long leaders.
-    %
-    % \hangafter is reset to 1 (which is the value we want) at the start
-    % of each paragraph, so we need not do anything with that.
-    \hangindent = 2em
-    %
-    % When the entry text needs to be broken, just fill out the first line
-    % with blank space.
-    \rightskip = 0pt plus1fil
-    %
-    % A bit of stretch before each entry for the benefit of balancing
-    % columns.
-    \vskip 0pt plus1pt
-    %
     % When reading the text of entry, convert explicit line breaks
     % from @* into spaces.  The user might give these in long section
     % titles, for instance.
     \def\*{\unskip\space\ignorespaces}%
-    \def\entrybreak{\hfil\break}%
+    \def\entrybreak{\hfil\break}% An undocumented command
     %
     % Swallow the left brace of the text (first parameter):
     \afterassignment\doentry
@@ -5087,85 +5652,148 @@ end
 }
 \def\entrybreak{\unskip\space\ignorespaces}%
 \def\doentry{%
+    % Save the text of the entry
+    \global\setbox\boxA=\hbox\bgroup
     \bgroup % Instead of the swallowed brace.
       \noindent
       \aftergroup\finishentry
       % And now comes the text of the entry.
+      % Not absorbing as a macro argument reduces the chance of problems
+      % with catcodes occurring.
 }
-\def\finishentry#1{%
-    % #1 is the page number.
-    %
-    % The following is kludged to not output a line of dots in the index if
-    % there are no page numbers.  The next person who breaks this will be
-    % cursed by a Unix daemon.
-    \setbox\boxA = \hbox{#1}%
-    \ifdim\wd\boxA = 0pt
-      \ %
-    \else
+{\catcode`\@=11
+\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.
       %
-      % If we must, put the page number on a line of its own, and fill out
-      % this line with blank space.  (The \hfil is overwhelmed with the
-      % fill leaders glue in \indexdotfill if the page number does fit.)
-      \hfil\penalty50
-      \null\nobreak\indexdotfill % Have leaders before 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.
+        %
+        \ifpdforxetex
+          \pdfgettoks#1.%
+          \hskip\skip\thinshrinkable\the\toksA
+        \else
+          \hskip\skip\thinshrinkable #1%
+        \fi
+      \fi
+    \egroup % end \boxA
+    \ifdim\wd\boxB = 0pt
+      \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.
       %
-      % The `\ ' here is removed by the implicit \unskip that TeX does as
-      % part of (the primitive) \par.  Without it, a spurious underfull
-      % \hbox ensues.
-      \ifpdf
-       \pdfgettoks#1.%
-       \ \the\toksA
+      \parindent = 0pt
+      \advance\leftskip by 0pt plus 1fil
+      \advance\leftskip by 0pt plus -1fill
+      \rightskip = 0pt plus -1fil
+      \advance\rightskip by 0pt plus 1fill
+      % Cause last line, which could consist of page numbers on their own
+      % if the list of page numbers is long, to be aligned to the right.
+      \parfillskip=0pt plus -1fill
+      %
+      \advance\rightskip by \entryrightmargin
+      % Determine how far we can stretch into the margin.
+      % This allows, e.g., "Appendix H  GNU Free Documentation License" to
+      % fit on one line in @letterpaper format.
+      \ifdim\entryrightmargin>2.1em
+        \dimen@i=2.1em
       \else
-       \ #1%
+        \dimen@i=0em
       \fi
+      \advance \parfillskip by 0pt minus 1\dimen@i
+      %
+      \dimen@ii = \hsize
+      \advance\dimen@ii by -1\leftskip
+      \advance\dimen@ii by -1\entryrightmargin
+      \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 
+        % the first line.
+        \dimen@ = 0.7\dimen@
+        \dimen@ii = \hsize
+        \ifnum\dimen@>\dimen@ii
+          % If the entry is too long (for example, if it needs more than
+          % two lines), use all the space in the first line.
+          \dimen@ = \dimen@ii
+        \fi
+        \advance\leftskip by 0pt plus 1fill % ragged right
+        \advance \dimen@ by 1\rightskip
+        \parshape = 2 0pt \dimen@ 0em \dimen@ii
+        % Ideally we'd add a finite glue at the end of the first line only,
+        % instead of using \parshape with explicit line lengths, but TeX
+        % doesn't seem to provide a way to do such a thing.
+        %
+        % Indent all lines but the first one.
+        \advance\leftskip by 1em
+        \advance\parindent by -1em
+      \fi\fi
+      \indent % start paragraph
+      \unhbox\boxA
+      %
+      % Do not prefer a separate line ending with a hyphen to fewer lines.
+      \finalhyphendemerits = 0
+      %
+      % Word spacing - no stretch
+      \spaceskip=\fontdimen2\font minus \fontdimen4\font
+      %
+      \linepenalty=1000  % Discourage line breaks.
+      \hyphenpenalty=5000  % Discourage hyphenation.
+      %
+      \par % format the paragraph
+    \egroup % The \vbox
     \fi
-    \par
   \endgroup
-}
+}}
+
+\newskip\thinshrinkable
+\skip\thinshrinkable=.15em minus .15em
 
 % 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.
 \def\indexdotfill{\cleaders
-  \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill}
+  \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1filll}
+
 
 \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
-    #2
-  \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,
 % the manmac.tex format used to print the TeXbook itself.
-\catcode`\@=11
+\catcode`\@=11  % private names
 
 \newbox\partialpage
 \newdimen\doublecolumnhsize
 
 \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.
@@ -5199,27 +5827,31 @@ end
     \divide\doublecolumnhsize by 2
   \hsize = \doublecolumnhsize
   %
-  % Double the \vsize as well.  (We don't need a separate register here,
-  % since nobody clobbers \vsize.)
+  % 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
+  %
+  % For the benefit of balancing columns
+  \advance\baselineskip by 0pt plus 0.5pt
 }
 
 % The double-column output routine for all double-column pages except
-% the last.
+% the last, which is done by \balancecolumns.
 %
 \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
-  \advance\dimen@ by -\ht\partialpage
   %
   % box0 will be the left-hand column, box2 the right.
-  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
-  \onepageout\pagesofar
-  \unvbox255
+  \setbox0=\vsplit\PAGE to\dimen@ \setbox2=\vsplit\PAGE to\dimen@
+  \global\advance\vsize by 2\ht\partialpage
+  \onepageout\pagesofar % empty except for the first time we are called
+  \unvbox\PAGE
   \penalty\outputpenalty
 }
 %
@@ -5230,10 +5862,11 @@ end
   %
   \hsize = \doublecolumnhsize
   \wd0=\hsize \wd2=\hsize
-  \hbox to\pagewidth{\box0\hfil\box2}%
+  \hbox to\txipagewidth{\box0\hfil\box2}%
 }
-%
-% All done 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
@@ -5256,7 +5889,7 @@ end
   % goal.  When TeX sees \eject from below which follows the final
   % section, it invokes the new output routine that we've set after
   % \balancecolumns below; \onepageout will try to fit the two columns
-  % and the final section into the vbox of \pageheight (see
+  % and the final section into the vbox of \txipageheight (see
   % \pagebody), causing an overfull box.
   %
   % Note that glue won't work here, because glue does not exercise the
@@ -5264,53 +5897,88 @@ end
   \penalty0
   %
   \output = {%
-    % Split the last of the double-column material.  Leave it on the
-    % current page, no automatic page break.
+    % Split the last of the double-column material.
+    \savetopmark
     \balancecolumns
-    %
-    % If we end up splitting too much material for the current page,
-    % though, there will be another page break right after this \output
-    % invocation ends.  Having called \balancecolumns once, we do not
-    % want to call it again.  Therefore, reset \output to its normal
-    % definition right away.  (We hope \balancecolumns will never be
-    % called on to balance too much material, but if it is, this makes
-    % the output somewhat more palatable.)
-    \global\output = {\onepageout{\pagecontents\PAGE}}%
   }%
-  \eject
-  \endgroup % started in \begindoublecolumns
-  %
-  % \pagegoal was set to the doubled \vsize above, since we restarted
-  % the current page.  We're now back to normal single-column
-  % typesetting, so reset \pagegoal to the normal \vsize (after the
-  % \endgroup where \vsize got restored).
-  \pagegoal = \vsize
+  \eject % call the \output just set
+  \ifdim\pagetotal=0pt
+    % Having called \balancecolumns once, we do not
+    % want to call it again.  Therefore, reset \output to its normal
+    % definition right away.
+    \global\output=\expandafter{\the\defaultoutput}
+    %
+    \endgroup % started in \begindoublecolumns
+    % Leave the double-column material on the current page, no automatic
+    % page break.
+    \box\balancedcolumns
+    %
+    % \pagegoal was set to the doubled \vsize above, since we restarted
+    % the current page.  We're now back to normal single-column
+    % typesetting, so reset \pagegoal to the normal \vsize.
+    \global\vsize = \txipageheight %
+    \pagegoal = \txipageheight %
+  \else
+    % We had some left-over material.  This might happen when \doublecolumnout
+    % is called in \balancecolumns.  Try again.
+    \expandafter\enddoublecolumns
+  \fi
 }
+\newbox\balancedcolumns
+\setbox\balancedcolumns=\vbox{shouldnt see this}%
 %
-% Called at the end of the double column material.
+% Only called for the last of the double column material.  \doublecolumnout 
+% does the others.
 \def\balancecolumns{%
-  \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
+  \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120.
   \dimen@ = \ht0
-  \advance\dimen@ by \topskip
-  \advance\dimen@ by-\baselineskip
-  \divide\dimen@ by 2 % target to split to
-  %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
-  \splittopskip = \topskip
-  % Loop until we get a decent breakpoint.
-  {%
-    \vbadness = 10000
-    \loop
-      \global\setbox3 = \copy0
-      \global\setbox1 = \vsplit3 to \dimen@
-    \ifdim\ht3>\dimen@
-      \global\advance\dimen@ by 1pt
-    \repeat
-  }%
-  %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
-  \setbox0=\vbox to\dimen@{\unvbox1}%
-  \setbox2=\vbox to\dimen@{\unvbox3}%
+  \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
+    % Loop until left column is at least as high as the right column.
+    {%
+      \vbadness = 10000
+      \loop
+        \global\setbox3 = \copy0
+        \global\setbox1 = \vsplit3 to \dimen@
+      \ifdim\ht1<\ht3
+        \global\advance\dimen@ by 1pt
+      \repeat
+    }%
+    % 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.  
+    % (Note that we have doubled \vsize for the double columns, so
+    % the actual height of the page is 0.5\vsize).
+    \ifdim2\ht1>\vsize
+      % It appears that we have been called upon to balance too much material.
+      % Output some of it with \doublecolumnout, leaving the rest on the page.
+      \setbox\PAGE=\box0
+      \doublecolumnout
+    \else
+      % Compare the heights of the two columns.
+      \ifdim4\ht1>5\ht3
+        % Column heights are too different, so don't make their bottoms
+        % flush with each other.
+        \setbox2=\vbox to \ht1 {\unvbox3\vfill}%
+        \setbox0=\vbox to \ht1 {\unvbox1\vfill}%
+      \else
+        % Make column bottoms flush with each other.
+        \setbox2=\vbox to\ht1{\unvbox3\unskip}%
+        \setbox0=\vbox to\ht1{\unvbox1\unskip}%
+      \fi
+      \global\setbox\balancedcolumns=\vbox{\pagesofar}%
+    \fi
+  \fi
   %
-  \pagesofar
 }
 \catcode`\@ = \other
 
@@ -5325,10 +5993,14 @@ end
   \null
   \vskip.3\vsize  % move it down on the page a bit
   \begingroup
-    \noindent \titlefonts\rmisbold #1\par % the text
+    \noindent \titlefonts\rm #1\par % the text
     \let\lastnode=\empty      % no node to associate with
     \writetocentry{part}{#1}{}% but put it in the toc
     \headingsoff              % no headline or footline on the part page
+    % This outputs a mark at the end of the page that clears \thischapter
+    % and \thissection, as is done in \startcontents.
+    \let\pchapsepmacro\relax
+    \chapmacro{}{Yomitfromtoc}{}%
     \chapoddpage
   \endgroup
 }
@@ -5402,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
@@ -5573,9 +6243,6 @@ end
 
 % @centerchap is like @unnumbered, but the heading is centered.
 \outer\parseargdef\centerchap{%
-  % Well, we could do the following in a group, but that would break
-  % an assumption that \chapmacro is called at the outermost level.
-  % Thus we are safer this way:                --kasal, 24feb04
   \let\centerparametersmaybe = \centerparameters
   \unnmhead0{#1}%
   \let\centerparametersmaybe = \relax
@@ -5699,7 +6366,11 @@ end
 
 % Define plain chapter starts, and page on/off switching for it.
 \def\chapbreak{\dobreak \chapheadingskip {-4000}}
+
+% Start a new page
 \def\chappager{\par\vfill\supereject}
+
+% \chapoddpage - start on an odd page for a new chapter
 % Because \domark is called before \chapoddpage, the filler page will
 % get the headings for the next chapter, which is wrong.  But we don't
 % care -- we just disable all headings on the filler page.
@@ -5714,7 +6385,7 @@ end
   \fi
 }
 
-\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
+\parseargdef\setchapternewpage{\csname CHAPPAG#1\endcsname}
 
 \def\CHAPPAGoff{%
 \global\let\contentsalignmacro = \chappager
@@ -5735,33 +6406,37 @@ end
 
 \CHAPPAGon
 
-% Chapter opening.
+% \chapmacro - Chapter opening.
 %
 % #1 is the text, #2 is the section type (Ynumbered, Ynothing,
 % Yappendix, Yomitfromtoc), #3 the chapter number.
+% Not used for @heading series.
 %
 % To test against our argument.
 \def\Ynothingkeyword{Ynothing}
-\def\Yomitfromtockeyword{Yomitfromtoc}
 \def\Yappendixkeyword{Yappendix}
+\def\Yomitfromtockeyword{Yomitfromtoc}
 %
 \def\chapmacro#1#2#3{%
+  \expandafter\ifx\thisenv\titlepage\else
+    \checkenv{}% chapters, etc., should not start inside an environment.
+  \fi
   % 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
@@ -5772,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
@@ -5792,17 +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 \rmisbold
+    \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''.
@@ -5850,30 +6526,6 @@ end
 }
 
 
-% I don't think this chapter style is supported any more, so I'm not
-% updating it with the new noderef stuff.  We'll see.  --karl, 11aug03.
-%
-\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
-%
-\def\unnchfopen #1{%
-  \chapoddpage
-  \vbox{\chapfonts \raggedtitlesettings #1\par}%
-  \nobreak\bigskip\nobreak
-}
-\def\chfopen #1#2{\chapoddpage {\chapfonts
-\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
-\par\penalty 5000 %
-}
-\def\centerchfopen #1{%
-  \chapoddpage
-  \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
-  \nobreak\bigskip \nobreak
-}
-\def\CHAPFopen{%
-  \global\let\chapmacro=\chfopen
-  \global\let\centerchapmacro=\centerchfopen}
-
-
 % Section titles.  These macros combine the section number parts and
 % call the generic \sectionheading to do the printing.
 %
@@ -5891,27 +6543,34 @@ end
 
 % Print any size, any type, section title.
 %
-% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
-% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
-% section number.
+% #1 is the text of the title,
+% #2 is the section level (sec/subsec/subsubsec),
+% #3 is the section type (Ynumbered, Ynothing, Yappendix, Yomitfromtoc),
+% #4 is the section number.
 %
 \def\seckeyword{sec}
 %
 \def\sectionheading#1#2#3#4{%
   {%
-    \checkenv{}% should not be in an environment.
-    %
-    % Switch to the right set of fonts.
-    \csname #2fonts\endcsname \rmisbold
-    %
     \def\sectionlevel{#2}%
     \def\temptype{#3}%
     %
+    % It is ok for the @heading series commands to appear inside an
+    % environment (it's been historically allowed, though the logic is
+    % dubious), but not the others.
+    \ifx\temptype\Yomitfromtockeyword\else
+      \checkenv{}% non-@*heading should not be in an environment.
+    \fi
+    \let\footnote=\errfootnoteheading
+    %
+    % Switch to the right set of fonts.
+    \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
@@ -5919,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
@@ -5932,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
@@ -5958,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.
@@ -6069,7 +6728,9 @@ 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 \global\pdfmakepagedesttrue \fi
+  \ifpdforxetex
+    \global\pdfmakepagedesttrue
+  \fi
 }
 
 
@@ -6118,7 +6779,7 @@ end
   \savepageno = \pageno
   \begingroup                  % Set up to handle contents files properly.
     \raggedbottom              % Worry more about breakpoints than the bottom.
-    \advance\hsize by -\contentsrightmargin % Don't use the full line length.
+    \entryrightmargin=\contentsrightmargin % Don't use the full line length.
     %
     % Roman numerals for page numbers.
     \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
@@ -6212,7 +6873,15 @@ end
 % exist, with an empty box.  Let's hope all the numbers have the same width.
 % Also ignore the page number, which is conventionally not printed.
 \def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}}
-\def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}}
+\def\partentry#1#2#3#4{%
+  % Add stretch and a bonus for breaking the page before the part heading.
+  % This reduces the chance of the page being broken immediately after the
+  % part heading, before a following chapter heading.
+  \vskip 0pt plus 5\baselineskip
+  \penalty-300
+  \vskip 0pt plus -5\baselineskip
+  \dochapentry{\numeralbox\labelspace#1}{}%
+}
 %
 % Parts, in the short toc.
 \def\shortpartentry#1#2#3#4{%
@@ -6223,7 +6892,7 @@ end
 
 % Chapters, in the main contents.
 \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
-%
+
 % Chapters, in the short toc.
 % See comments in \dochapentry re vbox and related settings.
 \def\shortchapentry#1#2#3#4{%
@@ -6238,7 +6907,7 @@ end
   \setbox0 = \hbox{\putwordAppendix{} M}%
   \hbox to \wd0{\putwordAppendix{} #1\hss}}
 %
-\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
+\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\hskip.7em#1}{#4}}
 
 % Unnumbered chapters.
 \def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
@@ -6271,6 +6940,8 @@ end
 \def\dochapentry#1#2{%
    \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
    \begingroup
+     % Move the page numbers slightly to the right
+     \advance\entryrightmargin by -0.05em
      \chapentryfonts
      \tocentry{#1}{\dopageno\bgroup#2\egroup}%
    \endgroup
@@ -6327,12 +6998,12 @@ end
   \catcode `\>=\other
   \catcode `\`=\other
   \catcode `\'=\other
-  \escapechar=`\\
   %
   % ' is active in math mode (mathcode"8000).  So reset it, and all our
   % other math active characters (just in case), to plain's definitions.
   \mathactive
   %
+  % Inverse of the list at the beginning of the file.
   \let\b=\ptexb
   \let\bullet=\ptexbullet
   \let\c=\ptexc
@@ -6348,7 +7019,9 @@ end
   \let\+=\tabalign
   \let\}=\ptexrbrace
   \let\/=\ptexslash
+  \let\sp=\ptexsp
   \let\*=\ptexstar
+  %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode
   \let\t=\ptext
   \expandafter \let\csname top\endcsname=\ptextop  % we've made it outer
   \let\frenchspacing=\plainfrenchspacing
@@ -6380,6 +7053,24 @@ end
 % start of the next paragraph will insert \parskip.
 %
 \def\aboveenvbreak{{%
+  % =10000 instead of <10000 because of a special case in \itemzzz and
+  % \sectionheading, q.v.
+  \ifnum \lastpenalty=10000 \else
+    \advance\envskipamount by \parskip
+    \endgraf
+    \ifdim\lastskip<\envskipamount
+      \removelastskip
+      \ifnum\lastpenalty<10000
+        % Penalize breaking before the environment, because preceding text
+        % often leads into it.
+        \penalty100
+      \fi
+      \vskip\envskipamount
+    \fi
+  \fi
+}}
+
+\def\afterenvbreak{{%
   % =10000 instead of <10000 because of a special case in \itemzzz and
   % \sectionheading, q.v.
   \ifnum \lastpenalty=10000 \else
@@ -6395,19 +7086,13 @@ end
   \fi
 }}
 
-\let\afterenvbreak = \aboveenvbreak
-
 % \nonarrowing is a flag.  If "set", @lisp etc don't narrow margins; it will
 % also clear it, so that its embedded environments do the narrowing again.
 \let\nonarrowing=\relax
 
 % @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}}
@@ -6422,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
@@ -6440,7 +7136,7 @@ end
   % collide with the section heading.
   \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi
   %
-  \vbox\bgroup
+  \setbox\groupbox=\vbox\bgroup
       \baselineskip=0pt\parskip=0pt\lineskip=0pt
       \carttop
       \hbox\bgroup
@@ -6464,6 +7160,7 @@ end
       \egroup
       \cartbot
   \egroup
+  \addgroupbox
   \checkinserts
 }
 
@@ -6600,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
 
@@ -6768,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}%
@@ -6831,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
   }%
 }
@@ -6846,7 +7542,7 @@ end
 % typesetting commands (@smallbook, font changes, etc.) have to be done
 % beforehand -- and a) we want @copying to be done first in the source
 % file; b) letting users define the frontmatter in as flexible order as
-% possible is very desirable.
+% possible is desirable.
 %
 \def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
 \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
@@ -6941,7 +7637,7 @@ end
   \temp
 }
 
-% \domakedefun \deffn \deffnx \deffnheader
+% \domakedefun \deffn \deffnx \deffnheader { (defn. of \deffnheader) }
 %
 % Define \deffn and \deffnx, without parameters.
 % \deffnheader has to be defined explicitly.
@@ -6978,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
@@ -6992,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}%
 }
@@ -7150,7 +7860,7 @@ end
     \fi           % no return type
     #3% output function name
   }%
-  {\rm\enskip}% hskip 0.5 em of \tenrm
+  {\rm\enskip}% hskip 0.5 em of \rmfont
   %
   \boldbrax
   % arguments will be output next, if any.
@@ -7199,6 +7909,7 @@ end
   \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
   \gdef\magicamp{\let&=\amprm}
 }
+\let\ampchar\&
 
 \newcount\parencount
 
@@ -7279,34 +7990,23 @@ end
   }
 \fi
 
-\def\scanmacro#1{\begingroup
+% Used at the time of macro expansion.
+% Argument is macro body with arguments substituted
+\def\scanmacro#1{%
   \newlinechar`\^^M
-  \let\xeatspaces\eatspaces
+  \def\xeatspaces{\eatspaces}%
   %
-  % Undo catcode changes of \startcontents and \doprintindex
-  % When called from @insertcopying or (short)caption, we need active
-  % backslash to get it printed correctly.  Previously, we had
-  % \catcode`\\=\other instead.  We'll see whether a problem appears
-  % with macro expansion.                              --kasal, 19aug04
-  \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
-  %
-  % ... and for \example:
-  \spaceisspace
+  % Process the macro body under the current catcode regime.
+  \scantokens{#1@comment}%
   %
-  % The \empty here causes a following catcode 5 newline to be eaten as
-  % part of reading whitespace after a control sequence.  It does not
-  % eat a catcode 13 newline.  There's no good way to handle the two
-  % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX
-  % would then have different behavior).  See the Macro Details node in
-  % the manual for the workaround we recommend for macros and
-  % line-oriented commands.
-  % 
-  \scantokens{#1\empty}%
-\endgroup}
+  % 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
 \def\scanexp#1{%
-  \edef\temp{\noexpand\scanmacro{#1}}%
-  \temp
+  \expandafter\scanmacro\expandafter{#1}%
 }
 
 \newcount\paramno   % Count of parameters
@@ -7314,7 +8014,7 @@ end
 \newif\ifrecursive  % Is it recursive?
 
 % List of all defined macros in the form
-%    \definedummyword\macro1\definedummyword\macro2...
+%    \commondummyword\macro1\commondummyword\macro2...
 % Currently is also contains all @aliases; the list can be split
 % if there is a need.
 \def\macrolist{}
@@ -7322,7 +8022,7 @@ end
 % Add the macro to \macrolist
 \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
 \def\addtomacrolistxxx#1{%
-     \toks0 = \expandafter{\macrolist\definedummyword#1}%
+     \toks0 = \expandafter{\macrolist\commondummyword#1}%
      \xdef\macrolist{\the\toks0}%
 }
 
@@ -7372,48 +8072,47 @@ end
   \catcode`\+=\other
   \catcode`\<=\other
   \catcode`\>=\other
-  \catcode`\@=\other
   \catcode`\^=\other
   \catcode`\_=\other
   \catcode`\|=\other
   \catcode`\~=\other
-  \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi
+  \passthroughcharstrue
 }
 
 \def\scanargctxt{% used for copying and captions, not macros.
   \scanctxt
+  \catcode`\@=\other
   \catcode`\\=\other
   \catcode`\^^M=\other
 }
 
 \def\macrobodyctxt{% used for @macro definitions
   \scanctxt
+  \catcode`\ =\other
+  \catcode`\@=\other
   \catcode`\{=\other
   \catcode`\}=\other
   \catcode`\^^M=\other
   \usembodybackslash
 }
 
-\def\macroargctxt{% used when scanning invocations
+% Used when scanning braced macro arguments.  Note, however, that catcode
+% changes here are ineffectual if the macro invocation was nested inside
+% an argument to another Texinfo command.
+\def\macroargctxt{%
   \scanctxt
-  \catcode`\\=0
+  \catcode`\ =\active
+  \catcode`\@=\other
+  \catcode`\^^M=\other
+  \catcode`\\=\active
 }
-% why catcode 0 for \ in the above?  To recognize \\ \{ \} as "escapes"
-% for the single characters \ { }.  Thus, we end up with the "commands"
-% that would be written @\ @{ @} in a Texinfo document.
-% 
-% We already have @{ and @}.  For @\, we define it here, and only for
-% this purpose, to produce a typewriter backslash (so, the @\ that we
-% define for @math can't be used with @macro calls):
-%
-\def\\{\normalbackslash}%
-% 
-% We would like to do this for \, too, since that is what makeinfo does.
-% But it is not possible, because Texinfo already has a command @, for a
-% cedilla accent.  Documents must use @comma{} instead.
-%
-% \anythingelse will almost certainly be an error of some kind.
 
+\def\macrolineargctxt{% used for whole-line arguments without braces
+  \scanctxt
+  \catcode`\@=\other
+  \catcode`\{=\other
+  \catcode`\}=\other
+}
 
 % \mbodybackslash is the definition of \ in @macro bodies.
 % It maps \foo\ => \csname macarg.foo\endcsname => #N
@@ -7466,7 +8165,7 @@ end
     % Remove the macro name from \macrolist:
     \begingroup
       \expandafter\let\csname#1\endcsname \relax
-      \let\definedummyword\unmacrodo
+      \let\commondummyword\unmacrodo
       \xdef\macrolist{\macrolist}%
     \endgroup
   \else
@@ -7481,61 +8180,40 @@ end
   \ifx #1\relax
     % remove this
   \else
-    \noexpand\definedummyword \noexpand#1%
+    \noexpand\commondummyword \noexpand#1%
   \fi
 }
 
-% This makes use of the obscure feature that if the last token of a
-% <parameter list> is #, then the preceding argument is delimited by
-% an opening brace, and that opening brace is not consumed.
+% \getargs -- Parse the arguments to a @macro line.  Set \macname to
+% the name of the macro, and \argl to the braced argument list.
 \def\getargs#1{\getargsxxx#1{}}
 \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
 \def\getmacname#1 #2\relax{\macname={#1}}
 \def\getmacargs#1{\def\argl{#1}}
+% This made use of the feature that if the last token of a
+% <parameter list> is #, then the preceding argument is delimited by
+% an opening brace, and that opening brace is not consumed.
 
-% For macro processing make @ a letter so that we can make Texinfo private macro names.
-\edef\texiatcatcode{\the\catcode`\@}
-\catcode `@=11\relax
-
-% Parse the optional {params} list.  Set up \paramno and \paramlist
-% so \defmacro knows what to do.  Define \macarg.BLAH for each BLAH
-% in the params 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
+% Parse the optional {params} list to @macro or @rmacro.
+% Set \paramno to the number of arguments,
+% and \paramlist to a parameter text for the macro (e.g. #1,#2,#3 for a
+% three-param macro.)  Define \macarg.BLAH for each BLAH in the params
+% 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.  
 %
 % That gets used by \mbodybackslash (above).
 %
-% We need to get `macro parameter char #' into several definitions.
-% The technique used is stolen from LaTeX: let \hash be something
-% unexpandable, insert that wherever you need a #, and then redefine
-% it to # just before using the token list produced.
-%
-% The same technique is used to protect \eatspaces till just before
-% the macro is used.
-%
-% If there are 10 or more arguments, a different technique is used, where the
-% hook remains in the body, and when macro is to be expanded the body is
-% processed again to replace the arguments.
-%
-% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
-% argument N value and then \edef  the body (nothing else will expand because of
-% the catcode regime underwhich the body was input).
+% If there are 10 or more arguments, a different technique is used: see
+% \parsemmanyargdef.
 %
-% If you compile with TeX (not eTeX), and you have macros with 10 or more
-% arguments, you need that no macro has more than 256 arguments, otherwise an
-% error is produced.
 \def\parsemargdef#1;{%
   \paramno=0\def\paramlist{}%
   \let\hash\relax
+  % \hash is redefined to `#' later to get it into definitions
   \let\xeatspaces\relax
   \parsemargdefxxx#1,;,%
-  % In case that there are 10 or more arguments we parse again the arguments
-  % list to set new definitions for the \macarg.BLAH macros corresponding to
-  % each BLAH argument. It was anyhow needed to parse already once this list
-  % in order to count the arguments, and as macros with at most 9 arguments
-  % are by far more frequent than macro with 10 or more arguments, defining
-  % twice the \macarg.BLAH macros does not cost too much processing power.
   \ifnum\paramno<10\relax\else
     \paramno0\relax
     \parsemmanyargdef@@#1,;,% 10 or more arguments
@@ -7550,6 +8228,43 @@ end
     \edef\paramlist{\paramlist\hash\the\paramno,}%
   \fi\next}
 
+% \parsemacbody, \parsermacbody
+%
+% 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 
+% body to be transformed.
+% Set \macrobody to the body of the macro, and call \defmacro.
+%
+{\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{%
+\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}%
+{\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{%
+\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}%
+
+% Make @ a letter, so that we can make private-to-Texinfo macro names.
+\edef\texiatcatcode{\the\catcode`\@}
+\catcode `@=11\relax
+
+%%%%%%%%%%%%%% Code for > 10 arguments only   %%%%%%%%%%%%%%%%%%
+
+% If there are 10 or more arguments, a different technique is used, where the
+% hook remains in the body, and when macro is to be expanded the body is
+% processed again to replace the arguments.
+%
+% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
+% argument N value and then \edef the body (nothing else will expand because of
+% the catcode regime under which the body was input).
+%
+% If you compile with TeX (not eTeX), and you have macros with 10 or more
+% arguments, no macro can have more than 256 arguments (else error).
+%
+% In case that there are 10 or more arguments we parse again the arguments
+% list to set new definitions for the \macarg.BLAH macros corresponding to
+% each BLAH argument. It was anyhow needed to parse already once this list
+% in order to count the arguments, and as macros with at most 9 arguments
+% are by far more frequent than macro with 10 or more arguments, defining
+% twice the \macarg.BLAH macros does not cost too much processing power.
 \def\parsemmanyargdef@@#1,{%
   \if#1;\let\next=\relax
   \else 
@@ -7565,16 +8280,6 @@ end
     \advance\paramno by 1\relax
   \fi\next}
 
-% These two commands read recursive and nonrecursive macro bodies.
-% (They're different since rec and nonrec macros end differently.)
-%
-
-\catcode `\@\texiatcatcode
-\long\def\parsemacbody#1@end macro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-\long\def\parsermacbody#1@end rmacro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-\catcode `\@=11\relax
 
 \let\endargs@\relax
 \let\nil@\relax
@@ -7582,7 +8287,7 @@ end
 \long\def\nillm@{\nil@}%
 
 % This macro is expanded during the Texinfo macro expansion, not during its
-% definition.  It gets all the arguments values and assigns them to macros
+% definition.  It gets all the arguments' values and assigns them to macros
 % macarg.ARGNAME
 %
 % #1 is the macro name
@@ -7603,8 +8308,6 @@ end
     \getargvals@@
   \fi
 }
-
-% 
 \def\getargvals@@{%
   \ifx\paramlist\nilm@
       % Some sanity check needed here that \argvaluelist is also empty.
@@ -7648,7 +8351,8 @@ end
 }
 
 % Replace arguments by their values in the macro body, and place the result
-% in macro \@tempa
+% 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
@@ -7672,8 +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. 
   \expandafter
   \endgroup
   \macargdeflist@
@@ -7710,14 +8415,8 @@ end
   \next
 }
 
-% Save the token stack pointer into macro #1
-\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}}
-% Restore the token stack pointer from number in macro #1
-\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax}
-% newtoks that can be used non \outer .
-\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi}
-
-% Tailing missing arguments are set to empty
+% Trailing missing arguments are set to empty.
+% 
 \def\setemptyargvalues@{%
   \ifx\paramlist\nilm@
     \let\next\macargexpandinbody@
@@ -7747,99 +8446,191 @@ end
    \long\def#2{#4}%
 }
 
-% This defines a Texinfo @macro. There are eight cases: recursive and
-% nonrecursive macros of zero, one, up to nine, and many arguments.
-% Much magic with \expandafter here.
+
+%%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%%
+
+
+% This defines a Texinfo @macro or @rmacro, called by \parsemacbody.
+%    \macrobody has the body of the macro in it, with placeholders for
+% its parameters, looking like "\xeatspaces{\hash 1}".
+%    \paramno is the number of parameters
+%    \paramlist is a TeX parameter text, e.g. "#1,#2,#3,"
+% There are four cases: macros of zero, one, up to nine, and many arguments.
 % \xdef is used so that macro definitions will survive the file
-% they're defined in; @include reads the file inside a group.
+% they're defined in: @include reads the file inside a group.
 %
 \def\defmacro{%
   \let\hash=##% convert placeholders to macro parameter chars
-  \ifrecursive
-    \ifcase\paramno
-    % 0
-      \expandafter\xdef\csname\the\macname\endcsname{%
-        \noexpand\scanmacro{\temp}}%
-    \or % 1
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \noexpand\braceorline
-         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
-      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
-         \egroup\noexpand\scanmacro{\temp}}%
-    \else
-      \ifnum\paramno<10\relax % at most 9
-        \expandafter\xdef\csname\the\macname\endcsname{%
-           \bgroup\noexpand\macroargctxt
-           \noexpand\csname\the\macname xx\endcsname}%
-        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-        \expandafter\expandafter
-        \expandafter\xdef
-        \expandafter\expandafter
-          \csname\the\macname xxx\endcsname
-            \paramlist{\egroup\noexpand\scanmacro{\temp}}%
-      \else % 10 or more
-        \expandafter\xdef\csname\the\macname\endcsname{%
-          \noexpand\getargvals@{\the\macname}{\argl}%
-        }%    
-        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
-        \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
-      \fi
-    \fi
+  \ifnum\paramno=1
+    \def\xeatspaces##1{##1}%
+    % This removes the pair of braces around the argument.  We don't
+    % use \eatspaces, because this can cause ends of lines to be lost
+    % when the argument to \eatspaces is read, leading to line-based
+    % commands like "@itemize" not being read correctly.
   \else
-    \ifcase\paramno
-    % 0
+    \let\xeatspaces\relax % suppress expansion
+  \fi
+  \ifcase\paramno
+  % 0
+    \expandafter\xdef\csname\the\macname\endcsname{%
+      \bgroup
+        \noexpand\spaceisspace
+        \noexpand\endlineisspace
+        \noexpand\expandafter % skip any whitespace after the macro name.
+        \expandafter\noexpand\csname\the\macname @@@\endcsname}%
+    \expandafter\xdef\csname\the\macname @@@\endcsname{%
+      \egroup
+      \noexpand\scanmacro{\macrobody}}%
+  \or % 1
+    \expandafter\xdef\csname\the\macname\endcsname{%
+       \bgroup
+       \noexpand\braceorline
+       \expandafter\noexpand\csname\the\macname @@@\endcsname}%
+    \expandafter\xdef\csname\the\macname @@@\endcsname##1{%
+      \egroup
+      \noexpand\scanmacro{\macrobody}%
+      }%
+  \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 
+      % comma.
+      % @MACNAME@@@ removes braces surrounding the argument list.
+      % @MACNAME@@@@ scans the macro body with arguments substituted.
       \expandafter\xdef\csname\the\macname\endcsname{%
-        \noexpand\norecurse{\the\macname}%
-        \noexpand\scanmacro{\temp}\egroup}%
-    \or % 1
+        \bgroup
+        \noexpand\expandafter  % This \expandafter skip any spaces after the
+        \noexpand\macroargctxt % macro before we change the catcode of space.
+        \noexpand\expandafter
+        \expandafter\noexpand\csname\the\macname @@\endcsname}%
+      \expandafter\xdef\csname\the\macname @@\endcsname##1{%
+          \noexpand\passargtomacro
+          \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}%
+      \expandafter\xdef\csname\the\macname @@@\endcsname##1{%
+          \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}%
+      \expandafter\expandafter
+      \expandafter\xdef
+      \expandafter\expandafter
+        \csname\the\macname @@@@\endcsname\paramlist{%
+          \egroup\noexpand\scanmacro{\macrobody}}%
+    \else % 10 or more:
       \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \noexpand\braceorline
-         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
-      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
-        \egroup
-        \noexpand\norecurse{\the\macname}%
-        \noexpand\scanmacro{\temp}\egroup}%
-    \else % at most 9
-      \ifnum\paramno<10\relax
-        \expandafter\xdef\csname\the\macname\endcsname{%
-           \bgroup\noexpand\macroargctxt
-           \expandafter\noexpand\csname\the\macname xx\endcsname}%
-        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-        \expandafter\expandafter
-        \expandafter\xdef
-        \expandafter\expandafter
-        \csname\the\macname xxx\endcsname
-        \paramlist{%
-            \egroup
-            \noexpand\norecurse{\the\macname}%
-            \noexpand\scanmacro{\temp}\egroup}%
-      \else % 10 or more:
-        \expandafter\xdef\csname\the\macname\endcsname{%
-          \noexpand\getargvals@{\the\macname}{\argl}%
-        }%
-        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
-        \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse
-      \fi
+        \noexpand\getargvals@{\the\macname}{\argl}%
+      }%
+      \global\expandafter\let\csname mac.\the\macname .body\endcsname\macrobody
+      \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
     \fi
   \fi}
 
-\catcode `\@\texiatcatcode\relax
+\catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes
 
 \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
 
-% \braceorline decides whether the next nonwhitespace character is a
-% {.  If so it reads up to the closing }, if not, it reads the whole
-% line.  Whatever was read is then fed to the next control sequence
-% as an argument (by \parsebrace or \parsearg).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+{\catcode`\@=0 \catcode`\\=13  % We need to manipulate \ so use @ as escape
+@catcode`@_=11  % private names
+@catcode`@!=11  % used as argument separator
+
+% \passargtomacro#1#2 -
+% 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 
+% 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
+%
+% THE_MACRO ARG_RESULT ! {PENDING_BS} NEXT_TOKEN  (... rest of input)
+%
+% where:
+% THE_MACRO - name of the macro we want to call
+% ARG_RESULT - argument list we build to pass to that macro
+% PENDING_BS - either a backslash or nothing
+% NEXT_TOKEN - used to look ahead in the input stream to see what's coming next
+
+@gdef@passargtomacro#1#2{%
+  @add_segment #1!{}@relax#2\@_finish\%
+}
+@gdef@_finish{@_finishx} @global@let@_finishx@relax
+
+% #1 - THE_MACRO ARG_RESULT
+% #2 - PENDING_BS
+% #3 - NEXT_TOKEN
+% #4 used to look ahead
+%
+% 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 
+  @else
+   @expandafter@add_segment
+  @fi#1!{#2}#4#4%
+}
+
+% #1 - THE_MACRO ARG_RESULT
+% #2 - PENDING_BS
+% #3 - NEXT_TOKEN
+% #4 should be a backslash, which is gobbled.
+% #5 looks ahead
+%
+% Double backslash found.  Add a single backslash, and look ahead.
+@gdef@gobble_and_check_finish#1!#2#3#4#5{%
+  @add_segment#1\!{}#5#5%
+}
+
+@gdef@is_fi{@fi}
+
+% #1 - THE_MACRO ARG_RESULT
+% #2 - PENDING_BS
+% #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, 
+% 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
+% added to ARG_RESULT.
+@gdef@add_segment#1!#2#3#4\{%
+@ifx#3@_finish
+  @call_the_macro#1!%
+@else
+  % 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 
+  % long #4 is.
+}
+
+% #1 - THE_MACRO
+% #2 - ARG_RESULT
+% #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}}
+
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% \braceorline MAC is used for a one-argument macro MAC.  It checks
+% whether the next non-whitespace character is a {.  It sets the context
+% 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\else
-    \expandafter\parsearg
+  \ifx\nchar\bgroup
+    \macroargctxt
+    \expandafter\passargtomacro
+  \else
+    \macrolineargctxt\expandafter\parsearg
   \fi \macnamexxx}
 
 
@@ -7882,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
@@ -7907,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.
@@ -7921,12 +8732,15 @@ end
   \pdfmkdest{#1}%
   \iflinks
     {%
+      \requireauxfile
       \atdummies  % preserve commands, but don't expand them
+      % match definition in \xrdef, \refx, \xrefX.
+      \def\value##1{##1}%
       \edef\writexrdef##1##2{%
        \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
@@ -7960,9 +8774,12 @@ end
 % node name, #4 the name of the Info file, #5 the name of the printed
 % manual.  All but the node name can be omitted.
 %
-\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
-\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
-\def\ref#1{\xrefX[#1,,,,,,,]}
+\def\pxref{\putwordsee{} \xrefXX}
+\def\xref{\putwordSee{} \xrefXX}
+\def\ref{\xrefXX}
+
+\def\xrefXX#1{\def\xrefXXarg{#1}\futurelet\tokenafterxref\xrefXXX}
+\def\xrefXXX{\expandafter\xrefX\expandafter[\xrefXXarg,,,,,,,]}
 %
 \newbox\toprefbox
 \newbox\printedrefnamebox
@@ -8009,9 +8826,10 @@ end
   %
   % Make link in pdf output.
   \ifpdf
+    % For pdfTeX and LuaTeX
     {\indexnofonts
-     \turnoffactive
      \makevalueexpandable
+     \turnoffactive
      % This expands tokens, so do it after making catcode changes, so _
      % etc. don't get their TeX definitions.  This ignores all spaces in
      % #4, including (wrongly) those in the middle of the filename.
@@ -8019,35 +8837,74 @@ end
      %
      % This (wrongly) does not take account of leading or trailing
      % spaces in #1, which should be ignored.
-     \edef\pdfxrefdest{#1}%
-     \ifx\pdfxrefdest\empty
-       \def\pdfxrefdest{Top}% no empty targets
-     \else
-       \txiescapepdf\pdfxrefdest  % escape PDF special chars
+     \setpdfdestname{#1}%
+     %
+     \ifx\pdfdestname\empty
+       \def\pdfdestname{Top}% no empty targets
      \fi
      %
      \leavevmode
      \startlink attr{/Border [0 0 0]}%
      \ifnum\filenamelength>0
-       goto file{\the\filename.pdf} name{\pdfxrefdest}%
+       goto file{\the\filename.pdf} name{\pdfdestname}%
      \else
-       goto name{\pdfmkpgn{\pdfxrefdest}}%
+       goto name{\pdfmkpgn{\pdfdestname}}%
      \fi
     }%
     \setcolor{\linkcolor}%
+  \else
+    \ifx\XeTeXrevision\thisisundefined
+    \else
+      % For XeTeX
+      {\indexnofonts
+       \makevalueexpandable
+       \turnoffactive
+       % This expands tokens, so do it after making catcode changes, so _
+       % etc. don't get their TeX definitions.  This ignores all spaces in
+       % #4, including (wrongly) those in the middle of the filename.
+       \getfilename{#4}%
+       %
+       % This (wrongly) does not take account of leading or trailing
+       % spaces in #1, which should be ignored.
+       \setpdfdestname{#1}%
+       %
+       \ifx\pdfdestname\empty
+         \def\pdfdestname{Top}% no empty targets
+       \fi
+       %
+       \leavevmode
+       \ifnum\filenamelength>0
+         % With default settings,
+         % XeTeX (xdvipdfmx) replaces link destination names with integers.
+         % In this case, the replaced destination names of
+         % remote PDFs are no longer known.  In order to avoid a replacement,
+         % you can use xdvipdfmx's command line option `-C 0x0010'.
+         % If you use XeTeX 0.99996+ (TeX Live 2016+),
+         % this command line option is no longer necessary
+         % because we can use the `dvipdfmx:config' special.
+         \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A
+           << /S /GoToR /F (\the\filename.pdf) /D (\pdfdestname) >> >>}%
+       \else
+         \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A
+           << /S /GoTo /D (\pdfdestname) >> >>}%
+       \fi
+      }%
+      \setcolor{\linkcolor}%
+    \fi
   \fi
-  %
-  % Float references are printed completely differently: "Figure 1.2"
-  % instead of "[somenode], p.3".  We distinguish them by the
-  % LABEL-title being set to a magic string.
   {%
     % Have to otherify everything special to allow the \csname to
     % include an _ in the xref name, etc.
     \indexnofonts
     \turnoffactive
+    \def\value##1{##1}%
     \expandafter\global\expandafter\let\expandafter\Xthisreftitle
       \csname XR#1-title\endcsname
   }%
+  %
+  % Float references are printed completely differently: "Figure 1.2"
+  % instead of "[somenode], p.3".  \iffloat distinguishes them by
+  % \Xthisreftitle being set to a magic string.
   \iffloat\Xthisreftitle
     % If the user specified the print name (third arg) to the ref,
     % print it instead of our usual "Figure 1.2".
@@ -8106,6 +8963,15 @@ end
       %
       % output the `page 3'.
       \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
+      % Add a , if xref followed by a space
+      \if\space\noexpand\tokenafterxref ,%
+      \else\ifx\       \tokenafterxref ,% @TAB
+      \else\ifx\*\tokenafterxref ,%   @*
+      \else\ifx\ \tokenafterxref ,%   @SPACE
+      \else\ifx\
+                \tokenafterxref ,%    @NL
+      \else\ifx\tie\tokenafterxref ,% @tie
+      \fi\fi\fi\fi\fi\fi
     \fi\fi
   \fi
   \endlink
@@ -8172,13 +9038,14 @@ end
   \fi\fi\fi
 }
 
-% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
-% If its value is nonempty, SUFFIX is output afterward.
-%
+% \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME.  SUFFIX 
+% is output afterwards if non-empty.
 \def\refx#1#2{%
+  \requireauxfile
   {%
     \indexnofonts
     \otherbackslash
+    \def\value##1{##1}%
     \expandafter\global\expandafter\let\expandafter\thisrefX
       \csname XR#1\endcsname
   }%
@@ -8203,20 +9070,28 @@ end
   #2% Output the suffix in any case.
 }
 
-% This is the macro invoked by entries in the aux file.  Usually it's
-% just a \def (we prepend XR to the control sequence name to avoid
-% collisions).  But if this is a float type, we have more work to do.
+% 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{%
-  {% The node name might contain 8-bit characters, which in our current
-   % implementation are changed to commands like @'e.  Don't let these
-   % mess up the control sequence name.
+  {% Expand the node or anchor name to remove control sequences.
+   % \turnoffactive stops 8-bit characters being changed to commands
+   % like @'e.  \refx does the same to retrieve the value in the definition.
     \indexnofonts
     \turnoffactive
+    \def\value##1{##1}%
     \xdef\safexrefname{#1}%
   }%
   %
-  \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref
+  \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 
+  % thousands of lines.  \gdef doesn't use the save stack, but \csname does
+  % 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
@@ -8239,6 +9114,23 @@ end
   \fi
 }
 
+% If working on a large document in chapters, it is convenient to
+% be able to disable indexing, cross-referencing, and contents, for test runs.
+% This is done with @novalidate at the beginning of the file.
+%
+\newif\iflinks \linkstrue % by default we want the aux files.
+\let\novalidate = \linksfalse
+
+% Used when writing to the aux file, or when using data from it.
+\def\requireauxfile{%
+  \iflinks
+    \tryauxfile
+    % Open the new aux file.  TeX will close it automatically at exit.
+    \immediate\openout\auxfile=\jobname.aux
+  \fi
+  \global\let\requireauxfile=\relax   % Only do this once.
+}
+
 % Read the last existing aux file, if any.  No error if none exists.
 %
 \def\tryauxfile{%
@@ -8278,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...
@@ -8308,24 +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
-  %
-  % Make the characters 128-255 be printing characters.
-  {%
-    \count1=128
-    \def\loop{%
-      \catcode\count1=\other
-      \advance\count1 by 1
-      \ifnum \count1<256 \loop \fi
-    }%
-  }%
+  \catcode`\\=\active
   %
   % @ is our escape character in .aux files, and we need braces.
   \catcode`\{=1
@@ -8359,9 +9221,6 @@ end
 %
 % Auto-number footnotes.  Otherwise like plain.
 \gdef\footnote{%
-  \let\indent=\ptexindent
-  \let\noindent=\ptexnoindent
-  %
   \global\advance\footnoteno by \@ne
   \edef\thisfootno{$^{\the\footnoteno}$}%
   %
@@ -8388,12 +9247,12 @@ end
   %
   % Nested footnotes are not supported in TeX, that would take a lot
   % more work.  (\startsavinginserts does not suffice.)
-  \let\footnote=\errfootnote
+  \let\footnote=\errfootnotenest
   %
   % We want to typeset this text as a normal paragraph, even if the
   % footnote reference occurs in (for example) a display environment.
   % So reset some parameters.
-  \hsize=\pagewidth
+  \hsize=\txipagewidth
   \interlinepenalty\interfootnotelinepenalty
   \splittopskip\ht\strutbox % top baseline for broken footnotes
   \splitmaxdepth\dp\strutbox
@@ -8427,12 +9286,17 @@ end
 }
 }%end \catcode `\@=11
 
-\def\errfootnote{%
+\def\errfootnotenest{%
   \errhelp=\EMsimple
   \errmessage{Nested footnotes not supported in texinfo.tex,
     even though they work in makeinfo; sorry}
 }
 
+\def\errfootnoteheading{%
+  \errhelp=\EMsimple
+  \errmessage{Footnotes in chapters, sections, etc., are not supported}
+}
+
 % In case a @footnote appears in a vbox, save the footnote text and create
 % the real \insert just after the vbox finished.  Otherwise, the insertion
 % would be lost.
@@ -8513,7 +9377,7 @@ end
 \newif\ifwarnednoepsf
 \newhelp\noepsfhelp{epsf.tex must be installed for images to
   work.  It is also included in the Texinfo distribution, or you can get
-  it from ftp://tug.org/tex/epsf.tex.}
+  it from https://ctan.org/texarchive/macros/texinfo/texinfo/doc/epsf.tex.}
 %
 \def\image#1{%
   \ifx\epsfbox\thisisundefined
@@ -8537,6 +9401,7 @@ end
 \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
   \catcode`\^^M = 5     % in case we're inside an example
   \normalturnoffactive  % allow _ et al. in names
+  \def\xprocessmacroarg{\eatspaces}% in case we are being used via a macro
   % If the image is by itself, center it.
   \ifvmode
     \imagevmodetrue
@@ -8566,12 +9431,21 @@ end
   %
   % Output the image.
   \ifpdf
+    % For pdfTeX and LuaTeX <= 0.80
     \dopdfimage{#1}{#2}{#3}%
   \else
-    % \epsfbox itself resets \epsf?size at each figure.
-    \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
-    \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
-    \epsfbox{#1.eps}%
+    \ifx\XeTeXrevision\thisisundefined
+      % For epsf.tex
+      % \epsfbox itself resets \epsf?size at each figure.
+      \setbox0 = \hbox{\ignorespaces #2}%
+        \ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
+      \setbox0 = \hbox{\ignorespaces #3}%
+        \ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
+      \epsfbox{#1.eps}%
+    \else
+      % For XeTeX
+      \doxeteximage{#1}{#2}{#3}%
+    \fi
   \fi
   %
   \ifimagevmode
@@ -8644,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
@@ -8693,7 +9567,7 @@ end
     %
     \ifx\thiscaption\empty \else
       \ifx\floatident\empty \else
-       \appendtomacro\captionline{: }% had ident, so need a colon between
+        \appendtomacro\captionline{: }% had ident, so need a colon between
       \fi
       %
       % caption text.
@@ -8717,32 +9591,20 @@ end
       % \floatlabel-lof.  Besides \floatident, we include the short
       % caption if specified, else the full caption if specified, else nothing.
       {%
+        \requireauxfile
         \atdummies
         %
-        % since we read the caption text in the macro world, where ^^M
-        % is turned into a normal character, we have to scan it back, so
-        % we don't write the literal three characters "^^M" into the aux file.
-       \scanexp{%
-         \xdef\noexpand\gtemp{%
-           \ifx\thisshortcaption\empty
-             \thiscaption
-           \else
-             \thisshortcaption
-           \fi
-         }%
-       }%
+        \ifx\thisshortcaption\empty
+          \def\gtemp{\thiscaption}%
+        \else
+          \def\gtemp{\thisshortcaption}%
+        \fi
         \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
-         \ifx\gtemp\empty \else : \gtemp \fi}}%
+          \ifx\gtemp\empty \else : \gtemp \fi}}%
       }%
     \fi
   \egroup  % end of \vtop
   %
-  % place the captured inserts
-  %
-  % BEWARE: when the floats start floating, we have to issue warning
-  % whenever an insert appears inside a float which could possibly
-  % float. --kasal, 26may04
-  %
   \checkinserts
 }
 
@@ -8785,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}
 %
@@ -8917,6 +9779,70 @@ directory should work if nowhere else does.}
   \global\righthyphenmin = #3\relax
 }
 
+% XeTeX and LuaTeX can handle Unicode natively.
+% Their default I/O uses UTF-8 sequences instead of a byte-wise operation.
+% Other TeX engines' I/O (pdfTeX, etc.) is byte-wise.
+%
+\newif\iftxinativeunicodecapable
+\newif\iftxiusebytewiseio
+
+\ifx\XeTeXrevision\thisisundefined
+  \ifx\luatexversion\thisisundefined
+    \txinativeunicodecapablefalse
+    \txiusebytewiseiotrue
+  \else
+    \txinativeunicodecapabletrue
+    \txiusebytewiseiofalse
+  \fi
+\else
+  \txinativeunicodecapabletrue
+  \txiusebytewiseiofalse
+\fi
+
+% Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex
+% for non-UTF-8 (byte-wise) encodings.
+%
+\def\setbytewiseio{%
+  \ifx\XeTeXrevision\thisisundefined
+  \else
+    \XeTeXdefaultencoding "bytes"  % For subsequent files to be read
+    \XeTeXinputencoding "bytes"  % For document root file
+    % Unfortunately, there seems to be no corresponding XeTeX command for
+    % output encoding.  This is a problem for auxiliary index and TOC files.
+    % The only solution would be perhaps to write out @U{...} sequences in
+    % place of non-ASCII characters.
+  \fi
+
+  \ifx\luatexversion\thisisundefined
+  \else
+    \directlua{
+    local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub
+    local function convert_char (char)
+      return utf8_char(byte(char))
+    end
+
+    local function convert_line (line)
+      return gsub(line, ".", convert_char)
+    end
+
+    callback.register("process_input_buffer", convert_line)
+
+    local function convert_line_out (line)
+      local line_out = ""
+      for c in string.utfvalues(line) do
+         line_out = line_out .. string.char(c)
+      end
+      return line_out
+    end
+
+    callback.register("process_output_buffer", convert_line_out)
+    }
+  \fi
+
+  \txiusebytewiseiotrue
+}
+
+
 % Helpers for encodings.
 % Set the catcode of characters 128 through 255 to the specified number.
 %
@@ -8939,7 +9865,9 @@ directory should work if nowhere else does.}
 % @documentencoding sets the definition of non-ASCII characters
 % according to the specified encoding.
 %
-\parseargdef\documentencoding{%
+\def\documentencoding{\parseargusing\filenamecatcodes\documentencodingzzz}
+\def\documentencodingzzz#1{%
+  %
   % Encoding being declared for the document.
   \def\declaredencoding{\csname #1.enc\endcsname}%
   %
@@ -8955,35 +9883,66 @@ directory should work if nowhere else does.}
      \asciichardefs
   %
   \else \ifx \declaredencoding \lattwo
+     \iftxinativeunicodecapable
+       \setbytewiseio
+     \fi
      \setnonasciicharscatcode\active
      \lattwochardefs
   %
   \else \ifx \declaredencoding \latone
+     \iftxinativeunicodecapable
+       \setbytewiseio
+     \fi
      \setnonasciicharscatcode\active
      \latonechardefs
   %
   \else \ifx \declaredencoding \latnine
+     \iftxinativeunicodecapable
+       \setbytewiseio
+     \fi
      \setnonasciicharscatcode\active
      \latninechardefs
   %
   \else \ifx \declaredencoding \utfeight
-     \setnonasciicharscatcode\active
-     \utfeightchardefs
+     \iftxinativeunicodecapable
+       % For native Unicode handling (XeTeX and LuaTeX)
+       \nativeunicodechardefs
+     \else
+       % For treating UTF-8 as byte sequences (TeX, eTeX and pdfTeX)
+       \setnonasciicharscatcode\active
+       % since we already invoked \utfeightchardefs at the top level
+       % (below), do not re-invoke it, otherwise our check for duplicated
+       % definitions gets triggered.  Making non-ascii chars active is
+       % sufficient.
+     \fi
   %
   \else
-    \message{Unknown document encoding #1, ignoring.}%
+    \message{Ignoring unknown document encoding: #1.}%
   %
   \fi % utfeight
   \fi % latnine
   \fi % latone
   \fi % lattwo
   \fi % ascii
+  %
+  \ifx\XeTeXrevision\thisisundefined
+  \else
+    \ifx \declaredencoding \utfeight
+    \else
+      \ifx \declaredencoding \ascii
+      \else
+        \message{Warning: XeTeX with non-UTF-8 encodings cannot handle %
+        non-ASCII characters in auxiliary files.}%
+      \fi
+    \fi
+  \fi
 }
 
+% emacs-page
 % A message to be logged when using a character that isn't available
 % the default font encoding (OT1).
 %
-\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}}
+\def\missingcharmsg#1{\message{Character missing, sorry: #1.}}
 
 % Take account of \c (plain) vs. \, (Texinfo) difference.
 \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi}
@@ -8993,111 +9952,119 @@ directory should work if nowhere else does.}
 % macros containing the character definitions.
 \setnonasciicharscatcode\active
 %
+
+\def\gdefchar#1#2{%
+\gdef#1{%
+   \ifpassthroughchars
+     \string#1%
+   \else
+     #2%
+   \fi
+}}
+
 % Latin1 (ISO-8859-1) character definitions.
 \def\latonechardefs{%
-  \gdef^^a0{\tie}
-  \gdef^^a1{\exclamdown}
-  \gdef^^a2{\missingcharmsg{CENT SIGN}}
-  \gdef^^a3{{\pounds}}
-  \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
-  \gdef^^a5{\missingcharmsg{YEN SIGN}}
-  \gdef^^a6{\missingcharmsg{BROKEN BAR}}
-  \gdef^^a7{\S}
-  \gdef^^a8{\"{}}
-  \gdef^^a9{\copyright}
-  \gdef^^aa{\ordf}
-  \gdef^^ab{\guillemetleft}
-  \gdef^^ac{$\lnot$}
-  \gdef^^ad{\-}
-  \gdef^^ae{\registeredsymbol}
-  \gdef^^af{\={}}
-  %
-  \gdef^^b0{\textdegree}
-  \gdef^^b1{$\pm$}
-  \gdef^^b2{$^2$}
-  \gdef^^b3{$^3$}
-  \gdef^^b4{\'{}}
-  \gdef^^b5{$\mu$}
-  \gdef^^b6{\P}
-  %
-  \gdef^^b7{$^.$}
-  \gdef^^b8{\cedilla\ }
-  \gdef^^b9{$^1$}
-  \gdef^^ba{\ordm}
-  %
-  \gdef^^bb{\guillemetright}
-  \gdef^^bc{$1\over4$}
-  \gdef^^bd{$1\over2$}
-  \gdef^^be{$3\over4$}
-  \gdef^^bf{\questiondown}
-  %
-  \gdef^^c0{\`A}
-  \gdef^^c1{\'A}
-  \gdef^^c2{\^A}
-  \gdef^^c3{\~A}
-  \gdef^^c4{\"A}
-  \gdef^^c5{\ringaccent A}
-  \gdef^^c6{\AE}
-  \gdef^^c7{\cedilla C}
-  \gdef^^c8{\`E}
-  \gdef^^c9{\'E}
-  \gdef^^ca{\^E}
-  \gdef^^cb{\"E}
-  \gdef^^cc{\`I}
-  \gdef^^cd{\'I}
-  \gdef^^ce{\^I}
-  \gdef^^cf{\"I}
-  %
-  \gdef^^d0{\DH}
-  \gdef^^d1{\~N}
-  \gdef^^d2{\`O}
-  \gdef^^d3{\'O}
-  \gdef^^d4{\^O}
-  \gdef^^d5{\~O}
-  \gdef^^d6{\"O}
-  \gdef^^d7{$\times$}
-  \gdef^^d8{\O}
-  \gdef^^d9{\`U}
-  \gdef^^da{\'U}
-  \gdef^^db{\^U}
-  \gdef^^dc{\"U}
-  \gdef^^dd{\'Y}
-  \gdef^^de{\TH}
-  \gdef^^df{\ss}
-  %
-  \gdef^^e0{\`a}
-  \gdef^^e1{\'a}
-  \gdef^^e2{\^a}
-  \gdef^^e3{\~a}
-  \gdef^^e4{\"a}
-  \gdef^^e5{\ringaccent a}
-  \gdef^^e6{\ae}
-  \gdef^^e7{\cedilla c}
-  \gdef^^e8{\`e}
-  \gdef^^e9{\'e}
-  \gdef^^ea{\^e}
-  \gdef^^eb{\"e}
-  \gdef^^ec{\`{\dotless i}}
-  \gdef^^ed{\'{\dotless i}}
-  \gdef^^ee{\^{\dotless i}}
-  \gdef^^ef{\"{\dotless i}}
-  %
-  \gdef^^f0{\dh}
-  \gdef^^f1{\~n}
-  \gdef^^f2{\`o}
-  \gdef^^f3{\'o}
-  \gdef^^f4{\^o}
-  \gdef^^f5{\~o}
-  \gdef^^f6{\"o}
-  \gdef^^f7{$\div$}
-  \gdef^^f8{\o}
-  \gdef^^f9{\`u}
-  \gdef^^fa{\'u}
-  \gdef^^fb{\^u}
-  \gdef^^fc{\"u}
-  \gdef^^fd{\'y}
-  \gdef^^fe{\th}
-  \gdef^^ff{\"y}
+  \gdefchar^^a0{\tie}
+  \gdefchar^^a1{\exclamdown}
+  \gdefchar^^a2{{\tcfont \char162}} % cent
+  \gdefchar^^a3{\pounds{}}
+  \gdefchar^^a4{{\tcfont \char164}} % currency
+  \gdefchar^^a5{{\tcfont \char165}} % yen
+  \gdefchar^^a6{{\tcfont \char166}} % broken bar
+  \gdefchar^^a7{\S}
+  \gdefchar^^a8{\"{}}
+  \gdefchar^^a9{\copyright{}}
+  \gdefchar^^aa{\ordf}
+  \gdefchar^^ab{\guillemetleft{}}
+  \gdefchar^^ac{\ensuremath\lnot}
+  \gdefchar^^ad{\-}
+  \gdefchar^^ae{\registeredsymbol{}}
+  \gdefchar^^af{\={}}
+  %
+  \gdefchar^^b0{\textdegree}
+  \gdefchar^^b1{$\pm$}
+  \gdefchar^^b2{$^2$}
+  \gdefchar^^b3{$^3$}
+  \gdefchar^^b4{\'{}}
+  \gdefchar^^b5{$\mu$}
+  \gdefchar^^b6{\P}
+  \gdefchar^^b7{\ensuremath\cdot}
+  \gdefchar^^b8{\cedilla\ }
+  \gdefchar^^b9{$^1$}
+  \gdefchar^^ba{\ordm}
+  \gdefchar^^bb{\guillemetright{}}
+  \gdefchar^^bc{$1\over4$}
+  \gdefchar^^bd{$1\over2$}
+  \gdefchar^^be{$3\over4$}
+  \gdefchar^^bf{\questiondown}
+  %
+  \gdefchar^^c0{\`A}
+  \gdefchar^^c1{\'A}
+  \gdefchar^^c2{\^A}
+  \gdefchar^^c3{\~A}
+  \gdefchar^^c4{\"A}
+  \gdefchar^^c5{\ringaccent A}
+  \gdefchar^^c6{\AE}
+  \gdefchar^^c7{\cedilla C}
+  \gdefchar^^c8{\`E}
+  \gdefchar^^c9{\'E}
+  \gdefchar^^ca{\^E}
+  \gdefchar^^cb{\"E}
+  \gdefchar^^cc{\`I}
+  \gdefchar^^cd{\'I}
+  \gdefchar^^ce{\^I}
+  \gdefchar^^cf{\"I}
+  %
+  \gdefchar^^d0{\DH}
+  \gdefchar^^d1{\~N}
+  \gdefchar^^d2{\`O}
+  \gdefchar^^d3{\'O}
+  \gdefchar^^d4{\^O}
+  \gdefchar^^d5{\~O}
+  \gdefchar^^d6{\"O}
+  \gdefchar^^d7{$\times$}
+  \gdefchar^^d8{\O}
+  \gdefchar^^d9{\`U}
+  \gdefchar^^da{\'U}
+  \gdefchar^^db{\^U}
+  \gdefchar^^dc{\"U}
+  \gdefchar^^dd{\'Y}
+  \gdefchar^^de{\TH}
+  \gdefchar^^df{\ss}
+  %
+  \gdefchar^^e0{\`a}
+  \gdefchar^^e1{\'a}
+  \gdefchar^^e2{\^a}
+  \gdefchar^^e3{\~a}
+  \gdefchar^^e4{\"a}
+  \gdefchar^^e5{\ringaccent a}
+  \gdefchar^^e6{\ae}
+  \gdefchar^^e7{\cedilla c}
+  \gdefchar^^e8{\`e}
+  \gdefchar^^e9{\'e}
+  \gdefchar^^ea{\^e}
+  \gdefchar^^eb{\"e}
+  \gdefchar^^ec{\`{\dotless i}}
+  \gdefchar^^ed{\'{\dotless i}}
+  \gdefchar^^ee{\^{\dotless i}}
+  \gdefchar^^ef{\"{\dotless i}}
+  %
+  \gdefchar^^f0{\dh}
+  \gdefchar^^f1{\~n}
+  \gdefchar^^f2{\`o}
+  \gdefchar^^f3{\'o}
+  \gdefchar^^f4{\^o}
+  \gdefchar^^f5{\~o}
+  \gdefchar^^f6{\"o}
+  \gdefchar^^f7{$\div$}
+  \gdefchar^^f8{\o}
+  \gdefchar^^f9{\`u}
+  \gdefchar^^fa{\'u}
+  \gdefchar^^fb{\^u}
+  \gdefchar^^fc{\"u}
+  \gdefchar^^fd{\'y}
+  \gdefchar^^fe{\th}
+  \gdefchar^^ff{\"y}
 }
 
 % Latin9 (ISO-8859-15) encoding character definitions.
@@ -9105,119 +10072,119 @@ directory should work if nowhere else does.}
   % Encoding is almost identical to Latin1.
   \latonechardefs
   %
-  \gdef^^a4{\euro}
-  \gdef^^a6{\v S}
-  \gdef^^a8{\v s}
-  \gdef^^b4{\v Z}
-  \gdef^^b8{\v z}
-  \gdef^^bc{\OE}
-  \gdef^^bd{\oe}
-  \gdef^^be{\"Y}
+  \gdefchar^^a4{\euro{}}
+  \gdefchar^^a6{\v S}
+  \gdefchar^^a8{\v s}
+  \gdefchar^^b4{\v Z}
+  \gdefchar^^b8{\v z}
+  \gdefchar^^bc{\OE}
+  \gdefchar^^bd{\oe}
+  \gdefchar^^be{\"Y}
 }
 
 % Latin2 (ISO-8859-2) character definitions.
 \def\lattwochardefs{%
-  \gdef^^a0{\tie}
-  \gdef^^a1{\ogonek{A}}
-  \gdef^^a2{\u{}}
-  \gdef^^a3{\L}
-  \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
-  \gdef^^a5{\v L}
-  \gdef^^a6{\'S}
-  \gdef^^a7{\S}
-  \gdef^^a8{\"{}}
-  \gdef^^a9{\v S}
-  \gdef^^aa{\cedilla S}
-  \gdef^^ab{\v T}
-  \gdef^^ac{\'Z}
-  \gdef^^ad{\-}
-  \gdef^^ae{\v Z}
-  \gdef^^af{\dotaccent Z}
-  %
-  \gdef^^b0{\textdegree}
-  \gdef^^b1{\ogonek{a}}
-  \gdef^^b2{\ogonek{ }}
-  \gdef^^b3{\l}
-  \gdef^^b4{\'{}}
-  \gdef^^b5{\v l}
-  \gdef^^b6{\'s}
-  \gdef^^b7{\v{}}
-  \gdef^^b8{\cedilla\ }
-  \gdef^^b9{\v s}
-  \gdef^^ba{\cedilla s}
-  \gdef^^bb{\v t}
-  \gdef^^bc{\'z}
-  \gdef^^bd{\H{}}
-  \gdef^^be{\v z}
-  \gdef^^bf{\dotaccent z}
-  %
-  \gdef^^c0{\'R}
-  \gdef^^c1{\'A}
-  \gdef^^c2{\^A}
-  \gdef^^c3{\u A}
-  \gdef^^c4{\"A}
-  \gdef^^c5{\'L}
-  \gdef^^c6{\'C}
-  \gdef^^c7{\cedilla C}
-  \gdef^^c8{\v C}
-  \gdef^^c9{\'E}
-  \gdef^^ca{\ogonek{E}}
-  \gdef^^cb{\"E}
-  \gdef^^cc{\v E}
-  \gdef^^cd{\'I}
-  \gdef^^ce{\^I}
-  \gdef^^cf{\v D}
-  %
-  \gdef^^d0{\DH}
-  \gdef^^d1{\'N}
-  \gdef^^d2{\v N}
-  \gdef^^d3{\'O}
-  \gdef^^d4{\^O}
-  \gdef^^d5{\H O}
-  \gdef^^d6{\"O}
-  \gdef^^d7{$\times$}
-  \gdef^^d8{\v R}
-  \gdef^^d9{\ringaccent U}
-  \gdef^^da{\'U}
-  \gdef^^db{\H U}
-  \gdef^^dc{\"U}
-  \gdef^^dd{\'Y}
-  \gdef^^de{\cedilla T}
-  \gdef^^df{\ss}
-  %
-  \gdef^^e0{\'r}
-  \gdef^^e1{\'a}
-  \gdef^^e2{\^a}
-  \gdef^^e3{\u a}
-  \gdef^^e4{\"a}
-  \gdef^^e5{\'l}
-  \gdef^^e6{\'c}
-  \gdef^^e7{\cedilla c}
-  \gdef^^e8{\v c}
-  \gdef^^e9{\'e}
-  \gdef^^ea{\ogonek{e}}
-  \gdef^^eb{\"e}
-  \gdef^^ec{\v e}
-  \gdef^^ed{\'{\dotless{i}}}
-  \gdef^^ee{\^{\dotless{i}}}
-  \gdef^^ef{\v d}
-  %
-  \gdef^^f0{\dh}
-  \gdef^^f1{\'n}
-  \gdef^^f2{\v n}
-  \gdef^^f3{\'o}
-  \gdef^^f4{\^o}
-  \gdef^^f5{\H o}
-  \gdef^^f6{\"o}
-  \gdef^^f7{$\div$}
-  \gdef^^f8{\v r}
-  \gdef^^f9{\ringaccent u}
-  \gdef^^fa{\'u}
-  \gdef^^fb{\H u}
-  \gdef^^fc{\"u}
-  \gdef^^fd{\'y}
-  \gdef^^fe{\cedilla t}
-  \gdef^^ff{\dotaccent{}}
+  \gdefchar^^a0{\tie}
+  \gdefchar^^a1{\ogonek{A}}
+  \gdefchar^^a2{\u{}}
+  \gdefchar^^a3{\L}
+  \gdefchar^^a4{\missingcharmsg{CURRENCY SIGN}}
+  \gdefchar^^a5{\v L}
+  \gdefchar^^a6{\'S}
+  \gdefchar^^a7{\S}
+  \gdefchar^^a8{\"{}}
+  \gdefchar^^a9{\v S}
+  \gdefchar^^aa{\cedilla S}
+  \gdefchar^^ab{\v T}
+  \gdefchar^^ac{\'Z}
+  \gdefchar^^ad{\-}
+  \gdefchar^^ae{\v Z}
+  \gdefchar^^af{\dotaccent Z}
+  %
+  \gdefchar^^b0{\textdegree{}}
+  \gdefchar^^b1{\ogonek{a}}
+  \gdefchar^^b2{\ogonek{ }}
+  \gdefchar^^b3{\l}
+  \gdefchar^^b4{\'{}}
+  \gdefchar^^b5{\v l}
+  \gdefchar^^b6{\'s}
+  \gdefchar^^b7{\v{}}
+  \gdefchar^^b8{\cedilla\ }
+  \gdefchar^^b9{\v s}
+  \gdefchar^^ba{\cedilla s}
+  \gdefchar^^bb{\v t}
+  \gdefchar^^bc{\'z}
+  \gdefchar^^bd{\H{}}
+  \gdefchar^^be{\v z}
+  \gdefchar^^bf{\dotaccent z}
+  %
+  \gdefchar^^c0{\'R}
+  \gdefchar^^c1{\'A}
+  \gdefchar^^c2{\^A}
+  \gdefchar^^c3{\u A}
+  \gdefchar^^c4{\"A}
+  \gdefchar^^c5{\'L}
+  \gdefchar^^c6{\'C}
+  \gdefchar^^c7{\cedilla C}
+  \gdefchar^^c8{\v C}
+  \gdefchar^^c9{\'E}
+  \gdefchar^^ca{\ogonek{E}}
+  \gdefchar^^cb{\"E}
+  \gdefchar^^cc{\v E}
+  \gdefchar^^cd{\'I}
+  \gdefchar^^ce{\^I}
+  \gdefchar^^cf{\v D}
+  %
+  \gdefchar^^d0{\DH}
+  \gdefchar^^d1{\'N}
+  \gdefchar^^d2{\v N}
+  \gdefchar^^d3{\'O}
+  \gdefchar^^d4{\^O}
+  \gdefchar^^d5{\H O}
+  \gdefchar^^d6{\"O}
+  \gdefchar^^d7{$\times$}
+  \gdefchar^^d8{\v R}
+  \gdefchar^^d9{\ringaccent U}
+  \gdefchar^^da{\'U}
+  \gdefchar^^db{\H U}
+  \gdefchar^^dc{\"U}
+  \gdefchar^^dd{\'Y}
+  \gdefchar^^de{\cedilla T}
+  \gdefchar^^df{\ss}
+  %
+  \gdefchar^^e0{\'r}
+  \gdefchar^^e1{\'a}
+  \gdefchar^^e2{\^a}
+  \gdefchar^^e3{\u a}
+  \gdefchar^^e4{\"a}
+  \gdefchar^^e5{\'l}
+  \gdefchar^^e6{\'c}
+  \gdefchar^^e7{\cedilla c}
+  \gdefchar^^e8{\v c}
+  \gdefchar^^e9{\'e}
+  \gdefchar^^ea{\ogonek{e}}
+  \gdefchar^^eb{\"e}
+  \gdefchar^^ec{\v e}
+  \gdefchar^^ed{\'{\dotless{i}}}
+  \gdefchar^^ee{\^{\dotless{i}}}
+  \gdefchar^^ef{\v d}
+  %
+  \gdefchar^^f0{\dh}
+  \gdefchar^^f1{\'n}
+  \gdefchar^^f2{\v n}
+  \gdefchar^^f3{\'o}
+  \gdefchar^^f4{\^o}
+  \gdefchar^^f5{\H o}
+  \gdefchar^^f6{\"o}
+  \gdefchar^^f7{$\div$}
+  \gdefchar^^f8{\v r}
+  \gdefchar^^f9{\ringaccent u}
+  \gdefchar^^fa{\'u}
+  \gdefchar^^fb{\H u}
+  \gdefchar^^fc{\"u}
+  \gdefchar^^fd{\'y}
+  \gdefchar^^fe{\cedilla t}
+  \gdefchar^^ff{\dotaccent{}}
 }
 
 % UTF-8 character definitions.
@@ -9247,38 +10214,94 @@ directory should work if nowhere else does.}
   \fi
 }
 
+% Give non-ASCII bytes the active definitions for processing UTF-8 sequences
 \begingroup
   \catcode`\~13
+  \catcode`\$12
   \catcode`\"12
 
+  % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp
+  % substituting ~ and $ with a character token of that value.
   \def\UTFviiiLoop{%
     \global\catcode\countUTFx\active
     \uccode`\~\countUTFx
+    \uccode`\$\countUTFx
     \uppercase\expandafter{\UTFviiiTmp}%
     \advance\countUTFx by 1
     \ifnum\countUTFx < \countUTFy
       \expandafter\UTFviiiLoop
     \fi}
 
+  % For bytes other than the first in a UTF-8 sequence.  Not expected to
+  % be expanded except when writing to auxiliary files.
+  \countUTFx = "80
+  \countUTFy = "C2
+  \def\UTFviiiTmp{%
+    \gdef~{%
+        \ifpassthroughchars $\fi}}%
+  \UTFviiiLoop
+
   \countUTFx = "C2
   \countUTFy = "E0
   \def\UTFviiiTmp{%
-    \xdef~{\noexpand\UTFviiiTwoOctets\string~}}
+    \gdef~{%
+        \ifpassthroughchars $%
+        \else\expandafter\UTFviiiTwoOctets\expandafter$\fi}}%
   \UTFviiiLoop
 
   \countUTFx = "E0
   \countUTFy = "F0
   \def\UTFviiiTmp{%
-    \xdef~{\noexpand\UTFviiiThreeOctets\string~}}
+    \gdef~{%
+        \ifpassthroughchars $%
+        \else\expandafter\UTFviiiThreeOctets\expandafter$\fi}}%
   \UTFviiiLoop
 
   \countUTFx = "F0
   \countUTFy = "F4
   \def\UTFviiiTmp{%
-    \xdef~{\noexpand\UTFviiiFourOctets\string~}}
+    \gdef~{%
+        \ifpassthroughchars $%
+        \else\expandafter\UTFviiiFourOctets\expandafter$\fi
+        }}%
   \UTFviiiLoop
 \endgroup
 
+\def\globallet{\global\let} % save some \expandafter's below
+
+% @U{xxxx} to produce U+xxxx, if we support it.
+\def\U#1{%
+  \expandafter\ifx\csname uni:#1\endcsname \relax
+    \iftxinativeunicodecapable
+      % All Unicode characters can be used if native Unicode handling is
+      % active.  However, if the font does not have the glyph,
+      % letters are missing.
+      \begingroup
+        \uccode`\.="#1\relax
+        \uppercase{.}
+      \endgroup
+    \else
+      \errhelp = \EMsimple     
+      \errmessage{Unicode character U+#1 not supported, sorry}%
+    \fi
+  \else
+    \csname uni:#1\endcsname
+  \fi
+}
+
+% These macros are used here to construct the name of a control
+% sequence to be defined.
+\def\UTFviiiTwoOctetsName#1#2{%
+  \csname u8:#1\string #2\endcsname}%
+\def\UTFviiiThreeOctetsName#1#2#3{%
+  \csname u8:#1\string #2\string #3\endcsname}%
+\def\UTFviiiFourOctetsName#1#2#3#4{%
+  \csname u8:#1\string #2\string #3\string #4\endcsname}%
+
+% For UTF-8 byte sequences (TeX, e-TeX and pdfTeX),
+% provide a definition macro to replace a Unicode character;
+% this gets used by the @U command
+%
 \begingroup
   \catcode`\"=12
   \catcode`\<=12
@@ -9287,465 +10310,838 @@ directory should work if nowhere else does.}
   \catcode`\;=12
   \catcode`\!=12
   \catcode`\~=13
-
-  \gdef\DeclareUnicodeCharacter#1#2{%
+  \gdef\DeclareUnicodeCharacterUTFviii#1#2{%
     \countUTFz = "#1\relax
-    %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
     \begingroup
       \parseXMLCharref
-      \def\UTFviiiTwoOctets##1##2{%
-        \csname u8:##1\string ##2\endcsname}%
-      \def\UTFviiiThreeOctets##1##2##3{%
-        \csname u8:##1\string ##2\string ##3\endcsname}%
-      \def\UTFviiiFourOctets##1##2##3##4{%
-        \csname u8:##1\string ##2\string ##3\string ##4\endcsname}%
-      \expandafter\expandafter\expandafter\expandafter
-       \expandafter\expandafter\expandafter
-       \gdef\UTFviiiTmp{#2}%
+    
+      % Give \u8:... its definition.  The sequence of seven \expandafter's
+      % expands after the \gdef three times, e.g.
+      %
+      % 1.  \UTFviiTwoOctetsName B1 B2
+      % 2.  \csname u8:B1 \string B2 \endcsname
+      % 3.  \u8: B1 B2  (a single control sequence token)
+      %
+      \expandafter\expandafter
+      \expandafter\expandafter
+      \expandafter\expandafter
+      \expandafter\gdef       \UTFviiiTmp{#2}%
+      % 
+      \expandafter\ifx\csname uni:#1\endcsname \relax \else
+       \message{Internal error, already defined: #1}%
+      \fi
+      %
+      % define an additional control sequence for this code point.
+      \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
     \endgroup}
-
+  %
+  % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp
+  % to the corresponding UTF-8 sequence.
   \gdef\parseXMLCharref{%
     \ifnum\countUTFz < "A0\relax
       \errhelp = \EMsimple
       \errmessage{Cannot define Unicode char value < 00A0}%
     \else\ifnum\countUTFz < "800\relax
       \parseUTFviiiA,%
-      \parseUTFviiiB C\UTFviiiTwoOctets.,%
+      \parseUTFviiiB C\UTFviiiTwoOctetsName.,%
     \else\ifnum\countUTFz < "10000\relax
       \parseUTFviiiA;%
       \parseUTFviiiA,%
-      \parseUTFviiiB E\UTFviiiThreeOctets.{,;}%
+      \parseUTFviiiB E\UTFviiiThreeOctetsName.{,;}%
     \else
       \parseUTFviiiA;%
       \parseUTFviiiA,%
       \parseUTFviiiA!%
-      \parseUTFviiiB F\UTFviiiFourOctets.{!,;}%
+      \parseUTFviiiB F\UTFviiiFourOctetsName.{!,;}%
     \fi\fi\fi
   }
 
+  % Extract a byte from the end of the UTF-8 representation of \countUTFx.
+  % It must be a non-initial byte in the sequence.
+  % Change \uccode of #1 for it to be used in \parseUTFviiiB as one
+  % of the bytes.
   \gdef\parseUTFviiiA#1{%
     \countUTFx = \countUTFz
     \divide\countUTFz by 64
-    \countUTFy = \countUTFz
+    \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
+
+    % Convert this to the byte in the UTF-8 sequence.
     \advance\countUTFx by 128
     \uccode `#1\countUTFx
     \countUTFz = \countUTFy}
 
+  % Used to put a UTF-8 byte sequence into \UTFviiiTmp
+  % #1 is the increment for \countUTFz to yield a the first byte of the UTF-8
+  %    sequence.
+  % #2 is one of the \UTFviii*OctetsName macros.
+  % #3 is always a full stop (.)
+  % #4 is a template for the other bytes in the sequence.  The values for these
+  %    bytes is substituted in here with \uppercase using the \uccode's.
   \gdef\parseUTFviiiB#1#2#3#4{%
     \advance\countUTFz by "#10\relax
     \uccode `#3\countUTFz
     \uppercase{\gdef\UTFviiiTmp{#2#3#4}}}
 \endgroup
 
+% For native Unicode handling (XeTeX and LuaTeX),
+% provide a definition macro that sets a catcode to `other' non-globally
+%
+\def\DeclareUnicodeCharacterNativeOther#1#2{%
+  \catcode"#1=\other
+}
+
+% https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M
+% U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block)
+% 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
+% reimplementing everything that's been done in LaTeX for many years,
+% plus probably using luatex or xetex, and who knows what else.
+% We won't be doing that here in this simple file.  But we can try to at
+% least make most of the characters not bomb out.
+%
+\def\unicodechardefs{%
+  \DeclareUnicodeCharacter{00A0}{\tie}%
+  \DeclareUnicodeCharacter{00A1}{\exclamdown}%
+  \DeclareUnicodeCharacter{00A2}{{\tcfont \char162}}% 0242=cent
+  \DeclareUnicodeCharacter{00A3}{\pounds{}}%
+  \DeclareUnicodeCharacter{00A4}{{\tcfont \char164}}% 0244=currency
+  \DeclareUnicodeCharacter{00A5}{{\tcfont \char165}}% 0245=yen
+  \DeclareUnicodeCharacter{00A6}{{\tcfont \char166}}% 0246=brokenbar
+  \DeclareUnicodeCharacter{00A7}{\S}%
+  \DeclareUnicodeCharacter{00A8}{\"{ }}%
+  \DeclareUnicodeCharacter{00A9}{\copyright{}}%
+  \DeclareUnicodeCharacter{00AA}{\ordf}%
+  \DeclareUnicodeCharacter{00AB}{\guillemetleft{}}%
+  \DeclareUnicodeCharacter{00AC}{\ensuremath\lnot}%
+  \DeclareUnicodeCharacter{00AD}{\-}%
+  \DeclareUnicodeCharacter{00AE}{\registeredsymbol{}}%
+  \DeclareUnicodeCharacter{00AF}{\={ }}%
+  %
+  \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}%
+  \DeclareUnicodeCharacter{00B1}{\ensuremath\pm}%
+  \DeclareUnicodeCharacter{00B2}{$^2$}%
+  \DeclareUnicodeCharacter{00B3}{$^3$}%
+  \DeclareUnicodeCharacter{00B4}{\'{ }}%
+  \DeclareUnicodeCharacter{00B5}{$\mu$}%
+  \DeclareUnicodeCharacter{00B6}{\P}%
+  \DeclareUnicodeCharacter{00B7}{\ensuremath\cdot}%
+  \DeclareUnicodeCharacter{00B8}{\cedilla{ }}%
+  \DeclareUnicodeCharacter{00B9}{$^1$}%
+  \DeclareUnicodeCharacter{00BA}{\ordm}%
+  \DeclareUnicodeCharacter{00BB}{\guillemetright{}}%
+  \DeclareUnicodeCharacter{00BC}{$1\over4$}%
+  \DeclareUnicodeCharacter{00BD}{$1\over2$}%
+  \DeclareUnicodeCharacter{00BE}{$3\over4$}%
+  \DeclareUnicodeCharacter{00BF}{\questiondown}%
+  %
+  \DeclareUnicodeCharacter{00C0}{\`A}%
+  \DeclareUnicodeCharacter{00C1}{\'A}%
+  \DeclareUnicodeCharacter{00C2}{\^A}%
+  \DeclareUnicodeCharacter{00C3}{\~A}%
+  \DeclareUnicodeCharacter{00C4}{\"A}%
+  \DeclareUnicodeCharacter{00C5}{\AA}%
+  \DeclareUnicodeCharacter{00C6}{\AE}%
+  \DeclareUnicodeCharacter{00C7}{\cedilla{C}}%
+  \DeclareUnicodeCharacter{00C8}{\`E}%
+  \DeclareUnicodeCharacter{00C9}{\'E}%
+  \DeclareUnicodeCharacter{00CA}{\^E}%
+  \DeclareUnicodeCharacter{00CB}{\"E}%
+  \DeclareUnicodeCharacter{00CC}{\`I}%
+  \DeclareUnicodeCharacter{00CD}{\'I}%
+  \DeclareUnicodeCharacter{00CE}{\^I}%
+  \DeclareUnicodeCharacter{00CF}{\"I}%
+  %
+  \DeclareUnicodeCharacter{00D0}{\DH}%
+  \DeclareUnicodeCharacter{00D1}{\~N}%
+  \DeclareUnicodeCharacter{00D2}{\`O}%
+  \DeclareUnicodeCharacter{00D3}{\'O}%
+  \DeclareUnicodeCharacter{00D4}{\^O}%
+  \DeclareUnicodeCharacter{00D5}{\~O}%
+  \DeclareUnicodeCharacter{00D6}{\"O}%
+  \DeclareUnicodeCharacter{00D7}{\ensuremath\times}%
+  \DeclareUnicodeCharacter{00D8}{\O}%
+  \DeclareUnicodeCharacter{00D9}{\`U}%
+  \DeclareUnicodeCharacter{00DA}{\'U}%
+  \DeclareUnicodeCharacter{00DB}{\^U}%
+  \DeclareUnicodeCharacter{00DC}{\"U}%
+  \DeclareUnicodeCharacter{00DD}{\'Y}%
+  \DeclareUnicodeCharacter{00DE}{\TH}%
+  \DeclareUnicodeCharacter{00DF}{\ss}%
+  %
+  \DeclareUnicodeCharacter{00E0}{\`a}%
+  \DeclareUnicodeCharacter{00E1}{\'a}%
+  \DeclareUnicodeCharacter{00E2}{\^a}%
+  \DeclareUnicodeCharacter{00E3}{\~a}%
+  \DeclareUnicodeCharacter{00E4}{\"a}%
+  \DeclareUnicodeCharacter{00E5}{\aa}%
+  \DeclareUnicodeCharacter{00E6}{\ae}%
+  \DeclareUnicodeCharacter{00E7}{\cedilla{c}}%
+  \DeclareUnicodeCharacter{00E8}{\`e}%
+  \DeclareUnicodeCharacter{00E9}{\'e}%
+  \DeclareUnicodeCharacter{00EA}{\^e}%
+  \DeclareUnicodeCharacter{00EB}{\"e}%
+  \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}%
+  \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}%
+  \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}%
+  \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}%
+  %
+  \DeclareUnicodeCharacter{00F0}{\dh}%
+  \DeclareUnicodeCharacter{00F1}{\~n}%
+  \DeclareUnicodeCharacter{00F2}{\`o}%
+  \DeclareUnicodeCharacter{00F3}{\'o}%
+  \DeclareUnicodeCharacter{00F4}{\^o}%
+  \DeclareUnicodeCharacter{00F5}{\~o}%
+  \DeclareUnicodeCharacter{00F6}{\"o}%
+  \DeclareUnicodeCharacter{00F7}{\ensuremath\div}%
+  \DeclareUnicodeCharacter{00F8}{\o}%
+  \DeclareUnicodeCharacter{00F9}{\`u}%
+  \DeclareUnicodeCharacter{00FA}{\'u}%
+  \DeclareUnicodeCharacter{00FB}{\^u}%
+  \DeclareUnicodeCharacter{00FC}{\"u}%
+  \DeclareUnicodeCharacter{00FD}{\'y}%
+  \DeclareUnicodeCharacter{00FE}{\th}%
+  \DeclareUnicodeCharacter{00FF}{\"y}%
+  %
+  \DeclareUnicodeCharacter{0100}{\=A}%
+  \DeclareUnicodeCharacter{0101}{\=a}%
+  \DeclareUnicodeCharacter{0102}{\u{A}}%
+  \DeclareUnicodeCharacter{0103}{\u{a}}%
+  \DeclareUnicodeCharacter{0104}{\ogonek{A}}%
+  \DeclareUnicodeCharacter{0105}{\ogonek{a}}%
+  \DeclareUnicodeCharacter{0106}{\'C}%
+  \DeclareUnicodeCharacter{0107}{\'c}%
+  \DeclareUnicodeCharacter{0108}{\^C}%
+  \DeclareUnicodeCharacter{0109}{\^c}%
+  \DeclareUnicodeCharacter{010A}{\dotaccent{C}}%
+  \DeclareUnicodeCharacter{010B}{\dotaccent{c}}%
+  \DeclareUnicodeCharacter{010C}{\v{C}}%
+  \DeclareUnicodeCharacter{010D}{\v{c}}%
+  \DeclareUnicodeCharacter{010E}{\v{D}}%
+  \DeclareUnicodeCharacter{010F}{d'}%
+  %
+  \DeclareUnicodeCharacter{0110}{\DH}%
+  \DeclareUnicodeCharacter{0111}{\dh}%
+  \DeclareUnicodeCharacter{0112}{\=E}%
+  \DeclareUnicodeCharacter{0113}{\=e}%
+  \DeclareUnicodeCharacter{0114}{\u{E}}%
+  \DeclareUnicodeCharacter{0115}{\u{e}}%
+  \DeclareUnicodeCharacter{0116}{\dotaccent{E}}%
+  \DeclareUnicodeCharacter{0117}{\dotaccent{e}}%
+  \DeclareUnicodeCharacter{0118}{\ogonek{E}}%
+  \DeclareUnicodeCharacter{0119}{\ogonek{e}}%
+  \DeclareUnicodeCharacter{011A}{\v{E}}%
+  \DeclareUnicodeCharacter{011B}{\v{e}}%
+  \DeclareUnicodeCharacter{011C}{\^G}%
+  \DeclareUnicodeCharacter{011D}{\^g}%
+  \DeclareUnicodeCharacter{011E}{\u{G}}%
+  \DeclareUnicodeCharacter{011F}{\u{g}}%
+  %
+  \DeclareUnicodeCharacter{0120}{\dotaccent{G}}%
+  \DeclareUnicodeCharacter{0121}{\dotaccent{g}}%
+  \DeclareUnicodeCharacter{0122}{\cedilla{G}}%
+  \DeclareUnicodeCharacter{0123}{\cedilla{g}}%
+  \DeclareUnicodeCharacter{0124}{\^H}%
+  \DeclareUnicodeCharacter{0125}{\^h}%
+  \DeclareUnicodeCharacter{0126}{\missingcharmsg{H WITH STROKE}}%
+  \DeclareUnicodeCharacter{0127}{\missingcharmsg{h WITH STROKE}}%
+  \DeclareUnicodeCharacter{0128}{\~I}%
+  \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}%
+  \DeclareUnicodeCharacter{012A}{\=I}%
+  \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}%
+  \DeclareUnicodeCharacter{012C}{\u{I}}%
+  \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}%
+  \DeclareUnicodeCharacter{012E}{\ogonek{I}}%
+  \DeclareUnicodeCharacter{012F}{\ogonek{i}}%
+  %
+  \DeclareUnicodeCharacter{0130}{\dotaccent{I}}%
+  \DeclareUnicodeCharacter{0131}{\dotless{i}}%
+  \DeclareUnicodeCharacter{0132}{IJ}%
+  \DeclareUnicodeCharacter{0133}{ij}%
+  \DeclareUnicodeCharacter{0134}{\^J}%
+  \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}%
+  \DeclareUnicodeCharacter{0136}{\cedilla{K}}%
+  \DeclareUnicodeCharacter{0137}{\cedilla{k}}%
+  \DeclareUnicodeCharacter{0138}{\ensuremath\kappa}%
+  \DeclareUnicodeCharacter{0139}{\'L}%
+  \DeclareUnicodeCharacter{013A}{\'l}%
+  \DeclareUnicodeCharacter{013B}{\cedilla{L}}%
+  \DeclareUnicodeCharacter{013C}{\cedilla{l}}%
+  \DeclareUnicodeCharacter{013D}{L'}% should kern
+  \DeclareUnicodeCharacter{013E}{l'}% should kern
+  \DeclareUnicodeCharacter{013F}{L\U{00B7}}%
+  %
+  \DeclareUnicodeCharacter{0140}{l\U{00B7}}%
+  \DeclareUnicodeCharacter{0141}{\L}%
+  \DeclareUnicodeCharacter{0142}{\l}%
+  \DeclareUnicodeCharacter{0143}{\'N}%
+  \DeclareUnicodeCharacter{0144}{\'n}%
+  \DeclareUnicodeCharacter{0145}{\cedilla{N}}%
+  \DeclareUnicodeCharacter{0146}{\cedilla{n}}%
+  \DeclareUnicodeCharacter{0147}{\v{N}}%
+  \DeclareUnicodeCharacter{0148}{\v{n}}%
+  \DeclareUnicodeCharacter{0149}{'n}%
+  \DeclareUnicodeCharacter{014A}{\missingcharmsg{ENG}}%
+  \DeclareUnicodeCharacter{014B}{\missingcharmsg{eng}}%
+  \DeclareUnicodeCharacter{014C}{\=O}%
+  \DeclareUnicodeCharacter{014D}{\=o}%
+  \DeclareUnicodeCharacter{014E}{\u{O}}%
+  \DeclareUnicodeCharacter{014F}{\u{o}}%
+  %
+  \DeclareUnicodeCharacter{0150}{\H{O}}%
+  \DeclareUnicodeCharacter{0151}{\H{o}}%
+  \DeclareUnicodeCharacter{0152}{\OE}%
+  \DeclareUnicodeCharacter{0153}{\oe}%
+  \DeclareUnicodeCharacter{0154}{\'R}%
+  \DeclareUnicodeCharacter{0155}{\'r}%
+  \DeclareUnicodeCharacter{0156}{\cedilla{R}}%
+  \DeclareUnicodeCharacter{0157}{\cedilla{r}}%
+  \DeclareUnicodeCharacter{0158}{\v{R}}%
+  \DeclareUnicodeCharacter{0159}{\v{r}}%
+  \DeclareUnicodeCharacter{015A}{\'S}%
+  \DeclareUnicodeCharacter{015B}{\'s}%
+  \DeclareUnicodeCharacter{015C}{\^S}%
+  \DeclareUnicodeCharacter{015D}{\^s}%
+  \DeclareUnicodeCharacter{015E}{\cedilla{S}}%
+  \DeclareUnicodeCharacter{015F}{\cedilla{s}}%
+  %
+  \DeclareUnicodeCharacter{0160}{\v{S}}%
+  \DeclareUnicodeCharacter{0161}{\v{s}}%
+  \DeclareUnicodeCharacter{0162}{\cedilla{T}}%
+  \DeclareUnicodeCharacter{0163}{\cedilla{t}}%
+  \DeclareUnicodeCharacter{0164}{\v{T}}%
+  \DeclareUnicodeCharacter{0165}{\v{t}}%
+  \DeclareUnicodeCharacter{0166}{\missingcharmsg{H WITH STROKE}}%
+  \DeclareUnicodeCharacter{0167}{\missingcharmsg{h WITH STROKE}}%
+  \DeclareUnicodeCharacter{0168}{\~U}%
+  \DeclareUnicodeCharacter{0169}{\~u}%
+  \DeclareUnicodeCharacter{016A}{\=U}%
+  \DeclareUnicodeCharacter{016B}{\=u}%
+  \DeclareUnicodeCharacter{016C}{\u{U}}%
+  \DeclareUnicodeCharacter{016D}{\u{u}}%
+  \DeclareUnicodeCharacter{016E}{\ringaccent{U}}%
+  \DeclareUnicodeCharacter{016F}{\ringaccent{u}}%
+  %
+  \DeclareUnicodeCharacter{0170}{\H{U}}%
+  \DeclareUnicodeCharacter{0171}{\H{u}}%
+  \DeclareUnicodeCharacter{0172}{\ogonek{U}}%
+  \DeclareUnicodeCharacter{0173}{\ogonek{u}}%
+  \DeclareUnicodeCharacter{0174}{\^W}%
+  \DeclareUnicodeCharacter{0175}{\^w}%
+  \DeclareUnicodeCharacter{0176}{\^Y}%
+  \DeclareUnicodeCharacter{0177}{\^y}%
+  \DeclareUnicodeCharacter{0178}{\"Y}%
+  \DeclareUnicodeCharacter{0179}{\'Z}%
+  \DeclareUnicodeCharacter{017A}{\'z}%
+  \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}%
+  \DeclareUnicodeCharacter{017C}{\dotaccent{z}}%
+  \DeclareUnicodeCharacter{017D}{\v{Z}}%
+  \DeclareUnicodeCharacter{017E}{\v{z}}%
+  \DeclareUnicodeCharacter{017F}{\missingcharmsg{LONG S}}%
+  %
+  \DeclareUnicodeCharacter{01C4}{D\v{Z}}%
+  \DeclareUnicodeCharacter{01C5}{D\v{z}}%
+  \DeclareUnicodeCharacter{01C6}{d\v{z}}%
+  \DeclareUnicodeCharacter{01C7}{LJ}%
+  \DeclareUnicodeCharacter{01C8}{Lj}%
+  \DeclareUnicodeCharacter{01C9}{lj}%
+  \DeclareUnicodeCharacter{01CA}{NJ}%
+  \DeclareUnicodeCharacter{01CB}{Nj}%
+  \DeclareUnicodeCharacter{01CC}{nj}%
+  \DeclareUnicodeCharacter{01CD}{\v{A}}%
+  \DeclareUnicodeCharacter{01CE}{\v{a}}%
+  \DeclareUnicodeCharacter{01CF}{\v{I}}%
+  %
+  \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}%
+  \DeclareUnicodeCharacter{01D1}{\v{O}}%
+  \DeclareUnicodeCharacter{01D2}{\v{o}}%
+  \DeclareUnicodeCharacter{01D3}{\v{U}}%
+  \DeclareUnicodeCharacter{01D4}{\v{u}}%
+  %
+  \DeclareUnicodeCharacter{01E2}{\={\AE}}%
+  \DeclareUnicodeCharacter{01E3}{\={\ae}}%
+  \DeclareUnicodeCharacter{01E6}{\v{G}}%
+  \DeclareUnicodeCharacter{01E7}{\v{g}}%
+  \DeclareUnicodeCharacter{01E8}{\v{K}}%
+  \DeclareUnicodeCharacter{01E9}{\v{k}}%
+  %
+  \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}%
+  \DeclareUnicodeCharacter{01F1}{DZ}%
+  \DeclareUnicodeCharacter{01F2}{Dz}%
+  \DeclareUnicodeCharacter{01F3}{dz}%
+  \DeclareUnicodeCharacter{01F4}{\'G}%
+  \DeclareUnicodeCharacter{01F5}{\'g}%
+  \DeclareUnicodeCharacter{01F8}{\`N}%
+  \DeclareUnicodeCharacter{01F9}{\`n}%
+  \DeclareUnicodeCharacter{01FC}{\'{\AE}}%
+  \DeclareUnicodeCharacter{01FD}{\'{\ae}}%
+  \DeclareUnicodeCharacter{01FE}{\'{\O}}%
+  \DeclareUnicodeCharacter{01FF}{\'{\o}}%
+  %
+  \DeclareUnicodeCharacter{021E}{\v{H}}%
+  \DeclareUnicodeCharacter{021F}{\v{h}}%
+  %
+  \DeclareUnicodeCharacter{0226}{\dotaccent{A}}%
+  \DeclareUnicodeCharacter{0227}{\dotaccent{a}}%
+  \DeclareUnicodeCharacter{0228}{\cedilla{E}}%
+  \DeclareUnicodeCharacter{0229}{\cedilla{e}}%
+  \DeclareUnicodeCharacter{022E}{\dotaccent{O}}%
+  \DeclareUnicodeCharacter{022F}{\dotaccent{o}}%
+  %
+  \DeclareUnicodeCharacter{0232}{\=Y}%
+  \DeclareUnicodeCharacter{0233}{\=y}%
+  \DeclareUnicodeCharacter{0237}{\dotless{j}}%
+  %
+  \DeclareUnicodeCharacter{02DB}{\ogonek{ }}%
+  %
+  % Greek letters upper case
+  \DeclareUnicodeCharacter{0391}{{\it A}}%
+  \DeclareUnicodeCharacter{0392}{{\it B}}%
+  \DeclareUnicodeCharacter{0393}{\ensuremath{\mit\Gamma}}%
+  \DeclareUnicodeCharacter{0394}{\ensuremath{\mit\Delta}}%
+  \DeclareUnicodeCharacter{0395}{{\it E}}%
+  \DeclareUnicodeCharacter{0396}{{\it Z}}%
+  \DeclareUnicodeCharacter{0397}{{\it H}}%
+  \DeclareUnicodeCharacter{0398}{\ensuremath{\mit\Theta}}%
+  \DeclareUnicodeCharacter{0399}{{\it I}}%
+  \DeclareUnicodeCharacter{039A}{{\it K}}%
+  \DeclareUnicodeCharacter{039B}{\ensuremath{\mit\Lambda}}%
+  \DeclareUnicodeCharacter{039C}{{\it M}}%
+  \DeclareUnicodeCharacter{039D}{{\it N}}%
+  \DeclareUnicodeCharacter{039E}{\ensuremath{\mit\Xi}}%
+  \DeclareUnicodeCharacter{039F}{{\it O}}%
+  \DeclareUnicodeCharacter{03A0}{\ensuremath{\mit\Pi}}%
+  \DeclareUnicodeCharacter{03A1}{{\it P}}%
+  %\DeclareUnicodeCharacter{03A2}{} % none - corresponds to final sigma
+  \DeclareUnicodeCharacter{03A3}{\ensuremath{\mit\Sigma}}%
+  \DeclareUnicodeCharacter{03A4}{{\it T}}%
+  \DeclareUnicodeCharacter{03A5}{\ensuremath{\mit\Upsilon}}%
+  \DeclareUnicodeCharacter{03A6}{\ensuremath{\mit\Phi}}%
+  \DeclareUnicodeCharacter{03A7}{{\it X}}%
+  \DeclareUnicodeCharacter{03A8}{\ensuremath{\mit\Psi}}%
+  \DeclareUnicodeCharacter{03A9}{\ensuremath{\mit\Omega}}%
+  %
+  % Vowels with accents
+  \DeclareUnicodeCharacter{0390}{\ensuremath{\ddot{\acute\iota}}}%
+  \DeclareUnicodeCharacter{03AC}{\ensuremath{\acute\alpha}}%
+  \DeclareUnicodeCharacter{03AD}{\ensuremath{\acute\epsilon}}%
+  \DeclareUnicodeCharacter{03AE}{\ensuremath{\acute\eta}}%
+  \DeclareUnicodeCharacter{03AF}{\ensuremath{\acute\iota}}%
+  \DeclareUnicodeCharacter{03B0}{\ensuremath{\acute{\ddot\upsilon}}}%
+  %
+  % Standalone accent
+  \DeclareUnicodeCharacter{0384}{\ensuremath{\acute{\ }}}%
+  %
+  % Greek letters lower case
+  \DeclareUnicodeCharacter{03B1}{\ensuremath\alpha}%
+  \DeclareUnicodeCharacter{03B2}{\ensuremath\beta}%
+  \DeclareUnicodeCharacter{03B3}{\ensuremath\gamma}%
+  \DeclareUnicodeCharacter{03B4}{\ensuremath\delta}%
+  \DeclareUnicodeCharacter{03B5}{\ensuremath\epsilon}%
+  \DeclareUnicodeCharacter{03B6}{\ensuremath\zeta}%
+  \DeclareUnicodeCharacter{03B7}{\ensuremath\eta}%
+  \DeclareUnicodeCharacter{03B8}{\ensuremath\theta}%
+  \DeclareUnicodeCharacter{03B9}{\ensuremath\iota}%
+  \DeclareUnicodeCharacter{03BA}{\ensuremath\kappa}%
+  \DeclareUnicodeCharacter{03BB}{\ensuremath\lambda}%
+  \DeclareUnicodeCharacter{03BC}{\ensuremath\mu}%
+  \DeclareUnicodeCharacter{03BD}{\ensuremath\nu}%
+  \DeclareUnicodeCharacter{03BE}{\ensuremath\xi}%
+  \DeclareUnicodeCharacter{03BF}{{\it o}}% omicron
+  \DeclareUnicodeCharacter{03C0}{\ensuremath\pi}%
+  \DeclareUnicodeCharacter{03C1}{\ensuremath\rho}%
+  \DeclareUnicodeCharacter{03C2}{\ensuremath\varsigma}%
+  \DeclareUnicodeCharacter{03C3}{\ensuremath\sigma}%
+  \DeclareUnicodeCharacter{03C4}{\ensuremath\tau}%
+  \DeclareUnicodeCharacter{03C5}{\ensuremath\upsilon}%
+  \DeclareUnicodeCharacter{03C6}{\ensuremath\phi}%
+  \DeclareUnicodeCharacter{03C7}{\ensuremath\chi}%
+  \DeclareUnicodeCharacter{03C8}{\ensuremath\psi}%
+  \DeclareUnicodeCharacter{03C9}{\ensuremath\omega}%
+  %
+  % More Greek vowels with accents
+  \DeclareUnicodeCharacter{03CA}{\ensuremath{\ddot\iota}}%
+  \DeclareUnicodeCharacter{03CB}{\ensuremath{\ddot\upsilon}}%
+  \DeclareUnicodeCharacter{03CC}{\ensuremath{\acute o}}%
+  \DeclareUnicodeCharacter{03CD}{\ensuremath{\acute\upsilon}}%
+  \DeclareUnicodeCharacter{03CE}{\ensuremath{\acute\omega}}%
+  %
+  % Variant Greek letters
+  \DeclareUnicodeCharacter{03D1}{\ensuremath\vartheta}%
+  \DeclareUnicodeCharacter{03D6}{\ensuremath\varpi}%
+  \DeclareUnicodeCharacter{03F1}{\ensuremath\varrho}%
+  %
+  \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}%
+  \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}%
+  \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}%
+  \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}%
+  \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}%
+  \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}%
+  \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}%
+  \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}%
+  \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}%
+  \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}%
+  \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}%
+  \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}%
+  %
+  \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}%
+  \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}%
+  %
+  \DeclareUnicodeCharacter{1E20}{\=G}%
+  \DeclareUnicodeCharacter{1E21}{\=g}%
+  \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}%
+  \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}%
+  \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}%
+  \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}%
+  \DeclareUnicodeCharacter{1E26}{\"H}%
+  \DeclareUnicodeCharacter{1E27}{\"h}%
+  %
+  \DeclareUnicodeCharacter{1E30}{\'K}%
+  \DeclareUnicodeCharacter{1E31}{\'k}%
+  \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}%
+  \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}%
+  \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}%
+  \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}%
+  \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}%
+  \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}%
+  \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}%
+  \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}%
+  \DeclareUnicodeCharacter{1E3E}{\'M}%
+  \DeclareUnicodeCharacter{1E3F}{\'m}%
+  %
+  \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}%
+  \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}%
+  \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}%
+  \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}%
+  \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}%
+  \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}%
+  \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}%
+  \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}%
+  \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}%
+  \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}%
+  %
+  \DeclareUnicodeCharacter{1E54}{\'P}%
+  \DeclareUnicodeCharacter{1E55}{\'p}%
+  \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}%
+  \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}%
+  \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}%
+  \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}%
+  \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}%
+  \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}%
+  \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}%
+  \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}%
+  %
+  \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}%
+  \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}%
+  \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}%
+  \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}%
+  \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}%
+  \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}%
+  \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}%
+  \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}%
+  \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}%
+  \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}%
+  %
+  \DeclareUnicodeCharacter{1E7C}{\~V}%
+  \DeclareUnicodeCharacter{1E7D}{\~v}%
+  \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}%
+  \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}%
+  %
+  \DeclareUnicodeCharacter{1E80}{\`W}%
+  \DeclareUnicodeCharacter{1E81}{\`w}%
+  \DeclareUnicodeCharacter{1E82}{\'W}%
+  \DeclareUnicodeCharacter{1E83}{\'w}%
+  \DeclareUnicodeCharacter{1E84}{\"W}%
+  \DeclareUnicodeCharacter{1E85}{\"w}%
+  \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}%
+  \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}%
+  \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}%
+  \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}%
+  \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}%
+  \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}%
+  \DeclareUnicodeCharacter{1E8C}{\"X}%
+  \DeclareUnicodeCharacter{1E8D}{\"x}%
+  \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}%
+  \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}%
+  %
+  \DeclareUnicodeCharacter{1E90}{\^Z}%
+  \DeclareUnicodeCharacter{1E91}{\^z}%
+  \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}%
+  \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}%
+  \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}%
+  \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}%
+  \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}%
+  \DeclareUnicodeCharacter{1E97}{\"t}%
+  \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}%
+  \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}%
+  %
+  \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}%
+  \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}%
+  %
+  \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}%
+  \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}%
+  \DeclareUnicodeCharacter{1EBC}{\~E}%
+  \DeclareUnicodeCharacter{1EBD}{\~e}%
+  %
+  \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}%
+  \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}%
+  \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}%
+  \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}%
+  %
+  \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}%
+  \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}%
+  %
+  \DeclareUnicodeCharacter{1EF2}{\`Y}%
+  \DeclareUnicodeCharacter{1EF3}{\`y}%
+  \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}%
+  %
+  \DeclareUnicodeCharacter{1EF8}{\~Y}%
+  \DeclareUnicodeCharacter{1EF9}{\~y}%
+  %
+  % Punctuation
+  \DeclareUnicodeCharacter{2013}{--}%
+  \DeclareUnicodeCharacter{2014}{---}%
+  \DeclareUnicodeCharacter{2018}{\quoteleft{}}%
+  \DeclareUnicodeCharacter{2019}{\quoteright{}}%
+  \DeclareUnicodeCharacter{201A}{\quotesinglbase{}}%
+  \DeclareUnicodeCharacter{201C}{\quotedblleft{}}%
+  \DeclareUnicodeCharacter{201D}{\quotedblright{}}%
+  \DeclareUnicodeCharacter{201E}{\quotedblbase{}}%
+  \DeclareUnicodeCharacter{2020}{\ensuremath\dagger}%
+  \DeclareUnicodeCharacter{2021}{\ensuremath\ddagger}%
+  \DeclareUnicodeCharacter{2022}{\bullet{}}%
+  \DeclareUnicodeCharacter{202F}{\thinspace}%
+  \DeclareUnicodeCharacter{2026}{\dots{}}%
+  \DeclareUnicodeCharacter{2039}{\guilsinglleft{}}%
+  \DeclareUnicodeCharacter{203A}{\guilsinglright{}}%
+  %
+  \DeclareUnicodeCharacter{20AC}{\euro{}}%
+  %
+  \DeclareUnicodeCharacter{2192}{\expansion{}}%
+  \DeclareUnicodeCharacter{21D2}{\result{}}%
+  %
+  % Mathematical symbols
+  \DeclareUnicodeCharacter{2200}{\ensuremath\forall}%
+  \DeclareUnicodeCharacter{2203}{\ensuremath\exists}%
+  \DeclareUnicodeCharacter{2208}{\ensuremath\in}%
+  \DeclareUnicodeCharacter{2212}{\minus{}}%
+  \DeclareUnicodeCharacter{2217}{\ast}%
+  \DeclareUnicodeCharacter{221E}{\ensuremath\infty}%
+  \DeclareUnicodeCharacter{2225}{\ensuremath\parallel}%
+  \DeclareUnicodeCharacter{2227}{\ensuremath\wedge}%
+  \DeclareUnicodeCharacter{2229}{\ensuremath\cap}%
+  \DeclareUnicodeCharacter{2261}{\equiv{}}%
+  \DeclareUnicodeCharacter{2264}{\ensuremath\leq}%
+  \DeclareUnicodeCharacter{2265}{\ensuremath\geq}%
+  \DeclareUnicodeCharacter{2282}{\ensuremath\subset}%
+  \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}%
+  %
+  \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}%
+  \DeclareUnicodeCharacter{2032}{\ensuremath\prime}%
+  \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}%
+  \DeclareUnicodeCharacter{2111}{\ensuremath\Im}%
+  \DeclareUnicodeCharacter{2113}{\ensuremath\ell}%
+  \DeclareUnicodeCharacter{2118}{\ensuremath\wp}%
+  \DeclareUnicodeCharacter{211C}{\ensuremath\Re}%
+  \DeclareUnicodeCharacter{2135}{\ensuremath\aleph}%
+  \DeclareUnicodeCharacter{2190}{\ensuremath\leftarrow}%
+  \DeclareUnicodeCharacter{2191}{\ensuremath\uparrow}%
+  \DeclareUnicodeCharacter{2193}{\ensuremath\downarrow}%
+  \DeclareUnicodeCharacter{2194}{\ensuremath\leftrightarrow}%
+  \DeclareUnicodeCharacter{2195}{\ensuremath\updownarrow}%
+  \DeclareUnicodeCharacter{2196}{\ensuremath\nwarrow}%
+  \DeclareUnicodeCharacter{2197}{\ensuremath\nearrow}%
+  \DeclareUnicodeCharacter{2198}{\ensuremath\searrow}%
+  \DeclareUnicodeCharacter{2199}{\ensuremath\swarrow}%
+  \DeclareUnicodeCharacter{21A6}{\ensuremath\mapsto}%
+  \DeclareUnicodeCharacter{21A9}{\ensuremath\hookleftarrow}%
+  \DeclareUnicodeCharacter{21AA}{\ensuremath\hookrightarrow}%
+  \DeclareUnicodeCharacter{21BC}{\ensuremath\leftharpoonup}%
+  \DeclareUnicodeCharacter{21BD}{\ensuremath\leftharpoondown}%
+  \DeclareUnicodeCharacter{21C0}{\ensuremath\rightharpoonup}%
+  \DeclareUnicodeCharacter{21C1}{\ensuremath\rightharpoondown}%
+  \DeclareUnicodeCharacter{21CC}{\ensuremath\rightleftharpoons}%
+  \DeclareUnicodeCharacter{21D0}{\ensuremath\Leftarrow}%
+  \DeclareUnicodeCharacter{21D1}{\ensuremath\Uparrow}%
+  \DeclareUnicodeCharacter{21D3}{\ensuremath\Downarrow}%
+  \DeclareUnicodeCharacter{21D4}{\ensuremath\Leftrightarrow}%
+  \DeclareUnicodeCharacter{21D5}{\ensuremath\Updownarrow}%
+  \DeclareUnicodeCharacter{2202}{\ensuremath\partial}%
+  \DeclareUnicodeCharacter{2205}{\ensuremath\emptyset}%
+  \DeclareUnicodeCharacter{2207}{\ensuremath\nabla}%
+  \DeclareUnicodeCharacter{2209}{\ensuremath\notin}%
+  \DeclareUnicodeCharacter{220B}{\ensuremath\owns}%
+  \DeclareUnicodeCharacter{220F}{\ensuremath\prod}%
+  \DeclareUnicodeCharacter{2210}{\ensuremath\coprod}%
+  \DeclareUnicodeCharacter{2211}{\ensuremath\sum}%
+  \DeclareUnicodeCharacter{2213}{\ensuremath\mp}%
+  \DeclareUnicodeCharacter{2218}{\ensuremath\circ}%
+  \DeclareUnicodeCharacter{221A}{\ensuremath\surd}%
+  \DeclareUnicodeCharacter{221D}{\ensuremath\propto}%
+  \DeclareUnicodeCharacter{2220}{\ensuremath\angle}%
+  \DeclareUnicodeCharacter{2223}{\ensuremath\mid}%
+  \DeclareUnicodeCharacter{2228}{\ensuremath\vee}%
+  \DeclareUnicodeCharacter{222A}{\ensuremath\cup}%
+  \DeclareUnicodeCharacter{222B}{\ensuremath\smallint}%
+  \DeclareUnicodeCharacter{222E}{\ensuremath\oint}%
+  \DeclareUnicodeCharacter{223C}{\ensuremath\sim}%
+  \DeclareUnicodeCharacter{2240}{\ensuremath\wr}%
+  \DeclareUnicodeCharacter{2243}{\ensuremath\simeq}%
+  \DeclareUnicodeCharacter{2245}{\ensuremath\cong}%
+  \DeclareUnicodeCharacter{2248}{\ensuremath\approx}%
+  \DeclareUnicodeCharacter{224D}{\ensuremath\asymp}%
+  \DeclareUnicodeCharacter{2250}{\ensuremath\doteq}%
+  \DeclareUnicodeCharacter{2260}{\ensuremath\neq}%
+  \DeclareUnicodeCharacter{226A}{\ensuremath\ll}%
+  \DeclareUnicodeCharacter{226B}{\ensuremath\gg}%
+  \DeclareUnicodeCharacter{227A}{\ensuremath\prec}%
+  \DeclareUnicodeCharacter{227B}{\ensuremath\succ}%
+  \DeclareUnicodeCharacter{2283}{\ensuremath\supset}%
+  \DeclareUnicodeCharacter{2286}{\ensuremath\subseteq}%
+  \DeclareUnicodeCharacter{228E}{\ensuremath\uplus}%
+  \DeclareUnicodeCharacter{2291}{\ensuremath\sqsubseteq}%
+  \DeclareUnicodeCharacter{2292}{\ensuremath\sqsupseteq}%
+  \DeclareUnicodeCharacter{2293}{\ensuremath\sqcap}%
+  \DeclareUnicodeCharacter{2294}{\ensuremath\sqcup}%
+  \DeclareUnicodeCharacter{2295}{\ensuremath\oplus}%
+  \DeclareUnicodeCharacter{2296}{\ensuremath\ominus}%
+  \DeclareUnicodeCharacter{2297}{\ensuremath\otimes}%
+  \DeclareUnicodeCharacter{2298}{\ensuremath\oslash}%
+  \DeclareUnicodeCharacter{2299}{\ensuremath\odot}%
+  \DeclareUnicodeCharacter{22A2}{\ensuremath\vdash}%
+  \DeclareUnicodeCharacter{22A3}{\ensuremath\dashv}%
+  \DeclareUnicodeCharacter{22A4}{\ensuremath\ptextop}%
+  \DeclareUnicodeCharacter{22A5}{\ensuremath\bot}%
+  \DeclareUnicodeCharacter{22A8}{\ensuremath\models}%
+  \DeclareUnicodeCharacter{22C0}{\ensuremath\bigwedge}%
+  \DeclareUnicodeCharacter{22C1}{\ensuremath\bigvee}%
+  \DeclareUnicodeCharacter{22C2}{\ensuremath\bigcap}%
+  \DeclareUnicodeCharacter{22C3}{\ensuremath\bigcup}%
+  \DeclareUnicodeCharacter{22C4}{\ensuremath\diamond}%
+  \DeclareUnicodeCharacter{22C5}{\ensuremath\cdot}%
+  \DeclareUnicodeCharacter{22C6}{\ensuremath\star}%
+  \DeclareUnicodeCharacter{22C8}{\ensuremath\bowtie}%
+  \DeclareUnicodeCharacter{2308}{\ensuremath\lceil}%
+  \DeclareUnicodeCharacter{2309}{\ensuremath\rceil}%
+  \DeclareUnicodeCharacter{230A}{\ensuremath\lfloor}%
+  \DeclareUnicodeCharacter{230B}{\ensuremath\rfloor}%
+  \DeclareUnicodeCharacter{2322}{\ensuremath\frown}%
+  \DeclareUnicodeCharacter{2323}{\ensuremath\smile}%
+  %
+  \DeclareUnicodeCharacter{25B3}{\ensuremath\triangle}%
+  \DeclareUnicodeCharacter{25B7}{\ensuremath\triangleright}%
+  \DeclareUnicodeCharacter{25BD}{\ensuremath\bigtriangledown}%
+  \DeclareUnicodeCharacter{25C1}{\ensuremath\triangleleft}%
+  \DeclareUnicodeCharacter{25C7}{\ensuremath\diamond}%
+  \DeclareUnicodeCharacter{2660}{\ensuremath\spadesuit}%
+  \DeclareUnicodeCharacter{2661}{\ensuremath\heartsuit}%
+  \DeclareUnicodeCharacter{2662}{\ensuremath\diamondsuit}%
+  \DeclareUnicodeCharacter{2663}{\ensuremath\clubsuit}%
+  \DeclareUnicodeCharacter{266D}{\ensuremath\flat}%
+  \DeclareUnicodeCharacter{266E}{\ensuremath\natural}%
+  \DeclareUnicodeCharacter{266F}{\ensuremath\sharp}%
+  \DeclareUnicodeCharacter{26AA}{\ensuremath\bigcirc}%
+  \DeclareUnicodeCharacter{27B9}{\ensuremath\rangle}%
+  \DeclareUnicodeCharacter{27C2}{\ensuremath\perp}%
+  \DeclareUnicodeCharacter{27E8}{\ensuremath\langle}%
+  \DeclareUnicodeCharacter{27F5}{\ensuremath\longleftarrow}%
+  \DeclareUnicodeCharacter{27F6}{\ensuremath\longrightarrow}%
+  \DeclareUnicodeCharacter{27F7}{\ensuremath\longleftrightarrow}%
+  \DeclareUnicodeCharacter{27FC}{\ensuremath\longmapsto}%
+  \DeclareUnicodeCharacter{29F5}{\ensuremath\setminus}%
+  \DeclareUnicodeCharacter{2A00}{\ensuremath\bigodot}%
+  \DeclareUnicodeCharacter{2A01}{\ensuremath\bigoplus}%
+  \DeclareUnicodeCharacter{2A02}{\ensuremath\bigotimes}%
+  \DeclareUnicodeCharacter{2A04}{\ensuremath\biguplus}%
+  \DeclareUnicodeCharacter{2A06}{\ensuremath\bigsqcup}%
+  \DeclareUnicodeCharacter{2A3F}{\ensuremath\amalg}%
+  \DeclareUnicodeCharacter{2AAF}{\ensuremath\preceq}%
+  \DeclareUnicodeCharacter{2AB0}{\ensuremath\succeq}%
+  %
+  \global\mathchardef\checkmark="1370% actually the square root sign
+  \DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}%
+}% end of \unicodechardefs
+
+% UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command)
+% It makes the setting that replace UTF-8 byte sequence.
 \def\utfeightchardefs{%
-  \DeclareUnicodeCharacter{00A0}{\tie}
-  \DeclareUnicodeCharacter{00A1}{\exclamdown}
-  \DeclareUnicodeCharacter{00A3}{\pounds}
-  \DeclareUnicodeCharacter{00A8}{\"{ }}
-  \DeclareUnicodeCharacter{00A9}{\copyright}
-  \DeclareUnicodeCharacter{00AA}{\ordf}
-  \DeclareUnicodeCharacter{00AB}{\guillemetleft}
-  \DeclareUnicodeCharacter{00AD}{\-}
-  \DeclareUnicodeCharacter{00AE}{\registeredsymbol}
-  \DeclareUnicodeCharacter{00AF}{\={ }}
-
-  \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}
-  \DeclareUnicodeCharacter{00B4}{\'{ }}
-  \DeclareUnicodeCharacter{00B8}{\cedilla{ }}
-  \DeclareUnicodeCharacter{00BA}{\ordm}
-  \DeclareUnicodeCharacter{00BB}{\guillemetright}
-  \DeclareUnicodeCharacter{00BF}{\questiondown}
-
-  \DeclareUnicodeCharacter{00C0}{\`A}
-  \DeclareUnicodeCharacter{00C1}{\'A}
-  \DeclareUnicodeCharacter{00C2}{\^A}
-  \DeclareUnicodeCharacter{00C3}{\~A}
-  \DeclareUnicodeCharacter{00C4}{\"A}
-  \DeclareUnicodeCharacter{00C5}{\AA}
-  \DeclareUnicodeCharacter{00C6}{\AE}
-  \DeclareUnicodeCharacter{00C7}{\cedilla{C}}
-  \DeclareUnicodeCharacter{00C8}{\`E}
-  \DeclareUnicodeCharacter{00C9}{\'E}
-  \DeclareUnicodeCharacter{00CA}{\^E}
-  \DeclareUnicodeCharacter{00CB}{\"E}
-  \DeclareUnicodeCharacter{00CC}{\`I}
-  \DeclareUnicodeCharacter{00CD}{\'I}
-  \DeclareUnicodeCharacter{00CE}{\^I}
-  \DeclareUnicodeCharacter{00CF}{\"I}
-
-  \DeclareUnicodeCharacter{00D0}{\DH}
-  \DeclareUnicodeCharacter{00D1}{\~N}
-  \DeclareUnicodeCharacter{00D2}{\`O}
-  \DeclareUnicodeCharacter{00D3}{\'O}
-  \DeclareUnicodeCharacter{00D4}{\^O}
-  \DeclareUnicodeCharacter{00D5}{\~O}
-  \DeclareUnicodeCharacter{00D6}{\"O}
-  \DeclareUnicodeCharacter{00D8}{\O}
-  \DeclareUnicodeCharacter{00D9}{\`U}
-  \DeclareUnicodeCharacter{00DA}{\'U}
-  \DeclareUnicodeCharacter{00DB}{\^U}
-  \DeclareUnicodeCharacter{00DC}{\"U}
-  \DeclareUnicodeCharacter{00DD}{\'Y}
-  \DeclareUnicodeCharacter{00DE}{\TH}
-  \DeclareUnicodeCharacter{00DF}{\ss}
-
-  \DeclareUnicodeCharacter{00E0}{\`a}
-  \DeclareUnicodeCharacter{00E1}{\'a}
-  \DeclareUnicodeCharacter{00E2}{\^a}
-  \DeclareUnicodeCharacter{00E3}{\~a}
-  \DeclareUnicodeCharacter{00E4}{\"a}
-  \DeclareUnicodeCharacter{00E5}{\aa}
-  \DeclareUnicodeCharacter{00E6}{\ae}
-  \DeclareUnicodeCharacter{00E7}{\cedilla{c}}
-  \DeclareUnicodeCharacter{00E8}{\`e}
-  \DeclareUnicodeCharacter{00E9}{\'e}
-  \DeclareUnicodeCharacter{00EA}{\^e}
-  \DeclareUnicodeCharacter{00EB}{\"e}
-  \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}
-  \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}
-  \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}
-  \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}
-
-  \DeclareUnicodeCharacter{00F0}{\dh}
-  \DeclareUnicodeCharacter{00F1}{\~n}
-  \DeclareUnicodeCharacter{00F2}{\`o}
-  \DeclareUnicodeCharacter{00F3}{\'o}
-  \DeclareUnicodeCharacter{00F4}{\^o}
-  \DeclareUnicodeCharacter{00F5}{\~o}
-  \DeclareUnicodeCharacter{00F6}{\"o}
-  \DeclareUnicodeCharacter{00F8}{\o}
-  \DeclareUnicodeCharacter{00F9}{\`u}
-  \DeclareUnicodeCharacter{00FA}{\'u}
-  \DeclareUnicodeCharacter{00FB}{\^u}
-  \DeclareUnicodeCharacter{00FC}{\"u}
-  \DeclareUnicodeCharacter{00FD}{\'y}
-  \DeclareUnicodeCharacter{00FE}{\th}
-  \DeclareUnicodeCharacter{00FF}{\"y}
-
-  \DeclareUnicodeCharacter{0100}{\=A}
-  \DeclareUnicodeCharacter{0101}{\=a}
-  \DeclareUnicodeCharacter{0102}{\u{A}}
-  \DeclareUnicodeCharacter{0103}{\u{a}}
-  \DeclareUnicodeCharacter{0104}{\ogonek{A}}
-  \DeclareUnicodeCharacter{0105}{\ogonek{a}}
-  \DeclareUnicodeCharacter{0106}{\'C}
-  \DeclareUnicodeCharacter{0107}{\'c}
-  \DeclareUnicodeCharacter{0108}{\^C}
-  \DeclareUnicodeCharacter{0109}{\^c}
-  \DeclareUnicodeCharacter{0118}{\ogonek{E}}
-  \DeclareUnicodeCharacter{0119}{\ogonek{e}}
-  \DeclareUnicodeCharacter{010A}{\dotaccent{C}}
-  \DeclareUnicodeCharacter{010B}{\dotaccent{c}}
-  \DeclareUnicodeCharacter{010C}{\v{C}}
-  \DeclareUnicodeCharacter{010D}{\v{c}}
-  \DeclareUnicodeCharacter{010E}{\v{D}}
-
-  \DeclareUnicodeCharacter{0112}{\=E}
-  \DeclareUnicodeCharacter{0113}{\=e}
-  \DeclareUnicodeCharacter{0114}{\u{E}}
-  \DeclareUnicodeCharacter{0115}{\u{e}}
-  \DeclareUnicodeCharacter{0116}{\dotaccent{E}}
-  \DeclareUnicodeCharacter{0117}{\dotaccent{e}}
-  \DeclareUnicodeCharacter{011A}{\v{E}}
-  \DeclareUnicodeCharacter{011B}{\v{e}}
-  \DeclareUnicodeCharacter{011C}{\^G}
-  \DeclareUnicodeCharacter{011D}{\^g}
-  \DeclareUnicodeCharacter{011E}{\u{G}}
-  \DeclareUnicodeCharacter{011F}{\u{g}}
-
-  \DeclareUnicodeCharacter{0120}{\dotaccent{G}}
-  \DeclareUnicodeCharacter{0121}{\dotaccent{g}}
-  \DeclareUnicodeCharacter{0124}{\^H}
-  \DeclareUnicodeCharacter{0125}{\^h}
-  \DeclareUnicodeCharacter{0128}{\~I}
-  \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}
-  \DeclareUnicodeCharacter{012A}{\=I}
-  \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}
-  \DeclareUnicodeCharacter{012C}{\u{I}}
-  \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}
-
-  \DeclareUnicodeCharacter{0130}{\dotaccent{I}}
-  \DeclareUnicodeCharacter{0131}{\dotless{i}}
-  \DeclareUnicodeCharacter{0132}{IJ}
-  \DeclareUnicodeCharacter{0133}{ij}
-  \DeclareUnicodeCharacter{0134}{\^J}
-  \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}
-  \DeclareUnicodeCharacter{0139}{\'L}
-  \DeclareUnicodeCharacter{013A}{\'l}
-
-  \DeclareUnicodeCharacter{0141}{\L}
-  \DeclareUnicodeCharacter{0142}{\l}
-  \DeclareUnicodeCharacter{0143}{\'N}
-  \DeclareUnicodeCharacter{0144}{\'n}
-  \DeclareUnicodeCharacter{0147}{\v{N}}
-  \DeclareUnicodeCharacter{0148}{\v{n}}
-  \DeclareUnicodeCharacter{014C}{\=O}
-  \DeclareUnicodeCharacter{014D}{\=o}
-  \DeclareUnicodeCharacter{014E}{\u{O}}
-  \DeclareUnicodeCharacter{014F}{\u{o}}
-
-  \DeclareUnicodeCharacter{0150}{\H{O}}
-  \DeclareUnicodeCharacter{0151}{\H{o}}
-  \DeclareUnicodeCharacter{0152}{\OE}
-  \DeclareUnicodeCharacter{0153}{\oe}
-  \DeclareUnicodeCharacter{0154}{\'R}
-  \DeclareUnicodeCharacter{0155}{\'r}
-  \DeclareUnicodeCharacter{0158}{\v{R}}
-  \DeclareUnicodeCharacter{0159}{\v{r}}
-  \DeclareUnicodeCharacter{015A}{\'S}
-  \DeclareUnicodeCharacter{015B}{\'s}
-  \DeclareUnicodeCharacter{015C}{\^S}
-  \DeclareUnicodeCharacter{015D}{\^s}
-  \DeclareUnicodeCharacter{015E}{\cedilla{S}}
-  \DeclareUnicodeCharacter{015F}{\cedilla{s}}
-
-  \DeclareUnicodeCharacter{0160}{\v{S}}
-  \DeclareUnicodeCharacter{0161}{\v{s}}
-  \DeclareUnicodeCharacter{0162}{\cedilla{t}}
-  \DeclareUnicodeCharacter{0163}{\cedilla{T}}
-  \DeclareUnicodeCharacter{0164}{\v{T}}
-
-  \DeclareUnicodeCharacter{0168}{\~U}
-  \DeclareUnicodeCharacter{0169}{\~u}
-  \DeclareUnicodeCharacter{016A}{\=U}
-  \DeclareUnicodeCharacter{016B}{\=u}
-  \DeclareUnicodeCharacter{016C}{\u{U}}
-  \DeclareUnicodeCharacter{016D}{\u{u}}
-  \DeclareUnicodeCharacter{016E}{\ringaccent{U}}
-  \DeclareUnicodeCharacter{016F}{\ringaccent{u}}
-
-  \DeclareUnicodeCharacter{0170}{\H{U}}
-  \DeclareUnicodeCharacter{0171}{\H{u}}
-  \DeclareUnicodeCharacter{0174}{\^W}
-  \DeclareUnicodeCharacter{0175}{\^w}
-  \DeclareUnicodeCharacter{0176}{\^Y}
-  \DeclareUnicodeCharacter{0177}{\^y}
-  \DeclareUnicodeCharacter{0178}{\"Y}
-  \DeclareUnicodeCharacter{0179}{\'Z}
-  \DeclareUnicodeCharacter{017A}{\'z}
-  \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}
-  \DeclareUnicodeCharacter{017C}{\dotaccent{z}}
-  \DeclareUnicodeCharacter{017D}{\v{Z}}
-  \DeclareUnicodeCharacter{017E}{\v{z}}
-
-  \DeclareUnicodeCharacter{01C4}{D\v{Z}}
-  \DeclareUnicodeCharacter{01C5}{D\v{z}}
-  \DeclareUnicodeCharacter{01C6}{d\v{z}}
-  \DeclareUnicodeCharacter{01C7}{LJ}
-  \DeclareUnicodeCharacter{01C8}{Lj}
-  \DeclareUnicodeCharacter{01C9}{lj}
-  \DeclareUnicodeCharacter{01CA}{NJ}
-  \DeclareUnicodeCharacter{01CB}{Nj}
-  \DeclareUnicodeCharacter{01CC}{nj}
-  \DeclareUnicodeCharacter{01CD}{\v{A}}
-  \DeclareUnicodeCharacter{01CE}{\v{a}}
-  \DeclareUnicodeCharacter{01CF}{\v{I}}
-
-  \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}
-  \DeclareUnicodeCharacter{01D1}{\v{O}}
-  \DeclareUnicodeCharacter{01D2}{\v{o}}
-  \DeclareUnicodeCharacter{01D3}{\v{U}}
-  \DeclareUnicodeCharacter{01D4}{\v{u}}
-
-  \DeclareUnicodeCharacter{01E2}{\={\AE}}
-  \DeclareUnicodeCharacter{01E3}{\={\ae}}
-  \DeclareUnicodeCharacter{01E6}{\v{G}}
-  \DeclareUnicodeCharacter{01E7}{\v{g}}
-  \DeclareUnicodeCharacter{01E8}{\v{K}}
-  \DeclareUnicodeCharacter{01E9}{\v{k}}
-
-  \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}
-  \DeclareUnicodeCharacter{01F1}{DZ}
-  \DeclareUnicodeCharacter{01F2}{Dz}
-  \DeclareUnicodeCharacter{01F3}{dz}
-  \DeclareUnicodeCharacter{01F4}{\'G}
-  \DeclareUnicodeCharacter{01F5}{\'g}
-  \DeclareUnicodeCharacter{01F8}{\`N}
-  \DeclareUnicodeCharacter{01F9}{\`n}
-  \DeclareUnicodeCharacter{01FC}{\'{\AE}}
-  \DeclareUnicodeCharacter{01FD}{\'{\ae}}
-  \DeclareUnicodeCharacter{01FE}{\'{\O}}
-  \DeclareUnicodeCharacter{01FF}{\'{\o}}
-
-  \DeclareUnicodeCharacter{021E}{\v{H}}
-  \DeclareUnicodeCharacter{021F}{\v{h}}
-
-  \DeclareUnicodeCharacter{0226}{\dotaccent{A}}
-  \DeclareUnicodeCharacter{0227}{\dotaccent{a}}
-  \DeclareUnicodeCharacter{0228}{\cedilla{E}}
-  \DeclareUnicodeCharacter{0229}{\cedilla{e}}
-  \DeclareUnicodeCharacter{022E}{\dotaccent{O}}
-  \DeclareUnicodeCharacter{022F}{\dotaccent{o}}
-
-  \DeclareUnicodeCharacter{0232}{\=Y}
-  \DeclareUnicodeCharacter{0233}{\=y}
-  \DeclareUnicodeCharacter{0237}{\dotless{j}}
-
-  \DeclareUnicodeCharacter{02DB}{\ogonek{ }}
-
-  \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}
-  \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}
-  \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}
-  \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}
-  \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}
-  \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}
-  \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}
-  \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}
-  \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}
-  \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}
-  \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}
-  \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}
-
-  \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}
-  \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}
-
-  \DeclareUnicodeCharacter{1E20}{\=G}
-  \DeclareUnicodeCharacter{1E21}{\=g}
-  \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}
-  \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}
-  \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}
-  \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}
-  \DeclareUnicodeCharacter{1E26}{\"H}
-  \DeclareUnicodeCharacter{1E27}{\"h}
-
-  \DeclareUnicodeCharacter{1E30}{\'K}
-  \DeclareUnicodeCharacter{1E31}{\'k}
-  \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}
-  \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}
-  \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}
-  \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}
-  \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}
-  \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}
-  \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}
-  \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}
-  \DeclareUnicodeCharacter{1E3E}{\'M}
-  \DeclareUnicodeCharacter{1E3F}{\'m}
-
-  \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}
-  \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}
-  \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}
-  \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}
-  \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}
-  \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}
-  \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}
-  \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}
-  \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}
-  \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}
-
-  \DeclareUnicodeCharacter{1E54}{\'P}
-  \DeclareUnicodeCharacter{1E55}{\'p}
-  \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}
-  \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}
-  \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}
-  \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}
-  \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}
-  \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}
-  \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}
-  \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}
-
-  \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}
-  \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}
-  \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}
-  \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}
-  \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}
-  \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}
-  \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}
-  \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}
-  \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}
-  \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}
-
-  \DeclareUnicodeCharacter{1E7C}{\~V}
-  \DeclareUnicodeCharacter{1E7D}{\~v}
-  \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}
-  \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}
-
-  \DeclareUnicodeCharacter{1E80}{\`W}
-  \DeclareUnicodeCharacter{1E81}{\`w}
-  \DeclareUnicodeCharacter{1E82}{\'W}
-  \DeclareUnicodeCharacter{1E83}{\'w}
-  \DeclareUnicodeCharacter{1E84}{\"W}
-  \DeclareUnicodeCharacter{1E85}{\"w}
-  \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}
-  \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}
-  \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}
-  \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}
-  \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}
-  \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}
-  \DeclareUnicodeCharacter{1E8C}{\"X}
-  \DeclareUnicodeCharacter{1E8D}{\"x}
-  \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}
-  \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}
-
-  \DeclareUnicodeCharacter{1E90}{\^Z}
-  \DeclareUnicodeCharacter{1E91}{\^z}
-  \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}
-  \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}
-  \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}
-  \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}
-  \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}
-  \DeclareUnicodeCharacter{1E97}{\"t}
-  \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}
-  \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}
-
-  \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}
-  \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}
-
-  \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}
-  \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}
-  \DeclareUnicodeCharacter{1EBC}{\~E}
-  \DeclareUnicodeCharacter{1EBD}{\~e}
-
-  \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}
-  \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}
-  \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}
-  \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}
-
-  \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}
-  \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}
-
-  \DeclareUnicodeCharacter{1EF2}{\`Y}
-  \DeclareUnicodeCharacter{1EF3}{\`y}
-  \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}
-
-  \DeclareUnicodeCharacter{1EF8}{\~Y}
-  \DeclareUnicodeCharacter{1EF9}{\~y}
-
-  \DeclareUnicodeCharacter{2013}{--}
-  \DeclareUnicodeCharacter{2014}{---}
-  \DeclareUnicodeCharacter{2018}{\quoteleft}
-  \DeclareUnicodeCharacter{2019}{\quoteright}
-  \DeclareUnicodeCharacter{201A}{\quotesinglbase}
-  \DeclareUnicodeCharacter{201C}{\quotedblleft}
-  \DeclareUnicodeCharacter{201D}{\quotedblright}
-  \DeclareUnicodeCharacter{201E}{\quotedblbase}
-  \DeclareUnicodeCharacter{2022}{\bullet}
-  \DeclareUnicodeCharacter{2026}{\dots}
-  \DeclareUnicodeCharacter{2039}{\guilsinglleft}
-  \DeclareUnicodeCharacter{203A}{\guilsinglright}
-  \DeclareUnicodeCharacter{20AC}{\euro}
-
-  \DeclareUnicodeCharacter{2192}{\expansion}
-  \DeclareUnicodeCharacter{21D2}{\result}
-
-  \DeclareUnicodeCharacter{2212}{\minus}
-  \DeclareUnicodeCharacter{2217}{\point}
-  \DeclareUnicodeCharacter{2261}{\equiv}
-}% end of \utfeightchardefs
+  \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterUTFviii
+  \unicodechardefs
+}
+
+% Whether the active definitions of non-ASCII characters expand to
+% non-active tokens with the same character code.  This is used to
+% write characters literally, instead of using active definitions for
+% printing the correct glyphs.
+\newif\ifpassthroughchars
+\passthroughcharsfalse
+
+% For native Unicode handling (XeTeX and LuaTeX),
+% provide a definition macro to replace/pass-through a Unicode character
+%
+\def\DeclareUnicodeCharacterNative#1#2{%
+  \catcode"#1=\active
+  \def\dodeclareunicodecharacternative##1##2##3{%
+    \begingroup
+      \uccode`\~="##2\relax
+      \uppercase{\gdef~}{%
+        \ifpassthroughchars
+          ##1%
+        \else
+          ##3%
+        \fi
+      }
+    \endgroup
+  }
+  \begingroup
+    \uccode`\.="#1\relax
+    \uppercase{\def\UTFNativeTmp{.}}%
+    \expandafter\dodeclareunicodecharacternative\UTFNativeTmp{#1}{#2}%
+  \endgroup
+}
+
+% Native Unicode handling (XeTeX and LuaTeX) character replacing definition.
+% It activates the setting that replaces Unicode characters.
+\def\nativeunicodechardefs{%
+  \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNative
+  \unicodechardefs
+}
+
+% For native Unicode handling (XeTeX and LuaTeX),
+% make the character token expand
+% to the sequences given in \unicodechardefs for printing.
+\def\DeclareUnicodeCharacterNativeAtU#1#2{%
+  \def\UTFAtUTmp{#2}
+  \expandafter\globallet\csname uni:#1\endcsname \UTFAtUTmp
+}
 
+% @U command definitions for native Unicode handling (XeTeX and LuaTeX).
+\def\nativeunicodechardefsatu{%
+  \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNativeAtU
+  \unicodechardefs
+}
 
 % US-ASCII character definitions.
 \def\asciichardefs{% nothing need be done
    \relax
 }
 
-% Make non-ASCII characters printable again for compatibility with
-% existing Texinfo documents that may use them, even without declaring a
-% document encoding.
-%
-\setnonasciicharscatcode \other
-
+% 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
 
 \message{formatting,}
 
@@ -9795,12 +11191,12 @@ directory should work if nowhere else does.}
   \advance\vsize by \topskip
   \outervsize = \vsize
   \advance\outervsize by 2\topandbottommargin
-  \pageheight = \vsize
+  \txipageheight = \vsize
   %
   \hsize = #2\relax
   \outerhsize = \hsize
   \advance\outerhsize by 0.5in
-  \pagewidth = \hsize
+  \txipagewidth = \hsize
   %
   \normaloffset = #4\relax
   \bindingoffset = #5\relax
@@ -9812,6 +11208,14 @@ directory should work if nowhere else does.}
     % whatever layout pdftex was dumped with.
     \pdfhorigin = 1 true in
     \pdfvorigin = 1 true in
+  \else
+    \ifx\XeTeXrevision\thisisundefined
+      \special{papersize=#8,#7}%
+    \else
+      \pdfpageheight #7\relax
+      \pdfpagewidth #8\relax
+      % XeTeX does not have \pdfhorigin and \pdfvorigin.
+    \fi
   \fi
   %
   \setleading{\textleading}
@@ -9844,7 +11248,6 @@ directory should work if nowhere else does.}
   %
   \lispnarrowing = 0.3in
   \tolerance = 700
-  \hfuzz = 1pt
   \contentsrightmargin = 0pt
   \defbodyindent = .5cm
 }}
@@ -9862,7 +11265,6 @@ directory should work if nowhere else does.}
   %
   \lispnarrowing = 0.25in
   \tolerance = 700
-  \hfuzz = 1pt
   \contentsrightmargin = 0pt
   \defbodyindent = .4cm
 }}
@@ -9888,7 +11290,6 @@ directory should work if nowhere else does.}
                     {297mm}{210mm}%
   %
   \tolerance = 700
-  \hfuzz = 1pt
   \contentsrightmargin = 0pt
   \defbodyindent = 5mm
 }}
@@ -9907,7 +11308,6 @@ directory should work if nowhere else does.}
   %
   \lispnarrowing = 0.2in
   \tolerance = 800
-  \hfuzz = 1.2pt
   \contentsrightmargin = 0pt
   \defbodyindent = 2mm
   \tableindent = 12mm
@@ -9949,9 +11349,11 @@ directory should work if nowhere else does.}
   %
   \dimen0 = #1\relax
   \advance\dimen0 by \voffset
+  \advance\dimen0 by 1in % reference point for DVI is 1 inch from top of page
   %
   \dimen2 = \hsize
   \advance\dimen2 by \normaloffset
+  \advance\dimen2 by 1in % reference point is 1 inch from left edge of page
   %
   \internalpagesizes{#1}{\hsize}%
                     {\voffset}{\normaloffset}%
@@ -9963,6 +11365,9 @@ directory should work if nowhere else does.}
 %
 \letterpaper
 
+% Default value of \hfuzz, for suppressing warnings about overfull hboxes.
+\hfuzz = 1pt
+
 
 \message{and turning on texinfo input format.}
 
@@ -9999,26 +11404,25 @@ directory should work if nowhere else does.}
 % this is not a problem.
 \def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
 
-% Turn off all special characters except @
-% (and those which the user can use as if they were ordinary).
+% Set catcodes for Texinfo file
+
+% Active characters for printing the wanted glyph.
 % Most of these we simply print from the \tt font, but for some, we can
 % use math or other variants that look better in normal text.
-
+%
 \catcode`\"=\active
 \def\activedoublequote{{\tt\char34}}
 \let"=\activedoublequote
 \catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde
-\chardef\hat=`\^
-\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat
+\chardef\hatchar=`\^
+\catcode`\^=\active \def\activehat{{\tt \hatchar}} \let^ = \activehat
 
 \catcode`\_=\active
 \def_{\ifusingtt\normalunderscore\_}
-\let\realunder=_
-% Subroutine for the previous macro.
 \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
+\let\realunder=_
 
-\catcode`\|=\active
-\def|{{\tt\char124}}
+\catcode`\|=\active \def|{{\tt\char124}}
 
 \chardef \less=`\<
 \catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless
@@ -10026,6 +11430,8 @@ directory should work if nowhere else does.}
 \catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr
 \catcode`\+=\active \def+{{\tt \char 43}}
 \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+\catcode`\-=\active \let-=\normaldash
+
 
 % used for headline/footline in the output routine, in case the page
 % breaks in the middle of an @tex block.
@@ -10040,12 +11446,6 @@ directory should work if nowhere else does.}
   % in principle, all other definitions in \tex have to be undone too.
 }
 
-% If a .fmt file is being used, characters that might appear in a file
-% name cannot be active until we have parsed the command line.
-% So turn them off again, and have \everyjob (or @setfilename) turn them on.
-% \otherifyactive is called near the end of this file.
-\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
-
 % Used sometimes to turn off (effectively) the active characters even after
 % parsing them.
 \def\turnoffactive{%
@@ -10058,81 +11458,118 @@ 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 Texinfo, backslash is an active character; it prints the backslash
 % in fixed width font.
 \catcode`\\=\active  % @ for escape char from now on.
 
-% The story here is that in math mode, the \char of \backslashcurfont
-% ends up printing the roman \ from the math symbol font (because \char
-% in math mode uses the \mathcode, and plain.tex sets
-% \mathcode`\\="026E).  It seems better for @backslashchar{} to always
-% print a typewriter backslash, hence we use an explicit \mathchar,
+% Print a typewriter backslash.  For math mode, we can't simply use
+% \backslashcurfont: the story here is that in math mode, the \char
+% of \backslashcurfont ends up printing the roman \ from the math symbol
+% font (because \char in math mode uses the \mathcode, and plain.tex
+% sets \mathcode`\\="026E).  Hence we use an explicit \mathchar,
 % which is the decimal equivalent of "715c (class 7, e.g., use \fam;
 % ignored family value; char position "5C).  We can't use " for the
 % usual hex value because it has already been made active.
-@def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}}
-@let@backslashchar = @normalbackslash % @backslashchar{} is for user documents.
 
-% On startup, @fixbackslash assigns:
-%  @let \ = @normalbackslash
-% \rawbackslash defines an active \ to do \backslashcurfont.
+@def@ttbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}}
+@let@backslashchar = @ttbackslash % @backslashchar{} is for user documents.
+
 % \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
-% the literal character `\'.  Also revert - to its normal character, in
-% case the active - from code has slipped in.
+% the literal character `\'.
 %
 {@catcode`- = @active
  @gdef@normalturnoffactive{%
+   @passthroughcharstrue
    @let-=@normaldash
    @let"=@normaldoublequote
    @let$=@normaldollar %$ font-lock fix
    @let+=@normalplus
    @let<=@normalless
    @let>=@normalgreater
-   @let\=@normalbackslash
    @let^=@normalcaret
    @let_=@normalunderscore
    @let|=@normalverticalbar
    @let~=@normaltilde
+   @let\=@ttbackslash
    @markupsetuplqdefault
    @markupsetuprqdefault
    @unsepspaces
  }
 }
 
-% Make _ and + \other characters, temporarily.
-% This is canceled by @fixbackslash.
-@otherifyactive
+% If a .fmt file is being used, characters that might appear in a file
+% name cannot be active until we have parsed the command line.
+% So turn them off again, and have @fixbackslash turn them back on.
+@catcode`+=@other @catcode`@_=@other
 
+% \enablebackslashhack - allow file to begin `\input texinfo'
+%
 % If a .fmt file is being used, we don't want the `\input texinfo' to show up.
 % That is what \eatinput is for; after that, the `\' should revert to printing
 % a backslash.
-%
-@gdef@eatinput input texinfo{@fixbackslash}
-@global@let\ = @eatinput
+% If the file did not have a `\input texinfo', then it is turned off after
+% the first line; otherwise the first `\' in the file would cause an error.
+% This is used on the very last line of this file, texinfo.tex.
+% We also use @c to call @fixbackslash, in case ends of lines are hidden.
+{
+@catcode`@^=7
+@catcode`@^^M=13@gdef@enablebackslashhack{%
+  @global@let\ = @eatinput%
+  @catcode`@^^M=13%
+  @def@c{@fixbackslash@c}%
+  % Definition for the newline at the end of this file.
+  @def ^^M{@let^^M@secondlinenl}%
+  % Definition for a newline in the main Texinfo file.
+  @gdef @secondlinenl{@fixbackslash}%
+  % In case the first line has a whole-line command on it
+  @let@originalparsearg@parsearg
+  @def@parsearg{@fixbackslash@originalparsearg}
+}}
+
+{@catcode`@^=7 @catcode`@^^M=13%
+@gdef@eatinput input texinfo#1^^M{@fixbackslash}}
+
+% Emergency active definition of newline, in case an active newline token
+% appears by mistake.
+{@catcode`@^=7 @catcode13=13%
+@gdef@enableemergencynewline{%
+  @gdef^^M{%
+    @par%
+    %<warning: active newline>@par%
+}}}
+
 
-% On the other hand, perhaps the file did not have a `\input texinfo'. Then
-% the first `\' in the file would cause an error. This macro tries to fix
-% that, assuming it is called before the first `\' could plausibly occur.
-% Also turn back on active characters that might appear in the input
-% file name, in case not using a pre-dumped format.
-%
 @gdef@fixbackslash{%
-  @ifx\@eatinput @let\ = @normalbackslash @fi
+  @ifx\@eatinput @let\ = @ttbackslash @fi
+  @catcode13=5 % regular end of line
+  @enableemergencynewline
+  @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.
   @catcode`+=@active
   @catcode`@_=@active
+  %
+  % If texinfo.cnf is present on the system, read it.
+  % Useful for site-wide @afourpaper, etc.  This macro, @fixbackslash, gets
+  % called at the beginning of every Texinfo file.  Not opening texinfo.cnf
+  % directly in this file, texinfo.tex, makes it possible to make a format
+  % file for Texinfo.
+  %
+  @openin 1 texinfo.cnf
+  @ifeof 1 @else @input texinfo.cnf @fi
+  @closein 1
 }
 
+
 % Say @foo, not \foo, in error messages.
 @escapechar = `@@
 
@@ -10160,8 +11597,8 @@ directory should work if nowhere else does.}
 @markupsetuprqdefault
 
 @c Local variables:
-@c eval: (add-hook 'write-file-hooks 'time-stamp)
-@c page-delimiter: "^\\\\message"
+@c eval: (add-hook 'before-save-hook 'time-stamp)
+@c page-delimiter: "^\\\\message\\|emacs-page"
 @c time-stamp-start: "def\\\\texinfoversion{"
 @c time-stamp-format: "%:y-%02m-%02d.%02H"
 @c time-stamp-end: "}"
@@ -10169,6 +11606,4 @@ directory should work if nowhere else does.}
 
 @c vim:sw=2:
 
-@ignore
-   arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
-@end ignore
+@enablebackslashhack
index 90624e9004cbae54707fd791f85a63880a2c1508..b3f6b298056d91efd44d66f5c9ad44d89794f9f3 100755 (executable)
@@ -1,11 +1,9 @@
-eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
-  & eval 'exec perl -wS -0777 -pi "$0" $argv:q'
-    if 0;
-# Update an FSF copyright year list to include the current year.
+#!/bin/sh
+#! -*-perl-*-
 
-my $VERSION = '2013-01-03.09:41'; # UTC
+# Update an FSF copyright year list to include the current year.
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# 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
@@ -18,10 +16,13 @@ my $VERSION = '2013-01-03.09:41'; # UTC
 # 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 <http://www.gnu.org/licenses/>.
-
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+#
 # Written by Jim Meyering and Joel E. Denny
 
+# This script updates an FSF copyright year list to include the current year.
+# Usage: update-copyright [FILE...]
+#
 # The arguments to this script should be names of files that contain
 # copyright statements to be updated.  The copyright holder's name
 # defaults to "Free Software Foundation, Inc." but may be changed to
@@ -81,6 +82,7 @@ my $VERSION = '2013-01-03.09:41'; # UTC
 #        B. (c)
 #        C. @copyright{}
 #        D. &copy;
+#        E. ©
 #
 #   4. The "Copyright" appears at the beginning of a line, except that it
 #      may be prefixed by any sequence (e.g., a comment) of no more than
@@ -120,11 +122,32 @@ my $VERSION = '2013-01-03.09:41'; # UTC
 #   5. Set UPDATE_COPYRIGHT_HOLDER if the copyright holder is other
 #      than "Free Software Foundation, Inc.".
 
+# 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 -0777 -pi "$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;
 
 my $copyright_re = 'Copyright';
-my $circle_c_re = '(?:\([cC]\)|@copyright{}|&copy;)';
+my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|&copy;|©)';
 my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER};
 $holder ||= 'Free Software Foundation, Inc.';
 my $prefix_max = 5;
@@ -263,12 +286,15 @@ else
     print STDERR "$ARGV: warning: copyright statement not found\n";
   }
 
+# Hey Emacs!
 # Local variables:
+# coding: utf-8
 # mode: perl
 # indent-tabs-mode: nil
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-line-limit: 200
 # time-stamp-start: "my $VERSION = '"
 # time-stamp-format: "%:y-%02m-%02d.%02H:%02M"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "'; # UTC"
 # End:
index 4c76c75d797718c7a14e8f06e6854294c419342b..6ac8aa91967141adf3201d1f2a06d0c7bc21f764 100755 (executable)
@@ -1,39 +1,54 @@
-eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}'
-  & eval 'exec perl -wST "$0" $argv:q'
-    if 0;
+#!/bin/sh
+#! -*-perl-*-
+
 # Detect instances of "if (p) free (p);".
 # Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
 
-my $VERSION = '2012-01-06 07:23'; # 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.
-
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
-
+# 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 <http://www.gnu.org/licenses/>.
-
+# 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;
 
 (my $ME = $0) =~ s|.*/||;
 
-# use File::Coda; # http://meyering.net/code/Coda/
+# use File::Coda; # https://meyering.net/code/Coda/
 END {
   defined fileno STDOUT or return;
   close STDOUT and return;
@@ -129,6 +144,9 @@ sub is_NULL ($)
           $err = EXIT_ERROR, next;
       while (defined (my $line = <FH>))
         {
+          # Skip non-matching lines early to save time
+          $line =~ /\bif\b/
+            or next;
           while ($line =~
               /\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\)
               #  1          2                  3
@@ -199,9 +217,10 @@ EOF
 ## Local Variables:
 ## mode: perl
 ## indent-tabs-mode: nil
-## eval: (add-hook 'write-file-hooks 'time-stamp)
+## 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: "UTC"
+## time-stamp-time-zone: "UTC0"
 ## time-stamp-end: "'; # UTC"
 ## End:
index b2bca54c959d8586f9945edf068c056c3fe84ad7..af6b1c0f8ab70167240d49fc3fd5219bb13242f5 100755 (executable)
@@ -2,9 +2,9 @@
 # List version-controlled file names.
 
 # Print a version string.
-scriptversion=2011-05-16.22; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-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
@@ -17,7 +17,7 @@ scriptversion=2011-05-16.22; # UTC
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 
 # List the specified version-controlled files.
@@ -49,7 +49,7 @@ EOF
     cat <<EOF
 vc-list-files $scriptversion
 Copyright (C) $year Free Software Foundation, Inc,
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.
 EOF
@@ -65,7 +65,7 @@ test $# = 0 && set .
 
 for dir
 do
-  if test -d .git; then
+  if test -d .git || test -f .git; then
     test "x$dir" = x. \
       && dir= sed_esc= \
       || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; }
@@ -105,9 +105,9 @@ do
 done
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff --git a/cfg.mk b/cfg.mk
index ade72d731e3eb3fddb6c3953032958f421ccb03a..62f84feab7b228b756508555ece41d7c68aa4035 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -1,5 +1,5 @@
 # Customize maint.mk                           -*- makefile -*-
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014, 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
@@ -38,12 +38,14 @@ local-checks-to-skip = \
   sc_prohibit_atoi_atof \
   sc_require_test_exit_idiom \
   sc_space_tab \
-  sc_texinfo_acronym
+  sc_texinfo_acronym \
+  sc_prohibit_gnu_make_extensions
 
 # Now that we have better (check.mk) tests, make this the default.
 export VERBOSE = yes
 
-old_NEWS_hash = bd453bcf049e292a9677c094d24a29dd
+# Hash of lines 42-208 for release 3.2
+old_NEWS_hash = 662c01eb5a757da59d219a79c06d6495
 
 include $(srcdir)/dist-check.mk
 
index 9f7ecc8108532dbc2baa3a0af8b7b64d2dd6150b..d6a25215226b257b22f466e9e5dfe9fa9c062a3f 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GNU parted 3.2.
+# Generated by GNU Autoconf 2.69 for GNU parted 3.3.
 #
 # Report bugs to <bug-parted@gnu.org>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='GNU parted'
 PACKAGE_TARNAME='parted'
-PACKAGE_VERSION='3.2'
-PACKAGE_STRING='GNU parted 3.2'
+PACKAGE_VERSION='3.3'
+PACKAGE_STRING='GNU parted 3.3'
 PACKAGE_BUGREPORT='bug-parted@gnu.org'
 PACKAGE_URL='http://www.gnu.org/software/parted/'
 
@@ -633,10 +633,10 @@ ac_includes_default="\
 #endif"
 
 gl_use_threads_default=
+gl_use_winpthreads_default=
 ac_func_list=
 ac_header_list=
 gl_getopt_required=POSIX
-gl_getopt_required=POSIX
 gt_needs=
 ac_subst_vars='gltests_LTLIBOBJS
 gltests_LIBOBJS
@@ -661,16 +661,11 @@ COMPILE_FOR_S390_TRUE
 INTLINCS
 OS_LIBS
 PARTED_LIBS
-REISER_LIBS
 SELINUX_LIBS
 DM_LIBS
 UUID_LIBS
-DL_LIBS
-DYNAMIC_LOADING
 POSUB
 INTLLIBS
-LTLIBICONV
-LIBICONV
 XGETTEXT_EXTRA_OPTIONS
 MSGMERGE
 XGETTEXT_015
@@ -681,6 +676,9 @@ GMSGFMT
 MSGFMT
 GETTEXT_MACRO_VERSION
 USE_NLS
+LTLIBICONV
+LIBICONV
+LT_SYS_LIBRARY_PATH
 OTOOL64
 OTOOL
 LIPO
@@ -698,12 +696,220 @@ LD
 FGREP
 LIBTOOL
 WARN_CFLAGS
-WERROR_CFLAGS
 LIBTESTS_LIBDEPS
 YIELD_LIB
 abs_aux_dir
+HAVE_SYS_UIO_H
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H
+NEXT_SYS_UIO_H
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H
+NEXT_SYS_IOCTL_H
+HAVE_SYS_IOCTL_H
+GL_GENERATE_STDALIGN_H_FALSE
+GL_GENERATE_STDALIGN_H_TRUE
+STDALIGN_H
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H
+NEXT_SIGNAL_H
+HAVE_STRUCT_SCHED_PARAM
+HAVE_SCHED_H
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H
+NEXT_SCHED_H
+REPLACE_SCHED_YIELD
+HAVE_SCHED_YIELD
+GNULIB_SCHED_YIELD
+LIB_PTHREAD_SIGMASK
+REPLACE_RAISE
+REPLACE_PTHREAD_SIGMASK
+HAVE_SIGHANDLER_T
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T
+HAVE_STRUCT_SIGACTION_SA_SIGACTION
+HAVE_SIGACTION
+HAVE_SIGINFO_T
+HAVE_SIGSET_T
+HAVE_RAISE
+HAVE_PTHREAD_SIGMASK
+HAVE_POSIX_SIGNALBLOCKING
+GNULIB_SIGACTION
+GNULIB_SIGPROCMASK
+GNULIB_SIGNAL_H_SIGPIPE
+GNULIB_RAISE
+GNULIB_PTHREAD_SIGMASK
+LIB_PTHREAD
+HAVE_PTHREAD_H
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H
+NEXT_PTHREAD_H
+REPLACE_PTHREAD_SPIN_DESTROY
+REPLACE_PTHREAD_SPIN_UNLOCK
+REPLACE_PTHREAD_SPIN_TRYLOCK
+REPLACE_PTHREAD_SPIN_LOCK
+REPLACE_PTHREAD_SPIN_INIT
+REPLACE_PTHREAD_KEY_DELETE
+REPLACE_PTHREAD_GETSPECIFIC
+REPLACE_PTHREAD_SETSPECIFIC
+REPLACE_PTHREAD_KEY_CREATE
+REPLACE_PTHREAD_COND_DESTROY
+REPLACE_PTHREAD_COND_BROADCAST
+REPLACE_PTHREAD_COND_SIGNAL
+REPLACE_PTHREAD_COND_TIMEDWAIT
+REPLACE_PTHREAD_COND_WAIT
+REPLACE_PTHREAD_CONDATTR_DESTROY
+REPLACE_PTHREAD_CONDATTR_INIT
+REPLACE_PTHREAD_COND_INIT
+REPLACE_PTHREAD_RWLOCK_DESTROY
+REPLACE_PTHREAD_RWLOCK_UNLOCK
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK
+REPLACE_PTHREAD_RWLOCK_WRLOCK
+REPLACE_PTHREAD_RWLOCK_RDLOCK
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY
+REPLACE_PTHREAD_RWLOCKATTR_INIT
+REPLACE_PTHREAD_RWLOCK_INIT
+REPLACE_PTHREAD_MUTEX_DESTROY
+REPLACE_PTHREAD_MUTEX_UNLOCK
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK
+REPLACE_PTHREAD_MUTEX_TRYLOCK
+REPLACE_PTHREAD_MUTEX_LOCK
+REPLACE_PTHREAD_MUTEXATTR_DESTROY
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE
+REPLACE_PTHREAD_MUTEXATTR_INIT
+REPLACE_PTHREAD_MUTEX_INIT
+REPLACE_PTHREAD_ONCE
+REPLACE_PTHREAD_EXIT
+REPLACE_PTHREAD_JOIN
+REPLACE_PTHREAD_DETACH
+REPLACE_PTHREAD_EQUAL
+REPLACE_PTHREAD_SELF
+REPLACE_PTHREAD_ATTR_DESTROY
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE
+REPLACE_PTHREAD_ATTR_INIT
+REPLACE_PTHREAD_CREATE
+HAVE_PTHREAD_SPIN_DESTROY
+HAVE_PTHREAD_SPIN_UNLOCK
+HAVE_PTHREAD_SPIN_TRYLOCK
+HAVE_PTHREAD_SPIN_LOCK
+HAVE_PTHREAD_SPIN_INIT
+HAVE_PTHREAD_KEY_DELETE
+HAVE_PTHREAD_GETSPECIFIC
+HAVE_PTHREAD_SETSPECIFIC
+HAVE_PTHREAD_KEY_CREATE
+HAVE_PTHREAD_COND_DESTROY
+HAVE_PTHREAD_COND_BROADCAST
+HAVE_PTHREAD_COND_SIGNAL
+HAVE_PTHREAD_COND_TIMEDWAIT
+HAVE_PTHREAD_COND_WAIT
+HAVE_PTHREAD_CONDATTR_DESTROY
+HAVE_PTHREAD_CONDATTR_INIT
+HAVE_PTHREAD_COND_INIT
+HAVE_PTHREAD_RWLOCK_DESTROY
+HAVE_PTHREAD_RWLOCK_UNLOCK
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK
+HAVE_PTHREAD_RWLOCK_WRLOCK
+HAVE_PTHREAD_RWLOCK_RDLOCK
+HAVE_PTHREAD_RWLOCKATTR_DESTROY
+HAVE_PTHREAD_RWLOCKATTR_INIT
+HAVE_PTHREAD_RWLOCK_INIT
+HAVE_PTHREAD_MUTEX_DESTROY
+HAVE_PTHREAD_MUTEX_UNLOCK
+HAVE_PTHREAD_MUTEX_TIMEDLOCK
+HAVE_PTHREAD_MUTEX_TRYLOCK
+HAVE_PTHREAD_MUTEX_LOCK
+HAVE_PTHREAD_MUTEXATTR_DESTROY
+HAVE_PTHREAD_MUTEXATTR_SETROBUST
+HAVE_PTHREAD_MUTEXATTR_GETROBUST
+HAVE_PTHREAD_MUTEXATTR_SETTYPE
+HAVE_PTHREAD_MUTEXATTR_GETTYPE
+HAVE_PTHREAD_MUTEXATTR_INIT
+HAVE_PTHREAD_MUTEX_INIT
+HAVE_PTHREAD_ONCE
+HAVE_PTHREAD_EXIT
+HAVE_PTHREAD_JOIN
+HAVE_PTHREAD_DETACH
+HAVE_PTHREAD_EQUAL
+HAVE_PTHREAD_SELF
+HAVE_PTHREAD_ATTR_DESTROY
+HAVE_PTHREAD_ATTR_SETDETACHSTATE
+HAVE_PTHREAD_ATTR_GETDETACHSTATE
+HAVE_PTHREAD_ATTR_INIT
+HAVE_PTHREAD_CREATE
+HAVE_PTHREAD_PROCESS_SHARED
+HAVE_PTHREAD_MUTEX_ROBUST
+HAVE_PTHREAD_MUTEX_RECURSIVE
+HAVE_PTHREAD_CREATE_DETACHED
+HAVE_PTHREAD_SPINLOCK_T
+HAVE_PTHREAD_T
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK
+GNULIB_PTHREAD_SPIN
+GNULIB_PTHREAD_TSS
+GNULIB_PTHREAD_COND
+GNULIB_PTHREAD_RWLOCK
+GNULIB_PTHREAD_MUTEX
+GNULIB_PTHREAD_ONCE
+GNULIB_PTHREAD_THREAD
+GL_GENERATE_NETINET_IN_H_FALSE
+GL_GENERATE_NETINET_IN_H_TRUE
+NETINET_IN_H
+HAVE_NETINET_IN_H
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H
+NEXT_NETINET_IN_H
+LIB_NANOSLEEP
+LIB_SELECT
+LIBSOCKET
+HAVE_SYS_SELECT_H
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H
+NEXT_SYS_SELECT_H
+REPLACE_SELECT
+REPLACE_PSELECT
+HAVE_PSELECT
+GNULIB_SELECT
+GNULIB_PSELECT
 INTL_MACOSX_LIBS
+INET_PTON_LIB
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H
+NEXT_CTYPE_H
+HAVE_ISBLANK
+GNULIB_ISBLANK
 LOCALE_TR_UTF8
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H
+NEXT_ARPA_INET_H
+HAVE_ARPA_INET_H
+REPLACE_INET_PTON
+REPLACE_INET_NTOP
+HAVE_DECL_INET_PTON
+HAVE_DECL_INET_NTOP
+GNULIB_INET_PTON
+GNULIB_INET_NTOP
+HAVE_WS2TCPIP_H
+HAVE_SYS_SOCKET_H
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H
+NEXT_SYS_SOCKET_H
+HAVE_ACCEPT4
+HAVE_SA_FAMILY_T
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY
+HAVE_STRUCT_SOCKADDR_STORAGE
+GNULIB_ACCEPT4
+GNULIB_SHUTDOWN
+GNULIB_SETSOCKOPT
+GNULIB_SENDTO
+GNULIB_RECVFROM
+GNULIB_SEND
+GNULIB_RECV
+GNULIB_LISTEN
+GNULIB_GETSOCKOPT
+GNULIB_GETSOCKNAME
+GNULIB_GETPEERNAME
+GNULIB_BIND
+GNULIB_ACCEPT
+GNULIB_CONNECT
+GNULIB_SOCKET
 gltests_WITNESS
 REPLACE_TOWLOWER
 REPLACE_ISWCNTRL
@@ -720,6 +926,7 @@ GNULIB_WCTRANS
 GNULIB_ISWCTYPE
 GNULIB_WCTYPE
 GNULIB_ISWBLANK
+HAVE_CRTDEFS_H
 HAVE_WINT_T
 HAVE_FEATURES_H
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H
@@ -727,40 +934,26 @@ NEXT_WCHAR_H
 HAVE_UNISTD_H
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H
 NEXT_UNISTD_H
+UNISTD_H_DEFINES_STRUCT_TIMESPEC
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC
 TIME_H_DEFINES_STRUCT_TIMESPEC
 NEXT_AS_FIRST_DIRECTIVE_TIME_H
 NEXT_TIME_H
-REPLACE_LOCALTIME
-REPLACE_GMTIME
-REPLACE_TIMEGM
-REPLACE_NANOSLEEP
-REPLACE_MKTIME
-REPLACE_LOCALTIME_R
-HAVE_TIMEGM
-HAVE_STRPTIME
-HAVE_NANOSLEEP
-HAVE_DECL_LOCALTIME_R
-GNULIB_TIME_R
-GNULIB_TIMEGM
-GNULIB_STRPTIME
-GNULIB_NANOSLEEP
-GNULIB_MKTIME
 NEXT_AS_FIRST_DIRECTIVE_STRING_H
 NEXT_STRING_H
 UNDEFINE_STRTOK_R
-REPLACE_STRTOK_R
 REPLACE_STRSIGNAL
-REPLACE_STRNLEN
-REPLACE_STRNDUP
-REPLACE_STRNCAT
 REPLACE_STRERROR_R
 REPLACE_STRERROR
-REPLACE_STRCHRNUL
+REPLACE_STRTOK_R
 REPLACE_STRCASESTR
 REPLACE_STRSTR
+REPLACE_STRNLEN
+REPLACE_STRNDUP
+REPLACE_STRNCAT
 REPLACE_STRDUP
+REPLACE_STRCHRNUL
 REPLACE_STPNCPY
 REPLACE_MEMMEM
 REPLACE_MEMCHR
@@ -784,6 +977,7 @@ HAVE_DECL_MEMMEM
 HAVE_MEMCHR
 HAVE_FFSLL
 HAVE_FFSL
+HAVE_EXPLICIT_BZERO
 HAVE_MBSLEN
 GNULIB_STRVERSCMP
 GNULIB_STRSIGNAL
@@ -822,6 +1016,7 @@ GNULIB_MEMMEM
 GNULIB_MEMCHR
 GNULIB_FFSLL
 GNULIB_FFSL
+GNULIB_EXPLICIT_BZERO
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H
 NEXT_STDLIB_H
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H
@@ -936,10 +1131,12 @@ GL_GENERATE_STDARG_H_TRUE
 STDARG_H
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H
 NEXT_STDARG_H
+GLIBC21
 LOCALE_FR_UTF8
 LOCALE_ZH_CN
 LOCALE_JA
 SED
+WINDOWS_STAT_INODES
 WINDOWS_64_BIT_OFF_T
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H
 NEXT_SYS_TYPES_H
@@ -947,9 +1144,6 @@ LTLIBMULTITHREAD
 LIBMULTITHREAD
 LTLIBTHREAD
 LIBTHREAD
-LIBPTH_PREFIX
-LTLIBPTH
-LIBPTH
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H
 NEXT_LOCALE_H
 HAVE_XLOCALE_H
@@ -959,20 +1153,26 @@ GL_GENERATE_STDDEF_H_FALSE
 GL_GENERATE_STDDEF_H_TRUE
 STDDEF_H
 HAVE_WCHAR_T
+HAVE_MAX_ALIGN_T
 REPLACE_NULL
 REPLACE_STRUCT_LCONV
+REPLACE_FREELOCALE
 REPLACE_DUPLOCALE
+REPLACE_NEWLOCALE
 REPLACE_SETLOCALE
 REPLACE_LOCALECONV
+HAVE_FREELOCALE
 HAVE_DUPLOCALE
+HAVE_NEWLOCALE
+GNULIB_LOCALENAME
 GNULIB_DUPLOCALE
 GNULIB_SETLOCALE
 GNULIB_LOCALECONV
 LOCALCHARSET_TESTS_ENVIRONMENT
-GLIBC21
 IGNORE_UNUSED_LIBRARIES_CFLAGS
 HAVE_LANGINFO_YESEXPR
 HAVE_LANGINFO_ERA
+HAVE_LANGINFO_ALTMON
 HAVE_LANGINFO_T_FMT_AMPM
 HAVE_LANGINFO_CODESET
 HAVE_LANGINFO_H
@@ -991,6 +1191,7 @@ INT64_MAX_EQ_LONG_MAX
 INT32_MAX_LT_INTMAX_MAX
 REPLACE_STRTOUMAX
 REPLACE_STRTOIMAX
+HAVE_IMAXDIV_T
 HAVE_DECL_STRTOUMAX
 HAVE_DECL_STRTOIMAX
 HAVE_DECL_IMAXDIV
@@ -1002,6 +1203,9 @@ GNULIB_IMAXABS
 GL_GENERATE_STDINT_H_FALSE
 GL_GENERATE_STDINT_H_TRUE
 STDINT_H
+HAVE_SYS_INTTYPES_H
+HAVE_SYS_BITYPES_H
+HAVE_C99_STDINT_H
 WINT_T_SUFFIX
 WCHAR_T_SUFFIX
 SIG_ATOMIC_T_SUFFIX
@@ -1016,8 +1220,6 @@ BITSIZEOF_SIG_ATOMIC_T
 BITSIZEOF_SIZE_T
 BITSIZEOF_PTRDIFF_T
 APPLE_UNIVERSAL_BUILD
-HAVE_SYS_BITYPES_H
-HAVE_SYS_INTTYPES_H
 HAVE_STDINT_H
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H
 NEXT_STDINT_H
@@ -1026,6 +1228,37 @@ HAVE_INTTYPES_H
 HAVE_WCHAR_H
 HAVE_UNSIGNED_LONG_LONG_INT
 HAVE_LONG_LONG_INT
+GNULIB_OVERRIDES_WINT_T
+GL_GENERATE_LIMITS_H_FALSE
+GL_GENERATE_LIMITS_H_TRUE
+LIMITS_H
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H
+NEXT_LIMITS_H
+REPLACE_LOCALTIME
+REPLACE_GMTIME
+REPLACE_TZSET
+REPLACE_TIMEGM
+REPLACE_STRFTIME
+REPLACE_NANOSLEEP
+REPLACE_MKTIME
+REPLACE_LOCALTIME_R
+REPLACE_CTIME
+HAVE_TIMEZONE_T
+HAVE_TZSET
+HAVE_TIMEGM
+HAVE_STRPTIME
+HAVE_NANOSLEEP
+HAVE_DECL_LOCALTIME_R
+GNULIB_TZSET
+GNULIB_TIME_RZ
+GNULIB_TIME_R
+GNULIB_TIMEGM
+GNULIB_STRPTIME
+GNULIB_STRFTIME
+GNULIB_NANOSLEEP
+GNULIB_LOCALTIME
+GNULIB_MKTIME
+GNULIB_CTIME
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H
 NEXT_SYS_TIME_H
 REPLACE_STRUCT_TIMEVAL
@@ -1037,11 +1270,14 @@ GNULIB_GETTIMEOFDAY
 LTLIBINTL
 LIBINTL
 GNULIB_GL_UNISTD_H_GETOPT
+GETOPT_CDEFS_H
 GETOPT_H
+HAVE_SYS_CDEFS_H
 HAVE_GETOPT_H
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H
 NEXT_GETOPT_H
 WINDOWS_64_BIT_ST_SIZE
+WINDOWS_STAT_TIMESPEC
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H
 NEXT_SYS_STAT_H
 REPLACE_UTIMENSAT
@@ -1064,6 +1300,7 @@ HAVE_LCHMOD
 HAVE_FUTIMENS
 HAVE_FSTATAT
 HAVE_FCHMODAT
+GNULIB_OVERRIDES_STRUCT_STAT
 GNULIB_UTIMENSAT
 GNULIB_STAT
 GNULIB_MKNODAT
@@ -1107,6 +1344,10 @@ pkglibexecdir
 runstatedir
 lispdir
 HAVE_WINSOCK2_H
+REPLACE_IOCTL
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS
+SYS_IOCTL_H_HAVE_WINSOCK2_H
+GNULIB_IOCTL
 HAVE_MSVC_INVALID_PARAMETER_HANDLER
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS
 UNISTD_H_HAVE_WINSOCK2_H
@@ -1115,9 +1356,12 @@ REPLACE_USLEEP
 REPLACE_UNLINKAT
 REPLACE_UNLINK
 REPLACE_TTYNAME_R
+REPLACE_TRUNCATE
+REPLACE_SYMLINKAT
 REPLACE_SYMLINK
 REPLACE_SLEEP
 REPLACE_RMDIR
+REPLACE_READLINKAT
 REPLACE_READLINK
 REPLACE_READ
 REPLACE_PWRITE
@@ -1127,6 +1371,7 @@ REPLACE_LINKAT
 REPLACE_LINK
 REPLACE_LCHOWN
 REPLACE_ISATTY
+REPLACE_GETPASS
 REPLACE_GETPAGESIZE
 REPLACE_GETGROUPS
 REPLACE_GETLOGIN_R
@@ -1135,6 +1380,7 @@ REPLACE_GETDOMAINNAME
 REPLACE_GETCWD
 REPLACE_FTRUNCATE
 REPLACE_FCHOWNAT
+REPLACE_FACCESSAT
 REPLACE_DUP2
 REPLACE_DUP
 REPLACE_CLOSE
@@ -1142,10 +1388,12 @@ REPLACE_CHOWN
 HAVE_SYS_PARAM_H
 HAVE_OS_H
 HAVE_DECL_TTYNAME_R
+HAVE_DECL_TRUNCATE
 HAVE_DECL_SETHOSTNAME
 HAVE_DECL_GETUSERSHELL
 HAVE_DECL_GETPAGESIZE
 HAVE_DECL_GETLOGIN_R
+HAVE_DECL_GETLOGIN
 HAVE_DECL_GETDOMAINNAME
 HAVE_DECL_FDATASYNC
 HAVE_DECL_FCHDIR
@@ -1166,6 +1414,7 @@ HAVE_LINKAT
 HAVE_LINK
 HAVE_LCHOWN
 HAVE_GROUP_MEMBER
+HAVE_GETPASS
 HAVE_GETPAGESIZE
 HAVE_GETLOGIN
 HAVE_GETHOSTNAME
@@ -1180,6 +1429,7 @@ HAVE_FACCESSAT
 HAVE_EUIDACCESS
 HAVE_DUP3
 HAVE_DUP2
+HAVE_COPY_FILE_RANGE
 HAVE_CHOWN
 GNULIB_WRITE
 GNULIB_USLEEP
@@ -1188,6 +1438,7 @@ GNULIB_UNLINK
 GNULIB_UNISTD_H_SIGPIPE
 GNULIB_UNISTD_H_NONBLOCKING
 GNULIB_TTYNAME_R
+GNULIB_TRUNCATE
 GNULIB_SYMLINKAT
 GNULIB_SYMLINK
 GNULIB_SLEEP
@@ -1207,6 +1458,7 @@ GNULIB_LCHOWN
 GNULIB_ISATTY
 GNULIB_GROUP_MEMBER
 GNULIB_GETUSERSHELL
+GNULIB_GETPASS
 GNULIB_GETPAGESIZE
 GNULIB_GETLOGIN_R
 GNULIB_GETLOGIN
@@ -1226,22 +1478,28 @@ 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
 REPLACE_PTSNAME
 REPLACE_MKSTEMP
 REPLACE_MBTOWC
 REPLACE_MALLOC
+REPLACE_INITSTATE
 REPLACE_CANONICALIZE_FILE_NAME
 REPLACE_CALLOC
 HAVE_DECL_UNSETENV
@@ -1250,15 +1508,20 @@ 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
 HAVE_RPMATCH
 HAVE_REALPATH
+HAVE_REALLOCARRAY
 HAVE_RANDOM_R
 HAVE_RANDOM_H
 HAVE_RANDOM
+HAVE_QSORT_R
 HAVE_PTSNAME_R
 HAVE_PTSNAME
 HAVE_POSIX_OPENPT
@@ -1267,6 +1530,9 @@ HAVE_MKSTEMP
 HAVE_MKOSTEMPS
 HAVE_MKOSTEMP
 HAVE_MKDTEMP
+HAVE_MBTOWC
+HAVE_DECL_INITSTATE
+HAVE_INITSTATE
 HAVE_GRANTPT
 HAVE_GETSUBOPT
 HAVE_DECL_GETLOADAVG
@@ -1279,14 +1545,17 @@ GNULIB_UNLOCKPT
 GNULIB_SYSTEM_POSIX
 GNULIB_STRTOULL
 GNULIB_STRTOLL
+GNULIB_STRTOLD
 GNULIB_STRTOD
 GNULIB_SETENV
 GNULIB_SECURE_GETENV
 GNULIB_RPMATCH
 GNULIB_REALPATH
 GNULIB_REALLOC_POSIX
+GNULIB_REALLOCARRAY
 GNULIB_RANDOM_R
 GNULIB_RANDOM
+GNULIB_QSORT_R
 GNULIB_PUTENV
 GNULIB_PTSNAME_R
 GNULIB_PTSNAME
@@ -1306,6 +1575,7 @@ GNULIB_CALLOC_POSIX
 GNULIB_ATOLL
 GNULIB__EXIT
 LOCALE_FR
+REPLACE_WCSFTIME
 REPLACE_WCSWIDTH
 REPLACE_WCWIDTH
 REPLACE_WCSNRTOMBS
@@ -1321,6 +1591,7 @@ REPLACE_BTOWC
 REPLACE_MBSTATE_T
 HAVE_DECL_WCWIDTH
 HAVE_DECL_WCTOB
+HAVE_WCSFTIME
 HAVE_WCSWIDTH
 HAVE_WCSTOK
 HAVE_WCSSTR
@@ -1358,6 +1629,7 @@ HAVE_MBRLEN
 HAVE_MBRTOWC
 HAVE_MBSINIT
 HAVE_BTOWC
+GNULIB_WCSFTIME
 GNULIB_WCSWIDTH
 GNULIB_WCSTOK
 GNULIB_WCSSTR
@@ -1397,6 +1669,7 @@ GNULIB_MBRTOWC
 GNULIB_MBSINIT
 GNULIB_WCTOB
 GNULIB_BTOWC
+HAVE_ALLOCA_H
 GL_GENERATE_ALLOCA_H_FALSE
 GL_GENERATE_ALLOCA_H_TRUE
 ALLOCA_H
@@ -1418,7 +1691,6 @@ am__nodep
 AMDEPBACKSLASH
 AMDEP_FALSE
 AMDEP_TRUE
-am__quote
 am__include
 DEPDIR
 OBJEXT
@@ -1507,7 +1779,8 @@ PACKAGE_VERSION
 PACKAGE_TARNAME
 PACKAGE_NAME
 PATH_SEPARATOR
-SHELL'
+SHELL
+am__quote'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -1517,7 +1790,6 @@ enable_mtrace
 enable_device_mapper
 enable_selinux
 enable_discover_only
-enable_dynamic_loading
 enable_debug
 enable_read_only
 enable_pc98
@@ -1526,9 +1798,6 @@ enable_dependency_tracking
 enable_largefile
 enable_threads
 enable_assert
-with_gnu_ld
-enable_rpath
-with_libpth_prefix
 with_included_regex
 with_packager
 with_packager_version
@@ -1538,10 +1807,13 @@ enable_shared
 enable_static
 with_pic
 enable_fast_install
+with_aix_soname
+with_gnu_ld
 with_sysroot
 enable_libtool_lock
-enable_nls
+enable_rpath
 with_libiconv_prefix
+enable_nls
 with_libintl_prefix
 '
       ac_precious_vars='build_alias
@@ -1553,6 +1825,7 @@ LDFLAGS
 LIBS
 CPPFLAGS
 CPP
+LT_SYS_LIBRARY_PATH
 PKG_CONFIG
 PKG_CONFIG_PATH
 PKG_CONFIG_LIBDIR
@@ -2098,7 +2371,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 GNU parted 3.2 to adapt to many kinds of systems.
+\`configure' configures GNU parted 3.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2168,7 +2441,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GNU parted 3.2:";;
+     short | recursive ) echo "Configuration of GNU parted 3.3:";;
    esac
   cat <<\_ACEOF
 
@@ -2182,7 +2455,6 @@ Optional Features:
   --enable-device-mapper  enable device mapper support default=yes
   --enable-selinux        enable SELinux support default=no
   --enable-discover-only  support only reading/probing default=no
-  --enable-dynamic-loading  support dynamic fs libraries default=yes
   --enable-debug          compile in assertions default=yes
   --enable-read-only      disable writing (for debugging) default=no
 
@@ -2193,26 +2465,23 @@ Optional Features:
   --disable-dependency-tracking
                           speeds up one-time build
   --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
   --disable-assert        turn off assertions
-  --disable-rpath         do not hardcode runtime library paths
   --enable-gcc-warnings   turn on lots of GCC warnings (for developers)
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
+  --disable-rpath         do not hardcode runtime library paths
   --disable-nls           do not use Native Language Support
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-readline         support fancy command line editing
-  --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
@@ -2223,9 +2492,13 @@ Optional Packages:
                           Packager info for bug reports (URL/e-mail/...)
   --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                           both]
+  --with-aix-soname=aix|svr4|both
+                          shared library versioning (aka "SONAME") variant to
+                          provide on AIX, [default=aix].
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
+                          compiler's sysroot if not specified).
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
   --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
@@ -2240,6 +2513,8 @@ Some influential environment variables:
   CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
+  LT_SYS_LIBRARY_PATH
+              User-defined run-time library search path.
   PKG_CONFIG  path to pkg-config utility
   PKG_CONFIG_PATH
               directories to add to pkg-config's search path
@@ -2317,7 +2592,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GNU parted configure 3.2
+GNU parted configure 3.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3026,7 +3301,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 GNU parted $as_me 3.2, which was
+It was created by GNU parted $as_me 3.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3321,13 +3596,18 @@ as_fn_append ac_header_list " sys/stat.h"
 as_fn_append ac_func_list " fsync"
 gl_getopt_required=GNU
 as_fn_append ac_header_list " getopt.h"
+as_fn_append ac_header_list " sys/cdefs.h"
+as_fn_append ac_func_list " getprogname"
+as_fn_append ac_func_list " getexecname"
 as_fn_append ac_header_list " sys/time.h"
 as_fn_append ac_func_list " gettimeofday"
+as_fn_append ac_header_list " limits.h"
 as_fn_append ac_header_list " wchar.h"
 as_fn_append ac_header_list " stdint.h"
 as_fn_append ac_header_list " inttypes.h"
 as_fn_append ac_header_list " langinfo.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"
@@ -3336,21 +3616,45 @@ as_fn_append ac_func_list " nl_langinfo"
 as_fn_append ac_header_list " malloc.h"
 as_fn_append ac_func_list " isblank"
 as_fn_append ac_func_list " iswctype"
-as_fn_append ac_func_list " secure_getenv"
 as_fn_append ac_func_list " sleep"
 as_fn_append ac_func_list " strdup"
+as_fn_append ac_func_list " strerror_r"
+as_fn_append ac_func_list " __xpg_strerror_r"
 as_fn_append ac_func_list " strndup"
 as_fn_append ac_func_list " usleep"
 as_fn_append ac_header_list " features.h"
+as_fn_append ac_header_list " crtdefs.h"
 as_fn_append ac_func_list " wcrtomb"
 as_fn_append ac_func_list " iswcntrl"
 as_fn_append ac_header_list " wctype.h"
+as_fn_append ac_header_list " arpa/inet.h"
+as_fn_append ac_func_list " fcntl"
+as_fn_append ac_func_list " ftruncate"
 as_fn_append ac_func_list " getdtablesize"
+as_fn_append ac_header_list " netdb.h"
+as_fn_append ac_header_list " netinet/in.h"
 as_fn_append ac_func_list " newlocale"
+as_fn_append ac_func_list " uselocale"
+as_fn_append ac_func_list " duplocale"
+as_fn_append ac_func_list " freelocale"
+as_fn_append ac_header_list " semaphore.h"
+as_fn_append ac_header_list " sys/select.h"
+as_fn_append ac_func_list " pipe"
 as_fn_append ac_header_list " priv.h"
+as_fn_append ac_header_list " pthread.h"
+as_fn_append ac_func_list " pthread_sigmask"
 as_fn_append ac_header_list " sys/mman.h"
 as_fn_append ac_func_list " mprotect"
+as_fn_append ac_header_list " sys/wait.h"
 as_fn_append ac_func_list " setenv"
+as_fn_append ac_func_list " sigaction"
+as_fn_append ac_func_list " sigaltstack"
+as_fn_append ac_func_list " siginterrupt"
+as_fn_append ac_func_list " catgets"
+as_fn_append ac_func_list " snprintf"
+as_fn_append ac_header_list " sys/ioctl.h"
+as_fn_append ac_func_list " shutdown"
+as_fn_append ac_header_list " sys/uio.h"
 as_fn_append ac_func_list " wctob"
 gt_needs="$gt_needs "
 as_fn_append ac_header_list " blkid/blkid.h"
@@ -3487,7 +3791,7 @@ LT_AGE=`expr $PED_BINARY_AGE - $PED_INTERFACE_AGE`
 
 
 
-am__api_version='1.14'
+am__api_version='1.16'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -3659,8 +3963,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -3679,7 +3983,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\    *)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3973,7 +4277,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='parted'
- VERSION='3.2'
+ VERSION='3.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4003,12 +4307,12 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
 # For better backward compatibility.  To be removed once Automake 1.9.x
 # dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -4055,7 +4359,7 @@ END
 Aborting the configuration process, to ensure you take notice of the issue.
 
 You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
 
 If you want to complete the configuration process using your problematic
 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
@@ -4065,6 +4369,7 @@ END
     as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
   fi
 fi
+
 # Check whether --enable-silent-rules was given.
 if test "${enable_silent_rules+set}" = set; then :
   enableval=$enable_silent_rules;
@@ -4177,10 +4482,10 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
 case "$host_os" in
-       linux*) OS=linux ;;
+       linux*|uclinux*) OS=linux ;;
        gnu*)   OS=gnu ;;
        beos*)  OS=beos ;;
-       *)      as_fn_error $? "Unknown or unsupported OS \"$host_os\".  Only \"linux\", \"gnu\" and \"beos\" are supported in this version of GNU Parted." "$LINENO" 5 ;;
+       *)      as_fn_error $? "Unknown or unsupported OS \"$host_os\".  Only \"linux\", \"uclinux\", \"gnu\" and \"beos\" are supported in this version of GNU Parted." "$LINENO" 5 ;;
 esac
 
 
@@ -4245,23 +4550,6 @@ $as_echo "#define DISCOVER_ONLY 1" >>confdefs.h
 fi
 
 PARTED_LIBS=""
-# Check whether --enable-dynamic-loading was given.
-if test "${enable_dynamic_loading+set}" = set; then :
-  enableval=$enable_dynamic_loading;
-else
-  if test "$enable_discover_only" = yes; then
-               enable_dynamic_loading=no
-       else
-               enable_dynamic_loading=yes
-       fi
-
-fi
-
-if test "$enable_discover_only" = yes \
- && test "$enable_dynamic_loading" = yes; then
-       as_fn_error $? "You can't use --enable-dynamic-loading and --disable-discover-only together
-       " "$LINENO" 5
-fi
 
 # Check whether --enable-debug was given.
 if test "${enable_debug+set}" = set; then :
@@ -4329,45 +4617,45 @@ DEPDIR="${am__leading_dot}deps"
 
 ac_config_commands="$ac_config_commands depfiles"
 
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
+$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
+cat > confinc.mk << 'END'
 am__doit:
-       @echo this is the am__doit target
+       @echo this is the am__doit target >confinc.out
 .PHONY: am__doit
 END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
 am__include="#"
 am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+  { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
+   (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+  case $?:`cat confinc.out 2>/dev/null` in #(
+  '0:this is the am__doit target') :
+    case $s in #(
+  BSD) :
+    am__include='.include' am__quote='"' ;; #(
+  *) :
+    am__include='include' am__quote='' ;;
+esac ;; #(
+  *) :
      ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
+esac
+  if test "$am__include" != "#"; then
+    _am_result="yes ($s style)"
+    break
+  fi
+done
+rm -f confinc.* confmf.*
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
+$as_echo "${_am_result}" >&6; }
 
 # Check whether --enable-dependency-tracking was given.
 if test "${enable_dependency_tracking+set}" = set; then :
@@ -4683,6 +4971,100 @@ esac
   fi
 fi
 
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
+set dummy ${ac_tool_prefix}clang; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}clang"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "clang", so it can be a program name with args.
+set dummy clang; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="clang"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
 fi
 
 
@@ -4695,7 +5077,7 @@ See \`config.log' for more details" "$LINENO" 5; }
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
 set X $ac_compile
 ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
+for ac_option in --version -v -V -qversion -version; do
   { { ac_try="$ac_compiler $ac_option >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
@@ -5081,8 +5463,420 @@ else
     CFLAGS=
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+$as_echo_n "checking for $CC option to enable C11 features... " >&6; }
+if ${ac_cv_prog_cc_c11+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c11=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <stdio.h>
+
+// Check varargs macros.  These examples are taken from C99 6.10.3.5.
+#define debug(...) fprintf (stderr, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+  int x = 1234;
+  int y = 5678;
+  debug ("Flag");
+  debug ("X = %d\n", x);
+  showlist (The first, second, and third items.);
+  report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+  your preprocessor is broken;
+#endif
+#if BIG_OK
+#else
+  your preprocessor is broken;
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+  int datasize;
+  double data[];
+};
+
+struct named_init {
+  int number;
+  const wchar_t *name;
+  double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+  // See if C++-style comments work.
+  // Iterate through items via the restricted pointer.
+  // Also check for declarations in for loops.
+  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
+    continue;
+  return 0;
+}
+
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+  va_list args;
+  va_start (args, format);
+  va_list args_copy;
+  va_copy (args_copy, args);
+
+  const char *str = "";
+  int number = 0;
+  float fnumber = 0;
+
+  while (*format)
+    {
+      switch (*format++)
+       {
+       case 's': // string
+         str = va_arg (args_copy, const char *);
+         break;
+       case 'd': // int
+         number = va_arg (args_copy, int);
+         break;
+       case 'f': // float
+         fnumber = va_arg (args_copy, double);
+         break;
+       default:
+         break;
+       }
+    }
+  va_end (args_copy);
+  va_end (args);
+
+  return *str && number && fnumber;
+}
+// Check _Alignas.
+char _Alignas (double) aligned_as_double;
+char _Alignas (0) no_special_alignment;
+extern char aligned_as_int;
+char _Alignas (0) _Alignas (int) aligned_as_int;
+
+// Check _Alignof.
+enum
+{
+  int_alignment = _Alignof (int),
+  int_array_alignment = _Alignof (int[100]),
+  char_alignment = _Alignof (char)
+};
+_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
+
+// Check _Noreturn.
+int _Noreturn does_not_return (void) { for (;;) continue; }
+
+// Check _Static_assert.
+struct test_static_assert
+{
+  int x;
+  _Static_assert (sizeof (int) <= sizeof (long int),
+                  "_Static_assert does not work in struct");
+  long int y;
+};
+
+// Check UTF-8 literals.
+#define u8 syntax error!
+char const utf8_literal[] = u8"happens to be ASCII" "another string";
+
+// Check duplicate typedefs.
+typedef long *long_ptr;
+typedef long int *long_ptr;
+typedef long_ptr long_ptr;
+
+// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
+struct anonymous
+{
+  union {
+    struct { int i; int j; };
+    struct { int k; long int l; } w;
+  };
+  int m;
+} v1;
+
+int
+main ()
+{
+
+  // Check bool.
+  _Bool success = false;
+
+  // Check restrict.
+  if (test_restrict ("String literal") == 0)
+    success = true;
+  char *restrict newvar = "Another string";
+
+  // Check varargs.
+  success &= test_varargs ("s, d' f .", "string", 65, 34.234);
+  test_varargs_macros ();
+
+  // Check flexible array members.
+  struct incomplete_array *ia =
+    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+  ia->datasize = 10;
+  for (int i = 0; i < ia->datasize; ++i)
+    ia->data[i] = i * 1.234;
+
+  // Check named initializers.
+  struct named_init ni = {
+    .number = 34,
+    .name = L"Test wide string",
+    .average = 543.34343,
+  };
+
+  ni.number = 58;
+
+  int dynamic_array[ni.number];
+  dynamic_array[ni.number - 1] = 543;
+
+  // work around unused variable warnings
+  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
+         || dynamic_array[ni.number - 1] != 543);
+
+  v1.i = 2;
+  v1.w.k = 5;
+  _Static_assert ((offsetof (struct anonymous, i)
+                  == offsetof (struct anonymous, w.k)),
+                 "Anonymous union alignment botch");
+
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -std=gnu11
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+ac_prog_cc_stdc_options=
+case "x$ac_cv_prog_cc_c11" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c11"
+    CC=$CC$ac_prog_cc_stdc_options
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+$as_echo "$ac_cv_prog_cc_c11" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c11" != xno; then :
+  ac_prog_cc_stdc=c11
+                ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+$as_echo_n "checking for $CC option to enable C99 features... " >&6; }
+if ${ac_cv_prog_cc_c99+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <stdio.h>
+
+// Check varargs macros.  These examples are taken from C99 6.10.3.5.
+#define debug(...) fprintf (stderr, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+  int x = 1234;
+  int y = 5678;
+  debug ("Flag");
+  debug ("X = %d\n", x);
+  showlist (The first, second, and third items.);
+  report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+  your preprocessor is broken;
+#endif
+#if BIG_OK
+#else
+  your preprocessor is broken;
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+  int datasize;
+  double data[];
+};
+
+struct named_init {
+  int number;
+  const wchar_t *name;
+  double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+  // See if C++-style comments work.
+  // Iterate through items via the restricted pointer.
+  // Also check for declarations in for loops.
+  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
+    continue;
+  return 0;
+}
+
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+  va_list args;
+  va_start (args, format);
+  va_list args_copy;
+  va_copy (args_copy, args);
+
+  const char *str = "";
+  int number = 0;
+  float fnumber = 0;
+
+  while (*format)
+    {
+      switch (*format++)
+       {
+       case 's': // string
+         str = va_arg (args_copy, const char *);
+         break;
+       case 'd': // int
+         number = va_arg (args_copy, int);
+         break;
+       case 'f': // float
+         fnumber = va_arg (args_copy, double);
+         break;
+       default:
+         break;
+       }
+    }
+  va_end (args_copy);
+  va_end (args);
+
+  return *str && number && fnumber;
+}
+int
+main ()
+{
+
+  // Check bool.
+  _Bool success = false;
+
+  // Check restrict.
+  if (test_restrict ("String literal") == 0)
+    success = true;
+  char *restrict newvar = "Another string";
+
+  // Check varargs.
+  success &= test_varargs ("s, d' f .", "string", 65, 34.234);
+  test_varargs_macros ();
+
+  // Check flexible array members.
+  struct incomplete_array *ia =
+    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+  ia->datasize = 10;
+  for (int i = 0; i < ia->datasize; ++i)
+    ia->data[i] = i * 1.234;
+
+  // Check named initializers.
+  struct named_init ni = {
+    .number = 34,
+    .name = L"Test wide string",
+    .average = 543.34343,
+  };
+
+  ni.number = 58;
+
+  int dynamic_array[ni.number];
+  dynamic_array[ni.number - 1] = 543;
+
+  // work around unused variable warnings
+  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
+         || dynamic_array[ni.number - 1] != 543);
+
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc1x -qlanglvl=extc99
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+ac_prog_cc_stdc_options=
+case "x$ac_cv_prog_cc_c99" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c99"
+    CC=$CC$ac_prog_cc_stdc_options
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c99" != xno; then :
+  ac_prog_cc_stdc=c99
+                   ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+$as_echo_n "checking for $CC option to enable C89 features... " >&6; }
 if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
@@ -5155,6 +5949,7 @@ CC=$ac_save_CC
 
 fi
 # AC_CACHE_VAL
+ac_prog_cc_stdc_options=
 case "x$ac_cv_prog_cc_c89" in
   x)
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
@@ -5163,79 +5958,29 @@ $as_echo "none needed" >&6; } ;;
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
 $as_echo "unsupported" >&6; } ;;
   *)
-    CC="$CC $ac_cv_prog_cc_c89"
+    ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c89"
+    CC=$CC$ac_prog_cc_stdc_options
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-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
-
-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 $CC understands -c and -o together" >&5
-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
-if ${am_cv_prog_cc_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
+  ac_prog_cc_stdc=c89
+                      ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  ac_prog_cc_stdc=no
+                      ac_cv_prog_cc_stdc=no
+fi
 
-int
-main ()
-{
+fi
 
-  ;
-  return 0;
-}
-_ACEOF
-  # Make sure it works both with $CC and with simple cc.
-  # Following AC_PROG_CC_C_O, we do the test twice because some
-  # compilers refuse to overwrite an existing .o file with -o,
-  # though they will create one.
-  am_cv_prog_cc_c_o=yes
-  for am_i in 1 2; do
-    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
-   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } \
-         && test -f conftest2.$ac_objext; then
-      : OK
-    else
-      am_cv_prog_cc_c_o=no
-      break
-    fi
-  done
-  rm -f core conftest*
-  unset am_i
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
-$as_echo "$am_cv_prog_cc_c_o" >&6; }
-if test "$am_cv_prog_cc_c_o" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
 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
 
-
 depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -5421,414 +6166,483 @@ if test "$ac_res" != no; then :
 
 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
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
 do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
 
+else
+  # Broken: fails on valid input.
+continue
 fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
 fi
 
+    done
+    ac_cv_prog_CPP=$CPP
 
 fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+  CPP=$ac_cv_prog_CPP
 else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+  ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
 do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
 
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  # Broken: fails on valid input.
+continue
 fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
 else
-  CC="$ac_cv_prog_CC"
+  # Passes both tests.
+ac_preproc_ok=:
+break
 fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
 done
-  done
-IFS=$as_save_IFS
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
 
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 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
 
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
   done
-IFS=$as_save_IFS
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
 
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  ac_cv_path_GREP=$GREP
 fi
 
-
 fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
   done
-IFS=$as_save_IFS
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
 
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  ac_cv_path_EGREP=$EGREP
 fi
 
-
-    test -n "$CC" && break
-  done
+   fi
 fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+if test $ac_cv_c_compiler_gnu = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5
+$as_echo_n "checking whether $CC needs -traditional... " >&6; }
+if ${ac_cv_prog_gcc_traditional+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+    ac_pattern="Autoconf.*'x'"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sgtty.h>
+Autoconf TIOCGETP
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "$ac_pattern" >/dev/null 2>&1; then :
+  ac_cv_prog_gcc_traditional=yes
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  ac_cv_prog_gcc_traditional=no
 fi
+rm -f conftest*
 
 
-  test -n "$ac_ct_CC" && break
-done
+  if test $ac_cv_prog_gcc_traditional = no; then
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <termio.h>
+Autoconf TCGETA
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "$ac_pattern" >/dev/null 2>&1; then :
+  ac_cv_prog_gcc_traditional=yes
+fi
+rm -f conftest*
 
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
   fi
 fi
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5
+$as_echo "$ac_cv_prog_gcc_traditional" >&6; }
+  if test $ac_cv_prog_gcc_traditional = yes; then
+    CC="$CC -traditional"
+  fi
 fi
 
 
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
 
 int
 main ()
 {
-#ifndef __GNUC__
-       choke me
-#endif
 
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
+  ac_cv_header_stdc=yes
 else
-  ac_compiler_gnu=no
+  ac_cv_header_stdc=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
 else
-  GCC=
+  ac_cv_header_stdc=no
 fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
 else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+                  (('a' <= (c) && (c) <= 'i') \
+                    || ('j' <= (c) && (c) <= 'r') \
+                    || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
 
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
 int
 main ()
 {
-
-  ;
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+       || toupper (i) != TOUPPER (i))
+      return 2;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
+if ac_fn_c_try_run "$LINENO"; then :
+
 else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
-int
-main ()
-{
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
 
-  ;
-  return 0;
-}
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+                 inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
 
+fi
+
+done
+
+
+
+  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
+  MINIX=yes
 else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  MINIX=
+fi
+
+
+  if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+
+$as_echo "#define _NETBSD_SOURCE 1" >>confdefs.h
+
+  fi
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5838,141 +6652,73 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_safe_to_define___extensions__=yes
+else
+  ac_cv_safe_to_define___extensions__=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+  test $ac_cv_safe_to_define___extensions__ = yes &&
+    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+
+  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _DARWIN_C_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _NETBSD_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _OPENBSD_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h
+
+  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
+$as_echo_n "checking whether _XOPEN_SOURCE should be defined... " >&6; }
+if ${ac_cv_should_define__xopen_source+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  ac_cv_should_define__xopen_source=no
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
 
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
+          #include <wchar.h>
+          mbstate_t x;
 int
 main ()
 {
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+
   ;
   return 0;
 }
 _ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-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
+if ac_fn_c_try_compile "$LINENO"; 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 $CC understands -c and -o together" >&5
-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
-if ${am_cv_prog_cc_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+             #define _XOPEN_SOURCE 500
+             #include <wchar.h>
+             mbstate_t x;
 int
 main ()
 {
@@ -5981,520 +6727,69 @@ main ()
   return 0;
 }
 _ACEOF
-  # Make sure it works both with $CC and with simple cc.
-  # Following AC_PROG_CC_C_O, we do the test twice because some
-  # compilers refuse to overwrite an existing .o file with -o,
-  # though they will create one.
-  am_cv_prog_cc_c_o=yes
-  for am_i in 1 2; do
-    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
-   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } \
-         && test -f conftest2.$ac_objext; then
-      : OK
-    else
-      am_cv_prog_cc_c_o=no
-      break
-    fi
-  done
-  rm -f core conftest*
-  unset am_i
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
-$as_echo "$am_cv_prog_cc_c_o" >&6; }
-if test "$am_cv_prog_cc_c_o" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_should_define__xopen_source=yes
 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
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5
+$as_echo "$ac_cv_should_define__xopen_source" >&6; }
+  test $ac_cv_should_define__xopen_source = yes &&
+    $as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h
 
+  $as_echo "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h
 
-depcc="$CC"   am_compiler_list=
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named 'D' -- because '-MD' means "put the output
-  # in D".
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
 
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
 
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
-      # Solaris 10 /bin/sh.
-      echo '/* dummy */' > sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with '-c' and '-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle '-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs.
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # After this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested.
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok '-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
 
-  cd ..
-  rm -rf conftest.dir
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
+$as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
+if ${gl_cv_c_amsterdam_compiler+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  am_cv_CC_dependencies_compiler_type=none
-fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
+#ifdef __ACK__
+Amsterdam
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Amsterdam" >/dev/null 2>&1; then :
+  gl_cv_c_amsterdam_compiler=yes
 else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
+  gl_cv_c_amsterdam_compiler=no
 fi
+rm -f conftest*
 
 
-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 how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
 fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-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}: result: $gl_cv_c_amsterdam_compiler" >&5
+$as_echo "$gl_cv_c_amsterdam_compiler" >&6; }
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
+      if test $gl_cv_c_amsterdam_compiler = yes; then
+    if test -z "$AR"; then
+      AR='cc -c.a'
     fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
+    if test -z "$ARFLAGS"; then
+      ARFLAGS='-o'
     fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-if test $ac_cv_c_compiler_gnu = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5
-$as_echo_n "checking whether $CC needs -traditional... " >&6; }
-if ${ac_cv_prog_gcc_traditional+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    ac_pattern="Autoconf.*'x'"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sgtty.h>
-Autoconf TIOCGETP
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "$ac_pattern" >/dev/null 2>&1; then :
-  ac_cv_prog_gcc_traditional=yes
-else
-  ac_cv_prog_gcc_traditional=no
-fi
-rm -f conftest*
-
-
-  if test $ac_cv_prog_gcc_traditional = no; then
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <termio.h>
-Autoconf TCGETA
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "$ac_pattern" >/dev/null 2>&1; then :
-  ac_cv_prog_gcc_traditional=yes
-fi
-rm -f conftest*
-
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5
-$as_echo "$ac_cv_prog_gcc_traditional" >&6; }
-  if test $ac_cv_prog_gcc_traditional = yes; then
-    CC="$CC -traditional"
+  else
+                                                :
   fi
-fi
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
-$as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
-if ${gl_cv_c_amsterdam_compiler+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifdef __ACK__
-Amsterdam
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Amsterdam" >/dev/null 2>&1; then :
-  gl_cv_c_amsterdam_compiler=yes
-else
-  gl_cv_c_amsterdam_compiler=no
-fi
-rm -f conftest*
 
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
-$as_echo "$gl_cv_c_amsterdam_compiler" >&6; }
-  if test -z "$AR"; then
-    if test $gl_cv_c_amsterdam_compiler = yes; then
-      AR='cc -c.a'
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='-o'
-      fi
-    else
-                  if test -n "$ac_tool_prefix"; then
+        if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -6586,17 +6881,12 @@ else
   AR="$ac_cv_prog_AR"
 fi
 
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='cru'
-      fi
-    fi
-  else
-    if test -z "$ARFLAGS"; then
-      ARFLAGS='cru'
-    fi
+  if test -z "$ARFLAGS"; then
+    ARFLAGS='cr'
   fi
 
 
+
   if test -z "$RANLIB"; then
     if test $gl_cv_c_amsterdam_compiler = yes; then
       RANLIB=':'
@@ -6697,18 +6987,35 @@ fi
   fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+  enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if ${ac_cv_sys_largefile_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  ac_cv_sys_largefile_CC=no
+     if test "$GCC" != yes; then
+       ac_save_CC=$CC
+       while :; do
+         # IRIX 6.2 and later do not support large files by default,
+         # so use the C compiler's -n32 option if that helps.
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                       && LARGE_OFF_T % 2147483647 == 1)
+                      ? 1 : -1];
 int
 main ()
 {
@@ -6717,349 +7024,83 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
+         if ac_fn_c_try_compile "$LINENO"; then :
+  break
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
+rm -f core conftest.err conftest.$ac_objext
+         CC="$CC -n32"
+         if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_largefile_CC=' -n32'; break
 fi
-rm -f conftest*
-
+rm -f core conftest.err conftest.$ac_objext
+         break
+       done
+       CC=$ac_save_CC
+       rm -f conftest.$ac_ext
+    fi
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+  if test "$ac_cv_sys_largefile_CC" != no; then
+    CC=$CC$ac_cv_sys_largefile_CC
+  fi
 
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if ${ac_cv_sys_file_offset_bits+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdlib.h>
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                       && LARGE_OFF_T % 2147483647 == 1)
+                      ? 1 : -1];
+int
+main ()
+{
 
+  ;
+  return 0;
+}
 _ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=no; break
 fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                       && LARGE_OFF_T % 2147483647 == 1)
+                      ? 1 : -1];
 int
 main ()
 {
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
+
+  ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=64; break
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = xyes; then :
-  MINIX=yes
-else
-  MINIX=
-fi
-
-
-  if test "$MINIX" = yes; then
-
-$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
-
-
-$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
-
-
-$as_echo "#define _MINIX 1" >>confdefs.h
-
-
-$as_echo "#define _NETBSD_SOURCE 1" >>confdefs.h
-
-  fi
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if ${ac_cv_safe_to_define___extensions__+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#         define __EXTENSIONS__ 1
-          $ac_includes_default
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_safe_to_define___extensions__=yes
-else
-  ac_cv_safe_to_define___extensions__=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
-  test $ac_cv_safe_to_define___extensions__ = yes &&
-    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
-
-  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
-
-  $as_echo "#define _DARWIN_C_SOURCE 1" >>confdefs.h
-
-  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
-
-  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
-  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
-$as_echo_n "checking whether _XOPEN_SOURCE should be defined... " >&6; }
-if ${ac_cv_should_define__xopen_source+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_should_define__xopen_source=no
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-          #include <wchar.h>
-          mbstate_t x;
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-             #define _XOPEN_SOURCE 500
-             #include <wchar.h>
-             mbstate_t x;
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_should_define__xopen_source=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5
-$as_echo "$ac_cv_should_define__xopen_source" >&6; }
-  test $ac_cv_should_define__xopen_source = yes &&
-    $as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h
-
-
-
-
-
-
-
-
-# Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
-  enableval=$enable_largefile;
-fi
-
-if test "$enable_largefile" != no; then
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if ${ac_cv_sys_largefile_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_sys_largefile_CC=no
-     if test "$GCC" != yes; then
-       ac_save_CC=$CC
-       while :; do
-         # IRIX 6.2 and later do not support large files by default,
-         # so use the C compiler's -n32 option if that helps.
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                       && LARGE_OFF_T % 2147483647 == 1)
-                      ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-         if ac_fn_c_try_compile "$LINENO"; then :
-  break
-fi
-rm -f core conftest.err conftest.$ac_objext
-         CC="$CC -n32"
-         if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_largefile_CC=' -n32'; break
-fi
-rm -f core conftest.err conftest.$ac_objext
-         break
-       done
-       CC=$ac_save_CC
-       rm -f conftest.$ac_ext
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
-  if test "$ac_cv_sys_largefile_CC" != no; then
-    CC=$CC$ac_cv_sys_largefile_CC
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if ${ac_cv_sys_file_offset_bits+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  while :; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                       && LARGE_OFF_T % 2147483647 == 1)
-                      ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_file_offset_bits=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                       && LARGE_OFF_T % 2147483647 == 1)
-                      ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_file_offset_bits=64; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_file_offset_bits=unknown
-  break
-done
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_file_offset_bits=unknown
+  break
+done
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
 $as_echo "$ac_cv_sys_file_offset_bits" >&6; }
@@ -7148,297 +7189,7 @@ $as_echo "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h
 
 fi
 
-   case $ac_cv_prog_cc_stdc in #(
-  no) :
-    ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #(
-  *) :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
-$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
-if ${ac_cv_prog_cc_c99+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c99=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdbool.h>
-#include <stdlib.h>
-#include <wchar.h>
-#include <stdio.h>
-
-// Check varargs macros.  These examples are taken from C99 6.10.3.5.
-#define debug(...) fprintf (stderr, __VA_ARGS__)
-#define showlist(...) puts (#__VA_ARGS__)
-#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
-static void
-test_varargs_macros (void)
-{
-  int x = 1234;
-  int y = 5678;
-  debug ("Flag");
-  debug ("X = %d\n", x);
-  showlist (The first, second, and third items.);
-  report (x>y, "x is %d but y is %d", x, y);
-}
-
-// Check long long types.
-#define BIG64 18446744073709551615ull
-#define BIG32 4294967295ul
-#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
-#if !BIG_OK
-  your preprocessor is broken;
-#endif
-#if BIG_OK
-#else
-  your preprocessor is broken;
-#endif
-static long long int bignum = -9223372036854775807LL;
-static unsigned long long int ubignum = BIG64;
-
-struct incomplete_array
-{
-  int datasize;
-  double data[];
-};
-
-struct named_init {
-  int number;
-  const wchar_t *name;
-  double average;
-};
-
-typedef const char *ccp;
-
-static inline int
-test_restrict (ccp restrict text)
-{
-  // See if C++-style comments work.
-  // Iterate through items via the restricted pointer.
-  // Also check for declarations in for loops.
-  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
-    continue;
-  return 0;
-}
-
-// Check varargs and va_copy.
-static void
-test_varargs (const char *format, ...)
-{
-  va_list args;
-  va_start (args, format);
-  va_list args_copy;
-  va_copy (args_copy, args);
-
-  const char *str;
-  int number;
-  float fnumber;
-
-  while (*format)
-    {
-      switch (*format++)
-       {
-       case 's': // string
-         str = va_arg (args_copy, const char *);
-         break;
-       case 'd': // int
-         number = va_arg (args_copy, int);
-         break;
-       case 'f': // float
-         fnumber = va_arg (args_copy, double);
-         break;
-       default:
-         break;
-       }
-    }
-  va_end (args_copy);
-  va_end (args);
-}
-
-int
-main ()
-{
-
-  // Check bool.
-  _Bool success = false;
-
-  // Check restrict.
-  if (test_restrict ("String literal") == 0)
-    success = true;
-  char *restrict newvar = "Another string";
-
-  // Check varargs.
-  test_varargs ("s, d' f .", "string", 65, 34.234);
-  test_varargs_macros ();
-
-  // Check flexible array members.
-  struct incomplete_array *ia =
-    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
-  ia->datasize = 10;
-  for (int i = 0; i < ia->datasize; ++i)
-    ia->data[i] = i * 1.234;
-
-  // Check named initializers.
-  struct named_init ni = {
-    .number = 34,
-    .name = L"Test wide string",
-    .average = 543.34343,
-  };
-
-  ni.number = 58;
-
-  int dynamic_array[ni.number];
-  dynamic_array[ni.number - 1] = 543;
-
-  // work around unused variable warnings
-  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
-         || dynamic_array[ni.number - 1] != 543);
-
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c99=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c99" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c99" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c99"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
-$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c99" != xno; then :
-  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
-else
-  ac_cv_prog_cc_stdc=no
-fi
-
-fi
- ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5
-$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; }
-  if ${ac_cv_prog_cc_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
 
-  case $ac_cv_prog_cc_stdc in #(
-  no) :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;; #(
-  '') :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;; #(
-  *) :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5
-$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;;
-esac
 
 
 
@@ -7453,13 +7204,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
@@ -7490,35 +7248,54 @@ fi
 
 
 
+  # Pre-early section.
 
-  # Code from module absolute-header:
+
+
+
+  # Code from module absolute-header:
+  # Code from module accept:
+  # Code from module accept-tests:
   # Code from module alloca:
   # Code from module alloca-opt:
   # Code from module alloca-opt-tests:
   # Code from module announce-gen:
   # Code from module argmatch:
   # Code from module argmatch-tests:
+  # Code from module arpa_inet:
+  # Code from module arpa_inet-tests:
   # Code from module assert:
+  # Code from module assure:
   # Code from module binary-io:
   # Code from module binary-io-tests:
+  # Code from module bind:
+  # Code from module bind-tests:
   # Code from module btowc:
   # Code from module btowc-tests:
+  # Code from module builtin-expect:
   # Code from module c-ctype:
   # Code from module c-ctype-tests:
   # Code from module c-strcase:
   # Code from module c-strcase-tests:
   # Code from module c-strcaseeq:
+  # Code from module c99:
   # Code from module calloc-gnu:
   # Code from module calloc-gnu-tests:
   # Code from module calloc-posix:
   # Code from module canonicalize-lgpl:
   # Code from module canonicalize-lgpl-tests:
+  # Code from module cloexec:
+  # Code from module cloexec-tests:
   # Code from module close:
   # Code from module close-stream:
   # Code from module close-tests:
   # Code from module closeout:
   # Code from module config-h:
   # Code from module configmake:
+  # Code from module connect:
+  # Code from module connect-tests:
+  # Code from module ctype:
+  # Code from module ctype-tests:
   # Code from module dirname:
   # Code from module dirname-lgpl:
   # Code from module dirname-tests:
@@ -7534,15 +7311,18 @@ fi
   # Code from module error:
   # Code from module exitfail:
   # Code from module extensions:
-
   # Code from module extern-inline:
+  # Code from module fcntl:
   # Code from module fcntl-h:
   # Code from module fcntl-h-tests:
+  # Code from module fcntl-tests:
   # Code from module fd-hook:
   # Code from module fdl:
   # Code from module fdopen:
   # Code from module fdopen-tests:
   # Code from module fgetc-tests:
+  # Code from module filename:
+  # Code from module flexmember:
   # Code from module fpending:
   # Code from module fpending-tests:
   # Code from module fputc-tests:
@@ -7551,6 +7331,8 @@ fi
   # Code from module fstat-tests:
   # Code from module fsync:
   # Code from module fsync-tests:
+  # Code from module ftruncate:
+  # Code from module ftruncate-tests:
   # Code from module fwrite-tests:
   # Code from module gendocs:
   # Code from module getcwd-lgpl:
@@ -7558,9 +7340,12 @@ fi
   # Code from module getdtablesize:
   # Code from module getdtablesize-tests:
   # Code from module getopt-gnu:
+  # Code from module getopt-gnu-tests:
   # Code from module getopt-posix:
   # Code from module getopt-posix-tests:
   # Code from module getpagesize:
+  # Code from module getprogname:
+  # Code from module getprogname-tests:
   # Code from module gettext-h:
   # Code from module gettimeofday:
   # Code from module gettimeofday-tests:
@@ -7569,27 +7354,41 @@ fi
   # Code from module gnu-web-doc-update:
   # Code from module gnumakefile:
   # Code from module gnupload:
+  # Code from module hard-locale:
   # Code from module havelib:
   # Code from module ignore-value:
   # Code from module ignore-value-tests:
   # Code from module include_next:
+  # Code from module inet_pton:
+  # Code from module inet_pton-tests:
   # Code from module intprops:
   # Code from module intprops-tests:
   # Code from module inttypes:
   # Code from module inttypes-incomplete:
   # Code from module inttypes-tests:
+  # Code from module ioctl:
+  # Code from module ioctl-tests:
+  # Code from module isblank:
+  # Code from module isblank-tests:
   # Code from module langinfo:
   # Code from module langinfo-tests:
   # Code from module largefile:
 
   # Code from module lib-ignore:
+  # Code from module libc-config:
+  # Code from module limits-h:
+  # Code from module limits-h-tests:
+  # Code from module listen:
+  # Code from module listen-tests:
   # Code from module localcharset:
+  # Code from module localcharset-tests:
   # Code from module locale:
   # Code from module locale-tests:
   # Code from module localeconv:
   # Code from module localeconv-tests:
   # Code from module localename:
   # Code from module localename-tests:
+  # Code from module localtime-buffer:
   # Code from module lock:
   # Code from module lock-tests:
   # Code from module long-options:
@@ -7609,11 +7408,18 @@ fi
   # Code from module mbsinit:
   # Code from module mbsinit-tests:
   # Code from module mbtowc:
+  # Code from module minmax:
+  # Code from module mkdir:
+  # Code from module mkdir-tests:
   # Code from module mkstemp:
   # Code from module mktempd:
   # Code from module msvc-inval:
   # Code from module msvc-nothrow:
   # Code from module multiarch:
+  # Code from module nanosleep:
+  # Code from module nanosleep-tests:
+  # Code from module netinet_in:
+  # Code from module netinet_in-tests:
   # Code from module nl_langinfo:
   # Code from module nl_langinfo-tests:
   # Code from module nocrash:
@@ -7621,14 +7427,32 @@ fi
   # Code from module open-tests:
   # Code from module pathmax:
   # Code from module pathmax-tests:
+  # Code from module perror:
+  # Code from module perror-tests:
+  # Code from module pipe-posix:
+  # Code from module pipe-posix-tests:
   # Code from module priv-set:
   # Code from module priv-set-tests:
   # Code from module progname:
+  # Code from module pthread-h:
+
+$as_echo "#define _REENTRANT 1" >>confdefs.h
+
+
+$as_echo "#define _THREAD_SAFE 1" >>confdefs.h
+
+  # Code from module pthread-h-tests:
+  # Code from module pthread-thread:
+  # Code from module pthread-thread-tests:
+  # Code from module pthread_sigmask:
+  # Code from module pthread_sigmask-tests:
   # Code from module putenv:
   # Code from module quote:
   # Code from module quotearg:
   # Code from module quotearg-simple:
   # Code from module quotearg-simple-tests:
+  # Code from module raise:
+  # Code from module raise-tests:
   # Code from module read:
   # Code from module read-tests:
   # Code from module readlink:
@@ -7642,20 +7466,41 @@ fi
   # Code from module rpmatch:
   # Code from module safe-read:
   # Code from module same-inode:
-  # Code from module secure_getenv:
+  # Code from module sched:
+  # Code from module sched-tests:
+  # Code from module select:
+  # Code from module select-tests:
   # Code from module setenv:
   # Code from module setenv-tests:
   # Code from module setlocale:
   # Code from module setlocale-tests:
+  # Code from module setsockopt:
+  # Code from module setsockopt-tests:
+  # Code from module sigaction:
+  # Code from module sigaction-tests:
+  # Code from module signal-h:
+  # Code from module signal-h-tests:
+  # Code from module sigprocmask:
+  # Code from module sigprocmask-tests:
   # Code from module sleep:
   # Code from module sleep-tests:
   # Code from module snippet/_Noreturn:
   # Code from module snippet/arg-nonnull:
   # Code from module snippet/c++defs:
   # Code from module snippet/warn-on-use:
+  # Code from module socket:
+  # Code from module socketlib:
+  # Code from module sockets:
+  # Code from module sockets-tests:
+  # Code from module socklen:
   # Code from module ssize_t:
   # Code from module stat:
   # Code from module stat-tests:
+  # Code from module stat-time:
+  # Code from module stat-time-tests:
+  # Code from module std-gnu11:
+  # Code from module stdalign:
+  # Code from module stdalign-tests:
   # Code from module stdarg:
 
 
@@ -7675,6 +7520,8 @@ fi
   # Code from module strerror:
   # Code from module strerror-override:
   # Code from module strerror-tests:
+  # Code from module strerror_r-posix:
+  # Code from module strerror_r-posix-tests:
   # Code from module string:
   # Code from module string-tests:
   # Code from module strndup:
@@ -7686,12 +7533,20 @@ fi
   # Code from module strtoull-tests:
   # Code from module symlink:
   # Code from module symlink-tests:
+  # Code from module sys_ioctl:
+  # Code from module sys_ioctl-tests:
+  # Code from module sys_select:
+  # Code from module sys_select-tests:
+  # Code from module sys_socket:
+  # Code from module sys_socket-tests:
   # Code from module sys_stat:
   # Code from module sys_stat-tests:
   # Code from module sys_time:
   # Code from module sys_time-tests:
   # Code from module sys_types:
   # Code from module sys_types-tests:
+  # Code from module sys_uio:
+  # Code from module sys_uio-tests:
   # Code from module tempname:
   # Code from module test-framework-sh:
   # Code from module test-framework-sh-tests:
@@ -7731,6 +7586,12 @@ fi
   # Code from module wctomb:
   # Code from module wctype-h:
   # Code from module wctype-h-tests:
+  # Code from module windows-mutex:
+  # Code from module windows-once:
+  # Code from module windows-recmutex:
+  # Code from module windows-rwlock:
+  # Code from module windows-thread:
+  # Code from module windows-tls:
   # Code from module xalloc:
   # Code from module xalloc-die:
   # Code from module xalloc-die-tests:
@@ -8200,6 +8061,7 @@ fi
 
 
 
+
           LIBC_FATAL_STDERR_=1
   export LIBC_FATAL_STDERR_
 
@@ -8444,6 +8306,7 @@ fi
   GNULIB_WCSSTR=0;
   GNULIB_WCSTOK=0;
   GNULIB_WCSWIDTH=0;
+  GNULIB_WCSFTIME=0;
     HAVE_BTOWC=1;
   HAVE_MBSINIT=1;
   HAVE_MBRTOWC=1;
@@ -8481,6 +8344,7 @@ fi
   HAVE_WCSSTR=1;
   HAVE_WCSTOK=1;
   HAVE_WCSWIDTH=1;
+  HAVE_WCSFTIME=1;
   HAVE_DECL_WCTOB=1;
   HAVE_DECL_WCWIDTH=1;
   REPLACE_MBSTATE_T=0;
@@ -8496,6 +8360,7 @@ fi
   REPLACE_WCSNRTOMBS=0;
   REPLACE_WCWIDTH=0;
   REPLACE_WCSWIDTH=0;
+  REPLACE_WCSFTIME=0;
 
 
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <wchar.h> uses 'inline' correctly" >&5
@@ -8520,12 +8385,14 @@ extern int zero (void);
 int main () { return zero(); }
 
 _ACEOF
-     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+                              save_ac_compile="$ac_compile"
+     ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
+     if echo '#include "conftest.c"' >conftest1.c &&
+        { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-       mv conftest.$ac_objext conftest1.$ac_objext
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -8541,12 +8408,13 @@ _ACEOF
 int zero (void) { return 0; }
 
 _ACEOF
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+              ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
+       if echo '#include "conftest.c"' >conftest2.c &&
+          { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-         mv conftest.$ac_objext conftest2.$ac_objext
          if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then
            :
          else
@@ -8554,7 +8422,8 @@ _ACEOF
          fi
        fi
      fi
-     rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
+     ac_compile="$save_ac_compile"
+     rm -f conftest12.c conftest12.$ac_objext conftest$ac_exeext
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5
@@ -8565,7 +8434,7 @@ This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in
 C99 mode. You have four options:
   - Add the flag -fgnu89-inline to CC and reconfigure, or
   - Fix your include files, using parts of
-    <http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or
+    <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or
   - Use a gcc version older than 4.3, or
   - Don't use the flags -std=c99 or -std=gnu99.
 Configuration aborted." "$LINENO" 5
@@ -8644,8 +8513,14 @@ else
 struct tm t;
 char buf[16];
 int main () {
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -8653,9 +8528,9 @@ int main () {
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -8664,32 +8539,33 @@ int main () {
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether in the abbreviation of the second month, the second
      character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
+# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
+# endif
   return 0;
+#endif
 }
 
 _ACEOF
@@ -8776,14 +8652,17 @@ $as_echo "$gt_cv_locale_fr" >&6; }
   GNULIB_PTSNAME=0;
   GNULIB_PTSNAME_R=0;
   GNULIB_PUTENV=0;
+  GNULIB_QSORT_R=0;
   GNULIB_RANDOM=0;
   GNULIB_RANDOM_R=0;
+  GNULIB_REALLOCARRAY=0;
   GNULIB_REALLOC_POSIX=0;
   GNULIB_REALPATH=0;
   GNULIB_RPMATCH=0;
   GNULIB_SECURE_GETENV=0;
   GNULIB_SETENV=0;
   GNULIB_STRTOD=0;
+  GNULIB_STRTOLD=0;
   GNULIB_STRTOLL=0;
   GNULIB_STRTOULL=0;
   GNULIB_SYSTEM_POSIX=0;
@@ -8796,6 +8675,9 @@ $as_echo "$gt_cv_locale_fr" >&6; }
   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;
@@ -8804,15 +8686,20 @@ $as_echo "$gt_cv_locale_fr" >&6; }
   HAVE_POSIX_OPENPT=1;
   HAVE_PTSNAME=1;
   HAVE_PTSNAME_R=1;
+  HAVE_QSORT_R=1;
   HAVE_RANDOM=1;
   HAVE_RANDOM_H=1;
   HAVE_RANDOM_R=1;
+  HAVE_REALLOCARRAY=1;
   HAVE_REALPATH=1;
   HAVE_RPMATCH=1;
   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;
@@ -8821,17 +8708,22 @@ $as_echo "$gt_cv_locale_fr" >&6; }
   HAVE_DECL_UNSETENV=1;
   REPLACE_CALLOC=0;
   REPLACE_CANONICALIZE_FILE_NAME=0;
+  REPLACE_INITSTATE=0;
   REPLACE_MALLOC=0;
   REPLACE_MBTOWC=0;
   REPLACE_MKSTEMP=0;
   REPLACE_PTSNAME=0;
   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;
 
@@ -8848,7 +8740,7 @@ else
 int
 main ()
 {
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
              choke me
              #endif
 
@@ -8928,6 +8820,10 @@ 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.
         *)             gl_cv_func_realpath_works="guessing no" ;;
       esac
@@ -9001,7 +8897,7 @@ nocrash_init (void)
     }
   }
 }
-#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#elif defined _WIN32 && ! defined __CYGWIN__
 /* Avoid a crash on native Windows.  */
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
@@ -9032,11 +8928,12 @@ nocrash_init (void)
 #else
 /* Avoid a crash on POSIX systems.  */
 #include <signal.h>
+#include <unistd.h>
 /* A POSIX signal handler.  */
 static void
 exception_handler (int sig)
 {
-  exit (1);
+  _exit (1);
 }
 static void
 nocrash_init (void)
@@ -9062,22 +8959,27 @@ main ()
           char *name = realpath ("conftest.a", NULL);
           if (!(name && *name == '/'))
             result |= 1;
+          free (name);
         }
         {
           char *name = realpath ("conftest.b/../conftest.a", NULL);
           if (name != NULL)
             result |= 2;
+          free (name);
         }
         {
           char *name = realpath ("conftest.a/", NULL);
           if (name != NULL)
             result |= 4;
+          free (name);
         }
         {
           char *name1 = realpath (".", NULL);
           char *name2 = realpath ("conftest.d//./..", NULL);
-          if (strcmp (name1, name2) != 0)
+          if (! name1 || ! name2 || strcmp (name1, name2))
             result |= 8;
+          free (name1);
+          free (name2);
         }
         return result;
 
@@ -9138,6 +9040,7 @@ done
   GNULIB_CHDIR=0;
   GNULIB_CHOWN=0;
   GNULIB_CLOSE=0;
+  GNULIB_COPY_FILE_RANGE=0;
   GNULIB_DUP=0;
   GNULIB_DUP2=0;
   GNULIB_DUP3=0;
@@ -9157,6 +9060,7 @@ done
   GNULIB_GETLOGIN=0;
   GNULIB_GETLOGIN_R=0;
   GNULIB_GETPAGESIZE=0;
+  GNULIB_GETPASS=0;
   GNULIB_GETUSERSHELL=0;
   GNULIB_GROUP_MEMBER=0;
   GNULIB_ISATTY=0;
@@ -9176,6 +9080,7 @@ done
   GNULIB_SLEEP=0;
   GNULIB_SYMLINK=0;
   GNULIB_SYMLINKAT=0;
+  GNULIB_TRUNCATE=0;
   GNULIB_TTYNAME_R=0;
   GNULIB_UNISTD_H_NONBLOCKING=0;
   GNULIB_UNISTD_H_SIGPIPE=0;
@@ -9184,6 +9089,7 @@ done
   GNULIB_USLEEP=0;
   GNULIB_WRITE=0;
     HAVE_CHOWN=1;
+  HAVE_COPY_FILE_RANGE=1;
   HAVE_DUP2=1;
   HAVE_DUP3=1;
   HAVE_EUIDACCESS=1;
@@ -9198,6 +9104,7 @@ done
   HAVE_GETHOSTNAME=1;
   HAVE_GETLOGIN=1;
   HAVE_GETPAGESIZE=1;
+  HAVE_GETPASS=1;
   HAVE_GROUP_MEMBER=1;
   HAVE_LCHOWN=1;
   HAVE_LINK=1;
@@ -9218,10 +9125,12 @@ done
   HAVE_DECL_FCHDIR=1;
   HAVE_DECL_FDATASYNC=1;
   HAVE_DECL_GETDOMAINNAME=1;
+  HAVE_DECL_GETLOGIN=1;
   HAVE_DECL_GETLOGIN_R=1;
   HAVE_DECL_GETPAGESIZE=1;
   HAVE_DECL_GETUSERSHELL=1;
   HAVE_DECL_SETHOSTNAME=1;
+  HAVE_DECL_TRUNCATE=1;
   HAVE_DECL_TTYNAME_R=1;
   HAVE_OS_H=0;
   HAVE_SYS_PARAM_H=0;
@@ -9229,6 +9138,7 @@ done
   REPLACE_CLOSE=0;
   REPLACE_DUP=0;
   REPLACE_DUP2=0;
+  REPLACE_FACCESSAT=0;
   REPLACE_FCHOWNAT=0;
   REPLACE_FTRUNCATE=0;
   REPLACE_GETCWD=0;
@@ -9237,6 +9147,7 @@ done
   REPLACE_GETLOGIN_R=0;
   REPLACE_GETGROUPS=0;
   REPLACE_GETPAGESIZE=0;
+  REPLACE_GETPASS=0;
   REPLACE_ISATTY=0;
   REPLACE_LCHOWN=0;
   REPLACE_LINK=0;
@@ -9246,9 +9157,12 @@ done
   REPLACE_PWRITE=0;
   REPLACE_READ=0;
   REPLACE_READLINK=0;
+  REPLACE_READLINKAT=0;
   REPLACE_RMDIR=0;
   REPLACE_SLEEP=0;
   REPLACE_SYMLINK=0;
+  REPLACE_SYMLINKAT=0;
+  REPLACE_TRUNCATE=0;
   REPLACE_TTYNAME_R=0;
   REPLACE_UNLINK=0;
   REPLACE_UNLINKAT=0;
@@ -9273,6 +9187,13 @@ $as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h
 
 
 
+  GNULIB_IOCTL=0;
+    SYS_IOCTL_H_HAVE_WINSOCK2_H=0;
+  SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
+
+  REPLACE_IOCTL=0;
+
+
 
 
 
@@ -9892,7 +9813,12 @@ if ${gl_cv_header_working_fcntl_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-  gl_cv_header_working_fcntl_h=cross-compiling
+  case "$host_os" in
+                  # Guess 'no' on native Windows.
+          mingw*) gl_cv_header_working_fcntl_h='no' ;;
+          *)      gl_cv_header_working_fcntl_h=cross-compiling ;;
+        esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -10003,6 +9929,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: $gl_cv_header_working_fcntl_h" >&5
 $as_echo "$gl_cv_header_working_fcntl_h" >&6; }
@@ -10065,6 +9992,7 @@ fi
   GNULIB_MKNODAT=0;
   GNULIB_STAT=0;
   GNULIB_UTIMENSAT=0;
+  GNULIB_OVERRIDES_STRUCT_STAT=0;
     HAVE_FCHMODAT=1;
   HAVE_FSTATAT=1;
   HAVE_FUTIMENS=1;
@@ -10167,7 +10095,40 @@ $as_echo "$gl_cv_type_off_t_64" >&6; }
       else
         WINDOWS_64_BIT_OFF_T=0
       fi
-                  WINDOWS_64_BIT_ST_SIZE=1
+                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit st_size" >&5
+$as_echo_n "checking for 64-bit st_size... " >&6; }
+if ${gl_cv_member_st_size_64+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+                struct stat buf;
+                int verify_st_size_size[sizeof (buf.st_size) >= 8 ? 1 : -1];
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_member_st_size_64=yes
+else
+  gl_cv_member_st_size_64=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_member_st_size_64" >&5
+$as_echo "$gl_cv_member_st_size_64" >&6; }
+      if test $gl_cv_member_st_size_64 = no; then
+        WINDOWS_64_BIT_ST_SIZE=1
+      else
+        WINDOWS_64_BIT_ST_SIZE=0
+      fi
       ;;
     *)
                                                       WINDOWS_64_BIT_OFF_T=0
@@ -10262,14 +10223,14 @@ $as_echo "$gl_cv_next_sys_stat_h" >&6; }
 
 
 
+    WINDOWS_STAT_TIMESPEC=0
+
+
 
 
 
-  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
 
-$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h
 
-  fi
 
       ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h>
      #include <sys/stat.h>
 
 
 
-    for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat     mknod mknodat stat utimensat; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/stat.h>
-
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
@@ -10714,7 +10638,7 @@ nocrash_init (void)
     }
   }
 }
-#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#elif defined _WIN32 && ! defined __CYGWIN__
 /* Avoid a crash on native Windows.  */
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
@@ -10745,11 +10669,12 @@ nocrash_init (void)
 #else
 /* Avoid a crash on POSIX systems.  */
 #include <signal.h>
+#include <unistd.h>
 /* A POSIX signal handler.  */
 static void
 exception_handler (int sig)
 {
-  exit (1);
+  _exit (1);
 }
 static void
 nocrash_init (void)
@@ -10934,31 +10859,14 @@ $as_echo "$gl_cv_func_getopt_long_gnu" >&6; }
 
 
 
-    REPLACE_GETOPT=0
-    if test -n "$gl_replace_getopt"; then
-      REPLACE_GETOPT=1
-    fi
-
-  if test $REPLACE_GETOPT = 1; then
-
-  GETOPT_H=getopt.h
-
-$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
-
-
 
-  fi
 
-ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getenv" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETENV $ac_have_decl
-_ACEOF
+  GNULIB_GETTIMEOFDAY=0;
+    HAVE_GETTIMEOFDAY=1;
+  HAVE_STRUCT_TIMEVAL=1;
+  HAVE_SYS_TIME_H=1;
+  REPLACE_GETTIMEOFDAY=0;
+  REPLACE_STRUCT_TIMEVAL=0;
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5
 $as_echo_n "checking for C/C++ restrict keyword... " >&6; }
@@ -10970,17 +10878,19 @@ else
    for ac_kw in __restrict __restrict__ _Restrict restrict; do
      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-typedef int * int_ptr;
-       int foo (int_ptr $ac_kw ip) {
-       return ip[0];
-       }
+typedef int *int_ptr;
+           int foo (int_ptr $ac_kw ip) { return ip[0]; }
+           int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+           int bar (int ip[$ac_kw]) { return ip[0]; }
+
 int
 main ()
 {
 int s[1];
-       int * $ac_kw t = s;
-       t[0] = 0;
-       return foo(t)
+           int *$ac_kw t = s;
+           t[0] = 0;
+           return foo (t) + bar (t);
+
   ;
   return 0;
 }
@@ -11007,14 +10917,6 @@ _ACEOF
  esac
 
 
-  GNULIB_GETTIMEOFDAY=0;
-    HAVE_GETTIMEOFDAY=1;
-  HAVE_STRUCT_TIMEVAL=1;
-  HAVE_SYS_TIME_H=1;
-  REPLACE_GETTIMEOFDAY=0;
-  REPLACE_STRUCT_TIMEVAL=0;
-
-
 
 
 
@@ -11209,53 +11111,260 @@ $as_echo "$gl_cv_sys_struct_timeval_tv_sec" >&6; }
   fi
 
 
-    for gl_func in gettimeofday; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
+
+
+
+
+
+
+
+
+
+  NEED_LOCALTIME_BUFFER=0
+
+
+  GNULIB_CTIME=0;
+  GNULIB_MKTIME=0;
+  GNULIB_LOCALTIME=0;
+  GNULIB_NANOSLEEP=0;
+  GNULIB_STRFTIME=0;
+  GNULIB_STRPTIME=0;
+  GNULIB_TIMEGM=0;
+  GNULIB_TIME_R=0;
+  GNULIB_TIME_RZ=0;
+  GNULIB_TZSET=0;
+    HAVE_DECL_LOCALTIME_R=1;
+  HAVE_NANOSLEEP=1;
+  HAVE_STRPTIME=1;
+  HAVE_TIMEGM=1;
+  HAVE_TZSET=1;
+    HAVE_TIMEZONE_T=0;
+        REPLACE_CTIME=GNULIB_PORTCHECK;
+  REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
+  REPLACE_MKTIME=GNULIB_PORTCHECK;
+  REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
+  REPLACE_STRFTIME=GNULIB_PORTCHECK;
+  REPLACE_TIMEGM=GNULIB_PORTCHECK;
+  REPLACE_TZSET=GNULIB_PORTCHECK;
+
+      : ${GNULIB_GETTIMEOFDAY=0};
+        REPLACE_GMTIME=0;
+  REPLACE_LOCALTIME=0;
+
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_limits_h='<'limits.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <limits.h>" >&5
+$as_echo_n "checking absolute name of <limits.h>... " >&6; }
+if ${gl_cv_next_limits_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+
+             if test $ac_cv_header_limits_h = yes; then
+
+
+
+
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <limits.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-#if HAVE_SYS_TIME_H
-# include <sys/time.h>
-#endif
-#include <time.h>
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'limits.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_limits_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+           gl_header=$gl_cv_absolute_limits_h
+           gl_cv_next_limits_h='"'$gl_header'"'
+          else
+               gl_cv_next_limits_h='<'limits.h'>'
+             fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_limits_h" >&5
+$as_echo "$gl_cv_next_limits_h" >&6; }
+     fi
+     NEXT_LIMITS_H=$gl_cv_next_limits_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'limits.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_limits_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_LIMITS_H=$gl_next_as_first_directive
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc." >&5
+$as_echo_n "checking whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.... " >&6; }
+if ${gl_cv_header_limits_width+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+             #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+            #endif
+            #include <limits.h>
+            long long llm = LLONG_MAX;
+            int wb = WORD_BIT;
+            int ullw = ULLONG_WIDTH;
 
 int
 main ()
 {
-#undef $gl_func
-  (void) $gl_func;
+
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
+  gl_cv_header_limits_width=yes
 else
-  eval "$as_gl_Symbol=no"
+  gl_cv_header_limits_width=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_limits_width" >&5
+$as_echo "$gl_cv_header_limits_width" >&6; }
+  if test "$gl_cv_header_limits_width" = yes; then
+    LIMITS_H=
+  else
+    LIMITS_H=limits.h
+  fi
 
-                     eval ac_cv_have_decl_$gl_func=yes
+   if test -n "$LIMITS_H"; then
+  GL_GENERATE_LIMITS_H_TRUE=
+  GL_GENERATE_LIMITS_H_FALSE='#'
+else
+  GL_GENERATE_LIMITS_H_TRUE='#'
+  GL_GENERATE_LIMITS_H_FALSE=
 fi
-      done
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
+$as_echo_n "checking for wint_t... " >&6; }
+if ${gt_cv_c_wint_t+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.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 <time.h>
+#include <wchar.h>
+            wint_t foo = (wchar_t)'\0';
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gt_cv_c_wint_t=yes
+else
+  gt_cv_c_wint_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
+$as_echo "$gt_cv_c_wint_t" >&6; }
+  if test $gt_cv_c_wint_t = yes; then
+
+$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
+
+
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wint_t is too small" >&5
+$as_echo_n "checking whether wint_t is too small... " >&6; }
+if ${gl_cv_type_wint_t_too_small+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.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>.  */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <stddef.h>
+# include <stdio.h>
+# include <time.h>
+#endif
+#include <wchar.h>
+              int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1];
 
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_type_wint_t_too_small=no
+else
+  gl_cv_type_wint_t_too_small=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wint_t_too_small" >&5
+$as_echo "$gl_cv_type_wint_t_too_small" >&6; }
+    if test $gl_cv_type_wint_t_too_small = yes; then
+      GNULIB_OVERRIDES_WINT_T=1
+    else
+      GNULIB_OVERRIDES_WINT_T=0
+    fi
+  else
+    GNULIB_OVERRIDES_WINT_T=0
+  fi
 
 
 
@@ -11424,6 +11533,9 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 
+
+
+
   if test $ac_cv_type_long_long_int = yes; then
     HAVE_LONG_LONG_INT=1
   else
@@ -11557,6 +11669,8 @@ else
 
 
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
 #include <stdint.h>
 /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>.  */
 #if !(defined WCHAR_MIN && defined WCHAR_MAX)
@@ -11647,6 +11761,15 @@ uintptr_t h = UINTPTR_MAX;
 intmax_t i = INTMAX_MAX;
 uintmax_t j = UINTMAX_MAX;
 
+/* Check that SIZE_MAX has the correct type, if possible.  */
+#if 201112 <= __STDC_VERSION__
+int k = _Generic (SIZE_MAX, size_t: 0);
+#elif (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
+       || (0x5110 <= __SUNPRO_C && !__STDC__))
+extern size_t k;
+extern __typeof__ (SIZE_MAX) k;
+#endif
+
 #include <limits.h> /* for CHAR_BIT */
 #define TYPE_MINIMUM(t) \
   ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t)))
@@ -11717,7 +11840,12 @@ main ()
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
                                                     if test "$cross_compiling" = yes; then :
-                 gl_cv_header_working_stdint_h=yes
+  case "$host_os" in
+                         # Guess yes on native Windows.
+                 mingw*) gl_cv_header_working_stdint_h="guessing yes" ;;
+                         # In general, assume it works.
+                 *)      gl_cv_header_working_stdint_h="guessing yes" ;;
+               esac
 
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11725,6 +11853,8 @@ else
 
 
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
 #include <stdint.h>
 
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5
 $as_echo "$gl_cv_header_working_stdint_h" >&6; }
   fi
-  if test "$gl_cv_header_working_stdint_h" = yes; then
-    STDINT_H=
-  else
-            for ac_header in sys/inttypes.h sys/bitypes.h
+
+  HAVE_C99_STDINT_H=0
+  HAVE_SYS_BITYPES_H=0
+  HAVE_SYS_INTTYPES_H=0
+  STDINT_H=stdint.h
+  case "$gl_cv_header_working_stdint_h" in
+    *yes)
+      HAVE_C99_STDINT_H=1
+                  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h predates C++11" >&5
+$as_echo_n "checking whether stdint.h predates C++11... " >&6; }
+if ${gl_cv_header_stdint_predates_cxx11_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gl_cv_header_stdint_predates_cxx11_h=yes
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.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 <signal.h>
+  #if HAVE_WCHAR_H
+  # include <stdio.h>
+  # include <time.h>
+  # include <wchar.h>
+  #endif
+
+
+intmax_t im = INTMAX_MAX;
+int32_t i32 = INT32_C (0x7fffffff);
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_stdint_predates_cxx11_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_predates_cxx11_h" >&5
+$as_echo "$gl_cv_header_stdint_predates_cxx11_h" >&6; }
+
+      if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then
+
+$as_echo "#define __STDC_CONSTANT_MACROS 1" >>confdefs.h
+
+
+$as_echo "#define __STDC_LIMIT_MACROS 1" >>confdefs.h
+
+      fi
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h has UINTMAX_WIDTH etc." >&5
+$as_echo_n "checking whether stdint.h has UINTMAX_WIDTH etc.... " >&6; }
+if ${gl_cv_header_stdint_width+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gl_cv_header_stdint_width=no
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+              /* Work if build is not clean.  */
+              #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1
+              #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+               #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+              #endif
+              #include <stdint.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 <signal.h>
+  #if HAVE_WCHAR_H
+  # include <stdio.h>
+  # include <time.h>
+  # include <wchar.h>
+  #endif
+
+              int iw = UINTMAX_WIDTH;
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_stdint_width=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_width" >&5
+$as_echo "$gl_cv_header_stdint_width" >&6; }
+      if test "$gl_cv_header_stdint_width" = yes; then
+        STDINT_H=
+      fi
+      ;;
+    *)
+                  for ac_header in sys/inttypes.h sys/bitypes.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
 
 done
 
-    if test $ac_cv_header_sys_inttypes_h = yes; then
-      HAVE_SYS_INTTYPES_H=1
-    else
-      HAVE_SYS_INTTYPES_H=0
-    fi
-
-    if test $ac_cv_header_sys_bitypes_h = yes; then
-      HAVE_SYS_BITYPES_H=1
-    else
-      HAVE_SYS_BITYPES_H=0
-    fi
-
-
+      if test $ac_cv_header_sys_inttypes_h = yes; then
+        HAVE_SYS_INTTYPES_H=1
+      fi
+      if test $ac_cv_header_sys_bitypes_h = yes; then
+        HAVE_SYS_BITYPES_H=1
+      fi
 
 
   if test $APPLE_UNIVERSAL_BUILD = 0; then
@@ -12134,12 +12362,29 @@ _ACEOF
 
 
 
-          if test $BITSIZEOF_WINT_T -lt 32; then
+          if test $GNULIB_OVERRIDES_WINT_T = 1; then
     BITSIZEOF_WINT_T=32
   fi
 
-    STDINT_H=stdint.h
-  fi
+      ;;
+  esac
+
+
+
+  LIMITS_H='limits.h'
+   if test -n "$LIMITS_H"; then
+  GL_GENERATE_LIMITS_H_TRUE=
+  GL_GENERATE_LIMITS_H_FALSE='#'
+else
+  GL_GENERATE_LIMITS_H_TRUE='#'
+  GL_GENERATE_LIMITS_H_FALSE=
+fi
+
+
+
+
+
+
 
    if test -n "$STDINT_H"; then
   GL_GENERATE_STDINT_H_TRUE=
@@ -12161,6 +12406,7 @@ fi
   HAVE_DECL_IMAXDIV=1;
   HAVE_DECL_STRTOIMAX=1;
   HAVE_DECL_STRTOUMAX=1;
+  HAVE_IMAXDIV_T=1;
   REPLACE_STRTOIMAX=0;
   REPLACE_STRTOUMAX=0;
   INT32_MAX_LT_INTMAX_MAX=1;
@@ -12257,44 +12503,7 @@ $as_echo "$gl_cv_next_inttypes_h" >&6; }
 
 
 
-    for gl_func in imaxabs imaxdiv strtoimax strtoumax; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <inttypes.h>
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
-
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
@@ -12363,66 +12572,24 @@ _ACEOF
 
 
 
-ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl
-_ACEOF
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5
-$as_echo_n "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; }
-if ${ac_cv_gnu_library_2_1+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
-  Lucky GNU user
- #endif
-#endif
-#ifdef __UCLIBC__
- Lucky user
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Lucky" >/dev/null 2>&1; then :
-  ac_cv_gnu_library_2_1=yes
-else
-  ac_cv_gnu_library_2_1=no
-fi
-rm -f conftest*
-
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5
-$as_echo "$ac_cv_gnu_library_2_1" >&6; }
-
-    GLIBC21="$ac_cv_gnu_library_2_1"
-
-
 
   GNULIB_LOCALECONV=0;
   GNULIB_SETLOCALE=0;
   GNULIB_DUPLOCALE=0;
-    HAVE_DUPLOCALE=1;
+  GNULIB_LOCALENAME=0;
+    HAVE_NEWLOCALE=1;
+  HAVE_DUPLOCALE=1;
+  HAVE_FREELOCALE=1;
   REPLACE_LOCALECONV=0;
   REPLACE_SETLOCALE=0;
+  REPLACE_NEWLOCALE=0;
   REPLACE_DUPLOCALE=0;
+  REPLACE_FREELOCALE=0;
   REPLACE_STRUCT_LCONV=0;
 
 
     REPLACE_NULL=0;
+  HAVE_MAX_ALIGN_T=1;
   HAVE_WCHAR_T=1;
 
 
@@ -12462,10 +12629,49 @@ $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
 
 
   STDDEF_H=
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for good max_align_t" >&5
+$as_echo_n "checking for good max_align_t... " >&6; }
+if ${gl_cv_type_max_align_t+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stddef.h>
+            unsigned int s = sizeof (max_align_t);
+            #if defined __GNUC__ || defined __IBM__ALIGNOF__
+            int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1];
+            int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1];
+            #endif
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_type_max_align_t=yes
+else
+  gl_cv_type_max_align_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_max_align_t" >&5
+$as_echo "$gl_cv_type_max_align_t" >&6; }
+  if test $gl_cv_type_max_align_t = no; then
+    HAVE_MAX_ALIGN_T=0
+    STDDEF_H=stddef.h
+  fi
+
   if test $gt_cv_c_wchar_t = no; then
     HAVE_WCHAR_T=0
     STDDEF_H=stddef.h
   fi
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
 $as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; }
 if ${gl_cv_decl_null_works+:} false; then :
@@ -12498,6 +12704,7 @@ $as_echo "$gl_cv_decl_null_works" >&6; }
     STDDEF_H=stddef.h
   fi
 
+
    if test -n "$STDDEF_H"; then
   GL_GENERATE_STDDEF_H_TRUE=
   GL_GENERATE_STDDEF_H_FALSE='#'
@@ -12583,236 +12790,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
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
-      while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
-        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-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 ${acl_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  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"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$acl_cv_path_LD"
-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; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $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
-
-
-
-
-  acl_libdirstem=lib
-  acl_libdirstem2=
-  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
-sixtyfour bits
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
-  gl_cv_solaris_64bit=yes
-else
-  gl_cv_solaris_64bit=no
-fi
-rm -f conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
-$as_echo "$gl_cv_solaris_64bit" >&6; }
-      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
-      ;;
-    *)
-      searchpath=`(LC_ALL=C $CC -print-search-dirs) 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
-      ;;
-  esac
-  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
 
 
 
@@ -12884,10 +12861,17 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
        fi
+              case " $LDFLAGS " in
+         *" -static "*) gl_cv_have_weak=no ;;
+       esac
 
 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.
         # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
         # in libc. IRIX 6.5 has the first one in both libc and libpthread, but
         # the second one only in libpthread, and lock.c needs it.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+        #
+        # If -pthread works, prefer it to -lpthread, since Ubuntu 14.04
+        # needs -pthread for some reason.  See:
+        # https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
+        save_LIBS=$LIBS
+        for gl_pthread in '' '-pthread'; do
+          LIBS="$LIBS $gl_pthread"
+          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <pthread.h>
+                 pthread_mutex_t m;
+                 pthread_mutexattr_t ma;
+
 int
 main ()
 {
-pthread_mutex_lock((pthread_mutex_t*)0);
-               pthread_mutexattr_init((pthread_mutexattr_t*)0);
+pthread_mutex_lock (&m);
+                 pthread_mutexattr_init (&ma);
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
   gl_have_pthread=yes
+             LIBTHREAD=$gl_pthread LTLIBTHREAD=$gl_pthread
+             LIBMULTITHREAD=$gl_pthread LTLIBMULTITHREAD=$gl_pthread
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
+          LIBS=$save_LIBS
+          test -n "$gl_have_pthread" && break
+        done
+
         # Test for libpthread by looking for pthread_kill. (Not pthread_self,
         # since it is defined as a macro on OSF/1.)
-        if test -n "$gl_have_pthread"; then
+        if test -n "$gl_have_pthread" && test -z "$LIBTHREAD"; then
           # The program links fine without libpthread. But it may actually
           # need to link with libpthread in order to create multiple threads.
           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5
@@ -12971,8 +12971,10 @@ if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then :
              # Therefore pthread_in_use() needs to actually try to create a
              # thread: pthread_create from libc will fail, whereas
              # pthread_create will actually create a thread.
+             # On Solaris 10 or newer, this test is no longer needed, because
+             # libc contains the fully functional pthread functions.
              case "$host_os" in
-               solaris* | hpux*)
+               solaris | solaris2.1-9 | solaris2.1-9.* | hpux*)
 
 $as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
 
@@ -12980,7 +12982,7 @@ $as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
 
 fi
 
-        else
+        elif test -z "$gl_have_pthread"; then
           # Some library is needed. Try libpthread and libc_r.
           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5
 $as_echo_n "checking for pthread_kill in -lpthread... " >&6; }
@@ -13088,61 +13090,35 @@ $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.  */
+      case "$gl_use_threads" in
+        yes | windows | win32) # The 'win32' is for backward compatibility.
+          if { case "$host_os" in
+                 mingw*) true;;
+                 *) false;;
+               esac
+             }; then
+            gl_threads_api=windows
 
-#include <thread.h>
-#include <synch.h>
+$as_echo "#define USE_WINDOWS_THREADS 1" >>confdefs.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"
+          fi
+          ;;
+      esac
+    fi
+  fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for multithread API to use" >&5
+$as_echo_n "checking for multithread API to use... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_threads_api" >&5
+$as_echo "$gl_threads_api" >&6; }
 
-$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\"
+$as_echo "#define _USE_STD_STAT 1" >>confdefs.h
 
-  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
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_sys_types_h='<'sys/types.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/types.h>" >&5
+$as_echo_n "checking absolute name of <sys/types.h>... " >&6; }
+if ${gl_cv_next_sys_types_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-  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"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-                    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
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'sys/types.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
 
-  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"
+        gl_cv_absolute_sys_types_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
 
-                          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
+           gl_header=$gl_cv_absolute_sys_types_h
+           gl_cv_next_sys_types_h='"'$gl_header'"'
 
-  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
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5
+$as_echo "$gl_cv_next_sys_types_h" >&6; }
+     fi
+     NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h
 
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'sys/types.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_sys_types_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive
 
 
 
 
 
-    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
 
 
 
+    WINDOWS_STAT_INODES=0
 
-      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
-                 mingw*) true;;
-                 *) false;;
-               esac
-             }; then
-            gl_threads_api=windows
-
-$as_echo "#define USE_WINDOWS_THREADS 1" >>confdefs.h
-
-          fi
-          ;;
-      esac
-    fi
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for multithread API to use" >&5
-$as_echo_n "checking for multithread API to use... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_threads_api" >&5
-$as_echo "$gl_threads_api" >&6; }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_sys_types_h='<'sys/types.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/types.h>" >&5
-$as_echo_n "checking absolute name of <sys/types.h>... " >&6; }
-if ${gl_cv_next_sys_types_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-_ACEOF
-                case "$host_os" in
-    aix*) gl_absname_cpp="$ac_cpp -C" ;;
-    *)    gl_absname_cpp="$ac_cpp" ;;
-  esac
 
-  case "$host_os" in
-    mingw*)
-                                          gl_dirsep_regex='[/\\]'
-      ;;
-    *)
-      gl_dirsep_regex='\/'
-      ;;
-  esac
-      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-  gl_header_literal_regex=`echo 'sys/types.h' \
-                           | sed -e "$gl_make_literal_regex_sed"`
-  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-      s|^/[^/]|//&|
-      p
-      q
-    }'
 
-        gl_cv_absolute_sys_types_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-  sed -n "$gl_absolute_header_sed"`
-
-           gl_header=$gl_cv_absolute_sys_types_h
-           gl_cv_next_sys_types_h='"'$gl_header'"'
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5
-$as_echo "$gl_cv_next_sys_types_h" >&6; }
-     fi
-     NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h
-
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'sys/types.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_sys_types_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5
+         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5
 $as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; }
 if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f conftest.sym conftest.file
      echo >conftest.file
-     if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
-       if test "$cross_compiling" = yes; then :
+     if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
-          esac
+          linux-* | linux)
+            # Guess yes on Linux systems.
+            gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+          *-gnu* | gnu*)
+            # Guess yes on glibc systems.
+            gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+          mingw*)
+            # Guess no on native Windows.
+            gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
+          *)
+            # If we don't know, assume the worst.
+            gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
+        esac
 
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13834,10 +13250,12 @@ int
 main ()
 {
 struct stat sbuf;
-              /* Linux will dereference the symlink and fail, as required by
-                 POSIX.  That is better in the sense that it means we will not
-                 have to compile and use the lstat wrapper.  */
-              return lstat ("conftest.sym/", &sbuf) == 0;
+            if (symlink ("conftest.file", "conftest.sym") != 0)
+              return 1;
+            /* Linux will dereference the symlink and fail, as required by
+               POSIX.  That is better in the sense that it means we will not
+               have to compile and use the lstat wrapper.  */
+            return lstat ("conftest.sym/", &sbuf) == 0;
 
   ;
   return 0;
@@ -13852,11 +13270,6 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-     else
-       # If the 'ln -s' command failed, then we probably don't even
-       # have an lstat function.
-       gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
-     fi
      rm -f conftest.sym conftest.file
 
 fi
@@ -13963,11 +13376,11 @@ else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
           # Guess yes on platforms where we know the result.
-          *-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
@@ -13982,7 +13395,10 @@ else
 int
 main ()
 {
-return ! malloc (0);
+char *p = malloc (0);
+            int result = !p;
+            free (p);
+            return result;
   ;
   return 0;
 }
 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
@@ -14085,9 +13504,14 @@ struct tm t;
 char buf[16];
 int main ()
 {
-  const char *p;
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -14095,9 +13519,9 @@ int main ()
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -14106,32 +13530,36 @@ int main ()
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether MB_CUR_MAX is > 1.  This excludes the dysfunctional locales
      on Cygwin 1.5.x.  */
   if (MB_CUR_MAX == 1)
     return 1;
   /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
      This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
+  {
+    const char *p;
+    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+    for (p = buf; *p != '\0'; p++)
+      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+        return 1;
+  }
   return 0;
+#endif
 }
 
 _ACEOF
@@ -14225,9 +13653,14 @@ struct tm t;
 char buf[16];
 int main ()
 {
-  const char *p;
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -14235,9 +13668,9 @@ int main ()
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -14246,32 +13679,36 @@ int main ()
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
      This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
+  {
+    const char *p;
+    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+    for (p = buf; *p != '\0'; p++)
+      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+        return 1;
+  }
   /* Check whether a typical GB18030 multibyte sequence is recognized as a
      single wide character.  This excludes the GB2312 and GBK encodings.  */
   if (mblen ("\203\062\332\066", 5) != 4)
     return 1;
   return 0;
+#endif
 }
 
 _ACEOF
@@ -14360,7 +13797,7 @@ int main () {
      variables, and all locales use the UTF-8 encoding.  */
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -14462,23 +13899,6 @@ $as_echo "$gt_cv_locale_fr_utf8" >&6; }
   LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
-
-
-
-
-ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default"
-if test "x$ac_cv_have_decl_alarm" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_ALARM $ac_have_decl
-_ACEOF
-
-
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
 $as_echo_n "checking for inline... " >&6; }
 if ${ac_cv_c_inline+:} false; then :
@@ -14525,6 +13945,139 @@ esac
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <limits.h> defines MIN and MAX" >&5
+$as_echo_n "checking whether <limits.h> defines MIN and MAX... " >&6; }
+if ${gl_cv_minmax_in_limits_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+            int x = MIN (42, 17);
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_minmax_in_limits_h=yes
+else
+  gl_cv_minmax_in_limits_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_limits_h" >&5
+$as_echo "$gl_cv_minmax_in_limits_h" >&6; }
+  if test $gl_cv_minmax_in_limits_h = yes; then
+
+$as_echo "#define HAVE_MINMAX_IN_LIMITS_H 1" >>confdefs.h
+
+  fi
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/param.h> defines MIN and MAX" >&5
+$as_echo_n "checking whether <sys/param.h> defines MIN and MAX... " >&6; }
+if ${gl_cv_minmax_in_sys_param_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/param.h>
+            int x = MIN (42, 17);
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_minmax_in_sys_param_h=yes
+else
+  gl_cv_minmax_in_sys_param_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_sys_param_h" >&5
+$as_echo "$gl_cv_minmax_in_sys_param_h" >&6; }
+  if test $gl_cv_minmax_in_sys_param_h = yes; then
+
+$as_echo "#define HAVE_MINMAX_IN_SYS_PARAM_H 1" >>confdefs.h
+
+  fi
+
+
+
+
+
+
+
+
+
+
+
+ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default"
+if test "x$ac_cv_have_decl_alarm" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ALARM $ac_have_decl
+_ACEOF
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5
+$as_echo_n "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; }
+if ${ac_cv_gnu_library_2_1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+  Lucky GNU user
+ #endif
+#endif
+#ifdef __UCLIBC__
+ Lucky user
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Lucky" >/dev/null 2>&1; then :
+  ac_cv_gnu_library_2_1=yes
+else
+  ac_cv_gnu_library_2_1=no
+fi
+rm -f conftest*
+
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5
+$as_echo "$ac_cv_gnu_library_2_1" >&6; }
+
+    GLIBC21="$ac_cv_gnu_library_2_1"
+
+
+
+
+
+
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
 $as_echo_n "checking for ssize_t... " >&6; }
@@ -14560,8 +14113,6 @@ $as_echo "#define ssize_t int" >>confdefs.h
 
 
 
-
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
 if ${ac_cv_header_stdbool_h+:} false; then :
@@ -14571,59 +14122,67 @@ else
 /* end confdefs.h.  */
 
              #include <stdbool.h>
-             #ifndef bool
-              "error: bool is not defined"
-             #endif
-             #ifndef false
-              "error: false is not defined"
-             #endif
-             #if false
-              "error: false is not 0"
-             #endif
-             #ifndef true
-              "error: true is not defined"
-             #endif
-             #if true != 1
-              "error: true is not 1"
+
+             #ifdef __cplusplus
+              typedef bool Bool;
+             #else
+              typedef _Bool Bool;
+              #ifndef bool
+               "error: bool is not defined"
+              #endif
+              #ifndef false
+               "error: false is not defined"
+              #endif
+              #if false
+               "error: false is not 0"
+              #endif
+              #ifndef true
+               "error: true is not defined"
+              #endif
+              #if true != 1
+               "error: true is not 1"
+              #endif
              #endif
+
              #ifndef __bool_true_false_are_defined
               "error: __bool_true_false_are_defined is not defined"
              #endif
 
-             struct s { _Bool s: 1; _Bool t; } s;
+             struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s;
 
              char a[true == 1 ? 1 : -1];
              char b[false == 0 ? 1 : -1];
              char c[__bool_true_false_are_defined == 1 ? 1 : -1];
              char d[(bool) 0.5 == true ? 1 : -1];
              /* See body of main program for 'e'.  */
-             char f[(_Bool) 0.0 == false ? 1 : -1];
+             char f[(Bool) 0.0 == false ? 1 : -1];
              char g[true];
-             char h[sizeof (_Bool)];
+             char h[sizeof (Bool)];
              char i[sizeof s.t];
              enum { j = false, k = true, l = false * true, m = true * 256 };
              /* The following fails for
                 HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
-             _Bool n[m];
+             Bool n[m];
              char o[sizeof n == m * sizeof n[0] ? 1 : -1];
-             char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+             char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
              /* Catch a bug in an HP-UX C compiler.  See
-                http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-                http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+                https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+                https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html
               */
-             _Bool q = true;
-             _Bool *pq = &q;
+             Bool q = true;
+             Bool *pq = &q;
+             bool *qq = &q;
 
 int
 main ()
 {
 
              bool e = &s;
-             *pq |= q;
-             *pq |= ! q;
+             *pq |= q; *pq |= ! q;
+             *qq |= q; *qq |= ! q;
              /* Refer to every declared value, to avoid compiler optimizations.  */
              return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
-                     + !m + !n + !o + !p + !q + !pq);
+                     + !m + !n + !o + !p + !q + !pq + !qq);
 
   ;
   return 0;
@@ -14753,6 +14312,7 @@ fi
   REPLACE_VSPRINTF=0;
 
 
+  GNULIB_EXPLICIT_BZERO=0;
   GNULIB_FFSL=0;
   GNULIB_FFSLL=0;
   GNULIB_MEMCHR=0;
@@ -14791,7 +14351,8 @@ fi
   GNULIB_STRSIGNAL=0;
   GNULIB_STRVERSCMP=0;
   HAVE_MBSLEN=0;
-    HAVE_FFSL=1;
+    HAVE_EXPLICIT_BZERO=1;
+  HAVE_FFSL=1;
   HAVE_FFSLL=1;
   HAVE_MEMCHR=1;
   HAVE_DECL_MEMMEM=1;
   REPLACE_MEMCHR=0;
   REPLACE_MEMMEM=0;
   REPLACE_STPNCPY=0;
+  REPLACE_STRCHRNUL=0;
   REPLACE_STRDUP=0;
+  REPLACE_STRNCAT=0;
+  REPLACE_STRNDUP=0;
+  REPLACE_STRNLEN=0;
   REPLACE_STRSTR=0;
   REPLACE_STRCASESTR=0;
-  REPLACE_STRCHRNUL=0;
+  REPLACE_STRTOK_R=0;
   REPLACE_STRERROR=0;
   REPLACE_STRERROR_R=0;
-  REPLACE_STRNCAT=0;
-  REPLACE_STRNDUP=0;
-  REPLACE_STRNLEN=0;
   REPLACE_STRSIGNAL=0;
-  REPLACE_STRTOK_R=0;
   UNDEFINE_STRTOK_R=0;
 
 
@@ -14849,10 +14410,14 @@ if ${gl_cv_func_strerror_0_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_strerror_0_works="guessing no" ;;
+                        # 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.
+         *)             gl_cv_func_strerror_0_works="guessing no" ;;
        esac
 
 else
@@ -14909,6 +14474,175 @@ $as_echo "#define REPLACE_STRERROR_0 1" >>confdefs.h
 
 
 
+  if test $ac_cv_func_strerror_r = yes; then
+    if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
+                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror_r with POSIX signature" >&5
+$as_echo_n "checking for strerror_r with POSIX signature... " >&6; }
+if ${gl_cv_func_strerror_r_posix_signature+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+                int strerror_r (int, char *, size_t);
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_func_strerror_r_posix_signature=yes
+else
+  gl_cv_func_strerror_r_posix_signature=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_posix_signature" >&5
+$as_echo "$gl_cv_func_strerror_r_posix_signature" >&6; }
+      if test $gl_cv_func_strerror_r_posix_signature = yes; then
+                                                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r works" >&5
+$as_echo_n "checking whether strerror_r works... " >&6; }
+if ${gl_cv_func_strerror_r_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+
+              case "$host_os" in
+                       # Guess no on AIX.
+                aix*)  gl_cv_func_strerror_r_works="guessing no";;
+                       # Guess no on HP-UX.
+                hpux*) gl_cv_func_strerror_r_works="guessing no";;
+                       # Guess no on BSD variants.
+                *bsd*)  gl_cv_func_strerror_r_works="guessing no";;
+                       # Guess yes otherwise.
+                *)     gl_cv_func_strerror_r_works="guessing yes";;
+              esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <errno.h>
+                  #include <string.h>
+
+int
+main ()
+{
+int result = 0;
+                  char buf[79];
+                  if (strerror_r (EACCES, buf, 0) < 0)
+                    result |= 1;
+                  errno = 0;
+                  if (strerror_r (EACCES, buf, sizeof buf) != 0)
+                    result |= 2;
+                  strcpy (buf, "Unknown");
+                  if (strerror_r (0, buf, sizeof buf) != 0)
+                    result |= 4;
+                  if (errno)
+                    result |= 8;
+                  if (strstr (buf, "nknown") || strstr (buf, "ndefined"))
+                    result |= 0x10;
+                  errno = 0;
+                  *buf = 0;
+                  if (strerror_r (-3, buf, sizeof buf) < 0)
+                    result |= 0x20;
+                  if (errno)
+                    result |= 0x40;
+                  if (!*buf)
+                    result |= 0x80;
+                  return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_strerror_r_works=yes
+else
+  gl_cv_func_strerror_r_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
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5
+$as_echo "$gl_cv_func_strerror_r_works" >&6; }
+      else
+
+                        if test $ac_cv_func___xpg_strerror_r = yes; then
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __xpg_strerror_r works" >&5
+$as_echo_n "checking whether __xpg_strerror_r works... " >&6; }
+if ${gl_cv_func_strerror_r_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+                                  gl_cv_func_strerror_r_works="guessing no"
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <errno.h>
+                    #include <string.h>
+                    extern
+                    #ifdef __cplusplus
+                    "C"
+                    #endif
+                    int __xpg_strerror_r(int, char *, size_t);
+
+int
+main ()
+{
+int result = 0;
+                    char buf[256] = "^";
+                    char copy[256];
+                    char *str = strerror (-1);
+                    strcpy (copy, str);
+                    if (__xpg_strerror_r (-2, buf, 1) == 0)
+                      result |= 1;
+                    if (*buf)
+                      result |= 2;
+                    __xpg_strerror_r (-2, buf, 256);
+                    if (strcmp (str, copy))
+                      result |= 4;
+                    return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_strerror_r_works=yes
+else
+  gl_cv_func_strerror_r_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
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5
+$as_echo "$gl_cv_func_strerror_r_works" >&6; }
+        fi
+      fi
+    fi
+  fi
+
+
+
+
+
+
+
+
+
+
 
 
      if test $gl_cv_have_include_next = yes; then
@@ -14976,44 +14710,7 @@ $as_echo "$gl_cv_next_string_h" >&6; }
 
 
 
-    for gl_func in ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul      strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r      strerror_r strsignal strverscmp; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default"
@@ -15041,25 +14738,6 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-  GNULIB_MKTIME=0;
-  GNULIB_NANOSLEEP=0;
-  GNULIB_STRPTIME=0;
-  GNULIB_TIMEGM=0;
-  GNULIB_TIME_R=0;
-    HAVE_DECL_LOCALTIME_R=1;
-  HAVE_NANOSLEEP=1;
-  HAVE_STRPTIME=1;
-  HAVE_TIMEGM=1;
-        REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
-  REPLACE_MKTIME=GNULIB_PORTCHECK;
-  REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
-  REPLACE_TIMEGM=GNULIB_PORTCHECK;
-
-      : ${GNULIB_GETTIMEOFDAY=0};
-        REPLACE_GMTIME=0;
-  REPLACE_LOCALTIME=0;
-
-
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <time.h>" >&5
 $as_echo_n "checking for struct timespec in <time.h>... " >&6; }
@@ -15091,6 +14769,7 @@ $as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; }
   TIME_H_DEFINES_STRUCT_TIMESPEC=0
   SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
   PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
+  UNISTD_H_DEFINES_STRUCT_TIMESPEC=0
   if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
     TIME_H_DEFINES_STRUCT_TIMESPEC=1
   else
 $as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
       if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
         PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <unistd.h>" >&5
+$as_echo_n "checking for struct timespec in <unistd.h>... " >&6; }
+if ${gl_cv_sys_struct_timespec_in_unistd_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <unistd.h>
+
+int
+main ()
+{
+static struct timespec x; x.tv_sec = x.tv_nsec;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_sys_struct_timespec_in_unistd_h=yes
+else
+  gl_cv_sys_struct_timespec_in_unistd_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_unistd_h" >&5
+$as_echo "$gl_cv_sys_struct_timespec_in_unistd_h" >&6; }
+        if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then
+          UNISTD_H_DEFINES_STRUCT_TIMESPEC=1
+        fi
       fi
     fi
   fi
@@ -15169,6 +14878,7 @@ $as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
 
 
 
+
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_time_h='<'time.h'>'
      else
@@ -15248,23 +14958,92 @@ $as_echo "$gl_cv_next_time_h" >&6; }
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
-$as_echo_n "checking for wint_t... " >&6; }
-if ${gt_cv_c_wint_t+:} false; then :
+
+
+
+  if test $ac_cv_header_crtdefs_h = yes; then
+    HAVE_CRTDEFS_H=1
+  else
+    HAVE_CRTDEFS_H=0
+  fi
+
+
+
+
+
+  GNULIB_ISWBLANK=0;
+  GNULIB_WCTYPE=0;
+  GNULIB_ISWCTYPE=0;
+  GNULIB_WCTRANS=0;
+  GNULIB_TOWCTRANS=0;
+    HAVE_ISWBLANK=1;
+  HAVE_WCTYPE_T=1;
+  HAVE_WCTRANS_T=1;
+  REPLACE_ISWBLANK=0;
+
+
+
+
+
+
+  GNULIB_SOCKET=0;
+  GNULIB_CONNECT=0;
+  GNULIB_ACCEPT=0;
+  GNULIB_BIND=0;
+  GNULIB_GETPEERNAME=0;
+  GNULIB_GETSOCKNAME=0;
+  GNULIB_GETSOCKOPT=0;
+  GNULIB_LISTEN=0;
+  GNULIB_RECV=0;
+  GNULIB_SEND=0;
+  GNULIB_RECVFROM=0;
+  GNULIB_SENDTO=0;
+  GNULIB_SETSOCKOPT=0;
+  GNULIB_SHUTDOWN=0;
+  GNULIB_ACCEPT4=0;
+  HAVE_STRUCT_SOCKADDR_STORAGE=1;
+  HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1;
+
+  HAVE_SA_FAMILY_T=1;
+  HAVE_ACCEPT4=1;
+
+
+   if test $ac_cv_header_sys_socket_h = no; then
+                         for ac_header in ws2tcpip.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default"
+if test "x$ac_cv_header_ws2tcpip_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WS2TCPIP_H 1
+_ACEOF
+
+fi
+
+done
+
+   fi
+
+
+
+
+
+        case "$host_os" in
+    osf*)
+
+$as_echo "#define _POSIX_PII_SOCKET 1" >>confdefs.h
+
+      ;;
+  esac
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/socket.h> is self-contained" >&5
+$as_echo_n "checking whether <sys/socket.h> is self-contained... " >&6; }
+if ${gl_cv_header_sys_socket_h_selfcontained+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.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 <time.h>
-#include <wchar.h>
-            wint_t foo = (wchar_t)'\0';
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/socket.h>
 int
 main ()
 {
@@ -15274,36 +15053,281 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_c_wint_t=yes
+  gl_cv_header_sys_socket_h_selfcontained=yes
 else
-  gt_cv_c_wint_t=no
+  gl_cv_header_sys_socket_h_selfcontained=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5
+$as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; }
+  if test $gl_cv_header_sys_socket_h_selfcontained = yes; then
+            for ac_func in shutdown
+do :
+  ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown"
+if test "x$ac_cv_func_shutdown" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SHUTDOWN 1
+_ACEOF
+
+fi
+done
+
+    if test $ac_cv_func_shutdown = yes; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/socket.h> defines the SHUT_* macros" >&5
+$as_echo_n "checking whether <sys/socket.h> defines the SHUT_* macros... " >&6; }
+if ${gl_cv_header_sys_socket_h_shut+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/socket.h>
+int
+main ()
+{
+int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_sys_socket_h_shut=yes
+else
+  gl_cv_header_sys_socket_h_shut=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
-$as_echo "$gt_cv_c_wint_t" >&6; }
-  if test $gt_cv_c_wint_t = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5
+$as_echo "$gl_cv_header_sys_socket_h_shut" >&6; }
+      if test $gl_cv_header_sys_socket_h_shut = no; then
+        SYS_SOCKET_H='sys/socket.h'
+      fi
+    fi
+  fi
+  # We need to check for ws2tcpip.h now.
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_sys_socket_h='<'sys/socket.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/socket.h>" >&5
+$as_echo_n "checking absolute name of <sys/socket.h>... " >&6; }
+if ${gl_cv_next_sys_socket_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+             if test $ac_cv_header_sys_socket_h = yes; then
+
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/socket.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'sys/socket.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_sys_socket_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+           gl_header=$gl_cv_absolute_sys_socket_h
+           gl_cv_next_sys_socket_h='"'$gl_header'"'
+          else
+               gl_cv_next_sys_socket_h='<'sys/socket.h'>'
+             fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5
+$as_echo "$gl_cv_next_sys_socket_h" >&6; }
+     fi
+     NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'sys/socket.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_sys_socket_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H=$gl_next_as_first_directive
+
+
+
+
+  if test $ac_cv_header_sys_socket_h = yes; then
+    HAVE_SYS_SOCKET_H=1
+  else
+    HAVE_SYS_SOCKET_H=0
+  fi
 
-$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
 
+
+  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_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" "
+  /* sys/types.h is not needed according to POSIX, but the
+     sys/socket.h in i386-unknown-freebsd4.10 and
+     powerpc-apple-darwin5.5 required it. */
+#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+
+"
+if test "x$ac_cv_type_struct_sockaddr_storage" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_SOCKADDR_STORAGE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" "
+  /* sys/types.h is not needed according to POSIX, but the
+     sys/socket.h in i386-unknown-freebsd4.10 and
+     powerpc-apple-darwin5.5 required it. */
+#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+
+"
+if test "x$ac_cv_type_sa_family_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SA_FAMILY_T 1
+_ACEOF
+
+
+fi
+
+  if test $ac_cv_type_struct_sockaddr_storage = no; then
+    HAVE_STRUCT_SOCKADDR_STORAGE=0
+  fi
+  if test $ac_cv_type_sa_family_t = no; then
+    HAVE_SA_FAMILY_T=0
+  fi
+  if test $ac_cv_type_struct_sockaddr_storage != no; then
+    ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_family" "ac_cv_member_struct_sockaddr_storage_ss_family" "#include <sys/types.h>
+       #ifdef HAVE_SYS_SOCKET_H
+       #include <sys/socket.h>
+       #endif
+       #ifdef HAVE_WS2TCPIP_H
+       #include <ws2tcpip.h>
+       #endif
+
+"
+if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
+_ACEOF
+
+
+else
+  HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0
+fi
+
+  fi
+  if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \
+     || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then
+    SYS_SOCKET_H='sys/socket.h'
+  fi
+
+
+
+
+  if test $ac_cv_header_sys_socket_h != yes; then
+                    for ac_header in winsock2.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINSOCK2_H 1
+_ACEOF
+
+fi
+
+done
+
+  fi
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    HAVE_WINSOCK2_H=1
+    UNISTD_H_HAVE_WINSOCK2_H=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+  else
+    HAVE_WINSOCK2_H=0
   fi
 
 
 
 
-  GNULIB_ISWBLANK=0;
-  GNULIB_WCTYPE=0;
-  GNULIB_ISWCTYPE=0;
-  GNULIB_WCTRANS=0;
-  GNULIB_TOWCTRANS=0;
-    HAVE_ISWBLANK=1;
-  HAVE_WCTYPE_T=1;
-  HAVE_WCTRANS_T=1;
-  REPLACE_ISWBLANK=0;
 
 
 
 
+  GNULIB_INET_NTOP=0;
+  GNULIB_INET_PTON=0;
+    HAVE_DECL_INET_NTOP=1;
+  HAVE_DECL_INET_PTON=1;
+  REPLACE_INET_NTOP=0;
+  REPLACE_INET_PTON=0;
+
+
+
+
+  GNULIB_ISBLANK=0;
+    HAVE_ISBLANK=1;
 
 
 
@@ -15314,11 +15338,10 @@ $as_echo "#define HAVE_WINT_T 1" >>confdefs.h
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5
 $as_echo_n "checking if environ is properly declared... " >&6; }
-  if ${gt_cv_var_environ_declaration+:} false; then :
+if ${gt_cv_var_environ_declaration+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #if HAVE_UNISTD_H
      #include <unistd.h>
@@ -15326,7 +15349,7 @@ else
      /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  */
      #include <stdlib.h>
 
-           extern struct { int foo; } environ;
+            extern struct { int foo; } environ;
 int
 main ()
 {
@@ -15342,8 +15365,7 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5
 $as_echo "$gt_cv_var_environ_declaration" >&6; }
   if test $gt_cv_var_environ_declaration = yes; then
 
@@ -15358,6 +15380,10 @@ $as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h
 
 
 
+
+
+
+
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5
 $as_echo_n "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; }
 if ${gl_cv_func_getcwd_null+:} false; then :
@@ -15365,18 +15391,21 @@ if ${gl_cv_func_getcwd_null+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                     # Guess yes on glibc systems.
-            *-gnu*)  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.
-            *)       gl_cv_func_getcwd_null="guessing no";;
+                           # 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.
+            *)             gl_cv_func_getcwd_null="guessing no";;
           esac
 
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#       include <stdlib.h>
 #        if HAVE_UNISTD_H
 #         include <unistd.h>
 #        else /* on Windows with MSVC */
@@ -15390,7 +15419,7 @@ int
 main ()
 {
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 /* mingw cwd does not start with '/', but getcwd does allocate.
    However, mingw fails to honor non-zero size.  */
 #else
@@ -15402,9 +15431,10 @@ main ()
                if (! f)
                  return 2;
                if (f[0] != '/')
-                 return 3;
+                 { free (f); return 3; }
                if (f[1] != '\0')
-                 return 4;
+                 { free (f); return 4; }
+               free (f);
                return 0;
              }
 #endif
@@ -15462,149 +15492,150 @@ $as_echo "$gl_cv_func_getcwd_posix_signature" >&6; }
 
 
 
+ac_fn_c_check_decl "$LINENO" "getdtablesize" "ac_cv_have_decl_getdtablesize" "$ac_includes_default"
+if test "x$ac_cv_have_decl_getdtablesize" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETDTABLESIZE $ac_have_decl
+_ACEOF
+
+
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
-$as_echo_n "checking for LC_MESSAGES... " >&6; }
-if ${gt_cv_val_LC_MESSAGES+:} false; then :
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IPv4 sockets" >&5
+$as_echo_n "checking for IPv4 sockets... " >&6; }
+if ${gl_cv_socket_ipv4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <locale.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
 int
 main ()
 {
-return LC_MESSAGES
+int x = AF_INET; struct in_addr y; struct sockaddr_in z;
+ if (&x && &y && &z) return 0;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gt_cv_val_LC_MESSAGES=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_socket_ipv4=yes
 else
-  gt_cv_val_LC_MESSAGES=no
+  gl_cv_socket_ipv4=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_val_LC_MESSAGES" >&5
-$as_echo "$gt_cv_val_LC_MESSAGES" >&6; }
-  if test $gt_cv_val_LC_MESSAGES = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv4" >&5
+$as_echo "$gl_cv_socket_ipv4" >&6; }
+  if test $gl_cv_socket_ipv4 = yes; then
 
-$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h
+$as_echo "#define HAVE_IPV4 1" >>confdefs.h
 
   fi
 
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
-$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
-if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IPv6 sockets" >&5
+$as_echo_n "checking for IPv6 sockets... " >&6; }
+if ${gl_cv_socket_ipv6+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <CoreFoundation/CFPreferences.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
 int
 main ()
 {
-CFPreferencesCopyAppValue(NULL, NULL)
+int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z;
+ if (&x && &y && &z) return 0;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gt_cv_func_CFPreferencesCopyAppValue=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_socket_ipv6=yes
 else
-  gt_cv_func_CFPreferencesCopyAppValue=no
+  gl_cv_socket_ipv6=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     LIBS="$gt_save_LIBS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
-$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv6" >&5
+$as_echo "$gl_cv_socket_ipv6" >&6; }
+  if test $gl_cv_socket_ipv6 = yes; then
 
-$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
+$as_echo "#define HAVE_IPV6 1" >>confdefs.h
 
   fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
-$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
-if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then :
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
+$as_echo_n "checking for LC_MESSAGES... " >&6; }
+if ${gt_cv_val_LC_MESSAGES+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <CoreFoundation/CFLocale.h>
+#include <locale.h>
 int
 main ()
 {
-CFLocaleCopyCurrent();
+return LC_MESSAGES
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  gt_cv_func_CFLocaleCopyCurrent=yes
+  gt_cv_val_LC_MESSAGES=yes
 else
-  gt_cv_func_CFLocaleCopyCurrent=no
+  gt_cv_val_LC_MESSAGES=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-     LIBS="$gt_save_LIBS"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
-$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
-  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_val_LC_MESSAGES" >&5
+$as_echo "$gt_cv_val_LC_MESSAGES" >&6; }
+  if test $gt_cv_val_LC_MESSAGES = yes; then
 
-$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
+$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h
 
   fi
-  INTL_MACOSX_LIBS=
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
-  fi
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5
-$as_echo_n "checking for promoted mode_t type... " >&6; }
-if ${gl_cv_promoted_mode_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-int
-main ()
-{
-typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_promoted_mode_t='int'
-else
-  gl_cv_promoted_mode_t='mode_t'
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5
-$as_echo "$gl_cv_promoted_mode_t" >&6; }
 
-cat >>confdefs.h <<_ACEOF
-#define PROMOTED_MODE_T $gl_cv_promoted_mode_t
-_ACEOF
 
 
 
@@ -15612,635 +15643,1183 @@ _ACEOF
 
 
 
+      if test $ac_cv_func_uselocale = yes; then
 
-ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_setenv" = xyes; then :
-  ac_have_decl=1
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether uselocale works" >&5
+$as_echo_n "checking whether uselocale works... " >&6; }
+if ${gt_cv_func_uselocale_works+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SETENV $ac_have_decl
-_ACEOF
-
-
-
-
-
-
-  if test $ac_cv_have_decl_setenv = no; then
-    HAVE_DECL_SETENV=0
-  fi
-
-
-
-
-
-  for ac_header in search.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default"
-if test "x$ac_cv_header_search_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SEARCH_H 1
-_ACEOF
-
-fi
-
-done
-
-  for ac_func in tsearch
-do :
-  ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch"
-if test "x$ac_cv_func_tsearch" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_TSEARCH 1
-_ACEOF
-
-fi
-done
-
-
+  if test "$cross_compiling" = yes; then :
+  # Guess no on AIX, yes otherwise.
+          case "$host_os" in
+            aix*) gt_cv_func_uselocale_works="guessing no" ;;
+            *)    gt_cv_func_uselocale_works="guessing yes" ;;
+          esac
 
-ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_unsetenv" = xyes; then :
-  ac_have_decl=1
 else
-  ac_have_decl=0
-fi
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_UNSETENV $ac_have_decl
+#include <locale.h>
+#if HAVE_XLOCALE_H
+# include <xlocale.h>
+#endif
+int main ()
+{
+  uselocale (NULL);
+  setlocale (LC_ALL, "en_US.UTF-8");
+  return 0;
+}
 _ACEOF
-
-
-
-
-   if true; then
-  GL_COND_LIBTOOL_TRUE=
-  GL_COND_LIBTOOL_FALSE='#'
+if ac_fn_c_try_run "$LINENO"; then :
+  gt_cv_func_uselocale_works=yes
 else
-  GL_COND_LIBTOOL_TRUE='#'
-  GL_COND_LIBTOOL_FALSE=
+  gt_cv_func_uselocale_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
-
-  gl_cond_libtool=true
-  gl_m4_base='m4'
-
-
-
-
-
-
 
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_uselocale_works" >&5
+$as_echo "$gt_cv_func_uselocale_works" >&6; }
+  else
+    gt_cv_func_uselocale_works=no
+  fi
+  case "$gt_cv_func_uselocale_works" in
+    *yes)
 
-  gl_source_base='lib'
-LTALLOCA=`echo "$ALLOCA" | sed -e 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'`
+$as_echo "#define HAVE_WORKING_USELOCALE 1" >>confdefs.h
 
+      ;;
+  esac
 
 
-  if test $ac_cv_func_alloca_works = no; then
-    :
-  fi
+                            case "$gt_cv_func_uselocale_works" in
+    *yes)
 
-  # Define an additional variable used in the Makefile substitution.
-  if test $ac_cv_working_alloca_h = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5
-$as_echo_n "checking for alloca as a compiler built-in... " >&6; }
-if ${gl_cv_rpl_alloca+:} false; then :
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fake locale system (OpenBSD)" >&5
+$as_echo_n "checking for fake locale system (OpenBSD)... " >&6; }
+if ${gt_cv_locale_fake+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+  if test "$cross_compiling" = yes; then :
+              case "$host_os" in
+              openbsd*) gt_cv_locale_fake="guessing yes" ;;
+              *)        gt_cv_locale_fake="guessing no" ;;
+            esac
 
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#if defined __GNUC__ || defined _AIX || defined _MSC_VER
-        Need own alloca
+#include <locale.h>
+#if HAVE_XLOCALE_H
+# include <xlocale.h>
 #endif
-
+int main ()
+{
+  locale_t loc1, loc2;
+  if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL) return 1;
+  if (setlocale (LC_ALL, "fr_FR.UTF-8") == NULL) return 1;
+  loc1 = newlocale (LC_ALL_MASK, "de_DE.UTF-8", (locale_t)0);
+  loc2 = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", (locale_t)0);
+  return !(loc1 == loc2);
+}
 _ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Need own alloca" >/dev/null 2>&1; then :
-  gl_cv_rpl_alloca=yes
+if ac_fn_c_try_run "$LINENO"; then :
+  gt_cv_locale_fake=yes
 else
-  gl_cv_rpl_alloca=no
+  gt_cv_locale_fake=no
 fi
-rm -f conftest*
-
-
+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}: result: $gl_cv_rpl_alloca" >&5
-$as_echo "$gl_cv_rpl_alloca" >&6; }
-    if test $gl_cv_rpl_alloca = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
 
-      ALLOCA_H=alloca.h
-    else
-                  ALLOCA_H=
-    fi
-  else
-    ALLOCA_H=alloca.h
-  fi
 
-   if test -n "$ALLOCA_H"; then
-  GL_GENERATE_ALLOCA_H_TRUE=
-  GL_GENERATE_ALLOCA_H_FALSE='#'
-else
-  GL_GENERATE_ALLOCA_H_TRUE='#'
-  GL_GENERATE_ALLOCA_H_FALSE=
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fake" >&5
+$as_echo "$gt_cv_locale_fake" >&6; }
+      ;;
+    *) gt_cv_locale_fake=no ;;
+  esac
+  case "$gt_cv_locale_fake" in
+    *yes)
 
+$as_echo "#define HAVE_FAKE_LOCALES 1" >>confdefs.h
 
+      ;;
+  esac
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable assertions" >&5
-$as_echo_n "checking whether to enable assertions... " >&6; }
-  # Check whether --enable-assert was given.
-if test "${enable_assert+set}" = set; then :
-  enableval=$enable_assert; if test "x$enableval" = xno; then :
+  case "$gt_cv_func_uselocale_works" in
+    *yes)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris 11.4 locale system" >&5
+$as_echo_n "checking for Solaris 11.4 locale system... " >&6; }
+if ${gt_cv_locale_solaris114+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case "$host_os" in
+           solaris*)
+                                                                                           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-$as_echo "#define NDEBUG 1" >>confdefs.h
+                  #include <locale.h>
+                  struct _LC_locale_t *x;
+                  locale_t y;
 
-elif test "x$enableval" != xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-assert" >&5
-$as_echo "$as_me: WARNING: invalid argument supplied to --enable-assert" >&2;}
-      enable_assert=yes
-fi
+int
+main ()
+{
+*y = x;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gt_cv_locale_solaris114=yes
 else
-  enable_assert=yes
+  gt_cv_locale_solaris114=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+             ;;
+           *) gt_cv_locale_solaris114=no ;;
+         esac
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_assert" >&5
-$as_echo "$enable_assert" >&6; }
-
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_solaris114" >&5
+$as_echo "$gt_cv_locale_solaris114" >&6; }
+      ;;
+    *) gt_cv_locale_solaris114=no ;;
+  esac
+  if test $gt_cv_locale_solaris114 = yes; then
 
+$as_echo "#define HAVE_SOLARIS114_LOCALES 1" >>confdefs.h
 
+  fi
 
+        case "$gt_cv_func_uselocale_works" in
+    *yes)
+      for ac_func in getlocalename_l
+do :
+  ac_fn_c_check_func "$LINENO" "getlocalename_l" "ac_cv_func_getlocalename_l"
+if test "x$ac_cv_func_getlocalename_l" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_GETLOCALENAME_L 1
+_ACEOF
 
+fi
+done
 
+      ;;
+  esac
 
-  if test $ac_cv_func_btowc = no; then
-    HAVE_BTOWC=0
-  else
+              gt_nameless_locales=no
+  if false; then
+    gt_nameless_locales=yes
 
+$as_echo "#define HAVE_NAMELESS_LOCALES 1" >>confdefs.h
 
+  fi
 
 
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(0) is correct" >&5
-$as_echo_n "checking whether btowc(0) is correct... " >&6; }
-if ${gl_cv_func_btowc_nul+:} false; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
+$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
+if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-        if test "$cross_compiling" = yes; then :
-
-           case "$host_os" in
-                      # Guess no on Cygwin.
-             cygwin*) gl_cv_func_btowc_nul="guessing no" ;;
-                      # Guess yes otherwise.
-             *)       gl_cv_func_btowc_nul="guessing yes" ;;
-           esac
-
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-#include <string.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 <time.h>
-#include <wchar.h>
-int main ()
+#include <CoreFoundation/CFPreferences.h>
+int
+main ()
 {
-  if (btowc ('\0') != 0)
-    return 1;
+CFPreferencesCopyAppValue(NULL, NULL)
+  ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_btowc_nul=yes
+if ac_fn_c_try_link "$LINENO"; then :
+  gt_cv_func_CFPreferencesCopyAppValue=yes
 else
-  gl_cv_func_btowc_nul=no
+  gt_cv_func_CFPreferencesCopyAppValue=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     LIBS="$gt_save_LIBS"
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
+$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
 
+$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_nul" >&5
-$as_echo "$gl_cv_func_btowc_nul" >&6; }
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(EOF) is correct" >&5
-$as_echo_n "checking whether btowc(EOF) is correct... " >&6; }
-if ${gl_cv_func_btowc_eof+:} false; then :
+  fi
+                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyPreferredLanguages" >&5
+$as_echo_n "checking for CFLocaleCopyPreferredLanguages... " >&6; }
+if ${gt_cv_func_CFLocaleCopyPreferredLanguages+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-                        case "$host_os" in
-                 # Guess no on IRIX.
-          irix*) gl_cv_func_btowc_eof="guessing no" ;;
-                 # Guess yes otherwise.
-          *)     gl_cv_func_btowc_eof="guessing yes" ;;
-        esac
-        if test $LOCALE_FR != none; then
-          if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-#include <locale.h>
-#include <string.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 <time.h>
-#include <wchar.h>
-int main ()
+#include <CoreFoundation/CFLocale.h>
+int
+main ()
 {
-  if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
-    {
-      if (btowc (EOF) != WEOF)
-        return 1;
-    }
+CFLocaleCopyPreferredLanguages();
+  ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_btowc_eof=yes
+if ac_fn_c_try_link "$LINENO"; then :
+  gt_cv_func_CFLocaleCopyPreferredLanguages=yes
 else
-  gl_cv_func_btowc_eof=no
+  gt_cv_func_CFLocaleCopyPreferredLanguages=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     LIBS="$gt_save_LIBS"
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyPreferredLanguages" >&5
+$as_echo "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; }
+  if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
 
-        fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_eof" >&5
-$as_echo "$gl_cv_func_btowc_eof" >&6; }
+$as_echo "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h
 
-    case "$gl_cv_func_btowc_nul" in
-      *yes) ;;
-      *) REPLACE_BTOWC=1 ;;
-    esac
-    case "$gl_cv_func_btowc_eof" in
-      *yes) ;;
-      *) REPLACE_BTOWC=1 ;;
-    esac
   fi
-
-  if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
-
-
-
-
-
-
-
-
-  gl_LIBOBJS="$gl_LIBOBJS btowc.$ac_objext"
-
-
-  :
-
+  INTL_MACOSX_LIBS=
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
+     || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
+    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
   fi
 
 
 
 
 
-          GNULIB_BTOWC=1
-
 
 
 
 
-$as_echo "#define GNULIB_TEST_BTOWC 1" >>confdefs.h
+  GNULIB_PSELECT=0;
+  GNULIB_SELECT=0;
+    HAVE_PSELECT=1;
+  REPLACE_PSELECT=0;
+  REPLACE_SELECT=0;
 
 
 
 
 
 
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible calloc" >&5
-$as_echo_n "checking for GNU libc compatible calloc... " >&6; }
-if ${ac_cv_func_calloc_0_nonnull+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/select.h> is self-contained" >&5
+$as_echo_n "checking whether <sys/select.h> is self-contained... " >&6; }
+if ${gl_cv_header_sys_select_h_selfcontained+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                  # Guess yes on glibc systems.
-          *-gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
-                  # If we don't know, assume the worst.
-          *)      ac_cv_func_calloc_0_nonnull="guessing no" ;;
-        esac
 
+                                    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/select.h>
+int
+main ()
+{
+struct timeval b;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_sys_select_h_selfcontained=yes
 else
+  gl_cv_header_sys_select_h_selfcontained=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+                        if test $gl_cv_header_sys_select_h_selfcontained = yes; then
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/select.h>
+int
+main ()
+{
+int memset; int bzero;
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
+#include <sys/select.h>
 int
 main ()
 {
-int result = 0;
-            if (!calloc (0, 0))
-              result |= 1;
-            if (calloc ((size_t) -1 / 8 + 1, 8))
-              result |= 2;
-            return result;
+
+                  #undef memset
+                  #define memset nonexistent_memset
+                  extern
+                  #ifdef __cplusplus
+                  "C"
+                  #endif
+                  void *memset (void *, int, unsigned long);
+                  #undef bzero
+                  #define bzero nonexistent_bzero
+                  extern
+                  #ifdef __cplusplus
+                  "C"
+                  #endif
+                  void bzero (void *, unsigned long);
+                  fd_set fds;
+                  FD_ZERO (&fds);
 
   ;
   return 0;
 }
+
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_calloc_0_nonnull=yes
+if ac_fn_c_try_link "$LINENO"; then :
+
 else
-  ac_cv_func_calloc_0_nonnull=no
+  gl_cv_header_sys_select_h_selfcontained=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+      fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_calloc_0_nonnull" >&5
-$as_echo "$ac_cv_func_calloc_0_nonnull" >&6; }
-  case "$ac_cv_func_calloc_0_nonnull" in
-    *yes)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5
+$as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; }
 
-$as_echo "#define HAVE_CALLOC_GNU 1" >>confdefs.h
 
-      ;;
-    *)
-      $as_echo "#define HAVE_CALLOC_GNU 0" >>confdefs.h
 
-     REPLACE_CALLOC=1
 
-      ;;
-  esac
 
 
-  if test $REPLACE_CALLOC = 1; then
 
 
 
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_sys_select_h='<'sys/select.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/select.h>" >&5
+$as_echo_n "checking absolute name of <sys/select.h>... " >&6; }
+if ${gl_cv_next_sys_select_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
+             if test $ac_cv_header_sys_select_h = yes; then
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/select.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-  fi
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'sys/select.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
 
+        gl_cv_absolute_sys_select_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
 
-cat >>confdefs.h <<_ACEOF
-#define GNULIB_CALLOC_GNU 1
-_ACEOF
+           gl_header=$gl_cv_absolute_sys_select_h
+           gl_cv_next_sys_select_h='"'$gl_header'"'
+          else
+               gl_cv_next_sys_select_h='<'sys/select.h'>'
+             fi
 
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5
+$as_echo "$gl_cv_next_sys_select_h" >&6; }
+     fi
+     NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h
 
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'sys/select.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_sys_select_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive
 
 
-  if test $gl_cv_func_malloc_posix = yes; then
 
-$as_echo "#define HAVE_CALLOC_POSIX 1" >>confdefs.h
 
+  if test $ac_cv_header_sys_select_h = yes; then
+    HAVE_SYS_SELECT_H=1
   else
-    REPLACE_CALLOC=1
+    HAVE_SYS_SELECT_H=0
   fi
 
-  if test $REPLACE_CALLOC = 1; then
 
 
 
 
+  if test $ac_cv_header_sys_socket_h != yes; then
+                    for ac_header in winsock2.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINSOCK2_H 1
+_ACEOF
 
+fi
 
+done
 
+  fi
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    HAVE_WINSOCK2_H=1
+    UNISTD_H_HAVE_WINSOCK2_H=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+  else
+    HAVE_WINSOCK2_H=0
+  fi
 
-  gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext"
 
-  fi
 
 
 
 
 
-          GNULIB_CALLOC_POSIX=1
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_CALLOC_POSIX 1" >>confdefs.h
+  if test $ac_cv_header_sys_socket_h != yes; then
+                    for ac_header in winsock2.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINSOCK2_H 1
+_ACEOF
 
+fi
 
+done
 
+  fi
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    HAVE_WINSOCK2_H=1
+    UNISTD_H_HAVE_WINSOCK2_H=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+  else
+    HAVE_WINSOCK2_H=0
+  fi
 
+   LIBSOCKET=
+  if test $HAVE_WINSOCK2_H = 1; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to call WSAStartup in winsock2.h and -lws2_32" >&5
+$as_echo_n "checking if we need to call WSAStartup in winsock2.h and -lws2_32... " >&6; }
+if ${gl_cv_func_wsastartup+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
+      gl_save_LIBS="$LIBS"
+      LIBS="$LIBS -lws2_32"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-  if test $ac_cv_func_canonicalize_file_name = no; then
-    HAVE_CANONICALIZE_FILE_NAME=0
-    if test $ac_cv_func_realpath = no; then
-      HAVE_REALPATH=0
-    else
-      case "$gl_cv_func_realpath_works" in
-       *yes) ;;
-       *)    REPLACE_REALPATH=1 ;;
-      esac
+#ifdef HAVE_WINSOCK2_H
+# include <winsock2.h>
+#endif
+int
+main ()
+{
+
+          WORD wVersionRequested = MAKEWORD(1, 1);
+          WSADATA wsaData;
+          int err = WSAStartup(wVersionRequested, &wsaData);
+          WSACleanup ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_func_wsastartup=yes
+else
+  gl_cv_func_wsastartup=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+      LIBS="$gl_save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wsastartup" >&5
+$as_echo "$gl_cv_func_wsastartup" >&6; }
+    if test "$gl_cv_func_wsastartup" = "yes"; then
+
+$as_echo "#define WINDOWS_SOCKETS 1" >>confdefs.h
+
+      LIBSOCKET='-lws2_32'
     fi
   else
-    case "$gl_cv_func_realpath_works" in
-      *yes)
-        ;;
-      *)
-        REPLACE_CANONICALIZE_FILE_NAME=1
-        REPLACE_REALPATH=1
-        ;;
-    esac
-  fi
+                                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5
+$as_echo_n "checking for library containing setsockopt... " >&6; }
+if ${gl_cv_lib_socket+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-  if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then
+      gl_cv_lib_socket=
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();
+int
+main ()
+{
+setsockopt();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+else
+  gl_save_LIBS="$LIBS"
+         LIBS="$gl_save_LIBS -lsocket"
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();
+int
+main ()
+{
+setsockopt();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_lib_socket="-lsocket"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+         if test -z "$gl_cv_lib_socket"; then
+           LIBS="$gl_save_LIBS -lnetwork"
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();
+int
+main ()
+{
+setsockopt();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_lib_socket="-lnetwork"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+           if test -z "$gl_cv_lib_socket"; then
+             LIBS="$gl_save_LIBS -lnet"
+             cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();
+int
+main ()
+{
+setsockopt();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_lib_socket="-lnet"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+           fi
+         fi
+         LIBS="$gl_save_LIBS"
 
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+      if test -z "$gl_cv_lib_socket"; then
+        gl_cv_lib_socket="none needed"
+      fi
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_socket" >&5
+$as_echo "$gl_cv_lib_socket" >&6; }
+    if test "$gl_cv_lib_socket" != "none needed"; then
+      LIBSOCKET="$gl_cv_lib_socket"
+    fi
+  fi
 
 
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext"
+  :
 
-  fi
 
 
-cat >>confdefs.h <<_ACEOF
-#define GNULIB_CANONICALIZE_LGPL 1
-_ACEOF
 
 
 
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    REPLACE_SELECT=1
+  else
 
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select supports a 0 argument" >&5
+$as_echo_n "checking whether select supports a 0 argument... " >&6; }
+if ${gl_cv_func_select_supports0+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
+        if test "$cross_compiling" = yes; then :
 
+           case "$host_os" in
+                       # Guess no on Interix.
+             interix*) gl_cv_func_select_supports0="guessing no";;
+                       # Guess yes otherwise.
+             *)        gl_cv_func_select_supports0="guessing yes";;
+           esac
 
-          GNULIB_CANONICALIZE_FILE_NAME=1
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <sys/types.h>
+#include <sys/time.h>
+#if HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
+int main ()
+{
+  struct timeval timeout;
+  timeout.tv_sec = 0;
+  timeout.tv_usec = 5;
+  return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_select_supports0=yes
+else
+  gl_cv_func_select_supports0=no
+fi
+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_select_supports0" >&5
+$as_echo "$gl_cv_func_select_supports0" >&6; }
+    case "$gl_cv_func_select_supports0" in
+      *yes) ;;
+      *) REPLACE_SELECT=1 ;;
+    esac
 
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select detects invalid fds" >&5
+$as_echo_n "checking whether select detects invalid fds... " >&6; }
+if ${gl_cv_func_select_detects_ebadf+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-$as_echo "#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1" >>confdefs.h
+        if test "$cross_compiling" = yes; then :
 
+           case "$host_os" in
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_select_detects_ebadf="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_select_detects_ebadf="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_select_detects_ebadf="guessing no" ;;
+           esac
 
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <sys/types.h>
+#include <sys/time.h>
+#if HAVE_SYS_SELECT_H
+# include <sys/select.h>
+#endif
+#include <unistd.h>
+#include <errno.h>
 
+int
+main ()
+{
 
+  fd_set set;
+  dup2(0, 16);
+  FD_ZERO(&set);
+  FD_SET(16, &set);
+  close(16);
+  struct timeval timeout;
+  timeout.tv_sec = 0;
+  timeout.tv_usec = 5;
+  return select (17, &set, NULL, NULL, &timeout) != -1 || errno != EBADF;
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_select_detects_ebadf=yes
+else
+  gl_cv_func_select_detects_ebadf=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
 
-          GNULIB_REALPATH=1
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_detects_ebadf" >&5
+$as_echo "$gl_cv_func_select_detects_ebadf" >&6; }
+    case $gl_cv_func_select_detects_ebadf in
+      *yes) ;;
+      *) REPLACE_SELECT=1 ;;
+    esac
+  fi
 
+    LIB_SELECT="$LIBSOCKET"
+  if test $REPLACE_SELECT = 1; then
+    case "$host_os" in
+      mingw*)
+                                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+int
+main ()
+{
+  MsgWaitForMultipleObjects (0, NULL, 0, 0, 0);
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
 
+else
+  LIB_SELECT="$LIB_SELECT -luser32"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+        ;;
+    esac
+  fi
 
 
-$as_echo "#define GNULIB_TEST_REALPATH 1" >>confdefs.h
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for O_CLOEXEC" >&5
+$as_echo_n "checking for O_CLOEXEC... " >&6; }
+if ${gl_cv_macro_O_CLOEXEC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <fcntl.h>
+                          #ifndef O_CLOEXEC
+                            choke me;
+                          #endif
 
+int
+main ()
+{
+return O_CLOEXEC;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_macro_O_CLOEXEC=yes
+else
+  gl_cv_macro_O_CLOEXEC=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_macro_O_CLOEXEC" >&5
+$as_echo "$gl_cv_macro_O_CLOEXEC" >&6; }
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5
+$as_echo_n "checking for promoted mode_t type... " >&6; }
+if ${gl_cv_promoted_mode_t+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_CLOSE=1
-  fi
+                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+int
+main ()
+{
+typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_promoted_mode_t='int'
+else
+  gl_cv_promoted_mode_t='mode_t'
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5
+$as_echo "$gl_cv_promoted_mode_t" >&6; }
 
+cat >>confdefs.h <<_ACEOF
+#define PROMOTED_MODE_T $gl_cv_promoted_mode_t
+_ACEOF
 
 
+ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strerror_r" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-  if test $ac_cv_header_sys_socket_h != yes; then
-                    for ac_header in winsock2.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
-if test "x$ac_cv_header_winsock2_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_WINSOCK2_H 1
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRERROR_R $ac_have_decl
 _ACEOF
 
-fi
 
-done
 
-  fi
-  if test "$ac_cv_header_winsock2_h" = yes; then
-    HAVE_WINSOCK2_H=1
-    UNISTD_H_HAVE_WINSOCK2_H=1
-    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
-  else
-    HAVE_WINSOCK2_H=0
-  fi
 
 
-    if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
-                        REPLACE_CLOSE=1
-    fi
 
 
 
-  if test $REPLACE_CLOSE = 1; then
+  if test $ac_cv_have_decl_strerror_r = no; then
+    HAVE_DECL_STRERROR_R=0
+  fi
+
+  if test $ac_cv_func_strerror_r = yes; then
+    if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
+      if test $gl_cv_func_strerror_r_posix_signature = yes; then
+        case "$gl_cv_func_strerror_r_works" in
+                    *no) REPLACE_STRERROR_R=1 ;;
+        esac
+      else
+                REPLACE_STRERROR_R=1
+      fi
+    else
+                  REPLACE_STRERROR_R=1
+    fi
+  fi
+
 
 
 
 
 
+  GNULIB_PTHREAD_THREAD=0;
+  GNULIB_PTHREAD_ONCE=0;
+  GNULIB_PTHREAD_MUTEX=0;
+  GNULIB_PTHREAD_RWLOCK=0;
+  GNULIB_PTHREAD_COND=0;
+  GNULIB_PTHREAD_TSS=0;
+  GNULIB_PTHREAD_SPIN=0;
+  GNULIB_PTHREAD_MUTEX_TIMEDLOCK=0;
+    HAVE_PTHREAD_T=1;
+  HAVE_PTHREAD_SPINLOCK_T=1;
+  HAVE_PTHREAD_CREATE_DETACHED=1;
+  HAVE_PTHREAD_MUTEX_RECURSIVE=1;
+  HAVE_PTHREAD_MUTEX_ROBUST=1;
+  HAVE_PTHREAD_PROCESS_SHARED=1;
+  HAVE_PTHREAD_CREATE=1;
+  HAVE_PTHREAD_ATTR_INIT=1;
+  HAVE_PTHREAD_ATTR_GETDETACHSTATE=1;
+  HAVE_PTHREAD_ATTR_SETDETACHSTATE=1;
+  HAVE_PTHREAD_ATTR_DESTROY=1;
+  HAVE_PTHREAD_SELF=1;
+  HAVE_PTHREAD_EQUAL=1;
+  HAVE_PTHREAD_DETACH=1;
+  HAVE_PTHREAD_JOIN=1;
+  HAVE_PTHREAD_EXIT=1;
+  HAVE_PTHREAD_ONCE=1;
+  HAVE_PTHREAD_MUTEX_INIT=1;
+  HAVE_PTHREAD_MUTEXATTR_INIT=1;
+  HAVE_PTHREAD_MUTEXATTR_GETTYPE=1;
+  HAVE_PTHREAD_MUTEXATTR_SETTYPE=1;
+  HAVE_PTHREAD_MUTEXATTR_GETROBUST=1;
+  HAVE_PTHREAD_MUTEXATTR_SETROBUST=1;
+  HAVE_PTHREAD_MUTEXATTR_DESTROY=1;
+  HAVE_PTHREAD_MUTEX_LOCK=1;
+  HAVE_PTHREAD_MUTEX_TRYLOCK=1;
+  HAVE_PTHREAD_MUTEX_TIMEDLOCK=1;
+  HAVE_PTHREAD_MUTEX_UNLOCK=1;
+  HAVE_PTHREAD_MUTEX_DESTROY=1;
+  HAVE_PTHREAD_RWLOCK_INIT=1;
+  HAVE_PTHREAD_RWLOCKATTR_INIT=1;
+  HAVE_PTHREAD_RWLOCKATTR_DESTROY=1;
+  HAVE_PTHREAD_RWLOCK_RDLOCK=1;
+  HAVE_PTHREAD_RWLOCK_WRLOCK=1;
+  HAVE_PTHREAD_RWLOCK_TRYRDLOCK=1;
+  HAVE_PTHREAD_RWLOCK_TRYWRLOCK=1;
+  HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK=1;
+  HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK=1;
+  HAVE_PTHREAD_RWLOCK_UNLOCK=1;
+  HAVE_PTHREAD_RWLOCK_DESTROY=1;
+  HAVE_PTHREAD_COND_INIT=1;
+  HAVE_PTHREAD_CONDATTR_INIT=1;
+  HAVE_PTHREAD_CONDATTR_DESTROY=1;
+  HAVE_PTHREAD_COND_WAIT=1;
+  HAVE_PTHREAD_COND_TIMEDWAIT=1;
+  HAVE_PTHREAD_COND_SIGNAL=1;
+  HAVE_PTHREAD_COND_BROADCAST=1;
+  HAVE_PTHREAD_COND_DESTROY=1;
+  HAVE_PTHREAD_KEY_CREATE=1;
+  HAVE_PTHREAD_SETSPECIFIC=1;
+  HAVE_PTHREAD_GETSPECIFIC=1;
+  HAVE_PTHREAD_KEY_DELETE=1;
+  HAVE_PTHREAD_SPIN_INIT=1;
+  HAVE_PTHREAD_SPIN_LOCK=1;
+  HAVE_PTHREAD_SPIN_TRYLOCK=1;
+  HAVE_PTHREAD_SPIN_UNLOCK=1;
+  HAVE_PTHREAD_SPIN_DESTROY=1;
+  REPLACE_PTHREAD_CREATE=0;
+  REPLACE_PTHREAD_ATTR_INIT=0;
+  REPLACE_PTHREAD_ATTR_GETDETACHSTATE=0;
+  REPLACE_PTHREAD_ATTR_SETDETACHSTATE=0;
+  REPLACE_PTHREAD_ATTR_DESTROY=0;
+  REPLACE_PTHREAD_SELF=0;
+  REPLACE_PTHREAD_EQUAL=0;
+  REPLACE_PTHREAD_DETACH=0;
+  REPLACE_PTHREAD_JOIN=0;
+  REPLACE_PTHREAD_EXIT=0;
+  REPLACE_PTHREAD_ONCE=0;
+  REPLACE_PTHREAD_MUTEX_INIT=0;
+  REPLACE_PTHREAD_MUTEXATTR_INIT=0;
+  REPLACE_PTHREAD_MUTEXATTR_GETTYPE=0;
+  REPLACE_PTHREAD_MUTEXATTR_SETTYPE=0;
+  REPLACE_PTHREAD_MUTEXATTR_GETROBUST=0;
+  REPLACE_PTHREAD_MUTEXATTR_SETROBUST=0;
+  REPLACE_PTHREAD_MUTEXATTR_DESTROY=0;
+  REPLACE_PTHREAD_MUTEX_LOCK=0;
+  REPLACE_PTHREAD_MUTEX_TRYLOCK=0;
+  REPLACE_PTHREAD_MUTEX_TIMEDLOCK=0;
+  REPLACE_PTHREAD_MUTEX_UNLOCK=0;
+  REPLACE_PTHREAD_MUTEX_DESTROY=0;
+  REPLACE_PTHREAD_RWLOCK_INIT=0;
+  REPLACE_PTHREAD_RWLOCKATTR_INIT=0;
+  REPLACE_PTHREAD_RWLOCKATTR_DESTROY=0;
+  REPLACE_PTHREAD_RWLOCK_RDLOCK=0;
+  REPLACE_PTHREAD_RWLOCK_WRLOCK=0;
+  REPLACE_PTHREAD_RWLOCK_TRYRDLOCK=0;
+  REPLACE_PTHREAD_RWLOCK_TRYWRLOCK=0;
+  REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK=0;
+  REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK=0;
+  REPLACE_PTHREAD_RWLOCK_UNLOCK=0;
+  REPLACE_PTHREAD_RWLOCK_DESTROY=0;
+  REPLACE_PTHREAD_COND_INIT=0;
+  REPLACE_PTHREAD_CONDATTR_INIT=0;
+  REPLACE_PTHREAD_CONDATTR_DESTROY=0;
+  REPLACE_PTHREAD_COND_WAIT=0;
+  REPLACE_PTHREAD_COND_TIMEDWAIT=0;
+  REPLACE_PTHREAD_COND_SIGNAL=0;
+  REPLACE_PTHREAD_COND_BROADCAST=0;
+  REPLACE_PTHREAD_COND_DESTROY=0;
+  REPLACE_PTHREAD_KEY_CREATE=0;
+  REPLACE_PTHREAD_SETSPECIFIC=0;
+  REPLACE_PTHREAD_GETSPECIFIC=0;
+  REPLACE_PTHREAD_KEY_DELETE=0;
+  REPLACE_PTHREAD_SPIN_INIT=0;
+  REPLACE_PTHREAD_SPIN_LOCK=0;
+  REPLACE_PTHREAD_SPIN_TRYLOCK=0;
+  REPLACE_PTHREAD_SPIN_UNLOCK=0;
+  REPLACE_PTHREAD_SPIN_DESTROY=0;
+
+
+
+
+  GNULIB_PTHREAD_SIGMASK=0;
+  GNULIB_RAISE=0;
+  GNULIB_SIGNAL_H_SIGPIPE=0;
+  GNULIB_SIGPROCMASK=0;
+  GNULIB_SIGACTION=0;
+    HAVE_POSIX_SIGNALBLOCKING=1;
+  HAVE_PTHREAD_SIGMASK=1;
+  HAVE_RAISE=1;
+  HAVE_SIGSET_T=1;
+  HAVE_SIGINFO_T=1;
+  HAVE_SIGACTION=1;
+  HAVE_STRUCT_SIGACTION_SA_SIGACTION=1;
+
+  HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1;
+
+  HAVE_SIGHANDLER_T=1;
+  REPLACE_PTHREAD_SIGMASK=0;
+  REPLACE_RAISE=0;
+
+
+
+
+
+
+
+
+  ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" "
+      #include <signal.h>
+      /* Mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.  */
+      #include <sys/types.h>
 
+"
+if test "x$ac_cv_type_sigset_t" = xyes; then :
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SIGSET_T 1
+_ACEOF
 
-  gl_LIBOBJS="$gl_LIBOBJS close.$ac_objext"
+gl_cv_type_sigset_t=yes
+else
+  gl_cv_type_sigset_t=no
+fi
 
+  if test $gl_cv_type_sigset_t != yes; then
+    HAVE_SIGSET_T=0
   fi
 
 
+  GNULIB_SCHED_YIELD=0;
+    HAVE_SCHED_YIELD=1;
+  REPLACE_SCHED_YIELD=0;
 
 
 
-          GNULIB_CLOSE=1
+ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default"
+if test "x$ac_cv_have_decl_setenv" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SETENV $ac_have_decl
+_ACEOF
 
 
 
 
-$as_echo "#define GNULIB_TEST_CLOSE 1" >>confdefs.h
 
 
+  if test $ac_cv_have_decl_setenv = no; then
+    HAVE_DECL_SETENV=0
+  fi
 
 
-  :
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define GNULIB_CLOSE_STREAM 1
+  for ac_header in search.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default"
+if test "x$ac_cv_header_search_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SEARCH_H 1
 _ACEOF
 
+fi
 
+done
 
-  :
+  for ac_func in tsearch
+do :
+  ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch"
+if test "x$ac_cv_func_tsearch" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_TSEARCH 1
+_ACEOF
 
+fi
+done
 
 
-          if test "x$datarootdir" = x; then
-    datarootdir='${datadir}'
 
-  fi
-    if test "x$docdir" = x; then
-    docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
 
-  fi
-    if test "x$htmldir" = x; then
-    htmldir='${docdir}'
 
-  fi
-  if test "x$dvidir" = x; then
-    dvidir='${docdir}'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
+$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
+if ${ac_cv_type_uid_t+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
 
-  fi
-  if test "x$pdfdir" = x; then
-    pdfdir='${docdir}'
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "uid_t" >/dev/null 2>&1; then :
+  ac_cv_type_uid_t=yes
+else
+  ac_cv_type_uid_t=no
+fi
+rm -f conftest*
 
-  fi
-  if test "x$psdir" = x; then
-    psdir='${docdir}'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
+$as_echo "$ac_cv_type_uid_t" >&6; }
+if test $ac_cv_type_uid_t = no; then
 
-  fi
-  if test "x$lispdir" = x; then
-    lispdir='${datarootdir}/emacs/site-lisp'
+$as_echo "#define uid_t int" >>confdefs.h
 
-  fi
-  if test "x$localedir" = x; then
-    localedir='${datarootdir}/locale'
 
-  fi
-    if test "x$runstatedir" = x; then
-    runstatedir='${localstatedir}/run'
+$as_echo "#define gid_t int" >>confdefs.h
 
-  fi
+fi
 
-      pkglibexecdir='${libexecdir}/${PACKAGE}'
 
 
 
@@ -16248,9 +16827,6 @@ _ACEOF
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define GNULIB_DIRNAME 1
-_ACEOF
 
 
 
@@ -16259,167 +16835,213 @@ _ACEOF
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
-$as_echo_n "checking whether // is distinct from /... " >&6; }
-if ${gl_cv_double_slash_root+:} false; then :
-  $as_echo_n "(cached) " >&6
+
+ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default"
+if test "x$ac_cv_have_decl_unsetenv" = xyes; then :
+  ac_have_decl=1
 else
-   if test x"$cross_compiling" = xyes ; then
-        # When cross-compiling, there is no way to tell whether // is special
-        # short of a list of hosts.  However, the only known hosts to date
-        # that have a distinct // are Apollo DomainOS (too old to port to),
-        # Cygwin, and z/OS.  If anyone knows of another system for which // has
-        # special semantics and is distinct from /, please report it to
-        # <bug-gnulib@gnu.org>.
-        case $host in
-          *-cygwin | i370-ibm-openedition)
-            gl_cv_double_slash_root=yes ;;
-          *)
-            # Be optimistic and assume that / and // are the same when we
-            # don't know.
-            gl_cv_double_slash_root='unknown, assuming no' ;;
-        esac
-      else
-        set x `ls -di / // 2>/dev/null`
-        if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then
-          gl_cv_double_slash_root=no
-        else
-          gl_cv_double_slash_root=yes
-        fi
-      fi
+  ac_have_decl=0
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5
-$as_echo "$gl_cv_double_slash_root" >&6; }
-  if test "$gl_cv_double_slash_root" = yes; then
 
-$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_UNSETENV $ac_have_decl
+_ACEOF
 
-  fi
 
 
 
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
-$as_echo_n "checking for error_at_line... " >&6; }
-if ${ac_cv_lib_error_at_line+:} false; then :
+
+    YIELD_LIB=
+  if test $gl_threads_api = posix; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
+$as_echo_n "checking for sched_yield in -lrt... " >&6; }
+if ${ac_cv_lib_rt_sched_yield+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lrt  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <error.h>
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sched_yield ();
 int
 main ()
 {
-error_at_line (0, 0, "", 0, "an error occurred");
+return sched_yield ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_error_at_line=yes
+  ac_cv_lib_rt_sched_yield=yes
 else
-  ac_cv_lib_error_at_line=no
+  ac_cv_lib_rt_sched_yield=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
-$as_echo "$ac_cv_lib_error_at_line" >&6; }
-
-  if test $ac_cv_lib_error_at_line = no; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5
+$as_echo "$ac_cv_lib_rt_sched_yield" >&6; }
+if test "x$ac_cv_lib_rt_sched_yield" = xyes; then :
+  YIELD_LIB=-lrt
+else
+         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5
+$as_echo_n "checking for sched_yield in -lposix4... " >&6; }
+if ${ac_cv_lib_posix4_sched_yield+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lposix4  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sched_yield ();
+int
+main ()
+{
+return sched_yield ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_posix4_sched_yield=yes
+else
+  ac_cv_lib_posix4_sched_yield=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5
+$as_echo "$ac_cv_lib_posix4_sched_yield" >&6; }
+if test "x$ac_cv_lib_posix4_sched_yield" = xyes; then :
+  YIELD_LIB=-lposix4
+fi
 
+fi
 
+  fi
 
 
 
+   if true; then
+  GL_COND_LIBTOOL_TRUE=
+  GL_COND_LIBTOOL_FALSE='#'
+else
+  GL_COND_LIBTOOL_TRUE='#'
+  GL_COND_LIBTOOL_FALSE=
+fi
 
+  gl_cond_libtool=true
+  gl_m4_base='m4'
 
-  gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext"
 
 
 
-  :
 
-  fi
 
 
-  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format"
 
 
-
-  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format"
-
+  gl_source_base='lib'
+LTALLOCA=`echo "$ALLOCA" | sed -e 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'`
 
 
 
+  if test $ac_cv_func_alloca_works = no; then
+    :
+  fi
 
+  # Define an additional variable used in the Makefile substitution.
+  if test $ac_cv_working_alloca_h = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5
+$as_echo_n "checking for alloca as a compiler built-in... " >&6; }
+if ${gl_cv_rpl_alloca+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#if defined __GNUC__ || defined _AIX || defined _MSC_VER
+        Need own alloca
+#endif
 
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Need own alloca" >/dev/null 2>&1; then :
+  gl_cv_rpl_alloca=yes
+else
+  gl_cv_rpl_alloca=no
+fi
+rm -f conftest*
 
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5
+$as_echo "$gl_cv_rpl_alloca" >&6; }
+    if test $gl_cv_rpl_alloca = yes; then
 
+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
 
+      ALLOCA_H=alloca.h
+    else
+                  ALLOCA_H=
+    fi
+  else
+    ALLOCA_H=alloca.h
+  fi
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_fcntl_h='<'fcntl.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <fcntl.h>" >&5
-$as_echo_n "checking absolute name of <fcntl.h>... " >&6; }
-if ${gl_cv_next_fcntl_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+   if test -n "$ALLOCA_H"; then
+  GL_GENERATE_ALLOCA_H_TRUE=
+  GL_GENERATE_ALLOCA_H_FALSE='#'
 else
+  GL_GENERATE_ALLOCA_H_TRUE='#'
+  GL_GENERATE_ALLOCA_H_FALSE=
+fi
 
 
+  if test $ac_cv_working_alloca_h = yes; then
+    HAVE_ALLOCA_H=1
+  else
+    HAVE_ALLOCA_H=0
+  fi
 
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <fcntl.h>
-_ACEOF
-                case "$host_os" in
-    aix*) gl_absname_cpp="$ac_cpp -C" ;;
-    *)    gl_absname_cpp="$ac_cpp" ;;
-  esac
-
-  case "$host_os" in
-    mingw*)
-                                          gl_dirsep_regex='[/\\]'
-      ;;
-    *)
-      gl_dirsep_regex='\/'
-      ;;
-  esac
-      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-  gl_header_literal_regex=`echo 'fcntl.h' \
-                           | sed -e "$gl_make_literal_regex_sed"`
-  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-      s|^/[^/]|//&|
-      p
-      q
-    }'
 
-        gl_cv_absolute_fcntl_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-  sed -n "$gl_absolute_header_sed"`
 
-           gl_header=$gl_cv_absolute_fcntl_h
-           gl_cv_next_fcntl_h='"'$gl_header'"'
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable assertions" >&5
+$as_echo_n "checking whether to enable assertions... " >&6; }
+  # Check whether --enable-assert was given.
+if test "${enable_assert+set}" = set; then :
+  enableval=$enable_assert; if test "x$enableval" = xno; then :
 
+$as_echo "#define NDEBUG 1" >>confdefs.h
 
+elif test "x$enableval" != xyes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-assert" >&5
+$as_echo "$as_me: WARNING: invalid argument supplied to --enable-assert" >&2;}
+      enable_assert=yes
+fi
+else
+  enable_assert=yes
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5
-$as_echo "$gl_cv_next_fcntl_h" >&6; }
-     fi
-     NEXT_FCNTL_H=$gl_cv_next_fcntl_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'fcntl.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_fcntl_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_assert" >&5
+$as_echo "$enable_assert" >&6; }
 
 
 
@@ -16427,817 +17049,779 @@ $as_echo "$gl_cv_next_fcntl_h" >&6; }
 
 
 
+  if test $ac_cv_func_btowc = no; then
+    HAVE_BTOWC=0
+  else
+
 
 
 
-    for gl_func in fcntl openat; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(0) is correct" >&5
+$as_echo_n "checking whether btowc(0) is correct... " >&6; }
+if ${gl_cv_func_btowc_nul+:} false; then :
   $as_echo_n "(cached) " >&6
+else
+
+        if test "$cross_compiling" = yes; then :
+
+           case "$host_os" in
+                      # Guess no on Cygwin.
+             cygwin*) gl_cv_func_btowc_nul="guessing no" ;;
+                      # Guess yes on native Windows.
+             mingw*)  gl_cv_func_btowc_nul="guessing yes" ;;
+                      # Guess yes otherwise.
+             *)       gl_cv_func_btowc_nul="guessing yes" ;;
+           esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <fcntl.h>
 
-int
-main ()
+#include <string.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 <time.h>
+#include <wchar.h>
+int main ()
 {
-#undef $gl_func
-  (void) $gl_func;
-  ;
+  if (btowc ('\0') != 0)
+    return 1;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_btowc_nul=yes
 else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  gl_cv_func_btowc_nul=no
 fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
-
-                     eval ac_cv_have_decl_$gl_func=yes
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-      done
-
 
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_nul" >&5
+$as_echo "$gl_cv_func_btowc_nul" >&6; }
 
-  fp_headers='
-    #include <stdio.h>
-    #if HAVE_STDIO_EXT_H
-    # include <stdio_ext.h>
-    #endif
-  '
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __fpending" >&5
-$as_echo_n "checking for __fpending... " >&6; }
-if ${gl_cv_func___fpending+:} false; then :
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(EOF) is correct" >&5
+$as_echo_n "checking whether btowc(EOF) is correct... " >&6; }
+if ${gl_cv_func_btowc_eof+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+                        case "$host_os" in
+                  # Guess no on IRIX.
+          irix*)  gl_cv_func_btowc_eof="guessing no" ;;
+                  # Guess yes on native Windows.
+          mingw*) gl_cv_func_btowc_eof="guessing yes" ;;
+                  # Guess yes otherwise.
+          *)      gl_cv_func_btowc_eof="guessing yes" ;;
+        esac
+        if test $LOCALE_FR != none; then
+          if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$fp_headers
-int
-main ()
+
+#include <locale.h>
+#include <string.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 <time.h>
+#include <wchar.h>
+int main ()
 {
-return ! __fpending (stdin);
-  ;
+  if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
+    {
+      if (btowc (EOF) != WEOF)
+        return 1;
+    }
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_cv_func___fpending=yes
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_btowc_eof=yes
 else
-  gl_cv_func___fpending=no
+  gl_cv_func_btowc_eof=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
+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}: result: $gl_cv_func___fpending" >&5
-$as_echo "$gl_cv_func___fpending" >&6; }
-  if test $gl_cv_func___fpending = yes; then
-    ac_fn_c_check_decl "$LINENO" "__fpending" "ac_cv_have_decl___fpending" "$fp_headers
-"
-if test "x$ac_cv_have_decl___fpending" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
+
+        fi
+
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_eof" >&5
+$as_echo "$gl_cv_func_btowc_eof" >&6; }
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL___FPENDING $ac_have_decl
-_ACEOF
+    case "$gl_cv_func_btowc_nul" in
+      *yes) ;;
+      *) REPLACE_BTOWC=1 ;;
+    esac
+    case "$gl_cv_func_btowc_eof" in
+      *yes) ;;
+      *) REPLACE_BTOWC=1 ;;
+    esac
+  fi
+
+  if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS btowc.$ac_objext"
+
+
+  :
 
   fi
 
-  if test $gl_cv_func___fpending = no; then
 
 
 
 
+          GNULIB_BTOWC=1
+
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS fpending.$ac_objext"
+$as_echo "#define GNULIB_TEST_BTOWC 1" >>confdefs.h
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to determine the number of pending output bytes on a stream" >&5
-$as_echo_n "checking how to determine the number of pending output bytes on a stream... " >&6; }
-if ${ac_cv_sys_pending_output_n_bytes+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-      for ac_expr in                                                    \
-                                                                        \
-          '# glibc2'                                                    \
-          'fp->_IO_write_ptr - fp->_IO_write_base'                      \
-                                                                        \
-          '# traditional Unix'                                          \
-          'fp->_ptr - fp->_base'                                        \
-                                                                        \
-          '# BSD'                                                       \
-          'fp->_p - fp->_bf._base'                                      \
-                                                                        \
-          '# SCO, Unixware'                                             \
-          '(fp->__ptr ? fp->__ptr - fp->__base : 0)'                    \
-                                                                        \
-          '# QNX'                                                       \
-          '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \
-                                                                        \
-          '# old glibc?'                                                \
-          'fp->__bufp - fp->__buffer'                                   \
-                                                                        \
-          '# old glibc iostream?'                                       \
-          'fp->_pptr - fp->_pbase'                                      \
-                                                                        \
-          '# emx+gcc'                                                   \
-          'fp->_ptr - fp->_buffer'                                      \
-                                                                        \
-          '# Minix'                                                     \
-          'fp->_ptr - fp->_buf'                                         \
-                                                                        \
-          '# Plan9'                                                     \
-          'fp->wp - fp->buf'                                            \
-                                                                        \
-          '# VMS'                                                       \
-          '(*fp)->_ptr - (*fp)->_base'                                  \
-                                                                        \
-          '# e.g., DGUX R4.11; the info is not available'               \
-          1                                                             \
-          ; do
-
-        # Skip each embedded comment.
-        case "$ac_expr" in '#'*) continue;; esac
 
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_expect" >&5
+$as_echo_n "checking for __builtin_expect... " >&6; }
+if ${gl_cv___builtin_expect+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdio.h>
+
+         int
+         main (int argc, char **argv)
+         {
+           argc = __builtin_expect (argc, 100);
+           return argv[argc != 100][0];
+         }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv___builtin_expect=yes
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+             #include <builtins.h>
+             int
+             main (int argc, char **argv)
+             {
+               argc = __builtin_expect (argc, 100);
+               return argv[argc != 100][0];
+             }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv___builtin_expect="in <builtins.h>"
+else
+  gl_cv___builtin_expect=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv___builtin_expect" >&5
+$as_echo "$gl_cv___builtin_expect" >&6; }
+  if test "$gl_cv___builtin_expect" = yes; then
+    $as_echo "#define HAVE___BUILTIN_EXPECT 1" >>confdefs.h
+
+  elif test "$gl_cv___builtin_expect" = "in <builtins.h>"; then
+    $as_echo "#define HAVE___BUILTIN_EXPECT 2" >>confdefs.h
+
+  fi
+
+
+
+
+
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible calloc" >&5
+$as_echo_n "checking for GNU libc compatible calloc... " >&6; }
+if ${ac_cv_func_calloc_0_nonnull+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                         # Guess yes on glibc systems.
+          *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+                         # Guess yes on musl systems.
+          *-musl*)       ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+                         # Guess yes on native Windows.
+          mingw*)        ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+                         # If we don't know, assume the worst.
+          *)             ac_cv_func_calloc_0_nonnull="guessing no" ;;
+        esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
 int
 main ()
 {
-FILE *fp = stdin; (void) ($ac_expr);
+int result = 0;
+            char *p = calloc (0, 0);
+            if (!p)
+              result |= 1;
+            free (p);
+            p = calloc ((size_t) -1 / 8 + 1, 8);
+            if (p)
+              result |= 2;
+            free (p);
+            return result;
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  fp_done=yes
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_func_calloc_0_nonnull=yes
+else
+  ac_cv_func_calloc_0_nonnull=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-        test "$fp_done" = yes && break
-      done
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_calloc_0_nonnull" >&5
+$as_echo "$ac_cv_func_calloc_0_nonnull" >&6; }
+  case "$ac_cv_func_calloc_0_nonnull" in
+    *yes)
 
-      ac_cv_sys_pending_output_n_bytes=$ac_expr
+$as_echo "#define HAVE_CALLOC_GNU 1" >>confdefs.h
 
+      ;;
+    *)
+      $as_echo "#define HAVE_CALLOC_GNU 0" >>confdefs.h
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_pending_output_n_bytes" >&5
-$as_echo "$ac_cv_sys_pending_output_n_bytes" >&6; }
+     REPLACE_CALLOC=1
 
-cat >>confdefs.h <<_ACEOF
-#define PENDING_OUTPUT_N_BYTES $ac_cv_sys_pending_output_n_bytes
-_ACEOF
+      ;;
+  esac
 
 
-  fi
+  if test $REPLACE_CALLOC = 1; then
 
 
 
 
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_FSTAT=1
-  fi
 
 
-  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
-    REPLACE_FSTAT=1
-  fi
 
 
+  gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext"
 
-  if test $REPLACE_FSTAT = 1; then
+  fi
 
 
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_CALLOC_GNU 1
+_ACEOF
 
 
 
 
 
+  if test $gl_cv_func_malloc_posix = yes; then
 
-  gl_LIBOBJS="$gl_LIBOBJS fstat.$ac_objext"
+$as_echo "#define HAVE_CALLOC_POSIX 1" >>confdefs.h
 
-    :
+  else
+    REPLACE_CALLOC=1
   fi
 
+  if test $REPLACE_CALLOC = 1; then
 
 
 
 
-          GNULIB_FSTAT=1
 
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext"
 
-$as_echo "#define GNULIB_TEST_FSTAT 1" >>confdefs.h
+  fi
 
 
 
 
 
+          GNULIB_CALLOC_POSIX=1
 
-  if test $ac_cv_func_fsync = no; then
-    HAVE_FSYNC=0
-  fi
 
-  if test $HAVE_FSYNC = 0; then
 
 
 
+$as_echo "#define GNULIB_TEST_CALLOC_POSIX 1" >>confdefs.h
 
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS fsync.$ac_objext"
 
-    :
+  if test $ac_cv_func_canonicalize_file_name = no; then
+    HAVE_CANONICALIZE_FILE_NAME=0
+    if test $ac_cv_func_realpath = no; then
+      HAVE_REALPATH=0
+    else
+      case "$gl_cv_func_realpath_works" in
+        *yes) ;;
+        *)    REPLACE_REALPATH=1 ;;
+      esac
+    fi
+  else
+    case "$gl_cv_func_realpath_works" in
+      *yes)
+        ;;
+      *)
+        REPLACE_CANONICALIZE_FILE_NAME=1
+        REPLACE_REALPATH=1
+        ;;
+    esac
   fi
 
+  if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then
 
 
 
 
-          GNULIB_FSYNC=1
 
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext"
 
-$as_echo "#define GNULIB_TEST_FSYNC 1" >>confdefs.h
+  fi
 
 
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_CANONICALIZE_LGPL 1
+_ACEOF
 
 
 
 
 
 
-  if test $REPLACE_GETOPT = 1; then
 
+          GNULIB_CANONICALIZE_FILE_NAME=1
 
 
 
 
 
+$as_echo "#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1" >>confdefs.h
 
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
 
 
 
 
 
 
+          GNULIB_REALPATH=1
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
 
 
+$as_echo "#define GNULIB_TEST_REALPATH 1" >>confdefs.h
 
 
-        GNULIB_GL_UNISTD_H_GETOPT=1
-  fi
 
 
 
-$as_echo "#define GNULIB_TEST_GETOPT_GNU 1" >>confdefs.h
 
 
+    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+      REPLACE_CLOSE=1
+    fi
 
 
 
 
 
-    REPLACE_GETOPT=0
-    if test -n "$gl_replace_getopt"; then
-      REPLACE_GETOPT=1
-    fi
 
-  if test $REPLACE_GETOPT = 1; then
+  if test $ac_cv_header_sys_socket_h != yes; then
+                    for ac_header in winsock2.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINSOCK2_H 1
+_ACEOF
 
-  GETOPT_H=getopt.h
+fi
 
-$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
+done
 
+  fi
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    HAVE_WINSOCK2_H=1
+    UNISTD_H_HAVE_WINSOCK2_H=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+  else
+    HAVE_WINSOCK2_H=0
+  fi
 
 
-  fi
+    if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
+                        REPLACE_CLOSE=1
+    fi
 
-  if test $REPLACE_GETOPT = 1; then
 
 
+  if test $REPLACE_CLOSE = 1; then
 
 
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
 
 
+  gl_LIBOBJS="$gl_LIBOBJS close.$ac_objext"
 
+  fi
 
 
 
 
 
+          GNULIB_CLOSE=1
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
 
 
 
 
-        GNULIB_GL_UNISTD_H_GETOPT=1
-  fi
+$as_echo "#define GNULIB_TEST_CLOSE 1" >>confdefs.h
 
 
 
 
 
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_CLOSE_STREAM 1
+_ACEOF
 
 
 
 
-  gl_gettimeofday_timezone=void
-  if test $ac_cv_func_gettimeofday != yes; then
-    HAVE_GETTIMEOFDAY=0
-  else
+  if test "x$lispdir" = x; then
+    lispdir='${datarootdir}/emacs/site-lisp'
 
+  fi
+    if test "x$runstatedir" = x; then
+    runstatedir='${localstatedir}/run'
 
+  fi
 
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5
-$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; }
-if ${gl_cv_func_gettimeofday_clobber+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  # When cross-compiling:
-      case "$host_os" in
-                # Guess all is fine on glibc systems.
-        *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
-                # If we don't know, assume the worst.
-        *)      gl_cv_func_gettimeofday_clobber="guessing yes" ;;
-      esac
+      pkglibexecdir='${libexecdir}/${PACKAGE}'
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-          #include <sys/time.h>
-          #include <time.h>
-          #include <stdlib.h>
 
-int
-main ()
-{
 
-          time_t t = 0;
-          struct tm *lt;
-          struct tm saved_lt;
-          struct timeval tv;
-          lt = localtime (&t);
-          saved_lt = *lt;
-          gettimeofday (&tv, NULL);
-          return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0;
 
-  ;
-  return 0;
-}
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_DIRNAME 1
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_gettimeofday_clobber=no
-else
-  gl_cv_func_gettimeofday_clobber=yes
-fi
-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_gettimeofday_clobber" >&5
-$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; }
 
- case "$gl_cv_func_gettimeofday_clobber" in
-   *yes)
-     REPLACE_GETTIMEOFDAY=1
 
-  REPLACE_GMTIME=1
-  REPLACE_LOCALTIME=1
 
 
-$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h
 
-     ;;
- esac
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5
-$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; }
-if ${gl_cv_func_gettimeofday_posix_signature+:} false; then :
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
+$as_echo_n "checking whether // is distinct from /... " >&6; }
+if ${gl_cv_double_slash_root+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/time.h>
-              struct timeval c;
-              int gettimeofday (struct timeval *restrict, void *restrict);
+   if test x"$cross_compiling" = xyes ; then
+        # When cross-compiling, there is no way to tell whether // is special
+        # short of a list of hosts.  However, the only known hosts to date
+        # that have a distinct // are Apollo DomainOS (too old to port to),
+        # Cygwin, and z/OS.  If anyone knows of another system for which // has
+        # special semantics and is distinct from /, please report it to
+        # <bug-gnulib@gnu.org>.
+        case $host in
+          *-cygwin | i370-ibm-openedition)
+            gl_cv_double_slash_root=yes ;;
+          *)
+            # Be optimistic and assume that / and // are the same when we
+            # don't know.
+            gl_cv_double_slash_root='unknown, assuming no' ;;
+        esac
+      else
+        set x `ls -di / // 2>/dev/null`
+        if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then
+          gl_cv_double_slash_root=no
+        else
+          gl_cv_double_slash_root=yes
+        fi
+      fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5
+$as_echo "$gl_cv_double_slash_root" >&6; }
+  if test "$gl_cv_double_slash_root" = yes; then
 
-int
-main ()
-{
-/* glibc uses struct timezone * rather than the POSIX void *
-                 if _GNU_SOURCE is defined.  However, since the only portable
-                 use of gettimeofday uses NULL as the second parameter, and
-                 since the glibc definition is actually more typesafe, it is
-                 not worth wrapping this to get a compliant signature.  */
-              int (*f) (struct timeval *restrict, void *restrict)
-                = gettimeofday;
-              int x = f (&c, 0);
-              return !(x | c.tv_sec | c.tv_usec);
+$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_gettimeofday_posix_signature=yes
+  fi
+
+
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
+$as_echo_n "checking for error_at_line... " >&6; }
+if ${ac_cv_lib_error_at_line+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/time.h>
-int gettimeofday (struct timeval *restrict, struct timezone *restrict);
-
+#include <error.h>
 int
 main ()
 {
-
+error_at_line (0, 0, "", 0, "an error occurred");
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_gettimeofday_posix_signature=almost
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_error_at_line=yes
 else
-  gl_cv_func_gettimeofday_posix_signature=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_lib_error_at_line=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5
-$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; }
-    if test $gl_cv_func_gettimeofday_posix_signature = almost; then
-      gl_gettimeofday_timezone='struct timezone'
-    elif test $gl_cv_func_gettimeofday_posix_signature != yes; then
-      REPLACE_GETTIMEOFDAY=1
-    fi
-        if test $REPLACE_STRUCT_TIMEVAL = 1; then
-      REPLACE_GETTIMEOFDAY=1
-    fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
+$as_echo "$ac_cv_lib_error_at_line" >&6; }
+
+  if test $ac_cv_lib_error_at_line = no; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext"
+
+
+
+  :
 
   fi
 
-cat >>confdefs.h <<_ACEOF
-#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone
-_ACEOF
 
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format"
 
-  if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
 
 
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format"
 
 
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext"
 
 
-  for ac_header in sys/timeb.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_timeb_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_TIMEB_H 1
-_ACEOF
 
-fi
 
-done
 
-  for ac_func in _ftime
-do :
-  ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime"
-if test "x$ac_cv_func__ftime" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE__FTIME 1
-_ACEOF
 
-fi
-done
 
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_fcntl_h='<'fcntl.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <fcntl.h>" >&5
+$as_echo_n "checking absolute name of <fcntl.h>... " >&6; }
+if ${gl_cv_next_fcntl_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-  fi
 
 
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <fcntl.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'fcntl.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
 
+        gl_cv_absolute_fcntl_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
 
-          GNULIB_GETTIMEOFDAY=1
+           gl_header=$gl_cv_absolute_fcntl_h
+           gl_cv_next_fcntl_h='"'$gl_header'"'
 
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5
+$as_echo "$gl_cv_next_fcntl_h" >&6; }
+     fi
+     NEXT_FCNTL_H=$gl_cv_next_fcntl_h
 
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'fcntl.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_fcntl_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive
 
 
-$as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h
 
 
 
-  # Autoconf 2.61a.99 and earlier don't support linking a file only
-  # in VPATH builds.  But since GNUmakefile is for maintainer use
-  # only, it does not matter if we skip the link with older autoconf.
-  # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
-  # builds, so use a shell variable to bypass this.
-  GNUmakefile=GNUmakefile
-  ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile"
 
 
 
 
 
 
-  PRIPTR_PREFIX=
-  if test -n "$STDINT_H"; then
-        PRIPTR_PREFIX='"l"'
-  else
-        for glpfx in '' l ll I64; do
-      case $glpfx in
-        '')  gltype1='int';;
-        l)   gltype1='long int';;
-        ll)  gltype1='long long int';;
-        I64) gltype1='__int64';;
-      esac
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdint.h>
-           extern intptr_t foo;
-           extern $gltype1 foo;
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  PRIPTR_PREFIX='"'$glpfx'"'
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      test -n "$PRIPTR_PREFIX" && break
-    done
-  fi
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5
-$as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; }
-if ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+:} false; then :
+  fp_headers='
+    #include <stdio.h>
+    #if HAVE_STDIO_EXT_H
+    # include <stdio_ext.h>
+    #endif
+  '
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __fpending" >&5
+$as_echo_n "checking for __fpending... " >&6; }
+if ${gl_cv_func___fpending+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
-
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
 
-            #if defined INT32_MAX && defined INTMAX_MAX
-             #define CONDITION (INT32_MAX < INTMAX_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (int) < sizeof (long long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$fp_headers
 int
 main ()
 {
-
+return ! __fpending (stdin);
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_func___fpending=yes
 else
-  gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no
+  gl_cv_func___fpending=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5
-$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
-  if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then
-    INT32_MAX_LT_INTMAX_MAX=1;
-  else
-    INT32_MAX_LT_INTMAX_MAX=0;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func___fpending" >&5
+$as_echo "$gl_cv_func___fpending" >&6; }
+  if test $gl_cv_func___fpending = yes; then
+    ac_fn_c_check_decl "$LINENO" "__fpending" "ac_cv_have_decl___fpending" "$fp_headers
+"
+if test "x$ac_cv_have_decl___fpending" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL___FPENDING $ac_have_decl
+_ACEOF
+
   fi
 
+  if test $gl_cv_func___fpending = no; then
 
-  if test $APPLE_UNIVERSAL_BUILD = 0; then
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5
-$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; }
-if ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
 
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
 
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
 
-            #if defined INT64_MAX
-             #define CONDITION (INT64_MAX == LONG_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (long long int) == sizeof (long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes
-else
-  gl_cv_test_INT64_MAX_EQ_LONG_MAX=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5
-$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
-  if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then
-    INT64_MAX_EQ_LONG_MAX=1;
-  else
-    INT64_MAX_EQ_LONG_MAX=0;
-  fi
 
 
-  else
-    INT64_MAX_EQ_LONG_MAX=-1
+  gl_LIBOBJS="$gl_LIBOBJS fpending.$ac_objext"
+
   fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5
-$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
-if ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
 
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
 
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
 
-            #if defined UINT32_MAX && defined UINTMAX_MAX
-             #define CONDITION (UINT32_MAX < UINTMAX_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
-int
-main ()
-{
+  case "$host_os" in
+    mingw* | solaris*)
+                        REPLACE_FSTAT=1
+      ;;
+  esac
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes
-else
-  gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5
-$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
-  if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then
-    UINT32_MAX_LT_UINTMAX_MAX=1;
-  else
-    UINT32_MAX_LT_UINTMAX_MAX=0;
-  fi
 
 
-  if test $APPLE_UNIVERSAL_BUILD = 0; then
+  if test $REPLACE_FSTAT = 1; then
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5
-$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
-if ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
 
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
 
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
 
-            #if defined UINT64_MAX
-             #define CONDITION (UINT64_MAX == ULONG_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes
-else
-  gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5
-$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
-  if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then
-    UINT64_MAX_EQ_ULONG_MAX=1;
-  else
-    UINT64_MAX_EQ_ULONG_MAX=0;
-  fi
 
 
-  else
-    UINT64_MAX_EQ_ULONG_MAX=-1
-  fi
 
+  gl_LIBOBJS="$gl_LIBOBJS fstat.$ac_objext"
 
+    case "$host_os" in
+      mingw*)
 
 
 
@@ -17246,293 +17830,338 @@ $as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS stat-w32.$ac_objext"
 
+        ;;
+    esac
 
 
+  :
 
+  fi
 
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_langinfo_h='<'langinfo.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <langinfo.h>" >&5
-$as_echo_n "checking absolute name of <langinfo.h>... " >&6; }
-if ${gl_cv_next_langinfo_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-             if test $ac_cv_header_langinfo_h = yes; then
 
+          GNULIB_FSTAT=1
 
 
 
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <langinfo.h>
-_ACEOF
-                case "$host_os" in
-    aix*) gl_absname_cpp="$ac_cpp -C" ;;
-    *)    gl_absname_cpp="$ac_cpp" ;;
-  esac
 
-  case "$host_os" in
-    mingw*)
-                                          gl_dirsep_regex='[/\\]'
-      ;;
-    *)
-      gl_dirsep_regex='\/'
-      ;;
-  esac
-      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-  gl_header_literal_regex=`echo 'langinfo.h' \
-                           | sed -e "$gl_make_literal_regex_sed"`
-  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-      s|^/[^/]|//&|
-      p
-      q
-    }'
 
-        gl_cv_absolute_langinfo_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-  sed -n "$gl_absolute_header_sed"`
+$as_echo "#define GNULIB_TEST_FSTAT 1" >>confdefs.h
 
-           gl_header=$gl_cv_absolute_langinfo_h
-           gl_cv_next_langinfo_h='"'$gl_header'"'
-          else
-               gl_cv_next_langinfo_h='<'langinfo.h'>'
-             fi
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5
-$as_echo "$gl_cv_next_langinfo_h" >&6; }
-     fi
-     NEXT_LANGINFO_H=$gl_cv_next_langinfo_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'langinfo.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_langinfo_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive
 
 
+  if test $ac_cv_func_fsync = no; then
+    HAVE_FSYNC=0
+  fi
 
+  if test $HAVE_FSYNC = 0; then
 
 
-    HAVE_LANGINFO_CODESET=0
-  HAVE_LANGINFO_T_FMT_AMPM=0
-  HAVE_LANGINFO_ERA=0
-  HAVE_LANGINFO_YESEXPR=0
 
-  if test $ac_cv_header_langinfo_h = yes; then
-    HAVE_LANGINFO_H=1
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5
-$as_echo_n "checking whether langinfo.h defines CODESET... " >&6; }
-if ${gl_cv_header_langinfo_codeset+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <langinfo.h>
-int a = CODESET;
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_langinfo_codeset=yes
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS fsync.$ac_objext"
+
+    :
+  fi
+
+
+
+
+
+          GNULIB_FSYNC=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_FSYNC 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+    REPLACE_GETOPT=0
+    if test -n "$gl_replace_getopt"; then
+      REPLACE_GETOPT=1
+    fi
+
+  if test $REPLACE_GETOPT = 1; then
+
+
+  if test $ac_cv_header_sys_cdefs_h = yes; then
+    HAVE_SYS_CDEFS_H=1
+  else
+    HAVE_SYS_CDEFS_H=0
+  fi
+
+
+
+$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
+
+  GETOPT_H=getopt.h
+  GETOPT_CDEFS_H=getopt-cdefs.h
+
+
+
+  fi
+
+  if test $REPLACE_GETOPT = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
+
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
+
+        GNULIB_GL_UNISTD_H_GETOPT=1
+  fi
+
+
+
+
+  ac_found=0
+  ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
+"
+if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then :
+  ac_have_decl=1
 else
-  gl_cv_header_langinfo_codeset=no
+  ac_have_decl=0
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl
+_ACEOF
+if test $ac_have_decl = 1; then :
+  ac_found=1
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_codeset" >&5
-$as_echo "$gl_cv_header_langinfo_codeset" >&6; }
-    if test $gl_cv_header_langinfo_codeset = yes; then
-      HAVE_LANGINFO_CODESET=1
-    fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines T_FMT_AMPM" >&5
-$as_echo_n "checking whether langinfo.h defines T_FMT_AMPM... " >&6; }
-if ${gl_cv_header_langinfo_t_fmt_ampm+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <langinfo.h>
-int a = T_FMT_AMPM;
 
-int
-main ()
-{
+  ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include <errno.h>
+"
+if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-  ;
-  return 0;
-}
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_langinfo_t_fmt_ampm=yes
+if test $ac_have_decl = 1; then :
+  ac_found=1
+fi
+
+  ac_fn_c_check_decl "$LINENO" "__argv" "ac_cv_have_decl___argv" "#include <stdlib.h>
+"
+if test "x$ac_cv_have_decl___argv" = xyes; then :
+  ac_have_decl=1
 else
-  gl_cv_header_langinfo_t_fmt_ampm=no
+  ac_have_decl=0
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL___ARGV $ac_have_decl
+_ACEOF
+if test $ac_have_decl = 1; then :
+  ac_found=1
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5
-$as_echo "$gl_cv_header_langinfo_t_fmt_ampm" >&6; }
-    if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then
-      HAVE_LANGINFO_T_FMT_AMPM=1
-    fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ERA" >&5
-$as_echo_n "checking whether langinfo.h defines ERA... " >&6; }
-if ${gl_cv_header_langinfo_era+:} false; then :
+
+
+  # Incur the cost of this test only if none of the above worked.
+  if test $ac_found = 0; then
+    # On OpenBSD 5.1, using the global __progname variable appears to be
+    # the only way to implement getprogname.
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __progname is defined in default libraries" >&5
+$as_echo_n "checking whether __progname is defined in default libraries... " >&6; }
+if ${gl_cv_var___progname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <langinfo.h>
-int a = ERA;
 
+        gl_cv_var___progname=
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+extern char *__progname;
 int
 main ()
 {
+return *__progname;
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_langinfo_era=yes
-else
-  gl_cv_header_langinfo_era=no
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_var___progname=yes
+
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5
-$as_echo "$gl_cv_header_langinfo_era" >&6; }
-    if test $gl_cv_header_langinfo_era = yes; then
-      HAVE_LANGINFO_ERA=1
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var___progname" >&5
+$as_echo "$gl_cv_var___progname" >&6; }
+    if test "$gl_cv_var___progname" = yes; then
+
+$as_echo "#define HAVE_VAR___PROGNAME 1" >>confdefs.h
+
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines YESEXPR" >&5
-$as_echo_n "checking whether langinfo.h defines YESEXPR... " >&6; }
-if ${gl_cv_header_langinfo_yesexpr+:} false; then :
+  fi
+
+
+
+
+
+
+
+
+
+
+  gl_gettimeofday_timezone=void
+  if test $ac_cv_func_gettimeofday != yes; then
+    HAVE_GETTIMEOFDAY=0
+  else
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5
+$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; }
+if ${gl_cv_func_gettimeofday_clobber+:} false; then :
   $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  # When cross-compiling:
+      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.
+        *)             gl_cv_func_gettimeofday_clobber="guessing yes" ;;
+      esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <langinfo.h>
-int a = YESEXPR;
+#include <string.h>
+          #include <sys/time.h>
+          #include <time.h>
+          #include <stdlib.h>
 
 int
 main ()
 {
 
+          time_t t = 0;
+          struct tm *lt;
+          struct tm saved_lt;
+          struct timeval tv;
+          lt = localtime (&t);
+          saved_lt = *lt;
+          gettimeofday (&tv, NULL);
+          return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0;
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_langinfo_yesexpr=yes
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_gettimeofday_clobber=no
 else
-  gl_cv_header_langinfo_yesexpr=no
+  gl_cv_func_gettimeofday_clobber=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_yesexpr" >&5
-$as_echo "$gl_cv_header_langinfo_yesexpr" >&6; }
-    if test $gl_cv_header_langinfo_yesexpr = yes; then
-      HAVE_LANGINFO_YESEXPR=1
-    fi
-  else
-    HAVE_LANGINFO_H=0
-  fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5
+$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; }
+
+ case "$gl_cv_func_gettimeofday_clobber" in
+   *yes)
+     REPLACE_GETTIMEOFDAY=1
 
+$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h
 
 
 
 
+  NEED_LOCALTIME_BUFFER=1
+  REPLACE_GMTIME=1
+  REPLACE_LOCALTIME=1
 
+     ;;
+ esac
 
-    for gl_func in nl_langinfo; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5
+$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; }
+if ${gl_cv_func_gettimeofday_posix_signature+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <langinfo.h>
+#include <sys/time.h>
+              struct timeval c;
+              int gettimeofday (struct timeval *restrict, void *restrict);
 
 int
 main ()
 {
-#undef $gl_func
-  (void) $gl_func;
+/* glibc uses struct timezone * rather than the POSIX void *
+                 if _GNU_SOURCE is defined.  However, since the only portable
+                 use of gettimeofday uses NULL as the second parameter, and
+                 since the glibc definition is actually more typesafe, it is
+                 not worth wrapping this to get a compliant signature.  */
+              int (*f) (struct timeval *restrict, void *restrict)
+                = gettimeofday;
+              int x = f (&c, 0);
+              return !(x | c.tv_sec | c.tv_usec);
+
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
-
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler flag to ignore unused libraries" >&5
-$as_echo_n "checking for C compiler flag to ignore unused libraries... " >&6; }
-if ${gl_cv_prog_c_ignore_unused_libraries+:} false; then :
-  $as_echo_n "(cached) " >&6
+  gl_cv_func_gettimeofday_posix_signature=yes
 else
-  gl_cv_prog_c_ignore_unused_libraries=none
-     gl_saved_ldflags=$LDFLAGS
-     gl_saved_libs=$LIBS
-     # Link with -lm to detect binutils 2.16 bug with --as-needed; see
-     # <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00131.html>.
-     LIBS="$LIBS -lm"
-     # Use long option sequences like '-z ignore' to test for the feature,
-     # to forestall problems with linkers that have -z, -i, -g, -n, etc. flags.
-     # GCC + binutils likes '-Wl,--as-needed'.
-     # GCC + Solaris ld likes '-Wl,-z,ignore'.
-     # Sun C likes '-Wl,-z,ignore'. '-z ignore' is accepted but has no effect.
-     # Don't try bare '--as-needed'; nothing likes it and the HP-UX 11.11
-     # native cc issues annoying warnings and then ignores it,
-     # which would cause us to incorrectly conclude that it worked.
-     for gl_flags in  '-Wl,--as-needed' \
-  '-Wl,-z,ignore' \
-  '-z ignore'
-
-     do
-       LDFLAGS="$gl_flags $LDFLAGS"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <sys/time.h>
+int gettimeofday (struct timeval *restrict, struct timezone *restrict);
 
 int
 main ()
@@ -17542,27 +18171,36 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_cv_prog_c_ignore_unused_libraries=$gl_flags
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_func_gettimeofday_posix_signature=almost
+else
+  gl_cv_func_gettimeofday_posix_signature=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS=$gl_saved_ldflags
-       test "$gl_cv_prog_c_ignore_unused_libraries" != none &&
-         break
-     done
-     LIBS=$gl_saved_libs
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_prog_c_ignore_unused_libraries" >&5
-$as_echo "$gl_cv_prog_c_ignore_unused_libraries" >&6; }
-  IGNORE_UNUSED_LIBRARIES_CFLAGS=
-  if test "$gl_cv_prog_c_ignore_unused_libraries" != none; then
-    IGNORE_UNUSED_LIBRARIES_CFLAGS="$gl_cv_prog_c_ignore_unused_libraries"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5
+$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; }
+    if test $gl_cv_func_gettimeofday_posix_signature = almost; then
+      gl_gettimeofday_timezone='struct timezone'
+    elif test $gl_cv_func_gettimeofday_posix_signature != yes; then
+      REPLACE_GETTIMEOFDAY=1
+    fi
+        if test $REPLACE_STRUCT_TIMEVAL = 1; then
+      REPLACE_GETTIMEOFDAY=1
+    fi
+            case "$host_os" in
+      mingw*) REPLACE_GETTIMEOFDAY=1 ;;
+    esac
   fi
 
+cat >>confdefs.h <<_ACEOF
+#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone
+_ACEOF
 
 
+  if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
 
 
 
@@ -17570,34 +18208,55 @@ $as_echo "$gl_cv_prog_c_ignore_unused_libraries" >&6; }
 
 
 
-  LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
 
+  gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext"
 
+    :
+  fi
 
 
 
 
 
+          GNULIB_GETTIMEOFDAY=1
 
 
-  case "$host_os" in
-    solaris*)
 
-$as_echo "#define _LCONV_C99 1" >>confdefs.h
 
-      ;;
-  esac
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5
-$as_echo_n "checking whether locale.h conforms to POSIX:2001... " >&6; }
-if ${gl_cv_header_locale_h_posix2001+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+$as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h
+
+
+
+  # Autoconf 2.61a.99 and earlier don't support linking a file only
+  # in VPATH builds.  But since GNUmakefile is for maintainer use
+  # only, it does not matter if we skip the link with older autoconf.
+  # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
+  # builds, so use a shell variable to bypass this.
+  GNUmakefile=GNUmakefile
+  ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile"
+
+
+
+
+
+
+  PRIPTR_PREFIX=
+  if test -n "$STDINT_H"; then
+        PRIPTR_PREFIX='"l"'
+  else
+        for glpfx in '' l ll I64; do
+      case $glpfx in
+        '')  gltype1='int';;
+        l)   gltype1='long int';;
+        ll)  gltype1='long long int';;
+        I64) gltype1='__int64';;
+      esac
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <locale.h>
-            int x = LC_MESSAGES;
-            int y = sizeof (((struct lconv *) 0)->decimal_point);
+#include <stdint.h>
+           extern intptr_t foo;
+           extern $gltype1 foo;
 int
 main ()
 {
@@ -17607,27 +18266,41 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_locale_h_posix2001=yes
-else
-  gl_cv_header_locale_h_posix2001=no
+  PRIPTR_PREFIX='"'$glpfx'"'
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_h_posix2001" >&5
-$as_echo "$gl_cv_header_locale_h_posix2001" >&6; }
+      test -n "$PRIPTR_PREFIX" && break
+    done
+  fi
 
 
-  if test $ac_cv_header_xlocale_h = yes; then
-    HAVE_XLOCALE_H=1
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h defines locale_t" >&5
-$as_echo_n "checking whether locale.h defines locale_t... " >&6; }
-if ${gl_cv_header_locale_has_locale_t+:} false; then :
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5
+$as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; }
+if ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <locale.h>
-              locale_t x;
+/* Work also in C++ mode.  */
+            #define __STDC_LIMIT_MACROS 1
+
+            /* Work if build is not clean.  */
+            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+            #include <limits.h>
+            #if HAVE_STDINT_H
+             #include <stdint.h>
+            #endif
+
+            #if defined INT32_MAX && defined INTMAX_MAX
+             #define CONDITION (INT32_MAX < INTMAX_MAX)
+            #elif HAVE_LONG_LONG_INT
+             #define CONDITION (sizeof (int) < sizeof (long long int))
+            #else
+             #define CONDITION 0
+            #endif
+            int test[CONDITION ? 1 : -1];
 int
 main ()
 {
@@ -17637,37 +18310,49 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_locale_has_locale_t=yes
+  gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes
 else
-  gl_cv_header_locale_has_locale_t=no
+  gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_has_locale_t" >&5
-$as_echo "$gl_cv_header_locale_has_locale_t" >&6; }
-    if test $gl_cv_header_locale_has_locale_t = yes; then
-      gl_cv_header_locale_h_needs_xlocale_h=no
-    else
-      gl_cv_header_locale_h_needs_xlocale_h=yes
-    fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5
+$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
+  if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then
+    INT32_MAX_LT_INTMAX_MAX=1;
   else
-    HAVE_XLOCALE_H=0
-    gl_cv_header_locale_h_needs_xlocale_h=no
+    INT32_MAX_LT_INTMAX_MAX=0;
   fi
 
 
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct lconv is properly defined" >&5
-$as_echo_n "checking whether struct lconv is properly defined... " >&6; }
-if ${gl_cv_sys_struct_lconv_ok+:} false; then :
+  if test $APPLE_UNIVERSAL_BUILD = 0; then
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5
+$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; }
+if ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <locale.h>
-            struct lconv l;
-            int x = sizeof (l.decimal_point);
-            int y = sizeof (l.int_p_cs_precedes);
+/* Work also in C++ mode.  */
+            #define __STDC_LIMIT_MACROS 1
+
+            /* Work if build is not clean.  */
+            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+            #include <limits.h>
+            #if HAVE_STDINT_H
+             #include <stdint.h>
+            #endif
+
+            #if defined INT64_MAX
+             #define CONDITION (INT64_MAX == LONG_MAX)
+            #elif HAVE_LONG_LONG_INT
+             #define CONDITION (sizeof (long long int) == sizeof (long int))
+            #else
+             #define CONDITION 0
+            #endif
+            int test[CONDITION ? 1 : -1];
 int
 main ()
 {
@@ -17677,41 +18362,164 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_sys_struct_lconv_ok=yes
+  gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes
 else
-  gl_cv_sys_struct_lconv_ok=no
+  gl_cv_test_INT64_MAX_EQ_LONG_MAX=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_lconv_ok" >&5
-$as_echo "$gl_cv_sys_struct_lconv_ok" >&6; }
-  if test $gl_cv_sys_struct_lconv_ok = no; then
-    REPLACE_STRUCT_LCONV=1
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5
+$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
+  if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then
+    INT64_MAX_EQ_LONG_MAX=1;
+  else
+    INT64_MAX_EQ_LONG_MAX=0;
   fi
 
 
+  else
+    INT64_MAX_EQ_LONG_MAX=-1
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5
+$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
+if ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Work also in C++ mode.  */
+            #define __STDC_LIMIT_MACROS 1
+
+            /* Work if build is not clean.  */
+            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+            #include <limits.h>
+            #if HAVE_STDINT_H
+             #include <stdint.h>
+            #endif
+
+            #if defined UINT32_MAX && defined UINTMAX_MAX
+             #define CONDITION (UINT32_MAX < UINTMAX_MAX)
+            #elif HAVE_LONG_LONG_INT
+             #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int))
+            #else
+             #define CONDITION 0
+            #endif
+            int test[CONDITION ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes
+else
+  gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5
+$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
+  if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then
+    UINT32_MAX_LT_UINTMAX_MAX=1;
+  else
+    UINT32_MAX_LT_UINTMAX_MAX=0;
+  fi
+
+
+  if test $APPLE_UNIVERSAL_BUILD = 0; then
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5
+$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
+if ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Work also in C++ mode.  */
+            #define __STDC_LIMIT_MACROS 1
+
+            /* Work if build is not clean.  */
+            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+            #include <limits.h>
+            #if HAVE_STDINT_H
+             #include <stdint.h>
+            #endif
+
+            #if defined UINT64_MAX
+             #define CONDITION (UINT64_MAX == ULONG_MAX)
+            #elif HAVE_LONG_LONG_INT
+             #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int))
+            #else
+             #define CONDITION 0
+            #endif
+            int test[CONDITION ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes
+else
+  gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5
+$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
+  if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then
+    UINT64_MAX_EQ_ULONG_MAX=1;
+  else
+    UINT64_MAX_EQ_ULONG_MAX=0;
+  fi
+
+
+  else
+    UINT64_MAX_EQ_ULONG_MAX=-1
+  fi
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
 
-
-
-
      if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_locale_h='<'locale.h'>'
+       gl_cv_next_langinfo_h='<'langinfo.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <locale.h>" >&5
-$as_echo_n "checking absolute name of <locale.h>... " >&6; }
-if ${gl_cv_next_locale_h+:} false; then :
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <langinfo.h>" >&5
+$as_echo_n "checking absolute name of <langinfo.h>... " >&6; }
+if ${gl_cv_next_langinfo_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
+             if test $ac_cv_header_langinfo_h = yes; then
+
+
 
 
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <locale.h>
+#include <langinfo.h>
 _ACEOF
                 case "$host_os" in
     aix*) gl_absname_cpp="$ac_cpp -C" ;;
@@ -17727,7 +18535,7 @@ _ACEOF
       ;;
   esac
       gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-  gl_header_literal_regex=`echo 'locale.h' \
+  gl_header_literal_regex=`echo 'langinfo.h' \
                            | sed -e "$gl_make_literal_regex_sed"`
   gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
       s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
@@ -17736,331 +18544,309 @@ _ACEOF
       q
     }'
 
-        gl_cv_absolute_locale_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+        gl_cv_absolute_langinfo_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
   sed -n "$gl_absolute_header_sed"`
 
-           gl_header=$gl_cv_absolute_locale_h
-           gl_cv_next_locale_h='"'$gl_header'"'
+           gl_header=$gl_cv_absolute_langinfo_h
+           gl_cv_next_langinfo_h='"'$gl_header'"'
+          else
+               gl_cv_next_langinfo_h='<'langinfo.h'>'
+             fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_locale_h" >&5
-$as_echo "$gl_cv_next_locale_h" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5
+$as_echo "$gl_cv_next_langinfo_h" >&6; }
      fi
-     NEXT_LOCALE_H=$gl_cv_next_locale_h
+     NEXT_LANGINFO_H=$gl_cv_next_langinfo_h
 
      if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'locale.h'>'
+       gl_next_as_first_directive='<'langinfo.h'>'
      else
        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_locale_h
+       gl_next_as_first_directive=$gl_cv_next_langinfo_h
      fi
-     NEXT_AS_FIRST_DIRECTIVE_LOCALE_H=$gl_next_as_first_directive
+     NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive
 
 
 
 
 
+    HAVE_LANGINFO_CODESET=0
+  HAVE_LANGINFO_T_FMT_AMPM=0
+  HAVE_LANGINFO_ALTMON=0
+  HAVE_LANGINFO_ERA=0
+  HAVE_LANGINFO_YESEXPR=0
 
-    for gl_func in setlocale duplocale; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
+  if test $ac_cv_header_langinfo_h = yes; then
+    HAVE_LANGINFO_H=1
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5
+$as_echo_n "checking whether langinfo.h defines CODESET... " >&6; }
+if ${gl_cv_header_langinfo_codeset+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <locale.h>
-/* Some systems provide declarations in a non-standard header.  */
-#if HAVE_XLOCALE_H
-# include <xlocale.h>
-#endif
+#include <langinfo.h>
+int a = CODESET;
 
 int
 main ()
 {
-#undef $gl_func
-  (void) $gl_func;
+
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
+  gl_cv_header_langinfo_codeset=yes
 else
-  eval "$as_gl_Symbol=no"
+  gl_cv_header_langinfo_codeset=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
 
-                     eval ac_cv_have_decl_$gl_func=yes
 fi
-      done
-
-
-
-
-
-
-  if test $REPLACE_STRUCT_LCONV = 1; then
-    REPLACE_LOCALECONV=1
-  fi
-
-  if test $REPLACE_LOCALECONV = 1; then
-
-
-
-
-
-
-
-
-  gl_LIBOBJS="$gl_LIBOBJS localeconv.$ac_objext"
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_codeset" >&5
+$as_echo "$gl_cv_header_langinfo_codeset" >&6; }
+    if test $gl_cv_header_langinfo_codeset = yes; then
+      HAVE_LANGINFO_CODESET=1
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines T_FMT_AMPM" >&5
+$as_echo_n "checking whether langinfo.h defines T_FMT_AMPM... " >&6; }
+if ${gl_cv_header_langinfo_t_fmt_ampm+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <langinfo.h>
+int a = T_FMT_AMPM;
 
-  ac_fn_c_check_member "$LINENO" "struct lconv" "decimal_point" "ac_cv_member_struct_lconv_decimal_point" "#include <locale.h>
-"
-if test "x$ac_cv_member_struct_lconv_decimal_point" = xyes; then :
+int
+main ()
+{
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_LCONV_DECIMAL_POINT 1
+  ;
+  return 0;
+}
 _ACEOF
-
-
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_langinfo_t_fmt_ampm=yes
+else
+  gl_cv_header_langinfo_t_fmt_ampm=no
 fi
-
-
-  fi
-
-
-
-
-
-          GNULIB_LOCALECONV=1
-
-
-
-
-
-$as_echo "#define GNULIB_TEST_LOCALECONV 1" >>confdefs.h
-
-
-
-
-
-  if test "$gl_threads_api" = posix; then
-    # OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the
-    # pthread_rwlock_* functions.
-    ac_fn_c_check_type "$LINENO" "pthread_rwlock_t" "ac_cv_type_pthread_rwlock_t" "#include <pthread.h>
-"
-if test "x$ac_cv_type_pthread_rwlock_t" = xyes; then :
-
-$as_echo "#define HAVE_PTHREAD_RWLOCK 1" >>confdefs.h
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-
-    # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5
+$as_echo "$gl_cv_header_langinfo_t_fmt_ampm" >&6; }
+    if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then
+      HAVE_LANGINFO_T_FMT_AMPM=1
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ALTMON_1" >&5
+$as_echo_n "checking whether langinfo.h defines ALTMON_1... " >&6; }
+if ${gl_cv_header_langinfo_altmon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <langinfo.h>
+int a = ALTMON_1;
 
-      #include <pthread.h>
 int
 main ()
 {
 
-#if __FreeBSD__ == 4
-error "No, in FreeBSD 4.0 recursive mutexes actually don't work."
-#elif (defined __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ \
-       && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070)
-error "No, in Mac OS X < 10.7 recursive mutexes actually don't work."
-#else
-int x = (int)PTHREAD_MUTEX_RECURSIVE;
-return !x;
-#endif
-
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-
-$as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE 1" >>confdefs.h
-
+  gl_cv_header_langinfo_altmon=yes
+else
+  gl_cv_header_langinfo_altmon=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  fi
-  :
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define GNULIB_LOCK 1
-_ACEOF
-
-
-
-
-
 
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek detects pipes" >&5
-$as_echo_n "checking whether lseek detects pipes... " >&6; }
-if ${gl_cv_func_lseek_pipe+:} false; then :
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_altmon" >&5
+$as_echo "$gl_cv_header_langinfo_altmon" >&6; }
+    if test $gl_cv_header_langinfo_altmon = yes; then
+      HAVE_LANGINFO_ALTMON=1
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ERA" >&5
+$as_echo_n "checking whether langinfo.h defines ERA... " >&6; }
+if ${gl_cv_header_langinfo_era+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  case "$host_os" in
-       mingw*)
-                                                               gl_cv_func_lseek_pipe=no
-         ;;
-       *)
-         if test $cross_compiling = no; then
-           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-#include <sys/types.h> /* for off_t */
-#include <stdio.h> /* for SEEK_CUR */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#else /* on Windows with MSVC */
-# include <io.h>
-#endif
+#include <langinfo.h>
+int a = ERA;
 
 int
 main ()
 {
 
-  /* Exit with success only if stdin is seekable.  */
-  return lseek (0, (off_t)0, SEEK_CUR) < 0;
-
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if test -s conftest$ac_exeext \
-                 && ./conftest$ac_exeext < conftest.$ac_ext \
-                 && test 1 = "`echo hi \
-                   | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then
-                gl_cv_func_lseek_pipe=yes
-              else
-                gl_cv_func_lseek_pipe=no
-              fi
-
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_langinfo_era=yes
 else
-  gl_cv_func_lseek_pipe=no
+  gl_cv_header_langinfo_era=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-         else
-           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5
+$as_echo "$gl_cv_header_langinfo_era" >&6; }
+    if test $gl_cv_header_langinfo_era = yes; then
+      HAVE_LANGINFO_ERA=1
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines YESEXPR" >&5
+$as_echo_n "checking whether langinfo.h defines YESEXPR... " >&6; }
+if ${gl_cv_header_langinfo_yesexpr+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <langinfo.h>
+int a = YESEXPR;
 
-#if defined __BEOS__
-/* BeOS mistakenly return 0 when trying to seek on pipes.  */
-  Choke me.
-#endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_lseek_pipe=yes
+  gl_cv_header_langinfo_yesexpr=yes
 else
-  gl_cv_func_lseek_pipe=no
+  gl_cv_header_langinfo_yesexpr=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         fi
-         ;;
-     esac
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lseek_pipe" >&5
-$as_echo "$gl_cv_func_lseek_pipe" >&6; }
-  if test $gl_cv_func_lseek_pipe = no; then
-    REPLACE_LSEEK=1
-
-$as_echo "#define LSEEK_PIPE_BROKEN 1" >>confdefs.h
-
-  fi
-
-
-  if test $WINDOWS_64_BIT_OFF_T = 1; then
-    REPLACE_LSEEK=1
-  fi
-
-  if test $REPLACE_LSEEK = 1; then
-
-
-
-
-
-
-
-
-  gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext"
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_yesexpr" >&5
+$as_echo "$gl_cv_header_langinfo_yesexpr" >&6; }
+    if test $gl_cv_header_langinfo_yesexpr = yes; then
+      HAVE_LANGINFO_YESEXPR=1
+    fi
+  else
+    HAVE_LANGINFO_H=0
   fi
 
 
 
 
 
-          GNULIB_LSEEK=1
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_LSEEK 1" >>confdefs.h
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler flag to ignore unused libraries" >&5
+$as_echo_n "checking for C compiler flag to ignore unused libraries... " >&6; }
+if ${gl_cv_prog_c_ignore_unused_libraries+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gl_cv_prog_c_ignore_unused_libraries=none
+     gl_saved_ldflags=$LDFLAGS
+     gl_saved_libs=$LIBS
+     # Link with -lm to detect binutils 2.16 bug with --as-needed; see
+     # <https://lists.gnu.org/r/bug-gnulib/2006-06/msg00131.html>.
+     LIBS="$LIBS -lm"
+     # Use long option sequences like '-z ignore' to test for the feature,
+     # to forestall problems with linkers that have -z, -i, -g, -n, etc. flags.
+     # GCC + binutils likes '-Wl,--as-needed'.
+     # GCC + Solaris ld likes '-Wl,-z,ignore'.
+     # Sun C likes '-Wl,-z,ignore'. '-z ignore' is accepted but has no effect.
+     # Don't try bare '--as-needed'; nothing likes it and the HP-UX 11.11
+     # native cc issues annoying warnings and then ignores it,
+     # which would cause us to incorrectly conclude that it worked.
+     for gl_flags in  '-Wl,--as-needed' \
+  '-Wl,-z,ignore' \
+  '-z ignore'
 
+     do
+       LDFLAGS="$gl_flags $LDFLAGS"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
-  if test $ac_cv_func_lstat = yes; then
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_prog_c_ignore_unused_libraries=$gl_flags
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+       LDFLAGS=$gl_saved_ldflags
+       test "$gl_cv_prog_c_ignore_unused_libraries" != none &&
+         break
+     done
+     LIBS=$gl_saved_libs
 
-    case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
-      *no)
-        REPLACE_LSTAT=1
-        ;;
-    esac
-  else
-    HAVE_LSTAT=0
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_prog_c_ignore_unused_libraries" >&5
+$as_echo "$gl_cv_prog_c_ignore_unused_libraries" >&6; }
+  IGNORE_UNUSED_LIBRARIES_CFLAGS=
+  if test "$gl_cv_prog_c_ignore_unused_libraries" != none; then
+    IGNORE_UNUSED_LIBRARIES_CFLAGS="$gl_cv_prog_c_ignore_unused_libraries"
   fi
 
-  if test $REPLACE_LSTAT = 1; then
-
-
-
-
-
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports the __inline keyword" >&5
+$as_echo_n "checking whether the compiler supports the __inline keyword... " >&6; }
+if ${gl_cv_c___inline+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+typedef int foo_t;
+           static __inline foo_t foo (void) { return 0; }
+int
+main ()
+{
+return foo ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_c___inline=yes
+else
+  gl_cv_c___inline=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c___inline" >&5
+$as_echo "$gl_cv_c___inline" >&6; }
+  if test $gl_cv_c___inline = yes; then
 
-  gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext"
+$as_echo "#define HAVE___INLINE 1" >>confdefs.h
 
-    :
   fi
 
 
 
 
 
-          GNULIB_LSTAT=1
-
-
-
-
+    LOCALCHARSET_TESTS_ENVIRONMENT=
 
-$as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h
 
 
 
@@ -18069,107 +18855,201 @@ $as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h
 
 
 
-      for ac_header in stdlib.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDLIB_H 1
-_ACEOF
+  case "$host_os" in
+    solaris*)
 
-fi
+$as_echo "#define _LCONV_C99 1" >>confdefs.h
 
-done
+      ;;
+  esac
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
-$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
-if ${ac_cv_func_malloc_0_nonnull+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5
+$as_echo_n "checking whether locale.h conforms to POSIX:2001... " >&6; }
+if ${gl_cv_header_locale_h_posix2001+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-          # Guess yes on platforms where we know the result.
-          *-gnu* | freebsd* | netbsd* | openbsd* \
-          | hpux* | solaris* | cygwin* | mingw*)
-            ac_cv_func_malloc_0_nonnull=yes ;;
-          # If we don't know, assume the worst.
-          *) ac_cv_func_malloc_0_nonnull=no ;;
-        esac
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <locale.h>
+            int x = LC_MESSAGES;
+            int y = sizeof (((struct lconv *) 0)->decimal_point);
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_locale_h_posix2001=yes
+else
+  gl_cv_header_locale_h_posix2001=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_h_posix2001" >&5
+$as_echo "$gl_cv_header_locale_h_posix2001" >&6; }
+
 
+  if test $ac_cv_header_xlocale_h = yes; then
+    HAVE_XLOCALE_H=1
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h defines locale_t" >&5
+$as_echo_n "checking whether locale.h defines locale_t... " >&6; }
+if ${gl_cv_header_locale_has_locale_t+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#if defined STDC_HEADERS || defined HAVE_STDLIB_H
-            # include <stdlib.h>
-            #else
-            char *malloc ();
-            #endif
-
+#include <locale.h>
+              locale_t x;
 int
 main ()
 {
-return ! malloc (0);
+
   ;
   return 0;
 }
-
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_malloc_0_nonnull=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_locale_has_locale_t=yes
 else
-  ac_cv_func_malloc_0_nonnull=no
+  gl_cv_header_locale_has_locale_t=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_has_locale_t" >&5
+$as_echo "$gl_cv_header_locale_has_locale_t" >&6; }
+    if test $gl_cv_header_locale_has_locale_t = yes; then
+      gl_cv_header_locale_h_needs_xlocale_h=no
+    else
+      gl_cv_header_locale_h_needs_xlocale_h=yes
+    fi
+  else
+    HAVE_XLOCALE_H=0
+    gl_cv_header_locale_h_needs_xlocale_h=no
+  fi
+
 
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct lconv is properly defined" >&5
+$as_echo_n "checking whether struct lconv is properly defined... " >&6; }
+if ${gl_cv_sys_struct_lconv_ok+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <locale.h>
+            struct lconv l;
+            int x = sizeof (l.decimal_point);
+            int y = sizeof (l.int_p_cs_precedes);
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_sys_struct_lconv_ok=yes
+else
+  gl_cv_sys_struct_lconv_ok=no
 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 :
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_lconv_ok" >&5
+$as_echo "$gl_cv_sys_struct_lconv_ok" >&6; }
+  if test $gl_cv_sys_struct_lconv_ok = no; then
+    REPLACE_STRUCT_LCONV=1
+  fi
+
+
+
+
+
 
-$as_echo "#define HAVE_MALLOC_GNU 1" >>confdefs.h
 
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_locale_h='<'locale.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <locale.h>" >&5
+$as_echo_n "checking absolute name of <locale.h>... " >&6; }
+if ${gl_cv_next_locale_h+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "#define HAVE_MALLOC_GNU 0" >>confdefs.h
 
-     REPLACE_MALLOC=1
 
-fi
 
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <locale.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-  if test $REPLACE_MALLOC = 1; then
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'locale.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
 
+        gl_cv_absolute_locale_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
 
+           gl_header=$gl_cv_absolute_locale_h
+           gl_cv_next_locale_h='"'$gl_header'"'
 
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_locale_h" >&5
+$as_echo "$gl_cv_next_locale_h" >&6; }
+     fi
+     NEXT_LOCALE_H=$gl_cv_next_locale_h
 
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'locale.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_locale_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_LOCALE_H=$gl_next_as_first_directive
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext"
 
-  fi
 
 
-cat >>confdefs.h <<_ACEOF
-#define GNULIB_MALLOC_GNU 1
-_ACEOF
 
 
 
 
 
-  if test $gl_cv_func_malloc_posix = yes; then
 
-$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h
 
-  else
-    REPLACE_MALLOC=1
+  if test $REPLACE_STRUCT_LCONV = 1; then
+    REPLACE_LOCALECONV=1
   fi
 
-  if test $REPLACE_MALLOC = 1; then
+  if test $REPLACE_LOCALECONV = 1; then
 
 
 
@@ -18178,7 +19058,20 @@ $as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext"
+  gl_LIBOBJS="$gl_LIBOBJS localeconv.$ac_objext"
+
+
+  ac_fn_c_check_member "$LINENO" "struct lconv" "decimal_point" "ac_cv_member_struct_lconv_decimal_point" "#include <locale.h>
+"
+if test "x$ac_cv_member_struct_lconv_decimal_point" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_LCONV_DECIMAL_POINT 1
+_ACEOF
+
+
+fi
+
 
   fi
 
@@ -18186,13 +19079,13 @@ $as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h
 
 
 
-          GNULIB_MALLOC_POSIX=1
+          GNULIB_LOCALECONV=1
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
+$as_echo "#define GNULIB_TEST_LOCALECONV 1" >>confdefs.h
 
 
 
@@ -18205,277 +19098,790 @@ $as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS localtime-buffer.$ac_objext"
 
 
 
+  if test "$gl_threads_api" = posix; then
+    # OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the
+    # pthread_rwlock_* functions.
+    has_rwlock=false
+    ac_fn_c_check_type "$LINENO" "pthread_rwlock_t" "ac_cv_type_pthread_rwlock_t" "#include <pthread.h>
+"
+if test "x$ac_cv_type_pthread_rwlock_t" = xyes; then :
+  has_rwlock=true
 
+$as_echo "#define HAVE_PTHREAD_RWLOCK 1" >>confdefs.h
 
-  if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then
+fi
 
+    if $has_rwlock; then
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
-$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; }
-if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_rwlock_rdlock prefers a writer to a reader" >&5
+$as_echo_n "checking whether pthread_rwlock_rdlock prefers a writer to a reader... " >&6; }
+if ${gl_cv_pthread_rwlock_rdlock_prefer_writer+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-                  case "$host_os" in
-                     # Guess no on AIX and OSF/1.
-        aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
-                     # Guess yes otherwise.
-        *)           gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
-      esac
-      if test $LOCALE_JA != none; then
-        if test "$cross_compiling" = yes; then :
-  :
+  save_LIBS="$LIBS"
+     LIBS="$LIBS $LIBMULTITHREAD"
+     if test "$cross_compiling" = yes; then :
+  gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing yes"
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <locale.h>
-#include <string.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 <time.h>
-#include <wchar.h>
-int main ()
+#include <errno.h>
+#include <pthread.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#define SUCCEED() exit (0)
+#define FAILURE() exit (1)
+#define UNEXPECTED(n) (exit (10 + (n)))
+
+/* The main thread creates the waiting writer and the requesting reader threads
+   in the default way; this guarantees that they have the same priority.
+   We can reuse the main thread as first reader thread.  */
+
+static pthread_rwlock_t lock;
+static pthread_t reader1;
+static pthread_t writer;
+static pthread_t reader2;
+static pthread_t timer;
+/* Used to pass control from writer to reader2 and from reader2 to timer,
+   as in a relay race.
+   Passing control from one running thread to another running thread
+   is most likely faster than to create the second thread.  */
+static pthread_mutex_t baton;
+
+static void *
+timer_func (void *ignored)
 {
-  if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
-    {
-      const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
-      mbstate_t state;
-      wchar_t wc;
+  /* Step 13 (can be before or after step 12):
+     The timer thread takes the baton, then waits a moment to make sure
+     it can tell whether the second reader thread is blocked at step 12.  */
+  if (pthread_mutex_lock (&baton))
+    UNEXPECTED (13);
+  usleep (100000);
+  /* By the time we get here, it's clear that the second reader thread is
+     blocked at step 12.  This is the desired behaviour.  */
+  SUCCEED ();
+}
 
-      memset (&state, '\0', sizeof (mbstate_t));
-      if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
-        if (mbsinit (&state))
-          return 1;
+static void *
+reader2_func (void *ignored)
+{
+  int err;
+
+  /* Step 8 (can be before or after step 7):
+     The second reader thread takes the baton, then waits a moment to make sure
+     the writer thread has reached step 7.  */
+  if (pthread_mutex_lock (&baton))
+    UNEXPECTED (8);
+  usleep (100000);
+  /* Step 9: The second reader thread requests the lock.  */
+  err = pthread_rwlock_tryrdlock (&lock);
+  if (err == 0)
+    FAILURE ();
+  else if (err != EBUSY)
+    UNEXPECTED (9);
+  /* Step 10: Launch a timer, to test whether the next call blocks.  */
+  if (pthread_create (&timer, NULL, timer_func, NULL))
+    UNEXPECTED (10);
+  /* Step 11: Release the baton.  */
+  if (pthread_mutex_unlock (&baton))
+    UNEXPECTED (11);
+  /* Step 12: The second reader thread requests the lock.  */
+  err = pthread_rwlock_rdlock (&lock);
+  if (err == 0)
+    FAILURE ();
+  else
+    UNEXPECTED (12);
+}
+
+static void *
+writer_func (void *ignored)
+{
+  /* Step 4: Take the baton, so that the second reader thread does not go ahead
+     too early.  */
+  if (pthread_mutex_lock (&baton))
+    UNEXPECTED (4);
+  /* Step 5: Create the second reader thread.  */
+  if (pthread_create (&reader2, NULL, reader2_func, NULL))
+    UNEXPECTED (5);
+  /* Step 6: Release the baton.  */
+  if (pthread_mutex_unlock (&baton))
+    UNEXPECTED (6);
+  /* Step 7: The writer thread requests the lock.  */
+  if (pthread_rwlock_wrlock (&lock))
+    UNEXPECTED (7);
+  return NULL;
+}
+
+int
+main ()
+{
+  reader1 = pthread_self ();
+
+  /* Step 1: The main thread initializes the lock and the baton.  */
+  if (pthread_rwlock_init (&lock, NULL))
+    UNEXPECTED (1);
+  if (pthread_mutex_init (&baton, NULL))
+    UNEXPECTED (1);
+  /* Step 2: The main thread acquires the lock as a reader.  */
+  if (pthread_rwlock_rdlock (&lock))
+    UNEXPECTED (2);
+  /* Step 3: Create the writer thread.  */
+  if (pthread_create (&writer, NULL, writer_func, NULL))
+    UNEXPECTED (3);
+  /* Job done.  Go to sleep.  */
+  for (;;)
+    {
+      sleep (1);
     }
-  return 0;
 }
+
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_mbrtowc_incomplete_state=yes
+  gl_cv_pthread_rwlock_rdlock_prefer_writer=yes
 else
-  gl_cv_func_mbrtowc_incomplete_state=no
+  gl_cv_pthread_rwlock_rdlock_prefer_writer=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-      fi
+     LIBS="$save_LIBS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
-$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
-
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pthread_rwlock_rdlock_prefer_writer" >&5
+$as_echo "$gl_cv_pthread_rwlock_rdlock_prefer_writer" >&6; }
+  case "$gl_cv_pthread_rwlock_rdlock_prefer_writer" in
+    *yes)
 
+$as_echo "#define HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER 1" >>confdefs.h
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
-$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; }
-if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+      ;;
+  esac
 
-                  case "$host_os" in
-                    # Guess no on Solaris 8.
-        solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;;
-                    # Guess yes otherwise.
-        *)          gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;;
-      esac
-      if test $LOCALE_ZH_CN != none; then
-        if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+    fi
+    # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <locale.h>
-#include <stdlib.h>
-#include <string.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 <time.h>
-#include <wchar.h>
-int main ()
+      #include <pthread.h>
+int
+main ()
 {
-  /* This fails on Solaris 8:
-     mbrtowc returns 2, and sets wc to 0x00F0.
-     mbtowc returns 4 (correct) and sets wc to 0x5EDC.  */
-  if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
-    {
-      char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */
-      mbstate_t state;
-      wchar_t wc;
 
-      memset (&state, '\0', sizeof (mbstate_t));
-      if (mbrtowc (&wc, input + 3, 6, &state) != 4
-          && mbtowc (&wc, input + 3, 6) == 4)
-        return 1;
-    }
+#if __FreeBSD__ == 4
+error "No, in FreeBSD 4.0 recursive mutexes actually don't work."
+#elif (defined __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ \
+       && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070)
+error "No, in Mac OS X < 10.7 recursive mutexes actually don't work."
+#else
+int x = (int)PTHREAD_MUTEX_RECURSIVE;
+return !x;
+#endif
+
+  ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_mbrtowc_sanitycheck=yes
-else
-  gl_cv_func_mbrtowc_sanitycheck=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
+if ac_fn_c_try_compile "$LINENO"; then :
 
-      fi
+$as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE 1" >>confdefs.h
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
-$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
-
-    REPLACE_MBSTATE_T=0
-    case "$gl_cv_func_mbrtowc_incomplete_state" in
-      *yes) ;;
-      *) REPLACE_MBSTATE_T=1 ;;
-    esac
-    case "$gl_cv_func_mbrtowc_sanitycheck" in
-      *yes) ;;
-      *) REPLACE_MBSTATE_T=1 ;;
-    esac
-  else
-    REPLACE_MBSTATE_T=1
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   fi
+  :
 
 
 
-  if test $ac_cv_func_mbrtowc = no; then
-    HAVE_MBRTOWC=0
-    ac_fn_c_check_decl "$LINENO" "mbrtowc" "ac_cv_have_decl_mbrtowc" "
-/* 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 <time.h>
-#include <wchar.h>
-
-"
-if test "x$ac_cv_have_decl_mbrtowc" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_MBRTOWC $ac_have_decl
+#define GNULIB_LOCK 1
 _ACEOF
 
-    if test $ac_cv_have_decl_mbrtowc = yes; then
-                        REPLACE_MBRTOWC=1
-    fi
-  else
-    if test $REPLACE_MBSTATE_T = 1; then
-      REPLACE_MBRTOWC=1
-    else
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL pwc argument" >&5
-$as_echo_n "checking whether mbrtowc handles a NULL pwc argument... " >&6; }
-if ${gl_cv_func_mbrtowc_null_arg1+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-                  case "$host_os" in
-                  # Guess no on Solaris.
-        solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;;
-                  # Guess yes otherwise.
-        *)        gl_cv_func_mbrtowc_null_arg1="guessing yes" ;;
-      esac
-      if test $LOCALE_FR_UTF8 != none; then
-        if test "$cross_compiling" = yes; then :
-  :
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek detects pipes" >&5
+$as_echo_n "checking whether lseek detects pipes... " >&6; }
+if ${gl_cv_func_lseek_pipe+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  case "$host_os" in
+       mingw*)
+                                                               gl_cv_func_lseek_pipe=no
+         ;;
+       *)
+         if test $cross_compiling = no; then
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <locale.h>
-#include <stdlib.h>
-#include <string.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 <time.h>
-#include <wchar.h>
-int main ()
-{
-  int result = 0;
+#include <sys/types.h> /* for off_t */
+#include <stdio.h> /* for SEEK_CUR */
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#else /* on Windows with MSVC */
+# include <io.h>
+#endif
 
-  if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
-    {
-      char input[] = "\303\237er";
-      mbstate_t state;
-      wchar_t wc;
-      size_t ret;
+int
+main ()
+{
 
-      memset (&state, '\0', sizeof (mbstate_t));
-      wc = (wchar_t) 0xBADFACE;
-      ret = mbrtowc (&wc, input, 5, &state);
-      if (ret != 2)
-        result |= 1;
-      if (!mbsinit (&state))
-        result |= 2;
+  /* Exit with success only if stdin is seekable.  */
+  return lseek (0, (off_t)0, SEEK_CUR) < 0;
 
-      memset (&state, '\0', sizeof (mbstate_t));
-      ret = mbrtowc (NULL, input, 5, &state);
-      if (ret != 2) /* Solaris 7 fails here: ret is -1.  */
-        result |= 4;
-      if (!mbsinit (&state))
-        result |= 8;
-    }
-  return result;
+  ;
+  return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_mbrtowc_null_arg1=yes
+if ac_fn_c_try_link "$LINENO"; then :
+  if test -s conftest$ac_exeext \
+                 && ./conftest$ac_exeext < conftest.$ac_ext \
+                 && test 1 = "`echo hi \
+                   | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then
+                gl_cv_func_lseek_pipe=yes
+              else
+                gl_cv_func_lseek_pipe=no
+              fi
+
 else
-  gl_cv_func_mbrtowc_null_arg1=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+  gl_cv_func_lseek_pipe=no
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+         else
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-      fi
+#if defined __BEOS__
+/* BeOS mistakenly return 0 when trying to seek on pipes.  */
+  Choke me.
+#endif
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_func_lseek_pipe=yes
+else
+  gl_cv_func_lseek_pipe=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+         fi
+         ;;
+     esac
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg1" >&5
-$as_echo "$gl_cv_func_mbrtowc_null_arg1" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lseek_pipe" >&5
+$as_echo "$gl_cv_func_lseek_pipe" >&6; }
+  if test $gl_cv_func_lseek_pipe = no; then
+    REPLACE_LSEEK=1
 
+$as_echo "#define LSEEK_PIPE_BROKEN 1" >>confdefs.h
 
+  fi
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL string argument" >&5
-$as_echo_n "checking whether mbrtowc handles a NULL string argument... " >&6; }
-if ${gl_cv_func_mbrtowc_null_arg2+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  if test $WINDOWS_64_BIT_OFF_T = 1; then
+    REPLACE_LSEEK=1
+  fi
 
-                  case "$host_os" in
-              # Guess no on OSF/1.
-        osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;;
-              # Guess yes otherwise.
+  if test $REPLACE_LSEEK = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext"
+
+  fi
+
+
+
+
+
+          GNULIB_LSEEK=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_LSEEK 1" >>confdefs.h
+
+
+
+
+
+
+
+  if test $ac_cv_func_lstat = yes; then
+
+    case $host_os,$gl_cv_func_lstat_dereferences_slashed_symlink in
+      solaris* | *no)
+        REPLACE_LSTAT=1
+        ;;
+    esac
+  else
+    HAVE_LSTAT=0
+  fi
+
+  if test $REPLACE_LSTAT = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext"
+
+    :
+  fi
+
+
+
+
+
+          GNULIB_LSTAT=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+      for ac_header in stdlib.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdlib_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STDLIB_H 1
+_ACEOF
+
+fi
+
+done
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
+$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
+if ${ac_cv_func_malloc_0_nonnull+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+          # Guess yes on platforms where we know the result.
+          *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \
+          | hpux* | solaris* | cygwin* | mingw*)
+            ac_cv_func_malloc_0_nonnull="guessing yes" ;;
+          # If we don't know, assume the worst.
+          *) ac_cv_func_malloc_0_nonnull="guessing no" ;;
+        esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined STDC_HEADERS || defined HAVE_STDLIB_H
+            # include <stdlib.h>
+            #else
+            char *malloc ();
+            #endif
+
+int
+main ()
+{
+char *p = malloc (0);
+            int result = !p;
+            free (p);
+            return result;
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_func_malloc_0_nonnull=yes
+else
+  ac_cv_func_malloc_0_nonnull=no
+fi
+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: $ac_cv_func_malloc_0_nonnull" >&5
+$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
+  case "$ac_cv_func_malloc_0_nonnull" in
+    *yes)
+
+$as_echo "#define HAVE_MALLOC_GNU 1" >>confdefs.h
+
+      ;;
+    *)
+      $as_echo "#define HAVE_MALLOC_GNU 0" >>confdefs.h
+
+     REPLACE_MALLOC=1
+
+      ;;
+  esac
+
+
+  if test $REPLACE_MALLOC = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext"
+
+  fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_MALLOC_GNU 1
+_ACEOF
+
+
+
+
+
+  if test $gl_cv_func_malloc_posix = yes; then
+
+$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h
+
+  else
+    REPLACE_MALLOC=1
+  fi
+
+  if test $REPLACE_MALLOC = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext"
+
+  fi
+
+
+
+
+
+          GNULIB_MALLOC_POSIX=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then
+
+
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
+$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; }
+if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+                  case "$host_os" in
+                     # Guess no on AIX and OSF/1.
+        aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
+                     # Guess yes otherwise.
+        *)           gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
+      esac
+      if test $LOCALE_JA != none; then
+        if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <locale.h>
+#include <string.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 <time.h>
+#include <wchar.h>
+int main ()
+{
+  if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
+    {
+      const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
+      mbstate_t state;
+      wchar_t wc;
+
+      memset (&state, '\0', sizeof (mbstate_t));
+      if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
+        if (mbsinit (&state))
+          return 2;
+    }
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_mbrtowc_incomplete_state=yes
+else
+  gl_cv_func_mbrtowc_incomplete_state=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+      fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
+$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
+
+
+
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
+$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; }
+if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+                  case "$host_os" in
+                    # Guess no on Solaris 8.
+        solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;;
+                    # Guess yes otherwise.
+        *)          gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;;
+      esac
+      if test $LOCALE_ZH_CN != none; then
+        if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.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 <time.h>
+#include <wchar.h>
+int main ()
+{
+  /* This fails on Solaris 8:
+     mbrtowc returns 2, and sets wc to 0x00F0.
+     mbtowc returns 4 (correct) and sets wc to 0x5EDC.  */
+  if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
+    {
+      char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */
+      mbstate_t state;
+      wchar_t wc;
+
+      memset (&state, '\0', sizeof (mbstate_t));
+      if (mbrtowc (&wc, input + 3, 6, &state) != 4
+          && mbtowc (&wc, input + 3, 6) == 4)
+        return 2;
+    }
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_mbrtowc_sanitycheck=yes
+else
+  gl_cv_func_mbrtowc_sanitycheck=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+      fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
+$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
+
+    REPLACE_MBSTATE_T=0
+    case "$gl_cv_func_mbrtowc_incomplete_state" in
+      *yes) ;;
+      *) REPLACE_MBSTATE_T=1 ;;
+    esac
+    case "$gl_cv_func_mbrtowc_sanitycheck" in
+      *yes) ;;
+      *) REPLACE_MBSTATE_T=1 ;;
+    esac
+  else
+    REPLACE_MBSTATE_T=1
+  fi
+
+
+
+  if test $ac_cv_func_mbrtowc = no; then
+    HAVE_MBRTOWC=0
+    ac_fn_c_check_decl "$LINENO" "mbrtowc" "ac_cv_have_decl_mbrtowc" "
+/* 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 <time.h>
+#include <wchar.h>
+
+"
+if test "x$ac_cv_have_decl_mbrtowc" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_MBRTOWC $ac_have_decl
+_ACEOF
+
+    if test $ac_cv_have_decl_mbrtowc = yes; then
+                        REPLACE_MBRTOWC=1
+    fi
+  else
+    if test $REPLACE_MBSTATE_T = 1; then
+      REPLACE_MBRTOWC=1
+    else
+
+
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL pwc argument" >&5
+$as_echo_n "checking whether mbrtowc handles a NULL pwc argument... " >&6; }
+if ${gl_cv_func_mbrtowc_null_arg1+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+                  case "$host_os" in
+                  # Guess no on Solaris.
+        solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;;
+                  # Guess yes otherwise.
+        *)        gl_cv_func_mbrtowc_null_arg1="guessing yes" ;;
+      esac
+      if test $LOCALE_FR_UTF8 != none; then
+        if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.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 <time.h>
+#include <wchar.h>
+int main ()
+{
+  int result = 0;
+
+  if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+    {
+      char input[] = "\303\237er";
+      mbstate_t state;
+      wchar_t wc;
+      size_t ret;
+
+      memset (&state, '\0', sizeof (mbstate_t));
+      wc = (wchar_t) 0xBADFACE;
+      ret = mbrtowc (&wc, input, 5, &state);
+      if (ret != 2)
+        result |= 1;
+      if (!mbsinit (&state))
+        result |= 2;
+
+      memset (&state, '\0', sizeof (mbstate_t));
+      ret = mbrtowc (NULL, input, 5, &state);
+      if (ret != 2) /* Solaris 7 fails here: ret is -1.  */
+        result |= 4;
+      if (!mbsinit (&state))
+        result |= 8;
+    }
+  return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_mbrtowc_null_arg1=yes
+else
+  gl_cv_func_mbrtowc_null_arg1=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+      fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg1" >&5
+$as_echo "$gl_cv_func_mbrtowc_null_arg1" >&6; }
+
+
+
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL string argument" >&5
+$as_echo_n "checking whether mbrtowc handles a NULL string argument... " >&6; }
+if ${gl_cv_func_mbrtowc_null_arg2+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+                  case "$host_os" in
+              # Guess no on OSF/1.
+        osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;;
+              # Guess yes otherwise.
         *)    gl_cv_func_mbrtowc_null_arg2="guessing yes" ;;
       esac
       if test $LOCALE_FR_UTF8 != none; then
@@ -18508,7 +19914,7 @@ int main ()
       mbrtowc (&wc, NULL, 5, &state);
       /* Check that wc was not modified.  */
       if (wc != (wchar_t) 0xBADFACE)
-        return 1;
+        return 2;
     }
   return 0;
 }
@@ -18708,7 +20114,7 @@ int main ()
 
       memset (&state, '\0', sizeof (mbstate_t));
       if (mbrtowc (&wc, "", 1, &state) != 0)
-        return 1;
+        return 2;
     }
   return 0;
 }
@@ -18737,10 +20143,11 @@ if ${gl_cv_func_mbrtowc_empty_input+:} false; then :
 else
 
                   case "$host_os" in
-                     # Guess no on AIX and glibc systems.
-        aix* | *-gnu*)
-                    gl_cv_func_mbrtowc_empty_input="guessing no" ;;
-        *)          gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+                              # Guess no on AIX and glibc systems.
+        aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+                              # Guess yes on native Windows.
+        mingw*)               gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+        *)                    gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
       esac
       if test "$cross_compiling" = yes; then :
   :
@@ -18754,13 +20161,13 @@ else
            int
            main (void)
            {
-             return mbrtowc (&wc, "", 0, &mbs) == (size_t) -2;
+             return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
            }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_mbrtowc_empty_input=no
-else
   gl_cv_func_mbrtowc_empty_input=yes
+else
+  gl_cv_func_mbrtowc_empty_input=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_empty_input" >&5
 $as_echo "$gl_cv_func_mbrtowc_empty_input" >&6; }
 
-      case "$gl_cv_func_mbrtowc_null_arg1" in
-        *yes) ;;
-        *)
-$as_echo "#define MBRTOWC_NULL_ARG1_BUG 1" >>confdefs.h
-
-           REPLACE_MBRTOWC=1
-           ;;
-      esac
-      case "$gl_cv_func_mbrtowc_null_arg2" in
-        *yes) ;;
-        *)
-$as_echo "#define MBRTOWC_NULL_ARG2_BUG 1" >>confdefs.h
 
-           REPLACE_MBRTOWC=1
-           ;;
-      esac
-      case "$gl_cv_func_mbrtowc_retval" in
-        *yes) ;;
-        *)
-$as_echo "#define MBRTOWC_RETVAL_BUG 1" >>confdefs.h
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C locale is free of encoding errors" >&5
+$as_echo_n "checking whether the C locale is free of encoding errors... " >&6; }
+if ${gl_cv_C_locale_sans_EILSEQ+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-           REPLACE_MBRTOWC=1
-           ;;
-      esac
-      case "$gl_cv_func_mbrtowc_nul_retval" in
-        *yes) ;;
-        *)
-$as_echo "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h
+               gl_cv_C_locale_sans_EILSEQ="guessing no"
 
-           REPLACE_MBRTOWC=1
+     if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                 # Guess yes on native Windows.
+         mingw*) gl_cv_C_locale_sans_EILSEQ="guessing yes" ;;
+       esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+            #include <locale.h>
+            #include <wchar.h>
+
+int
+main ()
+{
+
+            int i;
+            char *locale = setlocale (LC_ALL, "C");
+            if (! locale)
+              return 2;
+            for (i = CHAR_MIN; i <= CHAR_MAX; i++)
+              {
+                char c = i;
+                wchar_t wc;
+                mbstate_t mbs = { 0, };
+                size_t ss = mbrtowc (&wc, &c, 1, &mbs);
+                if (1 < ss)
+                  return 3;
+              }
+            return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_C_locale_sans_EILSEQ=yes
+else
+  gl_cv_C_locale_sans_EILSEQ=no
+fi
+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_C_locale_sans_EILSEQ" >&5
+$as_echo "$gl_cv_C_locale_sans_EILSEQ" >&6; }
+
+      case "$gl_cv_func_mbrtowc_null_arg1" in
+        *yes) ;;
+        *)
+$as_echo "#define MBRTOWC_NULL_ARG1_BUG 1" >>confdefs.h
+
+           REPLACE_MBRTOWC=1
+           ;;
+      esac
+      case "$gl_cv_func_mbrtowc_null_arg2" in
+        *yes) ;;
+        *)
+$as_echo "#define MBRTOWC_NULL_ARG2_BUG 1" >>confdefs.h
+
+           REPLACE_MBRTOWC=1
+           ;;
+      esac
+      case "$gl_cv_func_mbrtowc_retval" in
+        *yes) ;;
+        *)
+$as_echo "#define MBRTOWC_RETVAL_BUG 1" >>confdefs.h
+
+           REPLACE_MBRTOWC=1
+           ;;
+      esac
+      case "$gl_cv_func_mbrtowc_nul_retval" in
+        *yes) ;;
+        *)
+$as_echo "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h
+
+           REPLACE_MBRTOWC=1
            ;;
       esac
       case "$gl_cv_func_mbrtowc_empty_input" in
@@ -18808,6 +20274,14 @@ $as_echo "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h
         *)
 $as_echo "#define MBRTOWC_EMPTY_INPUT_BUG 1" >>confdefs.h
 
+           REPLACE_MBRTOWC=1
+           ;;
+      esac
+      case $gl_cv_C_locale_sans_EILSEQ in
+        *yes) ;;
+        *)
+$as_echo "#define C_LOCALE_MAYBE_EILSEQ 1" >>confdefs.h
+
            REPLACE_MBRTOWC=1
            ;;
       esac
@@ -18826,6 +20300,7 @@ $as_echo "#define MBRTOWC_EMPTY_INPUT_BUG 1" >>confdefs.h
   gl_LIBOBJS="$gl_LIBOBJS mbrtowc.$ac_objext"
 
 
+
   :
 
   fi
@@ -18899,7 +20374,7 @@ int main ()
       memset (&state, '\0', sizeof (mbstate_t));
       if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
         if (mbsinit (&state))
-          return 1;
+          return 2;
     }
   return 0;
 }
@@ -18966,7 +20441,7 @@ int main ()
       memset (&state, '\0', sizeof (mbstate_t));
       if (mbrtowc (&wc, input + 3, 6, &state) != 4
           && mbtowc (&wc, input + 3, 6) == 4)
-        return 1;
+        return 2;
     }
   return 0;
 }
@@ -19070,11 +20545,26 @@ $as_echo "#define GNULIB_TEST_MBSINIT 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
 
 
 
@@ -19108,6 +20598,152 @@ $as_echo "#define GNULIB_TEST_MBTOWC 1" >>confdefs.h
 
 
 
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mkdir handles trailing slash" >&5
+$as_echo_n "checking whether mkdir handles trailing slash... " >&6; }
+if ${gl_cv_func_mkdir_trailing_slash_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -rf conftest.dir
+      if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu* | gnu*)   gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;;
+                          # Guess yes on MSVC, no on mingw.
+         mingw*)          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef _MSC_VER
+ Known
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Known" >/dev/null 2>&1; then :
+  gl_cv_func_mkdir_trailing_slash_works="guessing yes"
+else
+  gl_cv_func_mkdir_trailing_slash_works="guessing no"
+fi
+rm -f conftest*
+
+                          ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_mkdir_trailing_slash_works="guessing no" ;;
+       esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#       include <sys/types.h>
+#       include <sys/stat.h>
+
+int
+main ()
+{
+return mkdir ("conftest.dir/", 0700);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_mkdir_trailing_slash_works=yes
+else
+  gl_cv_func_mkdir_trailing_slash_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
+
+    rm -rf conftest.dir
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mkdir_trailing_slash_works" >&5
+$as_echo "$gl_cv_func_mkdir_trailing_slash_works" >&6; }
+  case "$gl_cv_func_mkdir_trailing_slash_works" in
+    *yes) ;;
+    *)
+      REPLACE_MKDIR=1
+      ;;
+  esac
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mkdir handles trailing dot" >&5
+$as_echo_n "checking whether mkdir handles trailing dot... " >&6; }
+if ${gl_cv_func_mkdir_trailing_dot_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -rf conftest.dir
+      if test "$cross_compiling" = yes; then :
+  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.
+         *)             gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
+       esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#       include <sys/types.h>
+#       include <sys/stat.h>
+
+int
+main ()
+{
+return !mkdir ("conftest.dir/./", 0700);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_mkdir_trailing_dot_works=yes
+else
+  gl_cv_func_mkdir_trailing_dot_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
+
+    rm -rf conftest.dir
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mkdir_trailing_dot_works" >&5
+$as_echo "$gl_cv_func_mkdir_trailing_dot_works" >&6; }
+  case "$gl_cv_func_mkdir_trailing_dot_works" in
+    *yes) ;;
+    *)
+      REPLACE_MKDIR=1
+
+$as_echo "#define FUNC_MKDIR_DOT_BUG 1" >>confdefs.h
+
+      ;;
+  esac
+
+  if test $REPLACE_MKDIR = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS mkdir.$ac_objext"
+
+  fi
+
+
+
+
   if test $ac_cv_func_mkstemp = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mkstemp" >&5
 $as_echo_n "checking for working mkstemp... " >&6; }
@@ -19118,10 +20754,14 @@ else
         mkdir conftest.mkstemp
         if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                     # Guess yes on glibc systems.
-             *-gnu*) gl_cv_func_working_mkstemp="guessing yes" ;;
-                     # If we don't know, assume the worst.
-             *)      gl_cv_func_working_mkstemp="guessing no" ;;
+                            # 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.
+             *)             gl_cv_func_working_mkstemp="guessing no" ;;
            esac
 
 else
@@ -19216,17 +20856,6 @@ $as_echo "#define GNULIB_TEST_MKSTEMP 1" >>confdefs.h
 
 
 
-
-  if test $ac_cv_func__set_invalid_parameter_handler = yes; then
-    HAVE_MSVC_INVALID_PARAMETER_HANDLER=1
-
-$as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h
-
-  else
-    HAVE_MSVC_INVALID_PARAMETER_HANDLER=0
-  fi
-
-
   if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
 
 
@@ -19240,8 +20869,6 @@ $as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h
 
   fi
 
-
-
   if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
 
 
@@ -19256,6 +20883,13 @@ $as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h
   fi
 
 
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_MSVC_NOTHROW 1
+_ACEOF
+
+
+
+
 
 
 
@@ -19311,8 +20945,11 @@ cat >>confdefs.h <<_ACEOF
 #define FUNC_NL_LANGINFO_YESEXPR_WORKS $FUNC_NL_LANGINFO_YESEXPR_WORKS
 _ACEOF
 
-    if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \
-        && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then
+    if test $HAVE_LANGINFO_CODESET = 1 \
+       && test $HAVE_LANGINFO_T_FMT_AMPM = 1 \
+       && test $HAVE_LANGINFO_ALTMON = 1 \
+       && test $HAVE_LANGINFO_ERA = 1 \
+       && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then
       :
     else
       REPLACE_NL_LANGINFO=1
@@ -19387,9 +21024,11 @@ _ACEOF
 
 
 
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_READ=1
-  fi
+
+    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+      REPLACE_READ=1
+    fi
+
 
 
   if test $REPLACE_READ = 1; then
@@ -19463,10 +21102,12 @@ else
        ln -s conftest.link conftest.lnk2
        if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_readlink_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_readlink_works="guessing no" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_readlink_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_readlink_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_readlink_works="guessing no" ;;
           esac
 
 else
@@ -19564,11 +21205,11 @@ else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
           # Guess yes on platforms where we know the result.
-          *-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
 
 else
@@ -19583,7 +21224,10 @@ else
 int
 main ()
 {
-return ! realloc (0, 0);
+char *p = realloc (0, 0);
+            int result = !p;
+            free (p);
+            return result;
   ;
   return 0;
 }
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5
 $as_echo "$ac_cv_func_realloc_0_nonnull" >&6; }
-  if test $ac_cv_func_realloc_0_nonnull = yes; then :
+  case "$ac_cv_func_realloc_0_nonnull" in
+    *yes)
 
 $as_echo "#define HAVE_REALLOC_GNU 1" >>confdefs.h
 
-else
-  $as_echo "#define HAVE_REALLOC_GNU 0" >>confdefs.h
+      ;;
+    *)
+      $as_echo "#define HAVE_REALLOC_GNU 0" >>confdefs.h
 
      REPLACE_REALLOC=1
 
-fi
+      ;;
+  esac
 
 
   if test $REPLACE_REALLOC = 1; then
@@ -19695,7 +21342,13 @@ if ${gl_cv_func_re_compile_pattern_working+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-         gl_cv_func_re_compile_pattern_working=no
+  case "$host_os" in
+                   # Guess no on native Windows.
+           mingw*) gl_cv_func_re_compile_pattern_working="guessing no" ;;
+                   # Otherwise, assume it is not working.
+           *)      gl_cv_func_re_compile_pattern_working="guessing no" ;;
+         esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -19744,7 +21397,7 @@ int result = 0;
             if (setlocale (LC_ALL, "en_US.UTF-8"))
               {
                 {
-                  /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
+                  /* https://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
                      This test needs valgrind to catch the bug on Debian
                      GNU/Linux 3.1 x86, but it might catch the bug better
                      on other platforms and it shouldn't hurt to try the
@@ -19762,12 +21415,13 @@ int result = 0;
                                       0, sizeof data - 1, &regs)
                            != -1)
                     result |= 1;
+                  regfree (&regex);
                 }
 
                 {
                   /* This test is from glibc bug 15078.
                      The test case is from Andreas Schwab in
-                     <http://www.sourceware.org/ml/libc-alpha/2013-01/msg00967.html>.
+                     <https://sourceware.org/ml/libc-alpha/2013-01/msg00967.html>.
                      */
                   static char const pat[] = "[^x]x";
                   static char const data[] =
@@ -19793,6 +21447,7 @@ int result = 0;
                       if (i != 0 && i != 21)
                         result |= 1;
                     }
+                  regfree (&regex);
                 }
 
                 if (! setlocale (LC_ALL, "C"))
@@ -19864,7 +21519,7 @@ int result = 0;
               result |= 16;
 
             /* Catch a bug reported by Vin Shelton in
-               http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html
+               https://lists.gnu.org/r/bug-coreutils/2007-06/msg00089.html
                */
             re_set_syntax (RE_SYNTAX_POSIX_BASIC
                            & ~RE_CONTEXT_INVALID_DUP
@@ -19879,6 +21534,17 @@ int result = 0;
             if (! REG_STARTEND)
               result |= 64;
 
+            /* Matching with the compiled form of this regexp would provoke
+               an assertion failure prior to glibc-2.28:
+                 regexec.c:1375: pop_fail_stack: Assertion 'num >= 0' failed
+               With glibc-2.28, compilation fails and reports the invalid
+               back reference.  */
+            re_set_syntax (RE_SYNTAX_POSIX_EGREP);
+            memset (&regex, 0, sizeof regex);
+            s = re_compile_pattern ("0|()0|\\1|0", 10, &regex);
+            if (!s || strcmp (s, "Invalid back reference"))
+              result |= 64;
+
 #if 0
             /* It would be nice to reject hosts whose regoff_t values are too
                narrow (including glibc on hosts with 64-bit ptrdiff_t and
@@ -19906,12 +21572,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_re_compile_pattern_working" >&5
 $as_echo "$gl_cv_func_re_compile_pattern_working" >&6; }
-    case $gl_cv_func_re_compile_pattern_working in #(
-    yes) ac_use_included_regex=no;; #(
-    no) ac_use_included_regex=yes;;
+    case "$gl_cv_func_re_compile_pattern_working" in #(
+      *yes) ac_use_included_regex=no;; #(
+      *no) ac_use_included_regex=yes;;
     esac
     ;;
   *) as_fn_error $? "Invalid value for --with-included-regex: $with_included_regex" "$LINENO" 5
@@ -20102,68 +21769,6 @@ $as_echo "#define GNULIB_TEST_RPMATCH 1" >>confdefs.h
 
 
 
-
-
-
-  if test $ac_cv_func_secure_getenv = no; then
-    HAVE_SECURE_GETENV=0
-  fi
-
-  if test $HAVE_SECURE_GETENV = 0; then
-
-
-
-
-
-
-
-
-  gl_LIBOBJS="$gl_LIBOBJS secure_getenv.$ac_objext"
-
-
-  for ac_func in __secure_getenv
-do :
-  ac_fn_c_check_func "$LINENO" "__secure_getenv" "ac_cv_func___secure_getenv"
-if test "x$ac_cv_func___secure_getenv" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE___SECURE_GETENV 1
-_ACEOF
-
-fi
-done
-
-  if test $ac_cv_func___secure_getenv = no; then
-    for ac_func in issetugid
-do :
-  ac_fn_c_check_func "$LINENO" "issetugid" "ac_cv_func_issetugid"
-if test "x$ac_cv_func_issetugid" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_ISSETUGID 1
-_ACEOF
-
-fi
-done
-
-  fi
-
-  fi
-
-
-
-
-
-          GNULIB_SECURE_GETENV=1
-
-
-
-
-
-$as_echo "#define GNULIB_TEST_SECURE_GETENV 1" >>confdefs.h
-
-
-
-
-
                ac_fn_c_check_decl "$LINENO" "sleep" "ac_cv_have_decl_sleep" "#include <unistd.h>
 "
 if test "x$ac_cv_have_decl_sleep" = xyes; then :
@@ -20187,10 +21792,14 @@ if ${gl_cv_func_sleep_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_sleep_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_sleep_works="guessing no" ;;
+                        # 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.
+         *)             gl_cv_func_sleep_works="guessing no" ;;
        esac
 
 else
@@ -20311,58 +21920,31 @@ $as_echo "#define ssize_t int" >>confdefs.h
 
 
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5
-$as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; }
-if ${gl_cv_func_stat_dir_slash+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case $host_os in
-            mingw*) gl_cv_func_stat_dir_slash="guessing no";;
-            *) gl_cv_func_stat_dir_slash="guessing yes";;
-          esac
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/stat.h>
-
-int
-main ()
-{
-struct stat st; return stat (".", &st) != stat ("./", &st);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_stat_dir_slash=yes
-else
-  gl_cv_func_stat_dir_slash=no
-fi
-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_stat_dir_slash" >&5
-$as_echo "$gl_cv_func_stat_dir_slash" >&6; }
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5
+  case "$host_os" in
+    mingw*)
+                  REPLACE_STAT=1
+      ;;
+    *)
+                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5
 $as_echo_n "checking whether stat handles trailing slashes on files... " >&6; }
 if ${gl_cv_func_stat_file_slash+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   touch conftest.tmp
-       # Assume that if we have lstat, we can also check symlinks.
-       if test $ac_cv_func_lstat = yes; then
-         ln -s conftest.tmp conftest.lnk
-       fi
-       if test "$cross_compiling" = yes; then :
+         # Assume that if we have lstat, we can also check symlinks.
+         if test $ac_cv_func_lstat = yes; then
+           ln -s conftest.tmp conftest.lnk
+         fi
+         if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_stat_file_slash="guessing no" ;;
-          esac
+                               # Guess yes on Linux systems.
+              linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # Guess yes on glibc systems.
+              *-gnu* | gnu*)   gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # If we don't know, assume the worst.
+              *)               gl_cv_func_stat_file_slash="guessing no" ;;
+            esac
 
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -20373,14 +21955,14 @@ int
 main ()
 {
 int result = 0;
-      struct stat st;
-      if (!stat ("conftest.tmp/", &st))
-        result |= 1;
+               struct stat st;
+               if (!stat ("conftest.tmp/", &st))
+                 result |= 1;
 #if HAVE_LSTAT
-      if (!stat ("conftest.lnk/", &st))
-        result |= 2;
+               if (!stat ("conftest.lnk/", &st))
+                 result |= 2;
 #endif
-      return result;
+               return result;
 
   ;
   return 0;
@@ -20395,21 +21977,22 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-       rm -f conftest.tmp conftest.lnk
+         rm -f conftest.tmp conftest.lnk
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5
 $as_echo "$gl_cv_func_stat_file_slash" >&6; }
-  case $gl_cv_func_stat_dir_slash in
-    *no) REPLACE_STAT=1
-
-$as_echo "#define REPLACE_FUNC_STAT_DIR 1" >>confdefs.h
-;;
-  esac
-  case $gl_cv_func_stat_file_slash in
-    *no) REPLACE_STAT=1
+      case $gl_cv_func_stat_file_slash in
+        *no)
+          REPLACE_STAT=1
 
 $as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
 ;;
+      esac
+      case $host_os in
+                solaris*)
+          REPLACE_FSTAT=1 ;;
+      esac
+      ;;
   esac
 
   if test $REPLACE_STAT = 1; then
@@ -20423,7 +22006,24 @@ $as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
 
   gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext"
 
-    :
+    case "$host_os" in
+      mingw*)
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS stat-w32.$ac_objext"
+
+        ;;
+    esac
+
+
+  :
+
   fi
 
 
@@ -20441,15 +22041,152 @@ $as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h
 
 
 
+
+
+
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.tv_nsec" "ac_cv_member_struct_stat_st_atim_tv_nsec" "#include <sys/types.h>
+     #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1
+_ACEOF
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct stat.st_atim is of type struct timespec" >&5
+$as_echo_n "checking whether struct stat.st_atim is of type struct timespec... " >&6; }
+if ${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+            #include <sys/types.h>
+            #include <sys/stat.h>
+            #if HAVE_SYS_TIME_H
+            # include <sys/time.h>
+            #endif
+            #include <time.h>
+            struct timespec ts;
+            struct stat st;
+
+int
+main ()
+{
+
+            st.st_atim = ts;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes
+else
+  ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5
+$as_echo "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; }
+     if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then
+
+$as_echo "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h
+
+     fi
+else
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include <sys/types.h>
+        #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1
+_ACEOF
+
+
+else
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include <sys/types.h>
+           #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1
+_ACEOF
+
+
+else
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "#include <sys/types.h>
+              #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1
+_ACEOF
+
+
+fi
+
+fi
+
+fi
+
+fi
+
+
+
+
+
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimespec.tv_nsec" "ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" "#include <sys/types.h>
+     #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1
+_ACEOF
+
+
+else
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include <sys/types.h>
+        #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_birthtimensec" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 1
+_ACEOF
+
+
+else
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtim.tv_nsec" "ac_cv_member_struct_stat_st_birthtim_tv_nsec" "#include <sys/types.h>
+          #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_birthtim_tv_nsec" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC 1
+_ACEOF
+
+
+fi
+
+fi
+
+fi
+
+
+
   STDARG_H=''
   NEXT_STDARG_H='<stdarg.h>'
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5
 $as_echo_n "checking for va_copy... " >&6; }
-  if ${gl_cv_func_va_copy+:} false; then :
+if ${gl_cv_func_va_copy+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdarg.h>
 int
@@ -20470,9 +22207,9 @@ else
   gl_cv_func_va_copy=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5
 $as_echo "$gl_cv_func_va_copy" >&6; }
   if test $gl_cv_func_va_copy = no; then
                                     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 
 
   STDDEF_H=
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for good max_align_t" >&5
+$as_echo_n "checking for good max_align_t... " >&6; }
+if ${gl_cv_type_max_align_t+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stddef.h>
+            unsigned int s = sizeof (max_align_t);
+            #if defined __GNUC__ || defined __IBM__ALIGNOF__
+            int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1];
+            int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1];
+            #endif
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_type_max_align_t=yes
+else
+  gl_cv_type_max_align_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_max_align_t" >&5
+$as_echo "$gl_cv_type_max_align_t" >&6; }
+  if test $gl_cv_type_max_align_t = no; then
+    HAVE_MAX_ALIGN_T=0
+    STDDEF_H=stddef.h
+  fi
+
   if test $gt_cv_c_wchar_t = no; then
     HAVE_WCHAR_T=0
     STDDEF_H=stddef.h
   fi
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
 $as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; }
 if ${gl_cv_decl_null_works+:} false; then :
@@ -20690,6 +22466,7 @@ $as_echo "$gl_cv_decl_null_works" >&6; }
     STDDEF_H=stddef.h
   fi
 
+
    if test -n "$STDDEF_H"; then
   GL_GENERATE_STDDEF_H_TRUE=
   GL_GENERATE_STDDEF_H_FALSE='#'
@@ -20775,6 +22552,9 @@ $as_echo "$gl_cv_next_stddef_h" >&6; }
 
 
 
+  $as_echo "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h
+
+
 
 
 
@@ -20847,6 +22627,48 @@ $as_echo "$gl_cv_next_stdio_h" >&6; }
 
 
 
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking which flavor of printf attribute matches inttypes macros" >&5
+$as_echo_n "checking which flavor of printf attribute matches inttypes macros... " >&6; }
+if ${gl_cv_func_printf_attribute_flavor+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+       #define __STDC_FORMAT_MACROS 1
+       #include <stdio.h>
+       #include <inttypes.h>
+       /* For non-mingw systems, compilation will trivially succeed.
+          For mingw, compilation will succeed for older mingw (system
+          printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */
+       #if (defined _WIN32 && ! defined __CYGWIN__) && \
+         (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+       extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1];
+       #endif
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_func_printf_attribute_flavor=system
+else
+  gl_cv_func_printf_attribute_flavor=gnu
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_attribute_flavor" >&5
+$as_echo "$gl_cv_func_printf_attribute_flavor" >&6; }
+  if test "$gl_cv_func_printf_attribute_flavor" = gnu; then
+
+$as_echo "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h
+
+  fi
+
       GNULIB_FSCANF=1
 
 
@@ -20884,44 +22706,7 @@ _ACEOF
 
 
 
-    for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen     renameat snprintf tmpfile vdprintf vsnprintf; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
-
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
@@ -20999,50 +22784,7 @@ $as_echo "$gl_cv_next_stdlib_h" >&6; }
 
 
 
-    for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt     initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps     posix_openpt ptsname ptsname_r random random_r realpath rpmatch     secure_getenv setenv setstate setstate_r srandom srandom_r     strtod strtoll strtoull unlockpt unsetenv; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#if HAVE_SYS_LOADAVG_H
-# include <sys/loadavg.h>
-#endif
-#if HAVE_RANDOM_H
-# include <random.h>
-#endif
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
-
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
@@ -21092,6 +22834,8 @@ $as_echo "#define GNULIB_TEST_STRDUP 1" >>confdefs.h
 
 
 
+
+
   if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5
 $as_echo_n "checking for working strerror function... " >&6; }
@@ -21100,10 +22844,12 @@ if ${gl_cv_func_working_strerror+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_working_strerror="guessing yes" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_working_strerror="guessing no" ;;
+                          # 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
 
 else
@@ -21139,6 +22885,10 @@ $as_echo "$gl_cv_func_working_strerror" >&6; }
         ;;
     esac
 
+                  case "$gl_cv_func_strerror_r_works" in
+        *no) REPLACE_STRERROR=1 ;;
+      esac
+
   else
             REPLACE_STRERROR=1
   fi
@@ -21263,11 +23013,14 @@ main ()
   #endif
   char *strndup (const char *, size_t);
 #endif
+  int result;
   char *s;
   s = strndup ("some longer string", 15);
   free (s);
   s = strndup ("shorter string", 13);
-  return s[13] != '\0';
+  result = s[13] != '\0';
+  free (s);
+  return result;
   ;
   return 0;
 }
@@ -21601,14 +23354,14 @@ $as_echo "$gl_cv_next_sys_stat_h" >&6; }
 
 
 
+    WINDOWS_STAT_TIMESPEC=0
+
+
 
 
 
-  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
 
-$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h
 
-  fi
 
       ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h>
      #include <sys/stat.h>
 
 
 
-    for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat     mknod mknodat stat utimensat; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/stat.h>
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
-
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
@@ -21690,9 +23406,6 @@ fi
 
 
 
-
-
-
 
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_unistd_h='<'unistd.h'>'
@@ -21775,56 +23488,7 @@ $as_echo "$gl_cv_next_unistd_h" >&6; }
 
 
 
-    for gl_func in chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat     fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups     gethostname getlogin getlogin_r getpagesize     getusershell setusershell endusershell     group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite     readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r     unlink unlinkat usleep; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-/* Some systems declare various items in the wrong headers.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <fcntl.h>
-# include <stdio.h>
-# include <stdlib.h>
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-#  include <io.h>
-# endif
-#endif
-
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
@@ -21844,10 +23508,14 @@ else
      fi
      if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_unlink_honors_slashes="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_unlink_honors_slashes="guessing no" ;;
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_unlink_honors_slashes="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu*)          gl_cv_func_unlink_honors_slashes="guessing yes" ;;
+                          # Guess no on native Windows.
+         mingw*)          gl_cv_func_unlink_honors_slashes="guessing no" ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_unlink_honors_slashes="guessing no" ;;
        esac
 
 else
@@ -22032,10 +23700,14 @@ if ${gl_cv_func_usleep_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_usleep_works="guessing yes" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_usleep_works="guessing no" ;;
+                          # Guess yes on glibc systems.
+           *-gnu* | gnu*) gl_cv_func_usleep_works="guessing yes" ;;
+                          # Guess yes on musl systems.
+           *-musl*)       gl_cv_func_usleep_works="guessing yes" ;;
+                          # Guess no on native Windows.
+           mingw*)        gl_cv_func_usleep_works="guessing no" ;;
+                          # If we don't know, assume the worst.
+           *)             gl_cv_func_usleep_works="guessing no" ;;
          esac
 
 else
@@ -22249,54 +23921,9 @@ $as_echo "$gl_cv_next_wchar_h" >&6; }
 
 
 
-    for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb      wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset      wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp      wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr      wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth     ; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.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>.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <stddef.h>
-# include <stdio.h>
-# include <time.h>
-#endif
-#include <wchar.h>
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
@@ -22353,7 +23980,7 @@ int main ()
       memset (&state, '\0', sizeof (mbstate_t));
       if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
         if (mbsinit (&state))
-          return 1;
+          return 2;
     }
   return 0;
 }
@@ -22420,7 +24047,7 @@ int main ()
       memset (&state, '\0', sizeof (mbstate_t));
       if (mbrtowc (&wc, input + 3, 6, &state) != 4
           && mbtowc (&wc, input + 3, 6) == 4)
-        return 1;
+        return 2;
     }
   return 0;
 }
@@ -22484,13 +24111,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 return value is correct" >&5
+             { $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
+
+
+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
@@ -22499,6 +24183,8 @@ else
                               case "$host_os" in
                                      # Guess no on AIX 4, OSF/1 and Solaris.
             aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;;
+                                     # Guess yes on native Windows.
+            mingw*)                  gl_cv_func_wcrtomb_retval="guessing yes" ;;
                                      # Guess yes otherwise.
             *)                       gl_cv_func_wcrtomb_retval="guessing yes" ;;
           esac
@@ -22625,6 +24311,8 @@ $as_echo "#define GNULIB_TEST_WCRTOMB 1" >>confdefs.h
 
 
 
+
+
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_wctype_h='<'wctype.h'>'
      else
@@ -22703,7 +24391,7 @@ if ${gl_cv_func_iswcntrl_works+:} false; then :
 else
 
           if test "$cross_compiling" = yes; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
                           #if __GNU_LIBRARY__ == 1
@@ -22906,57 +24594,69 @@ $as_echo "$gl_cv_type_wctrans_t" >&6; }
   fi
 
 
-    for gl_func in wctype iswctype wctrans towctrans     ; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.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>.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <stddef.h>
-# include <stdio.h>
-# include <time.h>
-# include <wchar.h>
-#endif
-#include <wctype.h>
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
+
+  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
   :
 
 
@@ -23075,6 +24775,184 @@ $as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
   gl_module_indicator_condition=$gltests_WITNESS
 
 
+  if test "$ac_cv_header_winsock2_h" = yes; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS accept.$ac_objext"
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_ACCEPT" != 1; then
+        if test "$GNULIB_ACCEPT" = 0; then
+      GNULIB_ACCEPT=$gl_module_indicator_condition
+    else
+      GNULIB_ACCEPT="($GNULIB_ACCEPT || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_ACCEPT 1" >>confdefs.h
+
+
+
+
+
+
+
+  if test $ac_cv_header_arpa_inet_h = yes; then
+    HAVE_ARPA_INET_H=1
+  else
+    HAVE_ARPA_INET_H=0
+  fi
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_arpa_inet_h='<'arpa/inet.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <arpa/inet.h>" >&5
+$as_echo_n "checking absolute name of <arpa/inet.h>... " >&6; }
+if ${gl_cv_next_arpa_inet_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+             if test $ac_cv_header_arpa_inet_h = yes; then
+
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <arpa/inet.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'arpa/inet.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_arpa_inet_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+           gl_header=$gl_cv_absolute_arpa_inet_h
+           gl_cv_next_arpa_inet_h='"'$gl_header'"'
+          else
+               gl_cv_next_arpa_inet_h='<'arpa/inet.h'>'
+             fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_arpa_inet_h" >&5
+$as_echo "$gl_cv_next_arpa_inet_h" >&6; }
+     fi
+     NEXT_ARPA_INET_H=$gl_cv_next_arpa_inet_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'arpa/inet.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_arpa_inet_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+
+
+  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
+
+
+
+
+
+
+
+
+
+  if test "$ac_cv_header_winsock2_h" = yes; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS bind.$ac_objext"
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_BIND" != 1; then
+        if test "$GNULIB_BIND" = 0; then
+      GNULIB_BIND=$gl_module_indicator_condition
+    else
+      GNULIB_BIND="($GNULIB_BIND || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_BIND 1" >>confdefs.h
+
+
+
+
 
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
@@ -23096,8 +24974,14 @@ else
 struct tm t;
 char buf[16];
 int main () {
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -23105,9 +24989,9 @@ int main () {
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -23116,32 +25000,33 @@ int main () {
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether in the abbreviation of the second month, the second
      character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
+# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
+# endif
   return 0;
+#endif
 }
 
 _ACEOF
@@ -23235,7 +25120,7 @@ int main () {
      variables, and all locales use the UTF-8 encoding.  */
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -23359,8 +25244,14 @@ else
 struct tm t;
 char buf[16];
 int main () {
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -23368,9 +25259,9 @@ int main () {
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -23379,32 +25270,33 @@ int main () {
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether in the abbreviation of the second month, the second
      character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
+# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
+# endif
   return 0;
+#endif
 }
 
 _ACEOF
@@ -23500,7 +25392,7 @@ int main () {
      implement the Turkish upper-/lowercase mappings.  Therefore, let this
      program return 1 on BeOS.  */
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+#if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -23604,6 +25496,124 @@ $as_echo "$gt_cv_locale_tr_utf8" >&6; }
 
 
 
+$as_echo "#define GNULIB_TEST_CLOEXEC 1" >>confdefs.h
+
+
+
+  if test "$ac_cv_header_winsock2_h" = yes; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS connect.$ac_objext"
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_CONNECT" != 1; then
+        if test "$GNULIB_CONNECT" = 0; then
+      GNULIB_CONNECT=$gl_module_indicator_condition
+    else
+      GNULIB_CONNECT="($GNULIB_CONNECT || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_CONNECT 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_ctype_h='<'ctype.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <ctype.h>" >&5
+$as_echo_n "checking absolute name of <ctype.h>... " >&6; }
+if ${gl_cv_next_ctype_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'ctype.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_ctype_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+           gl_header=$gl_cv_absolute_ctype_h
+           gl_cv_next_ctype_h='"'$gl_header'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_ctype_h" >&5
+$as_echo "$gl_cv_next_ctype_h" >&6; }
+     fi
+     NEXT_CTYPE_H=$gl_cv_next_ctype_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'ctype.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_ctype_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_CTYPE_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+
+
+
+
 
 
 
@@ -23622,49 +25632,78 @@ else
              gl_cv_func_dup2_works="guessing no" ;;
            cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
              gl_cv_func_dup2_works="guessing no" ;;
-           linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
-                   # closed fd may yield -EBADF instead of -1 / errno=EBADF.
-             gl_cv_func_dup2_works="guessing no" ;;
-           freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF.
+           aix* | freebsd*)
+                   # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE,
+                   # not EBADF.
              gl_cv_func_dup2_works="guessing no" ;;
            haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
              gl_cv_func_dup2_works="guessing no" ;;
+           *-android*) # implemented using dup3(), which fails if oldfd == newfd
+             gl_cv_func_dup2_works="guessing no" ;;
+           os2*) # on OS/2 kLIBC, dup2() does not work on a directory fd.
+             gl_cv_func_dup2_works="guessing no" ;;
            *) gl_cv_func_dup2_works="guessing yes" ;;
          esac
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-         #include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
+         #include <errno.h>
+             #include <fcntl.h>
+             #include <limits.h>
+             #include <sys/resource.h>
+             #include <unistd.h>
+             #ifndef RLIM_SAVED_CUR
+             # define RLIM_SAVED_CUR RLIM_INFINITY
+             #endif
+             #ifndef RLIM_SAVED_MAX
+             # define RLIM_SAVED_MAX RLIM_INFINITY
+             #endif
+
 int
 main ()
 {
 int result = 0;
-#ifdef FD_CLOEXEC
-            if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
-              result |= 1;
-#endif
-            if (dup2 (1, 1) == 0)
-              result |= 2;
-#ifdef FD_CLOEXEC
-            if (fcntl (1, F_GETFD) != FD_CLOEXEC)
-              result |= 4;
-#endif
-            close (0);
-            if (dup2 (0, 0) != -1)
-              result |= 8;
-            /* Many gnulib modules require POSIX conformance of EBADF.  */
-            if (dup2 (2, 1000000) == -1 && errno != EBADF)
-              result |= 16;
-            /* Flush out some cygwin core dumps.  */
-            if (dup2 (2, -1) != -1 || errno != EBADF)
-              result |= 32;
-            dup2 (2, 255);
-            dup2 (2, 256);
-            return result;
+             int bad_fd = INT_MAX;
+             struct rlimit rlim;
+             if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+                 && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+                 && rlim.rlim_cur != RLIM_INFINITY
+                 && rlim.rlim_cur != RLIM_SAVED_MAX
+                 && rlim.rlim_cur != RLIM_SAVED_CUR)
+               bad_fd = rlim.rlim_cur;
+             #ifdef FD_CLOEXEC
+               if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
+                 result |= 1;
+             #endif
+             if (dup2 (1, 1) != 1)
+               result |= 2;
+             #ifdef FD_CLOEXEC
+               if (fcntl (1, F_GETFD) != FD_CLOEXEC)
+                 result |= 4;
+             #endif
+             close (0);
+             if (dup2 (0, 0) != -1)
+               result |= 8;
+             /* Many gnulib modules require POSIX conformance of EBADF.  */
+             if (dup2 (2, bad_fd) == -1 && errno != EBADF)
+               result |= 16;
+             /* Flush out some cygwin core dumps.  */
+             if (dup2 (2, -1) != -1 || errno != EBADF)
+               result |= 32;
+             dup2 (2, 255);
+             dup2 (2, 256);
+             /* On OS/2 kLIBC, dup2() does not work on a directory fd.  */
+             {
+               int fd = open (".", O_RDONLY);
+               if (fd == -1)
+                 result |= 64;
+               else if (dup2 (fd, fd + 1) == -1)
+                 result |= 128;
 
+               close (fd);
+             }
+             return result;
   ;
   return 0;
 }
@@ -23762,9 +25801,213 @@ $as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h
 
 
 
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_FDOPEN=1
+
+
+  if test $ac_cv_func_fcntl = no; then
+
+
+
+  if test $ac_cv_func_fcntl = no; then
+    HAVE_FCNTL=0
+  else
+    REPLACE_FCNTL=1
+  fi
+
+  else
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl handles F_DUPFD correctly" >&5
+$as_echo_n "checking whether fcntl handles F_DUPFD correctly... " >&6; }
+if ${gl_cv_func_fcntl_f_dupfd_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  case $host_os in
+            aix* | cygwin* | haiku*)
+               gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
+            *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
+          esac
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <errno.h>
+              #include <fcntl.h>
+              #include <limits.h>
+              #include <sys/resource.h>
+              #include <unistd.h>
+              #ifndef RLIM_SAVED_CUR
+              # define RLIM_SAVED_CUR RLIM_INFINITY
+              #endif
+              #ifndef RLIM_SAVED_MAX
+              # define RLIM_SAVED_MAX RLIM_INFINITY
+              #endif
+
+int
+main ()
+{
+int result = 0;
+              int bad_fd = INT_MAX;
+              struct rlimit rlim;
+              if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+                  && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+                  && rlim.rlim_cur != RLIM_INFINITY
+                  && rlim.rlim_cur != RLIM_SAVED_MAX
+                  && rlim.rlim_cur != RLIM_SAVED_CUR)
+                bad_fd = rlim.rlim_cur;
+              if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
+              if (errno != EINVAL) result |= 2;
+              if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
+              if (errno != EINVAL) result |= 8;
+              /* On OS/2 kLIBC, F_DUPFD does not work on a directory fd */
+              {
+                int fd;
+                fd = open (".", O_RDONLY);
+                if (fd == -1)
+                  result |= 16;
+                else if (fcntl (fd, F_DUPFD, STDERR_FILENO + 1) == -1)
+                  result |= 32;
+
+                close (fd);
+              }
+              return result;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_fcntl_f_dupfd_works=yes
+else
+  gl_cv_func_fcntl_f_dupfd_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
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_works" >&5
+$as_echo "$gl_cv_func_fcntl_f_dupfd_works" >&6; }
+    case $gl_cv_func_fcntl_f_dupfd_works in
+      *yes) ;;
+      *)
+
+
+  if test $ac_cv_func_fcntl = no; then
+    HAVE_FCNTL=0
+  else
+    REPLACE_FCNTL=1
+  fi
+
+
+$as_echo "#define FCNTL_DUPFD_BUGGY 1" >>confdefs.h
+ ;;
+    esac
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl understands F_DUPFD_CLOEXEC" >&5
+$as_echo_n "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; }
+if ${gl_cv_func_fcntl_f_dupfd_cloexec+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <fcntl.h>
+#ifndef F_DUPFD_CLOEXEC
+choke me
+#endif
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef __linux__
+/* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace
+   it to support the semantics on older kernels that failed with EINVAL.  */
+choke me
+#endif
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_func_fcntl_f_dupfd_cloexec=yes
+else
+  gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  gl_cv_func_fcntl_f_dupfd_cloexec=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5
+$as_echo "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; }
+    if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then
+
+
+
+  if test $ac_cv_func_fcntl = no; then
+    HAVE_FCNTL=0
   else
+    REPLACE_FCNTL=1
+  fi
+
+          fi
+  fi
+
+
+  if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS fcntl.$ac_objext"
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_FCNTL" != 1; then
+        if test "$GNULIB_FCNTL" = 0; then
+      GNULIB_FCNTL=$gl_module_indicator_condition
+    else
+      GNULIB_FCNTL="($GNULIB_FCNTL || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_FCNTL 1" >>confdefs.h
+
+
+
+
+
+
+
+    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+      REPLACE_FDOPEN=1
+    fi
+
+  if test $REPLACE_FDOPEN = 0; then
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fdopen sets errno" >&5
 $as_echo_n "checking whether fdopen sets errno... " >&6; }
 if ${gl_cv_func_fdopen_works+:} false; then :
@@ -23847,6 +26090,115 @@ $as_echo "#define GNULIB_TEST_FDOPEN 1" >>confdefs.h
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for flexible array member" >&5
+$as_echo_n "checking for flexible array member... " >&6; }
+if ${ac_cv_c_flexmember+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+            #include <stdio.h>
+            #include <stddef.h>
+            struct m { struct m *next, **list; char name[]; };
+            struct s { struct s *p; struct m *m; int n; double d[]; };
+int
+main ()
+{
+int m = getchar ();
+            size_t nbytes = offsetof (struct s, d) + m * sizeof (double);
+            nbytes += sizeof (struct s) - 1;
+            nbytes -= nbytes % sizeof (struct s);
+            struct s *p = malloc (nbytes);
+            p->p = p;
+            p->m = NULL;
+            p->d[0] = 0.0;
+            return p->d != (double *) NULL;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_flexmember=yes
+else
+  ac_cv_c_flexmember=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_flexmember" >&5
+$as_echo "$ac_cv_c_flexmember" >&6; }
+  if test $ac_cv_c_flexmember = yes; then
+
+$as_echo "#define FLEXIBLE_ARRAY_MEMBER /**/" >>confdefs.h
+
+  else
+    $as_echo "#define FLEXIBLE_ARRAY_MEMBER 1" >>confdefs.h
+
+  fi
+
+
+
+
+  if test $ac_cv_func_ftruncate = yes; then
+
+
+      case "$host_os" in
+        mingw*)
+                                                                      REPLACE_FTRUNCATE=1
+          ;;
+      esac
+
+  else
+    HAVE_FTRUNCATE=0
+  fi
+
+  if test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS ftruncate.$ac_objext"
+
+
+  for ac_func in chsize
+do :
+  ac_fn_c_check_func "$LINENO" "chsize" "ac_cv_func_chsize"
+if test "x$ac_cv_func_chsize" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_CHSIZE 1
+_ACEOF
+
+fi
+done
+
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_FTRUNCATE" != 1; then
+        if test "$GNULIB_FTRUNCATE" = 0; then
+      GNULIB_FTRUNCATE=$gl_module_indicator_condition
+    else
+      GNULIB_FTRUNCATE="($GNULIB_FTRUNCATE || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_FTRUNCATE 1" >>confdefs.h
+
+
+
+
 
 
 
@@ -23895,34 +26247,37 @@ $as_echo "#define GNULIB_TEST_GETCWD 1" >>confdefs.h
 
 
 
-  if test $ac_cv_func_getdtablesize = yes; then
-    # Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit
-    # up to an unchangeable hard limit; all other platforms correctly
-    # require setrlimit before getdtablesize() can report a larger value.
+
+  if test $ac_cv_func_getdtablesize = yes &&
+     test $ac_cv_have_decl_getdtablesize = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getdtablesize works" >&5
 $as_echo_n "checking whether getdtablesize works... " >&6; }
 if ${gl_cv_func_getdtablesize_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test "$cross_compiling" = yes; then :
+                                                   case "$host_os" in
+         vms*) gl_cv_func_getdtablesize_works="no (limitation)" ;;
+         *)
+                                                       if test "$cross_compiling" = yes; then :
   case "$host_os" in
-          cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows
-            gl_cv_func_getdtablesize_works="guessing no" ;;
-          *) gl_cv_func_getdtablesize_works="guessing yes" ;;
-         esac
+                cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows
+                  gl_cv_func_getdtablesize_works="guessing no" ;;
+                *) gl_cv_func_getdtablesize_works="guessing yes" ;;
+              esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-        #include <unistd.h>
+             #include <unistd.h>
 int
 main ()
 {
 int size = getdtablesize();
-           if (dup2 (0, getdtablesize()) != -1)
-             return 1;
-           if (size != getdtablesize())
-             return 2;
+                if (dup2 (0, getdtablesize()) != -1)
+                  return 1;
+                if (size != getdtablesize())
+                  return 2;
 
   ;
   return 0;
@@ -23937,12 +26292,14 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
+           ;;
+       esac
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getdtablesize_works" >&5
 $as_echo "$gl_cv_func_getdtablesize_works" >&6; }
     case "$gl_cv_func_getdtablesize_works" in
-      *yes) ;;
+      *yes | "no (limitation)") ;;
       *) REPLACE_GETDTABLESIZE=1 ;;
     esac
   else
@@ -23986,18 +26343,37 @@ $as_echo "#define GNULIB_TEST_GETDTABLESIZE 1" >>confdefs.h
 
 
 
-  for ac_func in getpagesize
-do :
-  ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
-if test "x$ac_cv_func_getpagesize" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETPAGESIZE 1
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpagesize" >&5
+$as_echo_n "checking for getpagesize... " >&6; }
+if ${gl_cv_func_getpagesize+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <unistd.h>
+int
+main ()
+{
+return getpagesize();
+  ;
+  return 0;
+}
+
 _ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_func_getpagesize=yes
+else
+  gl_cv_func_getpagesize=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 
 fi
-done
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getpagesize" >&5
+$as_echo "$gl_cv_func_getpagesize" >&6; }
 
-  if test $ac_cv_func_getpagesize = no; then
+  if test $gl_cv_func_getpagesize = no; then
     HAVE_GETPAGESIZE=0
     for ac_header in OS.h
 do :
@@ -24080,92 +26456,704 @@ $as_echo "#define GNULIB_TEST_GETPAGESIZE 1" >>confdefs.h
 
 
 
-  for ac_func in setlocale uselocale
+
+
+
+                HAVE_INET_PTON=1
+  INET_PTON_LIB=
+
+
+
+
+  if test $ac_cv_header_sys_socket_h != yes; then
+                    for ac_header in winsock2.h
 do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define HAVE_WINSOCK2_H 1
 _ACEOF
 
 fi
-done
 
+done
 
+  fi
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    HAVE_WINSOCK2_H=1
+    UNISTD_H_HAVE_WINSOCK2_H=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+  else
+    HAVE_WINSOCK2_H=0
+  fi
 
 
+  if test $HAVE_WINSOCK2_H = 1; then
+                    REPLACE_INET_PTON=1
+    ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include <ws2tcpip.h>
+"
+if test "x$ac_cv_have_decl_inet_pton" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_INET_PTON $ac_have_decl
+_ACEOF
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
-if ${gt_cv_locale_fr+:} false; then :
+    if test $ac_cv_have_decl_inet_pton = yes; then
+      INET_PTON_LIB="-lws2_32"
+    else
+      HAVE_DECL_INET_PTON=0
+    fi
+  else
+    gl_save_LIBS=$LIBS
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_pton" >&5
+$as_echo_n "checking for library containing inet_pton... " >&6; }
+if ${ac_cv_search_inet_pton+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.
-     On MirBSD 10, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
-        || strcmp (cs, "UTF-8") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether in the abbreviation of the second month, the second
-     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
-     one byte long. This excludes the UTF-8 encoding.  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
-  /* Check whether the decimal separator is a comma.
-     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
-     are nl_langinfo(RADIXCHAR) are both ".".  */
-  if (localeconv () ->decimal_point[0] != ',') return 1;
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
 #endif
+char inet_pton ();
+int
+main ()
+{
+return inet_pton ();
+  ;
   return 0;
 }
+_ACEOF
+for ac_lib in '' nsl resolv network; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_inet_pton=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_inet_pton+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_inet_pton+:} false; then :
+
+else
+  ac_cv_search_inet_pton=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5
+$as_echo "$ac_cv_search_inet_pton" >&6; }
+ac_res=$ac_cv_search_inet_pton
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
+else
+  for ac_func in inet_pton
+do :
+  ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton"
+if test "x$ac_cv_func_inet_pton" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_INET_PTON 1
 _ACEOF
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+
+fi
+done
+
+       if test $ac_cv_func_inet_pton = no; then
+         HAVE_INET_PTON=0
+       fi
+
+fi
+
+    LIBS=$gl_save_LIBS
+
+    if test "$ac_cv_search_inet_pton" != "no" \
+       && test "$ac_cv_search_inet_pton" != "none required"; then
+      INET_PTON_LIB="$ac_cv_search_inet_pton"
+    fi
+
+
+    ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include <arpa/inet.h>
+        #if HAVE_NETDB_H
+        # include <netdb.h>
+        #endif
+
+"
+if test "x$ac_cv_have_decl_inet_pton" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_INET_PTON $ac_have_decl
+_ACEOF
+
+    if test $ac_cv_have_decl_inet_pton = no; then
+      HAVE_DECL_INET_PTON=0
+    fi
+  fi
+
+
+  if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_PTON = 1; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS inet_pton.$ac_objext"
+
+
+
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_INET_PTON" != 1; then
+        if test "$GNULIB_INET_PTON" = 0; then
+      GNULIB_INET_PTON=$gl_module_indicator_condition
+    else
+      GNULIB_INET_PTON="($GNULIB_INET_PTON || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_bigendian=unknown
+    # See if we're dealing with a universal compiler.
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __APPLE_CC__
+              not a universal capable compiler
+            #endif
+            typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+       # Check for potential -arch flags.  It is not universal unless
+       # there are at least two -arch flags with different values.
+       ac_arch=
+       ac_prev=
+       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+        if test -n "$ac_prev"; then
+          case $ac_word in
+            i?86 | x86_64 | ppc | ppc64)
+              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+                ac_arch=$ac_word
+              else
+                ac_cv_c_bigendian=universal
+                break
+              fi
+              ;;
+          esac
+          ac_prev=
+        elif test "x$ac_word" = "x-arch"; then
+          ac_prev=arch
+        fi
+       done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if sys/param.h defines the BYTE_ORDER macro.
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+            #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+                    && LITTLE_ENDIAN)
+             bogus endian macros
+            #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+               #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+                not big endian
+               #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+             bogus endian macros
+            #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to _BIG_ENDIAN or not.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+                not big endian
+               #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # Compile a test program.
+      if test "$cross_compiling" = yes; then :
+  # Try to guess by grepping values from an object file.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+short int ascii_mm[] =
+                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+               short int ascii_ii[] =
+                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+               int use_ascii (int i) {
+                 return ascii_mm[i] + ascii_ii[i];
+               }
+               short int ebcdic_ii[] =
+                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+               short int ebcdic_mm[] =
+                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+               int use_ebcdic (int i) {
+                 return ebcdic_mm[i] + ebcdic_ii[i];
+               }
+               extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+             ac_cv_c_bigendian=yes
+           fi
+           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+             if test "$ac_cv_c_bigendian" = unknown; then
+               ac_cv_c_bigendian=no
+             else
+               # finding both strings is unlikely to happen, but who knows?
+               ac_cv_c_bigendian=unknown
+             fi
+           fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+
+            /* Are we little or big endian?  From Harbison&Steele.  */
+            union
+            {
+              long int l;
+              char c[sizeof (long int)];
+            } u;
+            u.l = 1;
+            return u.c[sizeof (long int) - 1] == 1;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_c_bigendian=no
+else
+  ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+   yes)
+     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+   no)
+      ;; #(
+   universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+     ;; #(
+   *)
+     as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+
+
+
+  HAVE_IOCTL=1
+  if test "$ac_cv_header_winsock2_h" = yes; then
+                HAVE_IOCTL=0
+  else
+    for ac_func in ioctl
+do :
+  ac_fn_c_check_func "$LINENO" "ioctl" "ac_cv_func_ioctl"
+if test "x$ac_cv_func_ioctl" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_IOCTL 1
+_ACEOF
+
+fi
+done
+
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ioctl with POSIX signature" >&5
+$as_echo_n "checking for ioctl with POSIX signature... " >&6; }
+if ${gl_cv_func_ioctl_posix_signature+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/ioctl.h>
+              /* On some platforms, ioctl() is declared in <unistd.h>.  */
+              #include <unistd.h>
+
+int
+main ()
+{
+extern
+              #ifdef __cplusplus
+              "C"
+              #endif
+              int ioctl (int, int, ...);
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_func_ioctl_posix_signature=yes
+else
+  gl_cv_func_ioctl_posix_signature=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ioctl_posix_signature" >&5
+$as_echo "$gl_cv_func_ioctl_posix_signature" >&6; }
+    if test $gl_cv_func_ioctl_posix_signature != yes; then
+      REPLACE_IOCTL=1
+    fi
+  fi
+
+  if test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS ioctl.$ac_objext"
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_IOCTL" != 1; then
+        if test "$GNULIB_IOCTL" = 0; then
+      GNULIB_IOCTL=$gl_module_indicator_condition
+    else
+      GNULIB_IOCTL="($GNULIB_IOCTL || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_IOCTL 1" >>confdefs.h
+
+
+
+
+
+
+
+
+  if test $ac_cv_func_isblank = no; then
+    HAVE_ISBLANK=0
+  fi
+
+  if test $HAVE_ISBLANK = 0; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS isblank.$ac_objext"
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_ISBLANK" != 1; then
+        if test "$GNULIB_ISBLANK" = 0; then
+      GNULIB_ISBLANK=$gl_module_indicator_condition
+    else
+      GNULIB_ISBLANK="($GNULIB_ISBLANK || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+  if test "$ac_cv_header_winsock2_h" = yes; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS listen.$ac_objext"
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_LISTEN" != 1; then
+        if test "$GNULIB_LISTEN" = 0; then
+      GNULIB_LISTEN=$gl_module_indicator_condition
+    else
+      GNULIB_LISTEN="($GNULIB_LISTEN || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_LISTEN 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+  if test $ac_cv_func_newlocale != yes; then
+    HAVE_NEWLOCALE=0
+  fi
+  if test $ac_cv_func_duplocale != yes; then
+    HAVE_DUPLOCALE=0
+  fi
+  if test $ac_cv_func_freelocale != yes; then
+    HAVE_FREELOCALE=0
+  fi
+  if test $gt_nameless_locales = yes; then
+    REPLACE_NEWLOCALE=1
+    REPLACE_DUPLOCALE=1
+    REPLACE_FREELOCALE=1
+  fi
+
+
+
+
+
+
+    if test "$GNULIB_LOCALENAME" != 1; then
+        if test "$GNULIB_LOCALENAME" = 0; then
+      GNULIB_LOCALENAME=$gl_module_indicator_condition
+    else
+      GNULIB_LOCALENAME="($GNULIB_LOCALENAME || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_LOCALENAME 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+$as_echo_n "checking for a traditional french locale... " >&6; }
+if ${gt_cv_locale_fr+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
+  /* Check whether the given locale name is recognized by the system.  */
+# if defined _WIN32 && !defined __CYGWIN__
+  /* On native Windows, setlocale(category, "") looks at the system settings,
+     not at the environment variables.  Also, when an encoding suffix such
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+     category of the locale to "C".  */
+  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+    return 1;
+# else
+  if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+     some unit tests fail.
+     On MirBSD 10, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
+# if HAVE_LANGINFO_CODESET
+  {
+    const char *cs = nl_langinfo (CODESET);
+    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+        || strcmp (cs, "UTF-8") == 0)
+      return 1;
+  }
+# endif
+# ifdef __CYGWIN__
+  /* On Cygwin, avoid locale names without encoding suffix, because the
+     locale_charset() function relies on the encoding suffix.  Note that
+     LC_ALL is set on the command line.  */
+  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+  /* Check whether in the abbreviation of the second month, the second
+     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
+     one byte long. This excludes the UTF-8 encoding.  */
+  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+  if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
+  /* Check whether the decimal separator is a comma.
+     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+     are nl_langinfo(RADIXCHAR) are both ".".  */
+  if (localeconv () ->decimal_point[0] != ',') return 1;
+# endif
+  return 0;
+#endif
+}
+
+_ACEOF
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
@@ -24255,7 +27243,7 @@ int main () {
      variables, and all locales use the UTF-8 encoding.  */
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -24380,9 +27368,14 @@ struct tm t;
 char buf[16];
 int main ()
 {
-  const char *p;
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -24390,9 +27383,9 @@ int main ()
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -24401,32 +27394,36 @@ int main ()
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether MB_CUR_MAX is > 1.  This excludes the dysfunctional locales
      on Cygwin 1.5.x.  */
   if (MB_CUR_MAX == 1)
     return 1;
   /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
      This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
+  {
+    const char *p;
+    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+    for (p = buf; *p != '\0'; p++)
+      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+        return 1;
+  }
   return 0;
+#endif
 }
 
 _ACEOF
@@ -24520,9 +27517,14 @@ struct tm t;
 char buf[16];
 int main ()
 {
-  const char *p;
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -24530,9 +27532,9 @@ int main ()
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -24541,32 +27543,36 @@ int main ()
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
      This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
+  {
+    const char *p;
+    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+    for (p = buf; *p != '\0'; p++)
+      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+        return 1;
+  }
   /* Check whether a typical GB18030 multibyte sequence is recognized as a
      single wide character.  This excludes the GB2312 and GBK encodings.  */
   if (mblen ("\203\062\332\066", 5) != 4)
     return 1;
   return 0;
+#endif
 }
 
 _ACEOF
@@ -24655,7 +27661,7 @@ int main () {
      variables, and all locales use the UTF-8 encoding.  */
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -24760,6 +27766,390 @@ $as_echo "$gt_cv_locale_fr_utf8" >&6; }
 
 
 
+
+
+
+
+
+
+
+ nanosleep_save_libs=$LIBS
+
+ # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
+ # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
+ LIB_NANOSLEEP=
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5
+$as_echo_n "checking for library containing nanosleep... " >&6; }
+if ${ac_cv_search_nanosleep+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char nanosleep ();
+int
+main ()
+{
+return nanosleep ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' rt posix4; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_nanosleep=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_nanosleep+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_nanosleep+:} false; then :
+
+else
+  ac_cv_search_nanosleep=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5
+$as_echo "$ac_cv_search_nanosleep" >&6; }
+ac_res=$ac_cv_search_nanosleep
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+  test "$ac_cv_search_nanosleep" = "none required" ||
+                 LIB_NANOSLEEP=$ac_cv_search_nanosleep
+fi
+
+ if test "x$ac_cv_search_nanosleep" != xno; then
+
+
+   if test $APPLE_UNIVERSAL_BUILD = 1; then
+     # A universal build on Apple Mac OS X platforms.
+     # The test result would be 'no (mishandles large arguments)' in 64-bit
+     # mode but 'yes' in 32-bit mode. But we need a configuration result that
+     # is valid in both modes.
+     gl_cv_func_nanosleep='no (mishandles large arguments)'
+   fi
+
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working nanosleep" >&5
+$as_echo_n "checking for working nanosleep... " >&6; }
+if ${gl_cv_func_nanosleep+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+     if test "$cross_compiling" = yes; then :
+  case "$host_os" in           linux*) # Guess it halfway works when the kernel is Linux.
+            gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;;
+          mingw*) # Guess no on native Windows.
+            gl_cv_func_nanosleep='guessing no' ;;
+          *)      # If we don't know, assume the worst.
+            gl_cv_func_nanosleep='guessing no' ;;
+        esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+          #include <errno.h>
+          #include <limits.h>
+          #include <signal.h>
+          #if HAVE_SYS_TIME_H
+           #include <sys/time.h>
+          #endif
+          #include <time.h>
+          #include <unistd.h>
+          #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
+          #define TYPE_MAXIMUM(t) \
+            ((t) (! TYPE_SIGNED (t) \
+                  ? (t) -1 \
+                  : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+
+          #if HAVE_DECL_ALARM
+          static void
+          check_for_SIGALRM (int sig)
+          {
+            if (sig != SIGALRM)
+              _exit (1);
+          }
+          #endif
+
+          int
+          main ()
+          {
+            static struct timespec ts_sleep;
+            static struct timespec ts_remaining;
+            /* Test for major problems first.  */
+            if (! nanosleep)
+              return 2;
+            ts_sleep.tv_sec = 0;
+            ts_sleep.tv_nsec = 1;
+            #if HAVE_DECL_ALARM
+            {
+              static struct sigaction act;
+              act.sa_handler = check_for_SIGALRM;
+              sigemptyset (&act.sa_mask);
+              sigaction (SIGALRM, &act, NULL);
+              alarm (1);
+              if (nanosleep (&ts_sleep, NULL) != 0)
+                return 3;
+              /* Test for a minor problem: the handling of large arguments.  */
+              ts_sleep.tv_sec = TYPE_MAXIMUM (time_t);
+              ts_sleep.tv_nsec = 999999999;
+              alarm (1);
+              if (nanosleep (&ts_sleep, &ts_remaining) != -1)
+                return 4;
+              if (errno != EINTR)
+                return 5;
+              if (ts_remaining.tv_sec <= TYPE_MAXIMUM (time_t) - 10)
+                return 6;
+            }
+            #else /* A simpler test for native Windows.  */
+            if (nanosleep (&ts_sleep, &ts_remaining) < 0)
+              return 3;
+            #endif
+            return 0;
+          }
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_nanosleep=yes
+else
+  case $? in         4|5|6) gl_cv_func_nanosleep='no (mishandles large arguments)';;         *)   gl_cv_func_nanosleep=no;;
+        esac
+fi
+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_nanosleep" >&5
+$as_echo "$gl_cv_func_nanosleep" >&6; }
+   case "$gl_cv_func_nanosleep" in
+     *yes)
+       REPLACE_NANOSLEEP=0
+       ;;
+     *)
+       REPLACE_NANOSLEEP=1
+       case "$gl_cv_func_nanosleep" in
+         *"mishandles large arguments"*)
+
+$as_echo "#define HAVE_BUG_BIG_NANOSLEEP 1" >>confdefs.h
+
+           ;;
+         *)
+           # The replacement uses select(). Add $LIBSOCKET to $LIB_NANOSLEEP.
+           for ac_lib in $LIBSOCKET; do
+             case " $LIB_NANOSLEEP " in
+               *" $ac_lib "*) ;;
+               *) LIB_NANOSLEEP="$LIB_NANOSLEEP $ac_lib";;
+             esac
+           done
+           ;;
+       esac
+       ;;
+   esac
+ else
+   HAVE_NANOSLEEP=0
+ fi
+ LIBS=$nanosleep_save_libs
+
+  if test $HAVE_NANOSLEEP = 0 || test $REPLACE_NANOSLEEP = 1; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS nanosleep.$ac_objext"
+
+
+
+  :
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_NANOSLEEP" != 1; then
+        if test "$GNULIB_NANOSLEEP" = 0; then
+      GNULIB_NANOSLEEP=$gl_module_indicator_condition
+    else
+      GNULIB_NANOSLEEP="($GNULIB_NANOSLEEP || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_NANOSLEEP 1" >>confdefs.h
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <netinet/in.h> is self-contained" >&5
+$as_echo_n "checking whether <netinet/in.h> is self-contained... " >&6; }
+if ${gl_cv_header_netinet_in_h_selfcontained+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <netinet/in.h>
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_netinet_in_h_selfcontained=yes
+else
+  gl_cv_header_netinet_in_h_selfcontained=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_netinet_in_h_selfcontained" >&5
+$as_echo "$gl_cv_header_netinet_in_h_selfcontained" >&6; }
+  if test $gl_cv_header_netinet_in_h_selfcontained = yes; then
+    NETINET_IN_H=''
+  else
+    NETINET_IN_H='netinet/in.h'
+    for ac_header in netinet/in.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default"
+if test "x$ac_cv_header_netinet_in_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_NETINET_IN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_netinet_in_h='<'netinet/in.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <netinet/in.h>" >&5
+$as_echo_n "checking absolute name of <netinet/in.h>... " >&6; }
+if ${gl_cv_next_netinet_in_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+             if test $ac_cv_header_netinet_in_h = yes; then
+
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <netinet/in.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'netinet/in.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_netinet_in_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+           gl_header=$gl_cv_absolute_netinet_in_h
+           gl_cv_next_netinet_in_h='"'$gl_header'"'
+          else
+               gl_cv_next_netinet_in_h='<'netinet/in.h'>'
+             fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netinet_in_h" >&5
+$as_echo "$gl_cv_next_netinet_in_h" >&6; }
+     fi
+     NEXT_NETINET_IN_H=$gl_cv_next_netinet_in_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'netinet/in.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_netinet_in_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H=$gl_next_as_first_directive
+
+
+
+
+    if test $ac_cv_header_netinet_in_h = yes; then
+      HAVE_NETINET_IN_H=1
+    else
+      HAVE_NETINET_IN_H=0
+    fi
+
+  fi
+
+   if test -n "$NETINET_IN_H"; then
+  GL_GENERATE_NETINET_IN_H_TRUE=
+  GL_GENERATE_NETINET_IN_H_FALSE='#'
+else
+  GL_GENERATE_NETINET_IN_H_TRUE='#'
+  GL_GENERATE_NETINET_IN_H_FALSE=
+fi
+
+
+
+
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
 $as_echo_n "checking for a traditional french locale... " >&6; }
 if ${gt_cv_locale_fr+:} false; then :
@@ -24779,8 +28169,14 @@ else
 struct tm t;
 char buf[16];
 int main () {
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -24788,9 +28184,9 @@ int main () {
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -24799,32 +28195,33 @@ int main () {
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether in the abbreviation of the second month, the second
      character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
+# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
+# endif
   return 0;
+#endif
 }
 
 _ACEOF
@@ -24918,7 +28315,7 @@ int main () {
      variables, and all locales use the UTF-8 encoding.  */
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -25022,12 +28419,16 @@ $as_echo "$gt_cv_locale_fr_utf8" >&6; }
 
 
 
+
   case "$host_os" in
     mingw* | pw*)
       REPLACE_OPEN=1
       ;;
     *)
 
+      if test "$gl_cv_macro_O_CLOEXEC" != yes; then
+        REPLACE_OPEN=1
+      fi
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5
 $as_echo_n "checking whether open recognizes a trailing slash... " >&6; }
 if ${gl_cv_func_open_slash+:} false; then :
@@ -25132,64 +28533,63 @@ $as_echo "#define GNULIB_TEST_OPEN 1" >>confdefs.h
 
 
 
-  for ac_func in getppriv
-do :
-  ac_fn_c_check_func "$LINENO" "getppriv" "ac_cv_func_getppriv"
-if test "x$ac_cv_func_getppriv" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETPPRIV 1
-_ACEOF
-
-fi
-done
-
 
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5
-$as_echo_n "checking for putenv compatible with GNU and SVID... " >&6; }
-if ${gl_cv_func_svid_putenv+:} false; then :
+             if test "$ERRNO_H:$REPLACE_STRERROR_0" != :0; then
+            REPLACE_PERROR=1
+  fi
+  case ${gl_cv_func_strerror_r_works-unset} in
+    unset|*yes)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether perror matches strerror" >&5
+$as_echo_n "checking whether perror matches strerror... " >&6; }
+if ${gl_cv_func_perror_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-               case "$host_os" in
-                        # Guess yes on glibc systems.
-                *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
-                        # If we don't know, assume the worst.
-                *)      gl_cv_func_svid_putenv="guessing no" ;;
-              esac
+  case "$host_os" in
+                       # Guess yes on musl systems.
+              *-musl*) gl_cv_func_perror_works="guessing yes" ;;
+                       # Guess yes on native Windows.
+              mingw*)  gl_cv_func_perror_works="guessing yes" ;;
+                       # Otherwise guess no.
+              *)       gl_cv_func_perror_works="guessing no" ;;
+            esac
 
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
+#include <errno.h>
+                #include <stdio.h>
+                #include <stdlib.h>
+                #include <string.h>
+
 int
 main ()
 {
-
-    /* Put it in env.  */
-    if (putenv ("CONFTEST_putenv=val"))
-      return 1;
-
-    /* Try to remove it.  */
-    if (putenv ("CONFTEST_putenv"))
-      return 2;
-
-    /* Make sure it was deleted.  */
-    if (getenv ("CONFTEST_putenv") != 0)
-      return 3;
-
-    return 0;
+char *str = strerror (-1);
+                if (!getenv("CONFTEST_OUTPUT")) return 0;
+                if (!str) str = "";
+                puts (str);
+                errno = -1;
+                perror ("");
+                return 0;
 
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_svid_putenv=yes
+  if CONFTEST_OUTPUT=1 ./conftest$EXEEXT >conftest.txt1 2>conftest.txt2 \
+               && cmp conftest.txt1 conftest.txt2 >/dev/null; then
+              gl_cv_func_perror_works=yes
+            else
+              gl_cv_func_perror_works=no
+            fi
+            rm -rf conftest.txt1 conftest.txt2
 else
-  gl_cv_func_svid_putenv=no
+  gl_cv_func_perror_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}: result: $gl_cv_func_svid_putenv" >&5
-$as_echo "$gl_cv_func_svid_putenv" >&6; }
-  case "$gl_cv_func_svid_putenv" in
-    *yes) ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_perror_works" >&5
+$as_echo "$gl_cv_func_perror_works" >&6; }
+      case "$gl_cv_func_perror_works" in
+        *yes) ;;
+        *) REPLACE_PERROR=1 ;;
+      esac
+      ;;
     *)
-      REPLACE_PUTENV=1
+                  REPLACE_PERROR=1
       ;;
   esac
 
-  if test $REPLACE_PUTENV = 1; then
+  if test $REPLACE_PERROR = 1; then
 
 
 
@@ -25215,32 +28618,60 @@ $as_echo "$gl_cv_func_svid_putenv" >&6; }
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS putenv.$ac_objext"
+  gltests_LIBOBJS="$gltests_LIBOBJS perror.$ac_objext"
+
+  fi
 
 
-  ac_fn_c_check_decl "$LINENO" "_putenv" "ac_cv_have_decl__putenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl__putenv" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL__PUTENV $ac_have_decl
-_ACEOF
 
 
+    if test "$GNULIB_PERROR" != 1; then
+        if test "$GNULIB_PERROR" = 0; then
+      GNULIB_PERROR=$gl_module_indicator_condition
+    else
+      GNULIB_PERROR="($GNULIB_PERROR || $gl_module_indicator_condition)"
+    fi
   fi
 
 
 
 
 
-    if test "$GNULIB_PUTENV" != 1; then
-        if test "$GNULIB_PUTENV" = 0; then
-      GNULIB_PUTENV=$gl_module_indicator_condition
+$as_echo "#define GNULIB_TEST_PERROR 1" >>confdefs.h
+
+
+
+
+
+
+
+  if test $ac_cv_func_pipe != yes; then
+    HAVE_PIPE=0
+  fi
+
+  if test $HAVE_PIPE = 0; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS pipe.$ac_objext"
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_PIPE" != 1; then
+        if test "$GNULIB_PIPE" = 0; then
+      GNULIB_PIPE=$gl_module_indicator_condition
     else
-      GNULIB_PUTENV="($GNULIB_PUTENV || $gl_module_indicator_condition)"
+      GNULIB_PIPE="($GNULIB_PIPE || $gl_module_indicator_condition)"
     fi
   fi
 
@@ -25248,145 +28679,358 @@ _ACEOF
 
 
 
-$as_echo "#define GNULIB_TEST_PUTENV 1" >>confdefs.h
+$as_echo "#define GNULIB_TEST_PIPE 1" >>confdefs.h
 
 
 
 
+  for ac_func in getppriv
+do :
+  ac_fn_c_check_func "$LINENO" "getppriv" "ac_cv_func_getppriv"
+if test "x$ac_cv_func_getppriv" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_GETPPRIV 1
+_ACEOF
 
+fi
+done
 
-  # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it
-  # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is
-  # irrelevant for anonymous mappings.
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  gl_have_mmap=yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_pthread_h='<'pthread.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <pthread.h>" >&5
+$as_echo_n "checking absolute name of <pthread.h>... " >&6; }
+if ${gl_cv_next_pthread_h+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  gl_have_mmap=no
-fi
 
+             if test $ac_cv_header_pthread_h = yes; then
 
-  # Try to allow MAP_ANONYMOUS.
-  gl_have_mmap_anonymous=no
-  if test $gl_have_mmap = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5
-$as_echo_n "checking for MAP_ANONYMOUS... " >&6; }
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <sys/mman.h>
-#ifdef MAP_ANONYMOUS
-    I cannot identify this map
-#endif
 
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <pthread.h>
 _ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "I cannot identify this map" >/dev/null 2>&1; then :
-  gl_have_mmap_anonymous=yes
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'pthread.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_pthread_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+           gl_header=$gl_cv_absolute_pthread_h
+           gl_cv_next_pthread_h='"'$gl_header'"'
+          else
+               gl_cv_next_pthread_h='<'pthread.h'>'
+             fi
+
+
 fi
-rm -f conftest*
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_pthread_h" >&5
+$as_echo "$gl_cv_next_pthread_h" >&6; }
+     fi
+     NEXT_PTHREAD_H=$gl_cv_next_pthread_h
 
-    if test $gl_have_mmap_anonymous != yes; then
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'pthread.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_pthread_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H=$gl_next_as_first_directive
 
-#include <sys/mman.h>
-#ifdef MAP_ANON
-    I cannot identify this map
-#endif
 
+
+
+      if test $ac_cv_header_pthread_h = yes && test $gl_threads_api != windows; then
+    HAVE_PTHREAD_H=1
+  else
+    HAVE_PTHREAD_H=0
+  fi
+
+
+  ac_fn_c_check_type "$LINENO" "pthread_t" "ac_cv_type_pthread_t" "$ac_includes_default
+     #if HAVE_PTHREAD_H
+      #include <pthread.h>
+     #endif
+"
+if test "x$ac_cv_type_pthread_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_PTHREAD_T 1
 _ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "I cannot identify this map" >/dev/null 2>&1; then :
 
-$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h
 
-         gl_have_mmap_anonymous=yes
 fi
-rm -f conftest*
+ac_fn_c_check_type "$LINENO" "pthread_spinlock_t" "ac_cv_type_pthread_spinlock_t" "$ac_includes_default
+     #if HAVE_PTHREAD_H
+      #include <pthread.h>
+     #endif
+"
+if test "x$ac_cv_type_pthread_spinlock_t" = xyes; then :
 
-    fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5
-$as_echo "$gl_have_mmap_anonymous" >&6; }
-    if test $gl_have_mmap_anonymous = yes; then
+cat >>confdefs.h <<_ACEOF
+#define HAVE_PTHREAD_SPINLOCK_T 1
+_ACEOF
 
-$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h
 
-    fi
+fi
+
+  if test $ac_cv_type_pthread_t != yes; then
+    HAVE_PTHREAD_T=0
   fi
+  if test $ac_cv_type_pthread_spinlock_t != yes; then
+    HAVE_PTHREAD_SPINLOCK_T=0
+  fi
+
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_CREATE_DETACHED" >&5
+$as_echo_n "checking for PTHREAD_CREATE_DETACHED... " >&6; }
+if ${gl_cv_const_PTHREAD_CREATE_DETACHED+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <pthread.h>
+            int x = PTHREAD_CREATE_DETACHED;
 
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_const_PTHREAD_CREATE_DETACHED=yes
+else
+  gl_cv_const_PTHREAD_CREATE_DETACHED=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_CREATE_DETACHED" >&5
+$as_echo "$gl_cv_const_PTHREAD_CREATE_DETACHED" >&6; }
+  if test $gl_cv_const_PTHREAD_CREATE_DETACHED != yes; then
+    HAVE_PTHREAD_CREATE_DETACHED=0
+  fi
 
-     if test $ac_cv_func_setenv = no; then
-    HAVE_SETENV=0
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5
-$as_echo_n "checking whether setenv validates arguments... " >&6; }
-if ${gl_cv_func_setenv_works+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_MUTEX_RECURSIVE" >&5
+$as_echo_n "checking for PTHREAD_MUTEX_RECURSIVE... " >&6; }
+if ${gl_cv_const_PTHREAD_MUTEX_RECURSIVE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_setenv_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_setenv_works="guessing no" ;;
-       esac
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <pthread.h>
+            int x = PTHREAD_MUTEX_RECURSIVE;
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_const_PTHREAD_MUTEX_RECURSIVE=yes
+else
+  gl_cv_const_PTHREAD_MUTEX_RECURSIVE=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_MUTEX_RECURSIVE" >&5
+$as_echo "$gl_cv_const_PTHREAD_MUTEX_RECURSIVE" >&6; }
+  if test $gl_cv_const_PTHREAD_MUTEX_RECURSIVE != yes; then
+    HAVE_PTHREAD_MUTEX_RECURSIVE=0
+  fi
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_MUTEX_ROBUST" >&5
+$as_echo_n "checking for PTHREAD_MUTEX_ROBUST... " >&6; }
+if ${gl_cv_const_PTHREAD_MUTEX_ROBUST+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-       #include <stdlib.h>
-       #include <errno.h>
-       #include <string.h>
+#include <pthread.h>
+            int x = PTHREAD_MUTEX_ROBUST;
 
 int
 main ()
 {
 
-       int result = 0;
-       {
-         if (setenv ("", "", 0) != -1)
-           result |= 1;
-         else if (errno != EINVAL)
-           result |= 2;
-       }
-       {
-         if (setenv ("a", "=", 1) != 0)
-           result |= 4;
-         else if (strcmp (getenv ("a"), "=") != 0)
-           result |= 8;
-       }
-       return result;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_const_PTHREAD_MUTEX_ROBUST=yes
+else
+  gl_cv_const_PTHREAD_MUTEX_ROBUST=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_MUTEX_ROBUST" >&5
+$as_echo "$gl_cv_const_PTHREAD_MUTEX_ROBUST" >&6; }
+  if test $gl_cv_const_PTHREAD_MUTEX_ROBUST != yes; then
+    HAVE_PTHREAD_MUTEX_ROBUST=0
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PROCESS_SHARED" >&5
+$as_echo_n "checking for PTHREAD_PROCESS_SHARED... " >&6; }
+if ${gl_cv_const_PTHREAD_PROCESS_SHARED+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <pthread.h>
+            int x = PTHREAD_PROCESS_SHARED;
+
+int
+main ()
+{
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_setenv_works=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_const_PTHREAD_PROCESS_SHARED=yes
 else
-  gl_cv_func_setenv_works=no
+  gl_cv_const_PTHREAD_PROCESS_SHARED=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_PROCESS_SHARED" >&5
+$as_echo "$gl_cv_const_PTHREAD_PROCESS_SHARED" >&6; }
+  if test $gl_cv_const_PTHREAD_PROCESS_SHARED != yes; then
+    HAVE_PTHREAD_PROCESS_SHARED=0
+  fi
+
+
+
+
+
+
+
+    LIB_PTHREAD="$LIBMULTITHREAD"
+
+
+
+
+
 
+  if { case "$host_os" in mingw*) true;; *) false;; esac; } \
+     && test $gl_threads_api = windows; then
+            REPLACE_PTHREAD_CREATE=1
+    REPLACE_PTHREAD_ATTR_INIT=1
+    REPLACE_PTHREAD_ATTR_GETDETACHSTATE=1
+    REPLACE_PTHREAD_ATTR_SETDETACHSTATE=1
+    REPLACE_PTHREAD_ATTR_DESTROY=1
+    REPLACE_PTHREAD_SELF=1
+    REPLACE_PTHREAD_EQUAL=1
+    REPLACE_PTHREAD_DETACH=1
+    REPLACE_PTHREAD_JOIN=1
+    REPLACE_PTHREAD_EXIT=1
+  else
+    if test $HAVE_PTHREAD_H = 0; then
+      HAVE_PTHREAD_CREATE=0
+      HAVE_PTHREAD_ATTR_INIT=0
+      HAVE_PTHREAD_ATTR_GETDETACHSTATE=0
+      HAVE_PTHREAD_ATTR_SETDETACHSTATE=0
+      HAVE_PTHREAD_ATTR_DESTROY=0
+      HAVE_PTHREAD_SELF=0
+      HAVE_PTHREAD_EQUAL=0
+      HAVE_PTHREAD_DETACH=0
+      HAVE_PTHREAD_JOIN=0
+      HAVE_PTHREAD_EXIT=0
+    else
+                  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_create exists as a global function" >&5
+$as_echo_n "checking whether pthread_create exists as a global function... " >&6; }
+if ${gl_cv_func_pthread_create+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  saved_LIBS="$LIBS"
+         LIBS="$LIBS $LIBMULTITHREAD"
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+extern
+                #ifdef __cplusplus
+                "C"
+                #endif
+                int pthread_create (void);
+                int main ()
+                {
+                  return pthread_create ();
+                }
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_func_pthread_create=yes
+else
+  gl_cv_func_pthread_create=no
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5
-$as_echo "$gl_cv_func_setenv_works" >&6; }
-    case "$gl_cv_func_setenv_works" in
-      *yes) ;;
-      *)
-        REPLACE_SETENV=1
-        ;;
-    esac
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+         LIBS="$saved_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_create" >&5
+$as_echo "$gl_cv_func_pthread_create" >&6; }
+      if test $gl_cv_func_pthread_create = no; then
+        REPLACE_PTHREAD_CREATE=1
+        REPLACE_PTHREAD_ATTR_INIT=1
+
+$as_echo "#define PTHREAD_CREATE_IS_INLINE 1" >>confdefs.h
+
+      fi
+    fi
   fi
 
-  if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
+  if test $HAVE_PTHREAD_CREATE = 0 || test $REPLACE_PTHREAD_CREATE = 1; then
 
 
 
@@ -25395,7 +29039,7 @@ $as_echo "$gl_cv_func_setenv_works" >&6; }
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS setenv.$ac_objext"
+  gltests_LIBOBJS="$gltests_LIBOBJS pthread-thread.$ac_objext"
 
   fi
 
@@ -25403,11 +29047,11 @@ $as_echo "$gl_cv_func_setenv_works" >&6; }
 
 
 
-    if test "$GNULIB_SETENV" != 1; then
-        if test "$GNULIB_SETENV" = 0; then
-      GNULIB_SETENV=$gl_module_indicator_condition
+    if test "$GNULIB_PTHREAD_THREAD" != 1; then
+        if test "$GNULIB_PTHREAD_THREAD" = 0; then
+      GNULIB_PTHREAD_THREAD=$gl_module_indicator_condition
     else
-      GNULIB_SETENV="($GNULIB_SETENV || $gl_module_indicator_condition)"
+      GNULIB_PTHREAD_THREAD="($GNULIB_PTHREAD_THREAD || $gl_module_indicator_condition)"
     fi
   fi
 
@@ -25415,621 +29059,480 @@ $as_echo "$gl_cv_func_setenv_works" >&6; }
 
 
 
-$as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h
+$as_echo "#define GNULIB_TEST_PTHREAD_THREAD 1" >>confdefs.h
 
 
 
 
 
 
-  case "$host_os" in
-            mingw*) REPLACE_SETLOCALE=1 ;;
-            cygwin*)
-      case `uname -r` in
-        1.5.*) REPLACE_SETLOCALE=1 ;;
-      esac
-      ;;
-  esac
 
-  if test $REPLACE_SETLOCALE = 1; then
 
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_sigmask is a macro" >&5
+$as_echo_n "checking whether pthread_sigmask is a macro... " >&6; }
+if ${gl_cv_func_pthread_sigmask_macro+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <pthread.h>
+#include <signal.h>
+#ifdef pthread_sigmask
+ headers_define_pthread_sigmask
+#endif
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "headers_define_pthread_sigmask" >/dev/null 2>&1; then :
+  gl_cv_func_pthread_sigmask_macro=yes
+else
+  gl_cv_func_pthread_sigmask_macro=no
+fi
+rm -f conftest*
 
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_macro" >&5
+$as_echo "$gl_cv_func_pthread_sigmask_macro" >&6; }
 
+  LIB_PTHREAD_SIGMASK=
 
+  if test $gl_cv_func_pthread_sigmask_macro = yes; then
+        HAVE_PTHREAD_SIGMASK=0
+        REPLACE_PTHREAD_SIGMASK=1
+  else
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS setlocale.$ac_objext"
+      if test "$gl_threads_api" = posix; then
+        if test $ac_cv_func_pthread_sigmask = yes; then
+                    :
+        else
+          if test -n "$LIBMULTITHREAD"; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_sigmask in $LIBMULTITHREAD" >&5
+$as_echo_n "checking for pthread_sigmask in $LIBMULTITHREAD... " >&6; }
+if ${gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gl_save_LIBS="$LIBS"
+               LIBS="$LIBS $LIBMULTITHREAD"
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <pthread.h>
+                      #include <signal.h>
 
+int
+main ()
+{
+return pthread_sigmask (0, (sigset_t *) 0, (sigset_t *) 0);
+  ;
+  return 0;
+}
 
-  :
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes
+else
+  gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+               LIBS="$gl_save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD" >&5
+$as_echo "$gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD" >&6; }
+            if test $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD = yes; then
+                            LIB_PTHREAD_SIGMASK="$LIBMULTITHREAD"
+            else
+                            HAVE_PTHREAD_SIGMASK=0
+            fi
+          else
+                        HAVE_PTHREAD_SIGMASK=0
+          fi
+        fi
+      else
+                        if test $ac_cv_func_pthread_sigmask = yes; then
+          REPLACE_PTHREAD_SIGMASK=1
+        else
+          HAVE_PTHREAD_SIGMASK=0
+        fi
+      fi
 
   fi
 
 
 
+    if test $HAVE_PTHREAD_SIGMASK = 1; then
 
 
-    if test "$GNULIB_SETLOCALE" != 1; then
-        if test "$GNULIB_SETLOCALE" = 0; then
-      GNULIB_SETLOCALE=$gl_module_indicator_condition
-    else
-      GNULIB_SETLOCALE="($GNULIB_SETLOCALE || $gl_module_indicator_condition)"
-    fi
-  fi
+                if test -z "$LIB_PTHREAD_SIGMASK"; then
+      case " $LIBS " in
+        *' -pthread '*) ;;
+        *' -lpthread '*) ;;
+        *)
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_sigmask works without -lpthread" >&5
+$as_echo_n "checking whether pthread_sigmask works without -lpthread... " >&6; }
+if ${gl_cv_func_pthread_sigmask_in_libc_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+              if test "$cross_compiling" = yes; then :
+
+                                  case "$host_os" in
+                   freebsd* | hpux* | solaris | solaris2.[2-9]*)
+                     gl_cv_func_pthread_sigmask_in_libc_works="guessing no";;
+                   *)
+                     gl_cv_func_pthread_sigmask_in_libc_works="guessing yes";;
+                 esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+                   #include <pthread.h>
+                   #include <signal.h>
+                   #include <stddef.h>
+                   int main ()
+                   {
+                     sigset_t set;
+                     sigemptyset (&set);
+                     return pthread_sigmask (1729, &set, NULL) != 0;
+                   }
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_pthread_sigmask_in_libc_works=no
+else
+  gl_cv_func_pthread_sigmask_in_libc_works=yes
+fi
+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_pthread_sigmask_in_libc_works" >&5
+$as_echo "$gl_cv_func_pthread_sigmask_in_libc_works" >&6; }
+          case "$gl_cv_func_pthread_sigmask_in_libc_works" in
+            *no)
+              REPLACE_PTHREAD_SIGMASK=1
+
+$as_echo "#define PTHREAD_SIGMASK_INEFFECTIVE 1" >>confdefs.h
 
+              ;;
+          esac;;
+      esac
+    fi
 
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_sigmask returns error numbers" >&5
+$as_echo_n "checking whether pthread_sigmask returns error numbers... " >&6; }
+if ${gl_cv_func_pthread_sigmask_return_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-$as_echo "#define GNULIB_TEST_SETLOCALE 1" >>confdefs.h
+        gl_save_LIBS="$LIBS"
+        LIBS="$LIBS $LIB_PTHREAD_SIGMASK"
+        if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+             cygwin*)
+               gl_cv_func_pthread_sigmask_return_works="guessing no";;
+             *)
+               gl_cv_func_pthread_sigmask_return_works="guessing yes";;
+           esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <pthread.h>
+#include <signal.h>
+#include <stddef.h>
+int main ()
+{
+  sigset_t set;
+  sigemptyset (&set);
+  if (pthread_sigmask (1729, &set, NULL) == -1)
+    return 1;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_pthread_sigmask_return_works=yes
+else
+  gl_cv_func_pthread_sigmask_return_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
 
+        LIBS="$gl_save_LIBS"
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_return_works" >&5
+$as_echo "$gl_cv_func_pthread_sigmask_return_works" >&6; }
+    case "$gl_cv_func_pthread_sigmask_return_works" in
+      *no)
+        REPLACE_PTHREAD_SIGMASK=1
 
+$as_echo "#define PTHREAD_SIGMASK_FAILS_WITH_ERRNO 1" >>confdefs.h
 
+        ;;
+    esac
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
-if ${gt_cv_locale_fr+:} false; then :
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_sigmask unblocks signals correctly" >&5
+$as_echo_n "checking whether pthread_sigmask unblocks signals correctly... " >&6; }
+if ${gl_cv_func_pthread_sigmask_unblock_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+        case "$host_os" in
+          irix*)
+            gl_cv_func_pthread_sigmask_unblock_works="guessing no";;
+          *)
+            gl_cv_func_pthread_sigmask_unblock_works="guessing yes";;
+        esac
+                                         gl_save_LIBS=$LIBS
+           LIBS="$LIBS $LIBMULTITHREAD"
+        if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
+#include <pthread.h>
+#include <signal.h>
+#include <stdio.h>
 #include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+#include <unistd.h>
+static volatile int sigint_occurred;
+static void
+sigint_handler (int sig)
+{
+  sigint_occurred++;
+}
+int main ()
+{
+  sigset_t set;
+  int pid = getpid ();
+  char command[80];
+  signal (SIGINT, sigint_handler);
+  sigemptyset (&set);
+  sigaddset (&set, SIGINT);
+  if (!(pthread_sigmask (SIG_BLOCK, &set, NULL) == 0))
     return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.
-     On MirBSD 10, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
-        || strcmp (cs, "UTF-8") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether in the abbreviation of the second month, the second
-     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
-     one byte long. This excludes the UTF-8 encoding.  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
-  /* Check whether the decimal separator is a comma.
-     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
-     are nl_langinfo(RADIXCHAR) are both ".".  */
-  if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
+  sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid);
+  if (!(system (command) == 0))
+    return 2;
+  sleep (2);
+  if (!(sigint_occurred == 0))
+    return 3;
+  if (!(pthread_sigmask (SIG_UNBLOCK, &set, NULL) == 0))
+    return 4;
+  if (!(sigint_occurred == 1)) /* This fails on IRIX.  */
+    return 5;
   return 0;
 }
-
 _ACEOF
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Test for the native Windows locale name.
-          if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr=French_France.1252
-          else
-            # None found.
-            gt_cv_locale_fr=none
-          fi
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the usual locale name.
-          if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr=fr_FR
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_fr=fr_FR.ISO-8859-1
-            else
-              # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
-              if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                gt_cv_locale_fr=fr_FR.ISO8859-1
-              else
-                # Test for the HP-UX locale name.
-                if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                  gt_cv_locale_fr=fr_FR.iso88591
-                else
-                  # Test for the Solaris 7 locale name.
-                  if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                    gt_cv_locale_fr=fr
-                  else
-                    # None found.
-                    gt_cv_locale_fr=none
-                  fi
-                fi
-              fi
-            fi
-          fi
-          ;;
-      esac
-    fi
-    rm -fr conftest*
+if ac_fn_c_try_run "$LINENO"; then :
+  :
+else
+  gl_cv_func_pthread_sigmask_unblock_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
+
+        LIBS=$gl_save_LIBS
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
-  LOCALE_FR=$gt_cv_locale_fr
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_unblock_works" >&5
+$as_echo "$gl_cv_func_pthread_sigmask_unblock_works" >&6; }
+    case "$gl_cv_func_pthread_sigmask_unblock_works" in
+      *no)
+        REPLACE_PTHREAD_SIGMASK=1
 
+$as_echo "#define PTHREAD_SIGMASK_UNBLOCK_BUG 1" >>confdefs.h
 
+        ;;
+    esac
+  fi
 
+  if test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1; then
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-$as_echo_n "checking for a french Unicode locale... " >&6; }
-if ${gt_cv_locale_fr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
-  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
-     imitates locale dependent behaviour by looking at the environment
-     variables, and all locales use the UTF-8 encoding.  */
-#if !(defined __BEOS__ || defined __HAIKU__)
-  /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-# else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.  */
-# if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
-      return 1;
-  }
-# endif
-# ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
-  /* Check whether in the abbreviation of the second month, the second
-     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
-     two bytes long, with UTF-8 encoding.  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%b", &t) < 4
-      || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
-    return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
-  /* Check whether the decimal separator is a comma.
-     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
-     are nl_langinfo(RADIXCHAR) are both ".".  */
-  if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
-  return 0;
-}
 
-_ACEOF
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Test for the hypothetical native Windows locale name.
-          if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr_utf8=French_France.65001
-          else
-            # None found.
-            gt_cv_locale_fr_utf8=none
-          fi
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the usual locale name.
-          if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr_utf8=fr_FR
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_fr_utf8=fr_FR.UTF-8
-            else
-              # Test for the Solaris 7 locale name.
-              if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                gt_cv_locale_fr_utf8=fr.UTF-8
-              else
-                # None found.
-                gt_cv_locale_fr_utf8=none
-              fi
-            fi
-          fi
-          ;;
-      esac
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS pthread_sigmask.$ac_objext"
+
+
+  if test $HAVE_PTHREAD_SIGMASK = 1; then
+
+$as_echo "#define HAVE_PTHREAD_SIGMASK 1" >>confdefs.h
+
+  fi
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_PTHREAD_SIGMASK" != 1; then
+        if test "$GNULIB_PTHREAD_SIGMASK" = 0; then
+      GNULIB_PTHREAD_SIGMASK=$gl_module_indicator_condition
+    else
+      GNULIB_PTHREAD_SIGMASK="($GNULIB_PTHREAD_SIGMASK || $gl_module_indicator_condition)"
     fi
-    rm -fr conftest*
+  fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-$as_echo "$gt_cv_locale_fr_utf8" >&6; }
-  LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
 
 
+$as_echo "#define GNULIB_TEST_PTHREAD_SIGMASK 1" >>confdefs.h
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-$as_echo_n "checking for a traditional japanese locale... " >&6; }
-if ${gt_cv_locale_ja+:} false; then :
+
+
+
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5
+$as_echo_n "checking for putenv compatible with GNU and SVID... " >&6; }
+if ${gl_cv_func_svid_putenv+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+  if test "$cross_compiling" = yes; then :
+               case "$host_os" in
+                               # Guess yes on glibc systems.
+                *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
+                               # Guess yes on musl systems.
+                *-musl*)       gl_cv_func_svid_putenv="guessing yes" ;;
+                               # Guess no on native Windows.
+                mingw*)        gl_cv_func_svid_putenv="guessing no" ;;
+                               # If we don't know, assume the worst.
+                *)             gl_cv_func_svid_putenv="guessing no" ;;
+              esac
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
+$ac_includes_default
+int
+main ()
 {
-  const char *p;
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.
-     On MirBSD 10, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
-        || strcmp (cs, "UTF-8") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether MB_CUR_MAX is > 1.  This excludes the dysfunctional locales
-     on Cygwin 1.5.x.  */
-  if (MB_CUR_MAX == 1)
-    return 1;
-  /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
-     This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+
+    /* Put it in env.  */
+    if (putenv ("CONFTEST_putenv=val"))
       return 1;
+
+    /* Try to remove it.  */
+    if (putenv ("CONFTEST_putenv"))
+      return 2;
+
+    /* Make sure it was deleted.  */
+    if (getenv ("CONFTEST_putenv") != 0)
+      return 3;
+
+    return 0;
+
+  ;
   return 0;
 }
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_svid_putenv=yes
+else
+  gl_cv_func_svid_putenv=no
+fi
+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_svid_putenv" >&5
+$as_echo "$gl_cv_func_svid_putenv" >&6; }
+  case "$gl_cv_func_svid_putenv" in
+    *yes) ;;
+    *)
+      REPLACE_PUTENV=1
+      ;;
+  esac
+
+  if test $REPLACE_PUTENV = 1; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS putenv.$ac_objext"
+
+
+  ac_fn_c_check_decl "$LINENO" "_putenv" "ac_cv_have_decl__putenv" "$ac_includes_default"
+if test "x$ac_cv_have_decl__putenv" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL__PUTENV $ac_have_decl
 _ACEOF
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Note that on native Windows, the Japanese locale is
-          # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
-          # cannot use it here.
-          gt_cv_locale_ja=none
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the AIX locale name.
-          if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_ja=ja_JP
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_ja=ja_JP.EUC-JP
-            else
-              # Test for the HP-UX, OSF/1, NetBSD locale name.
-              if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                gt_cv_locale_ja=ja_JP.eucJP
-              else
-                # Test for the IRIX, FreeBSD locale name.
-                if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                  gt_cv_locale_ja=ja_JP.EUC
-                else
-                  # Test for the Solaris 7 locale name.
-                  if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                    gt_cv_locale_ja=ja
-                  else
-                    # Special test for NetBSD 1.6.
-                    if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
-                      gt_cv_locale_ja=ja_JP.eucJP
-                    else
-                      # None found.
-                      gt_cv_locale_ja=none
-                    fi
-                  fi
-                fi
-              fi
-            fi
-          fi
-          ;;
-      esac
+
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_PUTENV" != 1; then
+        if test "$GNULIB_PUTENV" = 0; then
+      GNULIB_PUTENV=$gl_module_indicator_condition
+    else
+      GNULIB_PUTENV="($GNULIB_PUTENV || $gl_module_indicator_condition)"
     fi
-    rm -fr conftest*
+  fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-$as_echo "$gt_cv_locale_ja" >&6; }
-  LOCALE_JA=$gt_cv_locale_ja
 
 
 
 
+$as_echo "#define GNULIB_TEST_PUTENV 1" >>confdefs.h
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-$as_echo_n "checking for a transitional chinese locale... " >&6; }
-if ${gt_cv_locale_zh_CN+:} false; then :
-  $as_echo_n "(cached) " >&6
+
+
+
+
+
+  # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it
+  # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is
+  # irrelevant for anonymous mappings.
+  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  gl_have_mmap=yes
 else
+  gl_have_mmap=no
+fi
 
+
+  # Try to allow MAP_ANONYMOUS.
+  gl_have_mmap_anonymous=no
+  if test $gl_have_mmap = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5
+$as_echo_n "checking for MAP_ANONYMOUS... " >&6; }
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <locale.h>
-#include <stdlib.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
-  const char *p;
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.
-     On MirBSD 10, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
-        || strcmp (cs, "UTF-8") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
-     This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
-  /* Check whether a typical GB18030 multibyte sequence is recognized as a
-     single wide character.  This excludes the GB2312 and GBK encodings.  */
-  if (mblen ("\203\062\332\066", 5) != 4)
-    return 1;
-  return 0;
-}
-
-_ACEOF
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Test for the hypothetical native Windows locale name.
-          if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_zh_CN=Chinese_China.54936
-          else
-            # None found.
-            gt_cv_locale_zh_CN=none
-          fi
-          ;;
-        solaris2.8)
-          # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
-          # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
-          # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
-          gt_cv_locale_zh_CN=none
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the locale name without encoding suffix.
-          if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_zh_CN=zh_CN
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_zh_CN=zh_CN.GB18030
-            else
-              # None found.
-              gt_cv_locale_zh_CN=none
-            fi
-          fi
-          ;;
-      esac
-    else
-      # If there was a link error, due to mblen(), the system is so old that
-      # it certainly doesn't have a chinese locale.
-      gt_cv_locale_zh_CN=none
-    fi
-    rm -fr conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-$as_echo "$gt_cv_locale_zh_CN" >&6; }
-  LOCALE_ZH_CN=$gt_cv_locale_zh_CN
-
-
-
-
-
-
-
-
-  # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it
-  # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is
-  # irrelevant for anonymous mappings.
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  gl_have_mmap=yes
-else
-  gl_have_mmap=no
-fi
-
-
-  # Try to allow MAP_ANONYMOUS.
-  gl_have_mmap_anonymous=no
-  if test $gl_have_mmap = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5
-$as_echo_n "checking for MAP_ANONYMOUS... " >&6; }
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <sys/mman.h>
-#ifdef MAP_ANONYMOUS
-    I cannot identify this map
+#include <sys/mman.h>
+#ifdef MAP_ANONYMOUS
+    I cannot identify this map
 #endif
 
 _ACEOF
@@ -26073,66 +29576,48 @@ $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h
 
 
 
-        if test $ac_cv_func_symlink = no; then
-    HAVE_SYMLINK=0
+  for ac_func in raise
+do :
+  ac_fn_c_check_func "$LINENO" "raise" "ac_cv_func_raise"
+if test "x$ac_cv_func_raise" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_RAISE 1
+_ACEOF
+
+fi
+done
+
+  if test $ac_cv_func_raise = no; then
+    HAVE_RAISE=0
   else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5
-$as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; }
-if ${gl_cv_func_symlink_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_symlink_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_symlink_works="guessing no" ;;
-          esac
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <unistd.h>
 
-int
-main ()
-{
-int result = 0;
-             if (!symlink ("a", "conftest.link/"))
-               result |= 1;
-             if (symlink ("conftest.f", "conftest.lnk2"))
-               result |= 2;
-             else if (!symlink ("a", "conftest.lnk2/"))
-               result |= 4;
-             return result;
+      if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+        REPLACE_RAISE=1
+      fi
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_symlink_works=yes
-else
-  gl_cv_func_symlink_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
 
-      rm -f conftest.f conftest.link conftest.lnk2
+
+
+
+  if test $gl_cv_type_sigset_t = yes; then
+    ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask"
+if test "x$ac_cv_func_sigprocmask" = xyes; then :
+  gl_cv_func_sigprocmask=1
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5
-$as_echo "$gl_cv_func_symlink_works" >&6; }
-    case "$gl_cv_func_symlink_works" in
-      *yes) ;;
-      *)
-        REPLACE_SYMLINK=1
-        ;;
-    esac
+
+  fi
+  if test -z "$gl_cv_func_sigprocmask"; then
+    HAVE_POSIX_SIGNALBLOCKING=0
   fi
 
-  if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
+      if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
+        :
+      fi
+
+  fi
 
+  if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then
 
 
 
@@ -26140,19 +29625,21 @@ $as_echo "$gl_cv_func_symlink_works" >&6; }
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS symlink.$ac_objext"
 
+  gltests_LIBOBJS="$gltests_LIBOBJS raise.$ac_objext"
+
+    :
   fi
 
 
 
 
 
-    if test "$GNULIB_SYMLINK" != 1; then
-        if test "$GNULIB_SYMLINK" = 0; then
-      GNULIB_SYMLINK=$gl_module_indicator_condition
+    if test "$GNULIB_RAISE" != 1; then
+        if test "$GNULIB_RAISE" = 0; then
+      GNULIB_RAISE=$gl_module_indicator_condition
     else
-      GNULIB_SYMLINK="($GNULIB_SYMLINK || $gl_module_indicator_condition)"
+      GNULIB_RAISE="($GNULIB_RAISE || $gl_module_indicator_condition)"
     fi
   fi
 
@@ -26160,193 +29647,322 @@ $as_echo "$gl_cv_func_symlink_works" >&6; }
 
 
 
-$as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h
+$as_echo "#define GNULIB_TEST_RAISE 1" >>confdefs.h
 
 
 
 
 
 
-  if test $gl_threads_api = posix; then
-    gl_save_LIBS="$LIBS"
-    LIBS="$LIBS $LIBMULTITHREAD"
-    for ac_func in pthread_atfork
+
+
+
+  for ac_header in sched.h
 do :
-  ac_fn_c_check_func "$LINENO" "pthread_atfork" "ac_cv_func_pthread_atfork"
-if test "x$ac_cv_func_pthread_atfork" = xyes; then :
+  ac_fn_c_check_header_compile "$LINENO" "sched.h" "ac_cv_header_sched_h" "#if HAVE_SYS_CDEFS_H
+       #include <sys/cdefs.h>
+      #endif
+
+"
+if test "x$ac_cv_header_sched_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
-#define HAVE_PTHREAD_ATFORK 1
+#define HAVE_SCHED_H 1
 _ACEOF
 
 fi
+
 done
 
-    LIBS="$gl_save_LIBS"
-  fi
 
 
 
 
 
-  # The Hurd, the Linux kernel, the FreeBSD kernel version 2.2 and later,
-  # Cygwin, and mingw never let anyone (even root) unlink directories.
-  # If anyone knows of another system for which unlink can never
-  # remove a directory, please report it to <bug-coreutils@gnu.org>.
-  # Unfortunately this is difficult to test for, since it requires root access
-  # and might create garbage in the file system,
-  # so the code below simply relies on the kernel name and version number.
-  case $host_os in
-  gnu[0-9]* | \
-  linux-* | linux | \
-  freebsd2.2* | freebsd[3-9]* | freebsd[1-9][0-9]* | \
-  cygwin | \
-  mingw*)
 
-$as_echo "#define UNLINK_CANNOT_UNLINK_DIR 1" >>confdefs.h
-;;
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_sched_h='<'sched.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sched.h>" >&5
+$as_echo_n "checking absolute name of <sched.h>... " >&6; }
+if ${gl_cv_next_sched_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sched.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
   esac
 
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'sched.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_sched_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
 
+           gl_header=$gl_cv_absolute_sched_h
+           gl_cv_next_sched_h='"'$gl_header'"'
 
 
-  if test $ac_cv_have_decl_unsetenv = no; then
-    HAVE_DECL_UNSETENV=0
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sched_h" >&5
+$as_echo "$gl_cv_next_sched_h" >&6; }
+     fi
+     NEXT_SCHED_H=$gl_cv_next_sched_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'sched.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_sched_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SCHED_H=$gl_next_as_first_directive
+
+
+
+
+
+  if test "$ac_cv_header_sched_h" = yes; then
+    HAVE_SCHED_H=1
+  else
+    HAVE_SCHED_H=0
   fi
-  for ac_func in unsetenv
-do :
-  ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv"
-if test "x$ac_cv_func_unsetenv" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_UNSETENV 1
-_ACEOF
 
+
+  if test "$HAVE_SCHED_H" = 1; then
+    ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#if HAVE_SYS_CDEFS_H
+         #include <sys/cdefs.h>
+        #endif
+        #include <sched.h>
+
+"
+if test "x$ac_cv_type_struct_sched_param" = xyes; then :
+  HAVE_STRUCT_SCHED_PARAM=1
+else
+  HAVE_STRUCT_SCHED_PARAM=0
 fi
-done
 
-  if test $ac_cv_func_unsetenv = no; then
-    HAVE_UNSETENV=0
   else
-    HAVE_UNSETENV=1
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5
-$as_echo_n "checking for unsetenv() return type... " >&6; }
-if ${gt_cv_func_unsetenv_ret+:} false; then :
+    HAVE_STRUCT_SCHED_PARAM=0
+    case "$host_os" in
+      os2*)
+                ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#include <spawn.h>
+"
+if test "x$ac_cv_type_struct_sched_param" = xyes; then :
+  HAVE_STRUCT_SCHED_PARAM=1
+fi
+
+        ;;
+      vms)
+                ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#include <pthread.h>
+"
+if test "x$ac_cv_type_struct_sched_param" = xyes; then :
+  HAVE_STRUCT_SCHED_PARAM=1
+fi
+
+        ;;
+    esac
+  fi
+
+
+  if test "$ac_cv_header_sys_cdefs_h" = yes; then
+    HAVE_SYS_CDEFS_H=1
+  else
+    HAVE_SYS_CDEFS_H=0
+  fi
+
+
+
+
+
+
+
+
+
+
+
+
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    REPLACE_SELECT=1
+  else
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select supports a 0 argument" >&5
+$as_echo_n "checking whether select supports a 0 argument... " >&6; }
+if ${gl_cv_func_select_supports0+:} false; then :
   $as_echo_n "(cached) " >&6
+else
+
+        if test "$cross_compiling" = yes; then :
+
+           case "$host_os" in
+                       # Guess no on Interix.
+             interix*) gl_cv_func_select_supports0="guessing no";;
+                       # Guess yes otherwise.
+             *)        gl_cv_func_select_supports0="guessing yes";;
+           esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#undef _BSD
-#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
-#include <stdlib.h>
-extern
-#ifdef __cplusplus
-"C"
+#include <sys/types.h>
+#include <sys/time.h>
+#if HAVE_SYS_SELECT_H
+#include <sys/select.h>
 #endif
-int unsetenv (const char *name);
-
-int
-main ()
+int main ()
 {
-
-  ;
-  return 0;
+  struct timeval timeout;
+  timeout.tv_sec = 0;
+  timeout.tv_usec = 5;
+  return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_func_unsetenv_ret='int'
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_select_supports0=yes
 else
-  gt_cv_func_unsetenv_ret='void'
+  gl_cv_func_select_supports0=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+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}: result: $gt_cv_func_unsetenv_ret" >&5
-$as_echo "$gt_cv_func_unsetenv_ret" >&6; }
-    if test $gt_cv_func_unsetenv_ret = 'void'; then
 
-$as_echo "#define VOID_UNSETENV 1" >>confdefs.h
 
-      REPLACE_UNSETENV=1
-    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_supports0" >&5
+$as_echo "$gl_cv_func_select_supports0" >&6; }
+    case "$gl_cv_func_select_supports0" in
+      *yes) ;;
+      *) REPLACE_SELECT=1 ;;
+    esac
 
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5
-$as_echo_n "checking whether unsetenv obeys POSIX... " >&6; }
-if ${gl_cv_func_unsetenv_works+:} false; then :
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select detects invalid fds" >&5
+$as_echo_n "checking whether select detects invalid fds... " >&6; }
+if ${gl_cv_func_select_detects_ebadf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_unsetenv_works="guessing no" ;;
-       esac
+
+        if test "$cross_compiling" = yes; then :
+
+           case "$host_os" in
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_select_detects_ebadf="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_select_detects_ebadf="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_select_detects_ebadf="guessing no" ;;
+           esac
 
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-       #include <stdlib.h>
-       #include <errno.h>
-       extern char **environ;
+#include <sys/types.h>
+#include <sys/time.h>
+#if HAVE_SYS_SELECT_H
+# include <sys/select.h>
+#endif
+#include <unistd.h>
+#include <errno.h>
 
 int
 main ()
 {
 
-       char entry1[] = "a=1";
-       char entry2[] = "b=2";
-       char *env[] = { entry1, entry2, NULL };
-       if (putenv ((char *) "a=1")) return 1;
-       if (putenv (entry2)) return 2;
-       entry2[0] = 'a';
-       unsetenv ("a");
-       if (getenv ("a")) return 3;
-       if (!unsetenv ("") || errno != EINVAL) return 4;
-       entry2[0] = 'b';
-       environ = env;
-       if (!getenv ("a")) return 5;
-       entry2[0] = 'a';
-       unsetenv ("a");
-       if (getenv ("a")) return 6;
+  fd_set set;
+  dup2(0, 16);
+  FD_ZERO(&set);
+  FD_SET(16, &set);
+  close(16);
+  struct timeval timeout;
+  timeout.tv_sec = 0;
+  timeout.tv_usec = 5;
+  return select (17, &set, NULL, NULL, &timeout) != -1 || errno != EBADF;
 
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_unsetenv_works=yes
+  gl_cv_func_select_detects_ebadf=yes
 else
-  gl_cv_func_unsetenv_works=no
+  gl_cv_func_select_detects_ebadf=no
 fi
 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_unsetenv_works" >&5
-$as_echo "$gl_cv_func_unsetenv_works" >&6; }
-    case "$gl_cv_func_unsetenv_works" in
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_detects_ebadf" >&5
+$as_echo "$gl_cv_func_select_detects_ebadf" >&6; }
+    case $gl_cv_func_select_detects_ebadf in
       *yes) ;;
-      *)
-        REPLACE_UNSETENV=1
-        ;;
+      *) REPLACE_SELECT=1 ;;
     esac
   fi
 
-  if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
+    LIB_SELECT="$LIBSOCKET"
+  if test $REPLACE_SELECT = 1; then
+    case "$host_os" in
+      mingw*)
+                                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+int
+main ()
+{
+  MsgWaitForMultipleObjects (0, NULL, 0, 0, 0);
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
 
+else
+  LIB_SELECT="$LIB_SELECT -luser32"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+        ;;
+    esac
+  fi
 
 
+  if test $REPLACE_SELECT = 1; then
 
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS unsetenv.$ac_objext"
 
 
 
 
+  gltests_LIBOBJS="$gltests_LIBOBJS select.$ac_objext"
 
   fi
 
@@ -26354,11 +29970,11 @@ $as_echo "$gl_cv_func_unsetenv_works" >&6; }
 
 
 
-    if test "$GNULIB_UNSETENV" != 1; then
-        if test "$GNULIB_UNSETENV" = 0; then
-      GNULIB_UNSETENV=$gl_module_indicator_condition
+    if test "$GNULIB_SELECT" != 1; then
+        if test "$GNULIB_SELECT" = 0; then
+      GNULIB_SELECT=$gl_module_indicator_condition
     else
-      GNULIB_UNSETENV="($GNULIB_UNSETENV || $gl_module_indicator_condition)"
+      GNULIB_SELECT="($GNULIB_SELECT || $gl_module_indicator_condition)"
     fi
   fi
 
@@ -26366,83 +29982,281 @@ $as_echo "$gl_cv_func_unsetenv_works" >&6; }
 
 
 
-$as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h
-
-
+$as_echo "#define GNULIB_TEST_SELECT 1" >>confdefs.h
 
-  abs_aux_dir=`cd "$ac_aux_dir"; pwd`
 
-  abs_aux_dir=`cd "$ac_aux_dir"; pwd`
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
-if ${gt_cv_locale_fr+:} false; then :
+     if test $ac_cv_func_setenv = no; then
+    HAVE_SETENV=0
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5
+$as_echo_n "checking whether setenv validates arguments... " >&6; }
+if ${gl_cv_func_setenv_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+  if test "$cross_compiling" = yes; then :
+  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
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.
-     On MirBSD 10, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
-        || strcmp (cs, "UTF-8") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether in the abbreviation of the second month, the second
-     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
-     one byte long. This excludes the UTF-8 encoding.  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
-  /* Check whether the decimal separator is a comma.
-     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
-     are nl_langinfo(RADIXCHAR) are both ".".  */
-  if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
-  return 0;
-}
+       #include <stdlib.h>
+       #include <errno.h>
+       #include <string.h>
+
+int
+main ()
+{
+
+       int result = 0;
+       {
+         if (setenv ("", "", 0) != -1)
+           result |= 1;
+         else if (errno != EINVAL)
+           result |= 2;
+       }
+       {
+         if (setenv ("a", "=", 1) != 0)
+           result |= 4;
+         else if (strcmp (getenv ("a"), "=") != 0)
+           result |= 8;
+       }
+       return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_setenv_works=yes
+else
+  gl_cv_func_setenv_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
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5
+$as_echo "$gl_cv_func_setenv_works" >&6; }
+    case "$gl_cv_func_setenv_works" in
+      *yes) ;;
+      *)
+        REPLACE_SETENV=1
+        ;;
+    esac
+  fi
+
+  if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS setenv.$ac_objext"
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_SETENV" != 1; then
+        if test "$GNULIB_SETENV" = 0; then
+      GNULIB_SETENV=$gl_module_indicator_condition
+    else
+      GNULIB_SETENV="($GNULIB_SETENV || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h
+
+
+
+
+
+
+  case "$host_os" in
+            mingw*) REPLACE_SETLOCALE=1 ;;
+            cygwin*)
+      case `uname -r` in
+        1.5.*) REPLACE_SETLOCALE=1 ;;
+      esac
+      ;;
+        *)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setlocale supports the C locale" >&5
+$as_echo_n "checking whether setlocale supports the C locale... " >&6; }
+if ${gl_cv_func_setlocale_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_setlocale_works="guessing no";;
+                               # Guess yes otherwise.
+              *)               gl_cv_func_setlocale_works="guessing yes";;
+            esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <locale.h>
+int main ()
+{
+  return setlocale (LC_ALL, "C") == NULL;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_setlocale_works=yes
+else
+  gl_cv_func_setlocale_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
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_works" >&5
+$as_echo "$gl_cv_func_setlocale_works" >&6; }
+      case "$gl_cv_func_setlocale_works" in
+        *yes) ;;
+        *) REPLACE_SETLOCALE=1 ;;
+      esac
+      ;;
+  esac
+
+  if test $REPLACE_SETLOCALE = 1; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS setlocale.$ac_objext"
+
+
+        :
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_SETLOCALE" != 1; then
+        if test "$GNULIB_SETLOCALE" = 0; then
+      GNULIB_SETLOCALE=$gl_module_indicator_condition
+    else
+      GNULIB_SETLOCALE="($GNULIB_SETLOCALE || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_SETLOCALE 1" >>confdefs.h
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+$as_echo_n "checking for a traditional french locale... " >&6; }
+if ${gt_cv_locale_fr+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
+  /* Check whether the given locale name is recognized by the system.  */
+# if defined _WIN32 && !defined __CYGWIN__
+  /* On native Windows, setlocale(category, "") looks at the system settings,
+     not at the environment variables.  Also, when an encoding suffix such
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+     category of the locale to "C".  */
+  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+    return 1;
+# else
+  if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+     some unit tests fail.
+     On MirBSD 10, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
+# if HAVE_LANGINFO_CODESET
+  {
+    const char *cs = nl_langinfo (CODESET);
+    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+        || strcmp (cs, "UTF-8") == 0)
+      return 1;
+  }
+# endif
+# ifdef __CYGWIN__
+  /* On Cygwin, avoid locale names without encoding suffix, because the
+     locale_charset() function relies on the encoding suffix.  Note that
+     LC_ALL is set on the command line.  */
+  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+  /* Check whether in the abbreviation of the second month, the second
+     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
+     one byte long. This excludes the UTF-8 encoding.  */
+  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+  if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
+  /* Check whether the decimal separator is a comma.
+     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+     are nl_langinfo(RADIXCHAR) are both ".".  */
+  if (localeconv () ->decimal_point[0] != ',') return 1;
+# endif
+  return 0;
+#endif
+}
 
 _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
@@ -26535,7 +30349,7 @@ int main () {
      variables, and all locales use the UTF-8 encoding.  */
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -26660,9 +30474,14 @@ struct tm t;
 char buf[16];
 int main ()
 {
-  const char *p;
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -26670,9 +30489,9 @@ int main ()
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -26681,32 +30500,36 @@ int main ()
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether MB_CUR_MAX is > 1.  This excludes the dysfunctional locales
      on Cygwin 1.5.x.  */
   if (MB_CUR_MAX == 1)
     return 1;
   /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
      This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
+  {
+    const char *p;
+    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+    for (p = buf; *p != '\0'; p++)
+      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+        return 1;
+  }
   return 0;
+#endif
 }
 
 _ACEOF
@@ -26800,9 +30623,14 @@ struct tm t;
 char buf[16];
 int main ()
 {
-  const char *p;
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -26810,9 +30638,9 @@ int main ()
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -26821,32 +30649,36 @@ int main ()
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
      This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
+  {
+    const char *p;
+    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+    for (p = buf; *p != '\0'; p++)
+      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+        return 1;
+  }
   /* Check whether a typical GB18030 multibyte sequence is recognized as a
      single wide character.  This excludes the GB2312 and GBK encodings.  */
   if (mblen ("\203\062\332\066", 5) != 4)
     return 1;
   return 0;
+#endif
 }
 
 _ACEOF
@@ -26910,151 +30742,62 @@ $as_echo "$gt_cv_locale_zh_CN" >&6; }
 
 
 
+  if test "$ac_cv_header_winsock2_h" = yes; then
 
 
 
-  if test $ac_cv_func_wctob = no; then
-    HAVE_WCTOB=0
-    HAVE_DECL_WCTOB=0
-  else
-    HAVE_WCTOB=1
 
 
 
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wctob works" >&5
-$as_echo_n "checking whether wctob works... " >&6; }
-if ${gl_cv_func_wctob_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-                        case "$host_os" in
-            # Guess no on Solaris <= 9 and Cygwin.
-          solaris2.[1-9] | solaris2.[1-9].* | cygwin*)
-            gl_cv_func_wctob_works="guessing no" ;;
-            # Guess yes otherwise.
-          *) gl_cv_func_wctob_works="guessing yes" ;;
-        esac
-        case "$host_os" in
-          cygwin*)
-            if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <locale.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 <time.h>
-#include <wchar.h>
+  gltests_LIBOBJS="$gltests_LIBOBJS setsockopt.$ac_objext"
 
-register long global __asm__ ("%ebx");
+  fi
 
-int main ()
-{
-  setlocale (LC_ALL, "en_US.UTF-8");
 
-  global = 0x12345678;
-  if (wctob (0x00FC) != -1)
-    return 1;
-  if (global != 0x12345678)
-    return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  :
-else
-  gl_cv_func_wctob_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
 
-            ;;
-        esac
-        if test "$gl_cv_func_wctob_works" != no && test $LOCALE_FR != none; then
-          if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <locale.h>
-#include <string.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 <time.h>
-#include <wchar.h>
-int main ()
-{
-  if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
-    {
-      wchar_t wc;
 
-      if (mbtowc (&wc, "\374", 1) == 1)
-        if (wctob (wc) != (unsigned char) '\374')
-          return 1;
-    }
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_wctob_works=yes
-else
-  gl_cv_func_wctob_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
+    if test "$GNULIB_SETSOCKOPT" != 1; then
+        if test "$GNULIB_SETSOCKOPT" = 0; then
+      GNULIB_SETSOCKOPT=$gl_module_indicator_condition
+    else
+      GNULIB_SETSOCKOPT="($GNULIB_SETSOCKOPT || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_SETSOCKOPT 1" >>confdefs.h
+
 
-        fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wctob_works" >&5
-$as_echo "$gl_cv_func_wctob_works" >&6; }
-    case "$gl_cv_func_wctob_works" in
-      *yes) ;;
-      *) REPLACE_WCTOB=1 ;;
-    esac
-    if test $REPLACE_WCTOB = 0; then
 
-            ac_fn_c_check_decl "$LINENO" "wctob" "ac_cv_have_decl_wctob" "
-/* 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 <time.h>
-#include <wchar.h>
 
+
+  if test $ac_cv_func_sigaction = yes; then
+    ac_fn_c_check_member "$LINENO" "struct sigaction" "sa_sigaction" "ac_cv_member_struct_sigaction_sa_sigaction" "#include <signal.h>
 "
-if test "x$ac_cv_have_decl_wctob" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
+if test "x$ac_cv_member_struct_sigaction_sa_sigaction" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_WCTOB $ac_have_decl
+#define HAVE_STRUCT_SIGACTION_SA_SIGACTION 1
 _ACEOF
 
-      if test $ac_cv_have_decl_wctob != yes; then
-        HAVE_DECL_WCTOB=0
-      fi
+
+fi
+
+    if test $ac_cv_member_struct_sigaction_sa_sigaction = no; then
+      HAVE_STRUCT_SIGACTION_SA_SIGACTION=0
     fi
+  else
+    HAVE_SIGACTION=0
   fi
 
-  if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then
+  if test $HAVE_SIGACTION = 0; then
 
 
 
@@ -27063,10 +30806,30 @@ _ACEOF
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS wctob.$ac_objext"
+  gltests_LIBOBJS="$gltests_LIBOBJS sigaction.$ac_objext"
 
 
-  :
+
+
+
+
+
+  ac_fn_c_check_type "$LINENO" "siginfo_t" "ac_cv_type_siginfo_t" "
+#include <signal.h>
+
+"
+if test "x$ac_cv_type_siginfo_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SIGINFO_T 1
+_ACEOF
+
+
+fi
+
+  if test $ac_cv_type_siginfo_t = no; then
+    HAVE_SIGINFO_T=0
+  fi
 
   fi
 
@@ -27074,11 +30837,11 @@ _ACEOF
 
 
 
-    if test "$GNULIB_WCTOB" != 1; then
-        if test "$GNULIB_WCTOB" = 0; then
-      GNULIB_WCTOB=$gl_module_indicator_condition
+    if test "$GNULIB_SIGACTION" != 1; then
+        if test "$GNULIB_SIGACTION" = 0; then
+      GNULIB_SIGACTION=$gl_module_indicator_condition
     else
-      GNULIB_WCTOB="($GNULIB_WCTOB || $gl_module_indicator_condition)"
+      GNULIB_SIGACTION="($GNULIB_SIGACTION || $gl_module_indicator_condition)"
     fi
   fi
 
@@ -27086,18 +30849,14 @@ _ACEOF
 
 
 
-$as_echo "#define GNULIB_TEST_WCTOB 1" >>confdefs.h
+$as_echo "#define GNULIB_TEST_SIGACTION 1" >>confdefs.h
 
 
 
 
 
 
-  if false; then
-    REPLACE_WCTOMB=1
-  fi
 
-  if test $REPLACE_WCTOMB = 1; then
 
 
 
@@ -27105,122 +30864,359 @@ $as_echo "#define GNULIB_TEST_WCTOB 1" >>confdefs.h
 
 
 
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_signal_h='<'signal.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <signal.h>" >&5
+$as_echo_n "checking absolute name of <signal.h>... " >&6; }
+if ${gl_cv_next_signal_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-  gltests_LIBOBJS="$gltests_LIBOBJS wctomb.$ac_objext"
 
 
-  :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <signal.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-  fi
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'signal.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
 
+        gl_cv_absolute_signal_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
 
+           gl_header=$gl_cv_absolute_signal_h
+           gl_cv_next_signal_h='"'$gl_header'"'
 
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5
+$as_echo "$gl_cv_next_signal_h" >&6; }
+     fi
+     NEXT_SIGNAL_H=$gl_cv_next_signal_h
 
-    if test "$GNULIB_WCTOMB" != 1; then
-        if test "$GNULIB_WCTOMB" = 0; then
-      GNULIB_WCTOMB=$gl_module_indicator_condition
-    else
-      GNULIB_WCTOMB="($GNULIB_WCTOMB || $gl_module_indicator_condition)"
-    fi
-  fi
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'signal.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_signal_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H=$gl_next_as_first_directive
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_WCTOMB 1" >>confdefs.h
+# AIX declares sig_atomic_t to already include volatile, and C89 compilers
+# then choke on 'volatile sig_atomic_t'.  C99 requires that it compile.
+  ac_fn_c_check_type "$LINENO" "volatile sig_atomic_t" "ac_cv_type_volatile_sig_atomic_t" "
+#include <signal.h>
 
+"
+if test "x$ac_cv_type_volatile_sig_atomic_t" = xyes; then :
 
+else
+  HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0
+fi
 
 
 
-    YIELD_LIB=
-  if test $gl_threads_api = posix; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
-$as_echo_n "checking for sched_yield in -lrt... " >&6; }
-if ${ac_cv_lib_rt_sched_yield+:} false; then :
-  $as_echo_n "(cached) " >&6
+
+
+
+
+  ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" "
+#include <signal.h>
+
+"
+if test "x$ac_cv_type_sighandler_t" = xyes; then :
+
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lrt  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  HAVE_SIGHANDLER_T=0
+fi
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char sched_yield ();
-int
+
+
+
+
+
+
+
+
+  if test $gl_cv_type_sigset_t = yes; then
+    ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask"
+if test "x$ac_cv_func_sigprocmask" = xyes; then :
+  gl_cv_func_sigprocmask=1
+fi
+
+  fi
+  if test -z "$gl_cv_func_sigprocmask"; then
+    HAVE_POSIX_SIGNALBLOCKING=0
+  fi
+
+  if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS sigprocmask.$ac_objext"
+
+    :
+  fi
+
+
+
+
+
+    if test "$GNULIB_SIGPROCMASK" != 1; then
+        if test "$GNULIB_SIGPROCMASK" = 0; then
+      GNULIB_SIGPROCMASK=$gl_module_indicator_condition
+    else
+      GNULIB_SIGPROCMASK="($GNULIB_SIGPROCMASK || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_SIGPROCMASK 1" >>confdefs.h
+
+
+
+
+
+  if test "$ac_cv_header_winsock2_h" = yes; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS socket.$ac_objext"
+
+  fi
+  # When this module is used, sockets may actually occur as file descriptors,
+  # hence it is worth warning if the modules 'close' and 'ioctl' are not used.
+
+
+
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1
+  fi
+
+
+
+
+
+    if test "$GNULIB_SOCKET" != 1; then
+        if test "$GNULIB_SOCKET" = 0; then
+      GNULIB_SOCKET=$gl_module_indicator_condition
+    else
+      GNULIB_SOCKET="($GNULIB_SOCKET || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_SOCKET 1" >>confdefs.h
+
+
+
+
+
+     ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "
+/* <sys/types.h> is not needed according to POSIX, but the
+   <sys/socket.h> in i386-unknown-freebsd4.10 and
+   powerpc-apple-darwin5.5 required it. */
+#include <sys/types.h>
+#if HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#elif HAVE_WS2TCPIP_H
+# include <ws2tcpip.h>
+#endif
+
+"
+if test "x$ac_cv_type_socklen_t" = xyes; then :
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5
+$as_echo_n "checking for socklen_t equivalent... " >&6; }
+if ${gl_cv_socklen_t_equiv+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Systems have either "struct sockaddr *" or
+         # "void *" as the second argument to getpeername
+         gl_cv_socklen_t_equiv=
+         for arg2 in "struct sockaddr" void; do
+           for t in int size_t "unsigned int" "long int" "unsigned long int"; do
+             cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+                   #include <sys/socket.h>
+
+                   int getpeername (int, $arg2 *, $t *);
+int
 main ()
 {
-return sched_yield ();
+$t len;
+                  getpeername (0, 0, &len);
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_rt_sched_yield=yes
-else
-  ac_cv_lib_rt_sched_yield=no
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_socklen_t_equiv="$t"
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+             test "$gl_cv_socklen_t_equiv" != "" && break
+           done
+           test "$gl_cv_socklen_t_equiv" != "" && break
+         done
+         if test "$gl_cv_socklen_t_equiv" = ""; then
+           as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5
+         fi
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5
-$as_echo "$ac_cv_lib_rt_sched_yield" >&6; }
-if test "x$ac_cv_lib_rt_sched_yield" = xyes; then :
-  YIELD_LIB=-lrt
-else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5
-$as_echo_n "checking for sched_yield in -lposix4... " >&6; }
-if ${ac_cv_lib_posix4_sched_yield+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5
+$as_echo "$gl_cv_socklen_t_equiv" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define socklen_t $gl_cv_socklen_t_equiv
+_ACEOF
+
+fi
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working stdalign.h" >&5
+$as_echo_n "checking for working stdalign.h... " >&6; }
+if ${gl_cv_header_working_stdalign_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lposix4  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <stdalign.h>
+            #include <stddef.h>
+
+            /* Test that alignof yields a result consistent with offsetof.
+               This catches GCC bug 52023
+               <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.  */
+            #ifdef __cplusplus
+               template <class t> struct alignof_helper { char a; t b; };
+            # define ao(type) offsetof (alignof_helper<type>, b)
+            #else
+            # define ao(type) offsetof (struct { char a; type b; }, b)
+            #endif
+            char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1];
+            char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1];
+            char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1];
+
+            /* Test _Alignas only on platforms where gnulib can help.  */
+            #if \
+                ((defined __cplusplus && 201103 <= __cplusplus) \
+                 || (defined __APPLE__ && defined __MACH__ \
+                     ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+                     : __GNUC__) \
+                 || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
+                 || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__ \
+                 || 1300 <= _MSC_VER)
+              struct alignas_test { char c; char alignas (8) alignas_8; };
+              char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
+                                ? 1 : -1];
+            #endif
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char sched_yield ();
 int
 main ()
 {
-return sched_yield ();
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_posix4_sched_yield=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_working_stdalign_h=yes
 else
-  ac_cv_lib_posix4_sched_yield=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+  gl_cv_header_working_stdalign_h=no
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5
-$as_echo "$ac_cv_lib_posix4_sched_yield" >&6; }
-if test "x$ac_cv_lib_posix4_sched_yield" = xyes; then :
-  YIELD_LIB=-lposix4
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5
+$as_echo "$gl_cv_header_working_stdalign_h" >&6; }
+
+  if test $gl_cv_header_working_stdalign_h = yes; then
+    STDALIGN_H=''
+  else
+    STDALIGN_H='stdalign.h'
+  fi
+
 
+   if test -n "$STDALIGN_H"; then
+  GL_GENERATE_STDALIGN_H_TRUE=
+  GL_GENERATE_STDALIGN_H_FALSE='#'
+else
+  GL_GENERATE_STDALIGN_H_TRUE='#'
+  GL_GENERATE_STDALIGN_H_FALSE=
 fi
 
+
+
+
+
+
+
+
+
+
+
+  if test $ac_cv_have_decl_strerror_r = no; then
+    HAVE_DECL_STRERROR_R=0
   fi
 
+  if test $ac_cv_func_strerror_r = yes; then
+    if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
+      if test $gl_cv_func_strerror_r_posix_signature = yes; then
+        case "$gl_cv_func_strerror_r_works" in
+                    *no) REPLACE_STRERROR_R=1 ;;
+        esac
+      else
+                REPLACE_STRERROR_R=1
+      fi
+    else
+                  REPLACE_STRERROR_R=1
+    fi
+  fi
 
+  if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then
 
 
 
 
 
 
+  gltests_LIBOBJS="$gltests_LIBOBJS strerror_r.$ac_objext"
 
 
-  LIBTESTS_LIBDEPS="$gltests_libdeps"
 
 
 
-# Check whether --enable-gcc-warnings was given.
-if test "${enable_gcc_warnings+set}" = set; then :
-  enableval=$enable_gcc_warnings; case $enableval in
-     yes|no) ;;
-     *)      as_fn_error $? "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;;
-   esac
-   gl_gcc_warnings=$enableval
-else
-  if test -d "$srcdir"/.git; then
-     gl_gcc_warnings=yes
-   else
-     gl_gcc_warnings=no
-   fi
 
-fi
+  fi
 
 
-if test "$gl_gcc_warnings" = yes; 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 -Werror -Wunknown-warning-option"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
+    if test "$GNULIB_STRERROR_R" != 1; then
+        if test "$GNULIB_STRERROR_R" = 0; then
+      GNULIB_STRERROR_R=$gl_module_indicator_condition
+    else
+      GNULIB_STRERROR_R="($GNULIB_STRERROR_R || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_STRERROR_R 1" >>confdefs.h
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_STRERROR_R_POSIX $gl_module_indicator_condition
 _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
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror" >&5
-$as_echo_n "checking whether C compiler handles -Werror... " >&6; }
-if ${gl_cv_warn_c__Werror+:} false; then :
-  $as_echo_n "(cached) " >&6
+
+
+  # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it
+  # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is
+  # irrelevant for anonymous mappings.
+  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+  gl_have_mmap=yes
 else
+  gl_have_mmap=no
+fi
 
-  gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+  # Try to allow MAP_ANONYMOUS.
+  gl_have_mmap_anonymous=no
+  if test $gl_have_mmap = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5
+$as_echo_n "checking for MAP_ANONYMOUS... " >&6; }
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-int
-main ()
-{
+#include <sys/mman.h>
+#ifdef MAP_ANONYMOUS
+    I cannot identify this map
+#endif
 
-  ;
-  return 0;
-}
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_cv_warn_c__Werror=yes
-else
-  gl_cv_warn_c__Werror=no
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "I cannot identify this map" >/dev/null 2>&1; then :
+  gl_have_mmap_anonymous=yes
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  CFLAGS="$gl_save_compiler_FLAGS"
+rm -f conftest*
 
+    if test $gl_have_mmap_anonymous != yes; then
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <sys/mman.h>
+#ifdef MAP_ANON
+    I cannot identify this map
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "I cannot identify this map" >/dev/null 2>&1; then :
+
+$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h
+
+         gl_have_mmap_anonymous=yes
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror" >&5
-$as_echo "$gl_cv_warn_c__Werror" >&6; }
-if test "x$gl_cv_warn_c__Werror" = xyes; then :
-  as_fn_append WERROR_CFLAGS " -Werror"
-fi
+rm -f conftest*
 
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5
+$as_echo "$gl_have_mmap_anonymous" >&6; }
+    if test $gl_have_mmap_anonymous = yes; then
 
+$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h
 
+    fi
+  fi
 
-  nw=
-  # This, $nw, is the list of warnings we disable.
-  nw="$nw -Wdeclaration-after-statement" # too useful to forbid
-  nw="$nw -Waggregate-return"       # anachronistic
-  nw="$nw -Wlong-long"              # C90 is anachronistic (lib/gethrxtime.h)
-  nw="$nw -Wc++-compat"             # We don't care about C++ compilers
-  nw="$nw -Wundef"                  # Warns on '#if GNULIB_FOO' etc in gnulib
-  nw="$nw -Wtraditional"            # Warns on #elif which we use often
-  nw="$nw -Wcast-qual"              # Too many warnings for now
-  nw="$nw -Wconversion"             # Too many warnings for now
-  nw="$nw -Wsystem-headers"         # Don't let system headers trigger warnings
-  nw="$nw -Wsign-conversion"        # Too many warnings for now
-  nw="$nw -Wtraditional-conversion" # Too many warnings for now
-  nw="$nw -Wunreachable-code"       # Too many warnings for now
-  nw="$nw -Wpadded"                 # Our structs are not padded
-  nw="$nw -Wredundant-decls"        # openat.h declares e.g., mkdirat
-  nw="$nw -Wlogical-op"             # any use of fwrite provokes this
-  nw="$nw -Wvla"                    # warnings in gettext.h
-  nw="$nw -Wnested-externs"         # use of XARGMATCH/verify_function__
-  nw="$nw -Wswitch-enum"            # Too many warnings for now
-  nw="$nw -Wswitch-default"         # Too many warnings for now
-  # Too many warnings for now
-  nw="$nw -Wattributes"
-  nw="$nw -Wstrict-prototypes"
-  nw="$nw -Wold-style-definition"
-  nw="$nw -Wpacked"
-  nw="$nw -Wmissing-prototypes"
-  nw="$nw -Wmissing-declarations"
-  nw="$nw -Wmissing-noreturn"
-  # things I might fix soon:
-  nw="$nw -Wfloat-equal"            # sort.c, seq.c
-  nw="$nw -Wmissing-format-attribute" # copy.c
-  nw="$nw -Wunsafe-loop-optimizations" # a few src/*.c
-  nw="$nw -Winline"                 # system.h's readdir_ignoring_dot_and_dotdot
-  nw="$nw -Wstrict-overflow"        # expr.c, pr.c, tr.c, factor.c
-  nw="$nw -Wstack-protector"        # libparted/label/gpt.c
-  # ?? -Wstrict-overflow
-  nw="$nw -Wsuggest-attribute=format" # suggests to use gnu_printf for vsnprintf
 
 
 
-  if test -n "$GCC"; 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 :
+
+        if test $ac_cv_func_symlink = no; then
+    HAVE_SYMLINK=0
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5
+$as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; }
+if ${gl_cv_func_symlink_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+  if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_symlink_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_symlink_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_symlink_works="guessing no" ;;
+          esac
 
-      gl_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <unistd.h>
 
 int
 main ()
 {
+int result = 0;
+             if (!symlink ("a", "conftest.link/"))
+               result |= 1;
+             if (symlink ("conftest.f", "conftest.lnk2"))
+               result |= 2;
+             else if (!symlink ("a", "conftest.lnk2/"))
+               result |= 4;
+             return result;
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_cc_nomfi_supported=yes
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_symlink_works=yes
 else
-  gl_cv_cc_nomfi_supported=no
+  gl_cv_func_symlink_works=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      CFLAGS="$gl_save_CFLAGS"
+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}: result: $gl_cv_cc_nomfi_supported" >&5
-$as_echo "$gl_cv_cc_nomfi_supported" >&6; }
+      rm -f conftest.f conftest.link conftest.lnk2
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5
+$as_echo "$gl_cv_func_symlink_works" >&6; }
+    case "$gl_cv_func_symlink_works" in
+      *yes) ;;
+      *)
+        REPLACE_SYMLINK=1
+        ;;
+    esac
+  fi
 
-    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 :
+  if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
+
+
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS symlink.$ac_objext"
+
+  fi
+
+
+
+
+
+    if test "$GNULIB_SYMLINK" != 1; then
+        if test "$GNULIB_SYMLINK" = 0; then
+      GNULIB_SYMLINK=$gl_module_indicator_condition
+    else
+      GNULIB_SYMLINK="($GNULIB_SYMLINK || $gl_module_indicator_condition)"
+    fi
+  fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h
+
+
+
+
+
+
+
+  if test $ac_cv_header_sys_ioctl_h = yes; then
+    HAVE_SYS_IOCTL_H=1
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/ioctl.h> declares ioctl" >&5
+$as_echo_n "checking whether <sys/ioctl.h> declares ioctl... " >&6; }
+if ${gl_cv_decl_ioctl_in_sys_ioctl_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-        gl_save_CFLAGS="$CFLAGS"
-        CFLAGS="$CFLAGS -W -Werror"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-void f (void)
-               {
-                 typedef struct { int a; int b; } s_t;
-                 s_t s1 = { 0, };
-               }
+#include <sys/ioctl.h>
 
 int
 main ()
 {
-
+(void) ioctl;
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_cc_nomfi_needed=no
+  gl_cv_decl_ioctl_in_sys_ioctl_h=yes
 else
-  gl_cv_cc_nomfi_needed=yes
+  gl_cv_decl_ioctl_in_sys_ioctl_h=no
 fi
 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_decl_ioctl_in_sys_ioctl_h" >&5
+$as_echo "$gl_cv_decl_ioctl_in_sys_ioctl_h" >&6; }
+  else
+    HAVE_SYS_IOCTL_H=0
+  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 -Wuninitialized is supported" >&5
-$as_echo_n "checking whether -Wuninitialized is supported... " >&6; }
-    if ${gl_cv_cc_uninitialized_supported+:} false; then :
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_sys_ioctl_h='<'sys/ioctl.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/ioctl.h>" >&5
+$as_echo_n "checking absolute name of <sys/ioctl.h>... " >&6; }
+if ${gl_cv_next_sys_ioctl_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
-      gl_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -Werror -Wuninitialized"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+             if test $ac_cv_header_sys_ioctl_h = yes; then
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/ioctl.h>
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_cc_uninitialized_supported=yes
-else
-  gl_cv_cc_uninitialized_supported=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      CFLAGS="$gl_save_CFLAGS"
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'sys/ioctl.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_sys_ioctl_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+           gl_header=$gl_cv_absolute_sys_ioctl_h
+           gl_cv_next_sys_ioctl_h='"'$gl_header'"'
+          else
+               gl_cv_next_sys_ioctl_h='<'sys/ioctl.h'>'
+             fi
+
+
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_ioctl_h" >&5
+$as_echo "$gl_cv_next_sys_ioctl_h" >&6; }
+     fi
+     NEXT_SYS_IOCTL_H=$gl_cv_next_sys_ioctl_h
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5
-$as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'sys/ioctl.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_sys_ioctl_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H=$gl_next_as_first_directive
 
-  fi
 
-  # List all gcc warning categories.
-  gl_manywarn_set=
-  for gl_manywarn_item in \
-    -W \
-    -Wabi \
-    -Waddress \
-    -Waggressive-loop-optimizations \
-    -Wall \
-    -Warray-bounds \
-    -Wattributes \
-    -Wbad-function-cast \
-    -Wbuiltin-macro-redefined \
-    -Wcast-align \
-    -Wchar-subscripts \
-    -Wclobbered \
-    -Wcomment \
-    -Wcomments \
-    -Wcoverage-mismatch \
-    -Wcpp \
-    -Wdeprecated \
-    -Wdeprecated-declarations \
-    -Wdisabled-optimization \
-    -Wdiv-by-zero \
-    -Wdouble-promotion \
-    -Wempty-body \
-    -Wendif-labels \
-    -Wenum-compare \
-    -Wextra \
-    -Wformat-contains-nul \
-    -Wformat-extra-args \
-    -Wformat-nonliteral \
-    -Wformat-security \
-    -Wformat-y2k \
-    -Wformat-zero-length \
-    -Wfree-nonheap-object \
-    -Wignored-qualifiers \
-    -Wimplicit \
-    -Wimplicit-function-declaration \
-    -Wimplicit-int \
-    -Winit-self \
-    -Winline \
-    -Wint-to-pointer-cast \
-    -Winvalid-memory-model \
-    -Winvalid-pch \
-    -Wjump-misses-init \
-    -Wlogical-op \
-    -Wmain \
-    -Wmaybe-uninitialized \
-    -Wmissing-braces \
-    -Wmissing-declarations \
-    -Wmissing-field-initializers \
-    -Wmissing-include-dirs \
-    -Wmissing-parameter-type \
-    -Wmissing-prototypes \
-    -Wmultichar \
-    -Wnarrowing \
-    -Wnested-externs \
-    -Wnonnull \
-    -Wnormalized=nfc \
-    -Wold-style-declaration \
-    -Wold-style-definition \
-    -Woverflow \
-    -Woverlength-strings \
-    -Woverride-init \
-    -Wpacked \
-    -Wpacked-bitfield-compat \
-    -Wparentheses \
-    -Wpointer-arith \
-    -Wpointer-sign \
-    -Wpointer-to-int-cast \
-    -Wpragmas \
-    -Wreturn-local-addr \
-    -Wreturn-type \
-    -Wsequence-point \
-    -Wshadow \
-    -Wsizeof-pointer-memaccess \
-    -Wstack-protector \
-    -Wstrict-aliasing \
-    -Wstrict-overflow \
-    -Wstrict-prototypes \
-    -Wsuggest-attribute=const \
-    -Wsuggest-attribute=format \
-    -Wsuggest-attribute=noreturn \
-    -Wsuggest-attribute=pure \
-    -Wswitch \
-    -Wswitch-default \
-    -Wsync-nand \
-    -Wsystem-headers \
-    -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 \
-    -fdiagnostics-show-option \
-    -funit-at-a-time \
-    \
-    ; do
-    gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
-  done
 
-  # 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
 
-  ws=$gl_manywarn_set
 
 
-  gl_warn_set=
-  set x $ws; shift
-  for gl_warn_item
-  do
-    case " $nw " in
-      *" $gl_warn_item "*)
-        ;;
-      *)
-        gl_warn_set="$gl_warn_set $gl_warn_item"
-        ;;
-    esac
-  done
-  ws=$gl_warn_set
 
-  for w in $ws; do
 
-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 $gl_positive"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_gl_Warn=yes"
-else
-  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
-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
-$as_echo_n "checking whether C compiler handles -Wno-missing-field-initializers... " >&6; }
-if ${gl_cv_warn_c__Wno_missing_field_initializers+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-  gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wmissing-field-initializers"
-  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__Wno_missing_field_initializers=yes
-else
-  gl_cv_warn_c__Wno_missing_field_initializers=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__Wno_missing_field_initializers" >&5
-$as_echo "$gl_cv_warn_c__Wno_missing_field_initializers" >&6; }
-if test "x$gl_cv_warn_c__Wno_missing_field_initializers" = xyes; then :
-  as_fn_append WARN_CFLAGS " -Wno-missing-field-initializers"
-fi
 
- # We need this one
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-sign-compare" >&5
-$as_echo_n "checking whether C compiler handles -Wno-sign-compare... " >&6; }
-if ${gl_cv_warn_c__Wno_sign_compare+:} false; then :
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_sys_uio_h='<'sys/uio.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/uio.h>" >&5
+$as_echo_n "checking absolute name of <sys/uio.h>... " >&6; }
+if ${gl_cv_next_sys_uio_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
-  gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wsign-compare"
+             if test $ac_cv_header_sys_uio_h = yes; then
+
+
+
+
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <sys/uio.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-int
-main ()
-{
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'sys/uio.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_sys_uio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+           gl_header=$gl_cv_absolute_sys_uio_h
+           gl_cv_next_sys_uio_h='"'$gl_header'"'
+          else
+               gl_cv_next_sys_uio_h='<'sys/uio.h'>'
+             fi
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_cv_warn_c__Wno_sign_compare=yes
-else
-  gl_cv_warn_c__Wno_sign_compare=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__Wno_sign_compare" >&5
-$as_echo "$gl_cv_warn_c__Wno_sign_compare" >&6; }
-if test "x$gl_cv_warn_c__Wno_sign_compare" = xyes; then :
-  as_fn_append WARN_CFLAGS " -Wno-sign-compare"
-fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_uio_h" >&5
+$as_echo "$gl_cv_next_sys_uio_h" >&6; }
+     fi
+     NEXT_SYS_UIO_H=$gl_cv_next_sys_uio_h
 
-     # Too many warnings for now
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'sys/uio.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_sys_uio_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H=$gl_next_as_first_directive
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-pointer-sign" >&5
-$as_echo_n "checking whether C compiler handles -Wno-pointer-sign... " >&6; }
-if ${gl_cv_warn_c__Wno_pointer_sign+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-  gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wpointer-sign"
-  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__Wno_pointer_sign=yes
-else
-  gl_cv_warn_c__Wno_pointer_sign=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  CFLAGS="$gl_save_compiler_FLAGS"
+  if test $ac_cv_header_sys_uio_h = yes; then
+    HAVE_SYS_UIO_H=1
+  else
+    HAVE_SYS_UIO_H=0
+  fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_pointer_sign" >&5
-$as_echo "$gl_cv_warn_c__Wno_pointer_sign" >&6; }
-if test "x$gl_cv_warn_c__Wno_pointer_sign" = xyes; then :
-  as_fn_append WARN_CFLAGS " -Wno-pointer-sign"
-fi
 
-     # Too many warnings for now
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-parameter" >&5
-$as_echo_n "checking whether C compiler handles -Wno-unused-parameter... " >&6; }
-if ${gl_cv_warn_c__Wno_unused_parameter+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-  gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-parameter"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
+  if test $gl_threads_api = posix; then
+    gl_save_LIBS="$LIBS"
+    LIBS="$LIBS $LIBMULTITHREAD"
+    for ac_func in pthread_atfork
+do :
+  ac_fn_c_check_func "$LINENO" "pthread_atfork" "ac_cv_func_pthread_atfork"
+if test "x$ac_cv_func_pthread_atfork" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_PTHREAD_ATFORK 1
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_cv_warn_c__Wno_unused_parameter=yes
-else
-  gl_cv_warn_c__Wno_unused_parameter=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__Wno_unused_parameter" >&5
-$as_echo "$gl_cv_warn_c__Wno_unused_parameter" >&6; }
-if test "x$gl_cv_warn_c__Wno_unused_parameter" = xyes; then :
-  as_fn_append WARN_CFLAGS " -Wno-unused-parameter"
-fi
+done
 
- # Too many warnings for now
+    LIBS="$gl_save_LIBS"
+  fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-macros" >&5
-$as_echo_n "checking whether C compiler handles -Wno-unused-macros... " >&6; }
-if ${gl_cv_warn_c__Wno_unused_macros+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-  gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-macros"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
+
+  # The Hurd, the Linux kernel, the FreeBSD kernel version 2.2 and later,
+  # Cygwin, and mingw never let anyone (even root) unlink directories.
+  # If anyone knows of another system for which unlink can never
+  # remove a directory, please report it to <bug-coreutils@gnu.org>.
+  # Unfortunately this is difficult to test for, since it requires root access
+  # and might create garbage in the file system,
+  # so the code below simply relies on the kernel name and version number.
+  case $host_os in
+  gnu[0-9]* | \
+  linux-* | linux | \
+  freebsd2.2* | freebsd[3-9]* | freebsd[1-9][0-9]* | \
+  cygwin | \
+  mingw*)
+
+$as_echo "#define UNLINK_CANNOT_UNLINK_DIR 1" >>confdefs.h
+;;
+  esac
+
+
+
+
+  if test $ac_cv_have_decl_unsetenv = no; then
+    HAVE_DECL_UNSETENV=0
+  fi
+  for ac_func in unsetenv
+do :
+  ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv"
+if test "x$ac_cv_func_unsetenv" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_UNSETENV 1
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_cv_warn_c__Wno_unused_macros=yes
-else
-  gl_cv_warn_c__Wno_unused_macros=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__Wno_unused_macros" >&5
-$as_echo "$gl_cv_warn_c__Wno_unused_macros" >&6; }
-if test "x$gl_cv_warn_c__Wno_unused_macros" = xyes; then :
-  as_fn_append WARN_CFLAGS " -Wno-unused-macros"
-fi
-
- # Too many warnings for now
+done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-format-nonliteral" >&5
-$as_echo_n "checking whether C compiler handles -Wno-format-nonliteral... " >&6; }
-if ${gl_cv_warn_c__Wno_format_nonliteral+:} false; then :
+  if test $ac_cv_func_unsetenv = no; then
+    HAVE_UNSETENV=0
+  else
+    HAVE_UNSETENV=1
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5
+$as_echo_n "checking for unsetenv() return type... " >&6; }
+if ${gt_cv_func_unsetenv_ret+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-  gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wformat-nonliteral"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#undef _BSD
+#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
+#include <stdlib.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+int unsetenv (const char *name);
+
 int
 main ()
 {
@@ -27869,344 +31724,837 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_cv_warn_c__Wno_format_nonliteral=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gt_cv_func_unsetenv_ret='int'
 else
-  gl_cv_warn_c__Wno_format_nonliteral=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  CFLAGS="$gl_save_compiler_FLAGS"
-
+  gt_cv_func_unsetenv_ret='void'
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_format_nonliteral" >&5
-$as_echo "$gl_cv_warn_c__Wno_format_nonliteral" >&6; }
-if test "x$gl_cv_warn_c__Wno_format_nonliteral" = xyes; then :
-  as_fn_append WARN_CFLAGS " -Wno-format-nonliteral"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5
+$as_echo "$gt_cv_func_unsetenv_ret" >&6; }
+    if test $gt_cv_func_unsetenv_ret = 'void'; then
 
+$as_echo "#define VOID_UNSETENV 1" >>confdefs.h
 
+      REPLACE_UNSETENV=1
+    fi
 
-  # FIXME: investigate these
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-jump-misses-init" >&5
-$as_echo_n "checking whether C compiler handles -Wno-jump-misses-init... " >&6; }
-if ${gl_cv_warn_c__Wno_jump_misses_init+:} false; then :
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5
+$as_echo_n "checking whether unsetenv obeys POSIX... " >&6; }
+if ${gl_cv_func_unsetenv_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+  if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_unsetenv_works="guessing no" ;;
+       esac
 
-  gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wjump-misses-init"
+else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+       #include <stdlib.h>
+       #include <errno.h>
+       extern char **environ;
+
 int
 main ()
 {
 
+       char entry1[] = "a=1";
+       char entry2[] = "b=2";
+       char *env[] = { entry1, entry2, NULL };
+       if (putenv ((char *) "a=1")) return 1;
+       if (putenv (entry2)) return 2;
+       entry2[0] = 'a';
+       unsetenv ("a");
+       if (getenv ("a")) return 3;
+       if (!unsetenv ("") || errno != EINVAL) return 4;
+       entry2[0] = 'b';
+       environ = env;
+       if (!getenv ("a")) return 5;
+       entry2[0] = 'a';
+       unsetenv ("a");
+       if (getenv ("a")) return 6;
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_cv_warn_c__Wno_jump_misses_init=yes
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_unsetenv_works=yes
 else
-  gl_cv_warn_c__Wno_jump_misses_init=no
+  gl_cv_func_unsetenv_works=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  CFLAGS="$gl_save_compiler_FLAGS"
-
+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}: result: $gl_cv_warn_c__Wno_jump_misses_init" >&5
-$as_echo "$gl_cv_warn_c__Wno_jump_misses_init" >&6; }
-if test "x$gl_cv_warn_c__Wno_jump_misses_init" = xyes; then :
-  as_fn_append WARN_CFLAGS " -Wno-jump-misses-init"
+
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5
+$as_echo "$gl_cv_func_unsetenv_works" >&6; }
+    case "$gl_cv_func_unsetenv_works" in
+      *yes) ;;
+      *)
+        REPLACE_UNSETENV=1
+        ;;
+    esac
+  fi
 
+  if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
 
 
-  # In spite of excluding -Wlogical-op above, it is enabled, as of
-  # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-logical-op" >&5
-$as_echo_n "checking whether C compiler handles -Wno-logical-op... " >&6; }
-if ${gl_cv_warn_c__Wno_logical_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-  gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wlogical-op"
-  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__Wno_logical_op=yes
-else
-  gl_cv_warn_c__Wno_logical_op=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__Wno_logical_op" >&5
-$as_echo "$gl_cv_warn_c__Wno_logical_op" >&6; }
-if test "x$gl_cv_warn_c__Wno_logical_op" = xyes; then :
-  as_fn_append WARN_CFLAGS " -Wno-logical-op"
-fi
 
+  gltests_LIBOBJS="$gltests_LIBOBJS unsetenv.$ac_objext"
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -fdiagnostics-show-option" >&5
-$as_echo_n "checking whether C compiler handles -fdiagnostics-show-option... " >&6; }
-if ${gl_cv_warn_c__fdiagnostics_show_option+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-  gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -fdiagnostics-show-option"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
+  fi
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_cv_warn_c__fdiagnostics_show_option=yes
-else
-  gl_cv_warn_c__fdiagnostics_show_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__fdiagnostics_show_option" >&5
-$as_echo "$gl_cv_warn_c__fdiagnostics_show_option" >&6; }
-if test "x$gl_cv_warn_c__fdiagnostics_show_option" = xyes; then :
-  as_fn_append WARN_CFLAGS " -fdiagnostics-show-option"
-fi
 
 
 
+    if test "$GNULIB_UNSETENV" != 1; then
+        if test "$GNULIB_UNSETENV" = 0; then
+      GNULIB_UNSETENV=$gl_module_indicator_condition
+    else
+      GNULIB_UNSETENV="($GNULIB_UNSETENV || $gl_module_indicator_condition)"
+    fi
+  fi
 
 
 
-$as_echo "#define lint 1" >>confdefs.h
 
 
-$as_echo "#define _FORTIFY_SOURCE 2" >>confdefs.h
+$as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h
 
 
-$as_echo "#define GNULIB_PORTCHECK 1" >>confdefs.h
 
-fi
+  abs_aux_dir=`cd "$ac_aux_dir"; pwd`
 
+  abs_aux_dir=`cd "$ac_aux_dir"; pwd`
 
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
-$as_echo_n "checking size of off_t... " >&6; }
-if ${ac_cv_sizeof_off_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t"        "
-       #include <stdio.h>
-       #include <sys/types.h>
-       #include <unistd.h>
 
-"; then :
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+$as_echo_n "checking for a traditional french locale... " >&6; }
+if ${gt_cv_locale_fr+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  if test "$ac_cv_type_off_t" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (off_t)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_off_t=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5
-$as_echo "$ac_cv_sizeof_off_t" >&6; }
 
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
+  /* Check whether the given locale name is recognized by the system.  */
+# if defined _WIN32 && !defined __CYGWIN__
+  /* On native Windows, setlocale(category, "") looks at the system settings,
+     not at the environment variables.  Also, when an encoding suffix such
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+     category of the locale to "C".  */
+  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+    return 1;
+# else
+  if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+     some unit tests fail.
+     On MirBSD 10, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
+# if HAVE_LANGINFO_CODESET
+  {
+    const char *cs = nl_langinfo (CODESET);
+    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+        || strcmp (cs, "UTF-8") == 0)
+      return 1;
+  }
+# endif
+# ifdef __CYGWIN__
+  /* On Cygwin, avoid locale names without encoding suffix, because the
+     locale_charset() function relies on the encoding suffix.  Note that
+     LC_ALL is set on the command line.  */
+  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+  /* Check whether in the abbreviation of the second month, the second
+     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
+     one byte long. This excludes the UTF-8 encoding.  */
+  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+  if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
+  /* Check whether the decimal separator is a comma.
+     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+     are nl_langinfo(RADIXCHAR) are both ".".  */
+  if (localeconv () ->decimal_point[0] != ',') return 1;
+# endif
+  return 0;
+#endif
+}
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_OFF_T $ac_cv_sizeof_off_t
 _ACEOF
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest$ac_exeext; then
+      case "$host_os" in
+        # Handle native Windows specially, because there setlocale() interprets
+        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+        # "fr" or "fra" as "French" or "French_France.1252",
+        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+        # "ja" as "Japanese" or "Japanese_Japan.932",
+        # and similar.
+        mingw*)
+          # Test for the native Windows locale name.
+          if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+            gt_cv_locale_fr=French_France.1252
+          else
+            # None found.
+            gt_cv_locale_fr=none
+          fi
+          ;;
+        *)
+          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+          # configure script would override the LC_ALL setting. Likewise for
+          # LC_CTYPE, which is also set at the beginning of the configure script.
+          # Test for the usual locale name.
+          if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+            gt_cv_locale_fr=fr_FR
+          else
+            # Test for the locale name with explicit encoding suffix.
+            if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+              gt_cv_locale_fr=fr_FR.ISO-8859-1
+            else
+              # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
+              if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                gt_cv_locale_fr=fr_FR.ISO8859-1
+              else
+                # Test for the HP-UX locale name.
+                if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                  gt_cv_locale_fr=fr_FR.iso88591
+                else
+                  # Test for the Solaris 7 locale name.
+                  if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                    gt_cv_locale_fr=fr
+                  else
+                    # None found.
+                    gt_cv_locale_fr=none
+                  fi
+                fi
+              fi
+            fi
+          fi
+          ;;
+      esac
+    fi
+    rm -fr conftest*
 
-
-
-# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+$as_echo "$gt_cv_locale_fr" >&6; }
+  LOCALE_FR=$gt_cv_locale_fr
 
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+$as_echo_n "checking for a french Unicode locale... " >&6; }
+if ${gt_cv_locale_fr_utf8+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if !(defined __BEOS__ || defined __HAIKU__)
+  /* Check whether the given locale name is recognized by the system.  */
+# if defined _WIN32 && !defined __CYGWIN__
+  /* On native Windows, setlocale(category, "") looks at the system settings,
+     not at the environment variables.  Also, when an encoding suffix such
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+     category of the locale to "C".  */
+  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+    return 1;
+# else
+  if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+     some unit tests fail.  */
+# if HAVE_LANGINFO_CODESET
+  {
+    const char *cs = nl_langinfo (CODESET);
+    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+      return 1;
+  }
+# endif
+# ifdef __CYGWIN__
+  /* On Cygwin, avoid locale names without encoding suffix, because the
+     locale_charset() function relies on the encoding suffix.  Note that
+     LC_ALL is set on the command line.  */
+  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+  /* Check whether in the abbreviation of the second month, the second
+     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
+     two bytes long, with UTF-8 encoding.  */
+  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+  if (strftime (buf, sizeof (buf), "%b", &t) < 4
+      || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
+    return 1;
+#endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
+  /* Check whether the decimal separator is a comma.
+     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+     are nl_langinfo(RADIXCHAR) are both ".".  */
+  if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
+  return 0;
+}
 
+_ACEOF
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest$ac_exeext; then
+      case "$host_os" in
+        # Handle native Windows specially, because there setlocale() interprets
+        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+        # "fr" or "fra" as "French" or "French_France.1252",
+        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+        # "ja" as "Japanese" or "Japanese_Japan.932",
+        # and similar.
+        mingw*)
+          # Test for the hypothetical native Windows locale name.
+          if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+            gt_cv_locale_fr_utf8=French_France.65001
+          else
+            # None found.
+            gt_cv_locale_fr_utf8=none
+          fi
+          ;;
+        *)
+          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+          # configure script would override the LC_ALL setting. Likewise for
+          # LC_CTYPE, which is also set at the beginning of the configure script.
+          # Test for the usual locale name.
+          if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+            gt_cv_locale_fr_utf8=fr_FR
+          else
+            # Test for the locale name with explicit encoding suffix.
+            if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+              gt_cv_locale_fr_utf8=fr_FR.UTF-8
+            else
+              # Test for the Solaris 7 locale name.
+              if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                gt_cv_locale_fr_utf8=fr.UTF-8
+              else
+                # None found.
+                gt_cv_locale_fr_utf8=none
+              fi
+            fi
+          fi
+          ;;
+      esac
+    fi
+    rm -fr conftest*
 
-
-if test "$OS" = linux && test $ac_cv_sizeof_off_t -lt 8; then
-                                       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: off_t is less than 8 bytes.  Using llseek syscall" >&5
-$as_echo "$as_me: WARNING: off_t is less than 8 bytes.  Using llseek syscall" >&2;}
-       # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=no
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+$as_echo "$gt_cv_locale_fr_utf8" >&6; }
+  LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
+$as_echo_n "checking for a traditional japanese locale... " >&6; }
+if ${gt_cv_locale_ja+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-fi
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4.2'
-macro_revision='1.3337'
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main ()
+{
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
+  /* Check whether the given locale name is recognized by the system.  */
+# if defined _WIN32 && !defined __CYGWIN__
+  /* On native Windows, setlocale(category, "") looks at the system settings,
+     not at the environment variables.  Also, when an encoding suffix such
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+     category of the locale to "C".  */
+  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+    return 1;
+# else
+  if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+     some unit tests fail.
+     On MirBSD 10, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
+# if HAVE_LANGINFO_CODESET
+  {
+    const char *cs = nl_langinfo (CODESET);
+    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+        || strcmp (cs, "UTF-8") == 0)
+      return 1;
+  }
+# endif
+# ifdef __CYGWIN__
+  /* On Cygwin, avoid locale names without encoding suffix, because the
+     locale_charset() function relies on the encoding suffix.  Note that
+     LC_ALL is set on the command line.  */
+  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+  /* Check whether MB_CUR_MAX is > 1.  This excludes the dysfunctional locales
+     on Cygwin 1.5.x.  */
+  if (MB_CUR_MAX == 1)
+    return 1;
+  /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
+     This excludes the UTF-8 encoding (except on MirBSD).  */
+  {
+    const char *p;
+    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+    for (p = buf; *p != '\0'; p++)
+      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+        return 1;
+  }
+  return 0;
+#endif
+}
 
+_ACEOF
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest$ac_exeext; then
+      case "$host_os" in
+        # Handle native Windows specially, because there setlocale() interprets
+        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+        # "fr" or "fra" as "French" or "French_France.1252",
+        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+        # "ja" as "Japanese" or "Japanese_Japan.932",
+        # and similar.
+        mingw*)
+          # Note that on native Windows, the Japanese locale is
+          # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
+          # cannot use it here.
+          gt_cv_locale_ja=none
+          ;;
+        *)
+          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+          # configure script would override the LC_ALL setting. Likewise for
+          # LC_CTYPE, which is also set at the beginning of the configure script.
+          # Test for the AIX locale name.
+          if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+            gt_cv_locale_ja=ja_JP
+          else
+            # Test for the locale name with explicit encoding suffix.
+            if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+              gt_cv_locale_ja=ja_JP.EUC-JP
+            else
+              # Test for the HP-UX, OSF/1, NetBSD locale name.
+              if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                gt_cv_locale_ja=ja_JP.eucJP
+              else
+                # Test for the IRIX, FreeBSD locale name.
+                if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                  gt_cv_locale_ja=ja_JP.EUC
+                else
+                  # Test for the Solaris 7 locale name.
+                  if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                    gt_cv_locale_ja=ja
+                  else
+                    # Special test for NetBSD 1.6.
+                    if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
+                      gt_cv_locale_ja=ja_JP.eucJP
+                    else
+                      # None found.
+                      gt_cv_locale_ja=none
+                    fi
+                  fi
+                fi
+              fi
+            fi
+          fi
+          ;;
+      esac
+    fi
+    rm -fr conftest*
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
+$as_echo "$gt_cv_locale_ja" >&6; }
+  LOCALE_JA=$gt_cv_locale_ja
 
 
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
+$as_echo_n "checking for a transitional chinese locale... " >&6; }
+if ${gt_cv_locale_zh_CN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <locale.h>
+#include <stdlib.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main ()
+{
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
+  /* Check whether the given locale name is recognized by the system.  */
+# if defined _WIN32 && !defined __CYGWIN__
+  /* On native Windows, setlocale(category, "") looks at the system settings,
+     not at the environment variables.  Also, when an encoding suffix such
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+     category of the locale to "C".  */
+  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+    return 1;
+# else
+  if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+     some unit tests fail.
+     On MirBSD 10, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
+# if HAVE_LANGINFO_CODESET
+  {
+    const char *cs = nl_langinfo (CODESET);
+    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+        || strcmp (cs, "UTF-8") == 0)
+      return 1;
+  }
+# endif
+# ifdef __CYGWIN__
+  /* On Cygwin, avoid locale names without encoding suffix, because the
+     locale_charset() function relies on the encoding suffix.  Note that
+     LC_ALL is set on the command line.  */
+  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+  /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
+     This excludes the UTF-8 encoding (except on MirBSD).  */
+  {
+    const char *p;
+    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+    for (p = buf; *p != '\0'; p++)
+      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+        return 1;
+  }
+  /* Check whether a typical GB18030 multibyte sequence is recognized as a
+     single wide character.  This excludes the GB2312 and GBK encodings.  */
+  if (mblen ("\203\062\332\066", 5) != 4)
+    return 1;
+  return 0;
+#endif
+}
 
+_ACEOF
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest$ac_exeext; then
+      case "$host_os" in
+        # Handle native Windows specially, because there setlocale() interprets
+        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+        # "fr" or "fra" as "French" or "French_France.1252",
+        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+        # "ja" as "Japanese" or "Japanese_Japan.932",
+        # and similar.
+        mingw*)
+          # Test for the hypothetical native Windows locale name.
+          if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+            gt_cv_locale_zh_CN=Chinese_China.54936
+          else
+            # None found.
+            gt_cv_locale_zh_CN=none
+          fi
+          ;;
+        solaris2.8)
+          # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
+          # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
+          # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
+          gt_cv_locale_zh_CN=none
+          ;;
+        *)
+          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+          # configure script would override the LC_ALL setting. Likewise for
+          # LC_CTYPE, which is also set at the beginning of the configure script.
+          # Test for the locale name without encoding suffix.
+          if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+            gt_cv_locale_zh_CN=zh_CN
+          else
+            # Test for the locale name with explicit encoding suffix.
+            if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+              gt_cv_locale_zh_CN=zh_CN.GB18030
+            else
+              # None found.
+              gt_cv_locale_zh_CN=none
+            fi
+          fi
+          ;;
+      esac
+    else
+      # If there was a link error, due to mblen(), the system is so old that
+      # it certainly doesn't have a chinese locale.
+      gt_cv_locale_zh_CN=none
+    fi
+    rm -fr conftest*
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
+$as_echo "$gt_cv_locale_zh_CN" >&6; }
+  LOCALE_ZH_CN=$gt_cv_locale_zh_CN
 
-ltmain="$ac_aux_dir/ltmain.sh"
 
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
 
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
 
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
 
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
+  if test $ac_cv_func_wctob = no; then
+    HAVE_WCTOB=0
+    HAVE_DECL_WCTOB=0
+  else
+    HAVE_WCTOB=1
 
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
+
+         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wctob works" >&5
+$as_echo_n "checking whether wctob works... " >&6; }
+if ${gl_cv_func_wctob_works+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
+
+                        case "$host_os" in
+            # Guess no on Solaris <= 9 and Cygwin.
+          solaris2.[1-9] | solaris2.[1-9].* | cygwin*)
+            gl_cv_func_wctob_works="guessing no" ;;
+            # Guess no on native Windows.
+          mingw*)
+            gl_cv_func_wctob_works="guessing no" ;;
+            # Guess yes otherwise.
+          *) gl_cv_func_wctob_works="guessing yes" ;;
+        esac
+        case "$host_os" in
+          cygwin*)
+            if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <locale.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 <time.h>
+#include <wchar.h>
+
+register long global __asm__ ("%ebx");
+
+int main ()
+{
+  setlocale (LC_ALL, "en_US.UTF-8");
+
+  global = 0x12345678;
+  if (wctob (0x00FC) != -1)
+    return 1;
+  if (global != 0x12345678)
+    return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  :
+else
+  gl_cv_func_wctob_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
 
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
+            ;;
+        esac
+        if test "$gl_cv_func_wctob_works" != no && test $LOCALE_FR != none; then
+          if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <locale.h>
+#include <string.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 <time.h>
+#include <wchar.h>
+int main ()
 {
-    $ECHO ""
+  if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
+    {
+      wchar_t wc;
+
+      if (mbtowc (&wc, "\374", 1) == 1)
+        if (wctob (wc) != (unsigned char) '\374')
+          return 1;
+    }
+  return 0;
 }
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_wctob_works=yes
+else
+  gl_cv_func_wctob_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
 
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
+        fi
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wctob_works" >&5
+$as_echo "$gl_cv_func_wctob_works" >&6; }
+    case "$gl_cv_func_wctob_works" in
+      *yes) ;;
+      *) REPLACE_WCTOB=1 ;;
+    esac
+    if test $REPLACE_WCTOB = 0; then
 
+            ac_fn_c_check_decl "$LINENO" "wctob" "ac_cv_have_decl_wctob" "
+/* 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 <time.h>
+#include <wchar.h>
 
+"
+if test "x$ac_cv_have_decl_wctob" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_WCTOB $ac_have_decl
+_ACEOF
 
+      if test $ac_cv_have_decl_wctob != yes; then
+        HAVE_DECL_WCTOB=0
+      fi
+    fi
+  fi
 
+  if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then
 
 
 
@@ -28215,278 +32563,94 @@ esac
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
+  gltests_LIBOBJS="$gltests_LIBOBJS wctob.$ac_objext"
+
+
+  :
 
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
-else
-  ac_cv_path_SED=$SED
-fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
 
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
 
 
 
+    if test "$GNULIB_WCTOB" != 1; then
+        if test "$GNULIB_WCTOB" = 0; then
+      GNULIB_WCTOB=$gl_module_indicator_condition
+    else
+      GNULIB_WCTOB="($GNULIB_WCTOB || $gl_module_indicator_condition)"
+    fi
+  fi
 
 
 
 
 
+$as_echo "#define GNULIB_TEST_WCTOB 1" >>confdefs.h
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_FGREP" || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
 
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+
+
+  if false; then
+    REPLACE_WCTOMB=1
   fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
 
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
+  if test $REPLACE_WCTOMB = 1; then
+
+
+
+
+
 
 
-test -z "$GREP" && GREP=grep
 
+  gltests_LIBOBJS="$gltests_LIBOBJS wctomb.$ac_objext"
 
 
+  :
 
+  fi
 
 
 
 
 
+    if test "$GNULIB_WCTOMB" != 1; then
+        if test "$GNULIB_WCTOMB" = 0; then
+      GNULIB_WCTOMB=$gl_module_indicator_condition
+    else
+      GNULIB_WCTOMB="($GNULIB_WCTOMB || $gl_module_indicator_condition)"
+    fi
+  fi
 
 
 
 
 
+$as_echo "#define GNULIB_TEST_WCTOMB 1" >>confdefs.h
 
 
 
 
+  case "$host_os" in
+    mingw*)
 
-# 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
 
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
+
+
+
+
+
+
+  gltests_LIBOBJS="$gltests_LIBOBJS windows-thread.$ac_objext"
+
       ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
   esac
-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 ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_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 `"$lt_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="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-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; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $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 ${lt_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'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
 
+  case "$host_os" in
+    mingw*)
 
 
 
@@ -28495,1413 +32659,1253 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+  gltests_LIBOBJS="$gltests_LIBOBJS windows-tls.$ac_objext"
 
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+      ;;
+  esac
 
 
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-  test -n "$ac_ct_DUMPBIN" && break
-done
 
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
 
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
 
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
 
 
 
+  LIBTESTS_LIBDEPS="$gltests_libdeps"
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
+# Check whether --enable-gcc-warnings was given.
+if test "${enable_gcc_warnings+set}" = set; then :
+  enableval=$enable_gcc_warnings; case $enableval in
+     yes|no) ;;
+     *)      as_fn_error $? "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;;
+   esac
+   gl_gcc_warnings=$enableval
 else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
+  if test -d "$srcdir"/.git; then
+     gl_gcc_warnings=yes
+   else
+     gl_gcc_warnings=no
+   fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
 fi
 
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
 
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
+if test "$gl_gcc_warnings" = yes; then
+  nw=
+  # This, $nw, is the list of warnings we disable.
+  nw="$nw -Wdeclaration-after-statement" # too useful to forbid
+  nw="$nw -Waggregate-return"       # anachronistic
+  nw="$nw -Wlong-long"              # C90 is anachronistic (lib/gethrxtime.h)
+  nw="$nw -Wc++-compat"             # We don't care about C++ compilers
+  nw="$nw -Wundef"                  # Warns on '#if GNULIB_FOO' etc in gnulib
+  nw="$nw -Wtraditional"            # Warns on #elif which we use often
+  nw="$nw -Wcast-qual"              # Too many warnings for now
+  nw="$nw -Wconversion"             # Too many warnings for now
+  nw="$nw -Wsystem-headers"         # Don't let system headers trigger warnings
+  nw="$nw -Wsign-conversion"        # Too many warnings for now
+  nw="$nw -Wtraditional-conversion" # Too many warnings for now
+  nw="$nw -Wunreachable-code"       # Too many warnings for now
+  nw="$nw -Wpadded"                 # Our structs are not padded
+  nw="$nw -Wredundant-decls"        # openat.h declares e.g., mkdirat
+  nw="$nw -Wlogical-op"             # any use of fwrite provokes this
+  nw="$nw -Wvla"                    # warnings in gettext.h
+  nw="$nw -Wnested-externs"         # use of XARGMATCH/verify_function__
+  nw="$nw -Wswitch-enum"            # Too many warnings for now
+  nw="$nw -Wswitch-default"         # Too many warnings for now
+  # Too many warnings for now
+  nw="$nw -Wattributes"
+  nw="$nw -Wstrict-prototypes"
+  nw="$nw -Wold-style-definition"
+  nw="$nw -Wpacked"
+  nw="$nw -Wmissing-prototypes"
+  nw="$nw -Wmissing-declarations"
+  nw="$nw -Wsuggest-attribute=noreturn"
+  # things I might fix soon:
+  nw="$nw -Wfloat-equal"            # sort.c, seq.c
+  nw="$nw -Wmissing-format-attribute" # copy.c
+  nw="$nw -Wunsafe-loop-optimizations" # a few src/*.c
+  nw="$nw -Winline"                 # system.h's readdir_ignoring_dot_and_dotdot
+  nw="$nw -Wstrict-overflow"        # expr.c, pr.c, tr.c, factor.c
+  nw="$nw -Wstack-protector"        # libparted/label/gpt.c
+  # ?? -Wstrict-overflow
+  nw="$nw -Wsuggest-attribute=format" # suggests to use gnu_printf for vsnprintf
 
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
 
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
+  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
 
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
 
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
 
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
+  if test -n "$GCC"; then
 
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len" && \
-       test undefined != "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
+            { $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_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-fi
+int
+main ()
+{
 
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_cc_nomfi_supported=yes
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
+  gl_cv_cc_nomfi_supported=no
 fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+       CFLAGS="$gl_save_CFLAGS"
 
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
+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 the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
+    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_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 ()
+{
 
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_cc_nomfi_needed=no
 else
-  lt_unset=false
+  gl_cv_cc_nomfi_needed=yes
 fi
+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_cc_nomfi_needed" >&5
+$as_echo "$gl_cv_cc_nomfi_needed" >&6; }
+    fi
 
+                { $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_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -Werror -Wuninitialized"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_cc_uninitialized_supported=yes
+else
+  gl_cv_cc_uninitialized_supported=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+       CFLAGS="$gl_save_CFLAGS"
 
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
+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 ws}' ../build-aux/gcc-warning.spec) | sort) \
+  #  <(LC_ALL=C gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort)
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
+  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.
+  { $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 :
+
+else
+  gl_alloc_max=2147483647
 fi
 
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+  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
 
+  ws=$gl_manywarn_set
 
+  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 how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+
+
+  gl_warn_set=
+  set x $ws; shift
+  for gl_warn_item
+  do
+    case " $nw " in
+      *" $gl_warn_item "*)
+        ;;
+      *)
+        gl_warn_set="$gl_warn_set $gl_warn_item"
         ;;
     esac
-    ;;
-esac
+  done
+  ws=$gl_warn_set
 
-fi
+  for w in $ws; do
 
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+  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 ()
+{
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_warn_c__Werror__Wunknown_warning_option=yes
 else
-  lt_cv_ld_reload_flag='-r'
+  gl_cv_warn_c__Werror__Wunknown_warning_option=no
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
+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
 
+  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_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 $gl_positive"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$as_gl_Warn=yes"
 else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
+  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
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+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
 
 
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+  done
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-missing-field-initializers" >&5
+$as_echo_n "checking whether C compiler handles -Wno-missing-field-initializers... " >&6; }
+if ${gl_cv_warn_c__Wno_missing_field_initializers+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wmissing-field-initializers"
+  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__Wno_missing_field_initializers=yes
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  gl_cv_warn_c__Wno_missing_field_initializers=no
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_missing_field_initializers" >&5
+$as_echo "$gl_cv_warn_c__Wno_missing_field_initializers" >&6; }
+if test "x$gl_cv_warn_c__Wno_missing_field_initializers" = xyes; then :
+  as_fn_append WARN_CFLAGS " -Wno-missing-field-initializers"
 fi
 
-test -z "$OBJDUMP" && OBJDUMP=objdump
+ # We need this one
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-sign-compare" >&5
+$as_echo_n "checking whether C compiler handles -Wno-sign-compare... " >&6; }
+if ${gl_cv_warn_c__Wno_sign_compare+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wsign-compare"
+  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__Wno_sign_compare=yes
+else
+  gl_cv_warn_c__Wno_sign_compare=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__Wno_sign_compare" >&5
+$as_echo "$gl_cv_warn_c__Wno_sign_compare" >&6; }
+if test "x$gl_cv_warn_c__Wno_sign_compare" = xyes; then :
+  as_fn_append WARN_CFLAGS " -Wno-sign-compare"
+fi
 
+     # Too many warnings for now
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-pointer-sign" >&5
+$as_echo_n "checking whether C compiler handles -Wno-pointer-sign... " >&6; }
+if ${gl_cv_warn_c__Wno_pointer_sign+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
 
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wpointer-sign"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+int
+main ()
+{
 
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_warn_c__Wno_pointer_sign=yes
+else
+  gl_cv_warn_c__Wno_pointer_sign=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_pointer_sign" >&5
+$as_echo "$gl_cv_warn_c__Wno_pointer_sign" >&6; }
+if test "x$gl_cv_warn_c__Wno_pointer_sign" = xyes; then :
+  as_fn_append WARN_CFLAGS " -Wno-pointer-sign"
+fi
 
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
+     # Too many warnings for now
 
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
 
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-parameter" >&5
+$as_echo_n "checking whether C compiler handles -Wno-unused-parameter... " >&6; }
+if ${gl_cv_warn_c__Wno_unused_parameter+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-parameter"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+int
+main ()
+{
 
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_warn_c__Wno_unused_parameter=yes
+else
+  gl_cv_warn_c__Wno_unused_parameter=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_parameter" >&5
+$as_echo "$gl_cv_warn_c__Wno_unused_parameter" >&6; }
+if test "x$gl_cv_warn_c__Wno_unused_parameter" = xyes; then :
+  as_fn_append WARN_CFLAGS " -Wno-unused-parameter"
+fi
 
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+ # Too many warnings for now
 
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-netbsd* | netbsdelf*-gnu)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-macros" >&5
+$as_echo_n "checking whether C compiler handles -Wno-unused-macros... " >&6; }
+if ${gl_cv_warn_c__Wno_unused_macros+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-macros"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+int
+main ()
+{
 
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_warn_c__Wno_unused_macros=yes
+else
+  gl_cv_warn_c__Wno_unused_macros=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_macros" >&5
+$as_echo "$gl_cv_warn_c__Wno_unused_macros" >&6; }
+if test "x$gl_cv_warn_c__Wno_unused_macros" = xyes; then :
+  as_fn_append WARN_CFLAGS " -Wno-unused-macros"
+fi
 
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+ # Too many warnings for now
 
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-format-nonliteral" >&5
+$as_echo_n "checking whether C compiler handles -Wno-format-nonliteral... " >&6; }
+if ${gl_cv_warn_c__Wno_format_nonliteral+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wformat-nonliteral"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_warn_c__Wno_format_nonliteral=yes
+else
+  gl_cv_warn_c__Wno_format_nonliteral=no
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
 fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_format_nonliteral" >&5
+$as_echo "$gl_cv_warn_c__Wno_format_nonliteral" >&6; }
+if test "x$gl_cv_warn_c__Wno_format_nonliteral" = xyes; then :
+  as_fn_append WARN_CFLAGS " -Wno-format-nonliteral"
+fi
 
 
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wabi=2" >&5
+$as_echo_n "checking whether C compiler handles -Wabi=2... " >&6; }
+if ${gl_cv_warn_c__Wabi_2+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wabi=2"
+  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__Wabi_2=yes
+else
+  gl_cv_warn_c__Wabi_2=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__Wabi_2" >&5
+$as_echo "$gl_cv_warn_c__Wabi_2" >&6; }
+if test "x$gl_cv_warn_c__Wabi_2" = xyes; then :
+  as_fn_append WARN_CFLAGS " -Wabi=2"
+fi
 
+               # Avoid compile failure with GCC8
 
+  # FIXME: investigate these
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-jump-misses-init" >&5
+$as_echo_n "checking whether C compiler handles -Wno-jump-misses-init... " >&6; }
+if ${gl_cv_warn_c__Wno_jump_misses_init+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wjump-misses-init"
+  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__Wno_jump_misses_init=yes
+else
+  gl_cv_warn_c__Wno_jump_misses_init=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__Wno_jump_misses_init" >&5
+$as_echo "$gl_cv_warn_c__Wno_jump_misses_init" >&6; }
+if test "x$gl_cv_warn_c__Wno_jump_misses_init" = xyes; then :
+  as_fn_append WARN_CFLAGS " -Wno-jump-misses-init"
+fi
 
 
 
+  # In spite of excluding -Wlogical-op above, it is enabled, as of
+  # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c
 
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-logical-op" >&5
+$as_echo_n "checking whether C compiler handles -Wno-logical-op... " >&6; }
+if ${gl_cv_warn_c__Wno_logical_op+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wlogical-op"
+  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__Wno_logical_op=yes
+else
+  gl_cv_warn_c__Wno_logical_op=no
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
+
 fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_logical_op" >&5
+$as_echo "$gl_cv_warn_c__Wno_logical_op" >&6; }
+if test "x$gl_cv_warn_c__Wno_logical_op" = xyes; then :
+  as_fn_append WARN_CFLAGS " -Wno-logical-op"
 fi
 
 
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -fdiagnostics-show-option" >&5
+$as_echo_n "checking whether C compiler handles -fdiagnostics-show-option... " >&6; }
+if ${gl_cv_warn_c__fdiagnostics_show_option+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -fdiagnostics-show-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__fdiagnostics_show_option=yes
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  gl_cv_warn_c__fdiagnostics_show_option=no
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__fdiagnostics_show_option" >&5
+$as_echo "$gl_cv_warn_c__fdiagnostics_show_option" >&6; }
+if test "x$gl_cv_warn_c__fdiagnostics_show_option" = xyes; then :
+  as_fn_append WARN_CFLAGS " -fdiagnostics-show-option"
 fi
 
-test -z "$DLLTOOL" && DLLTOOL=dlltool
 
 
+  # Make sure it recognizes /* FALLTHROUGH */ comment
+
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wimplicit-fallthrough=3" >&5
+$as_echo_n "checking whether C compiler handles -Wimplicit-fallthrough=3... " >&6; }
+if ${gl_cv_warn_c__Wimplicit_fallthrough_3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wimplicit-fallthrough=3"
+  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__Wimplicit_fallthrough_3=yes
+else
+  gl_cv_warn_c__Wimplicit_fallthrough_3=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__Wimplicit_fallthrough_3" >&5
+$as_echo "$gl_cv_warn_c__Wimplicit_fallthrough_3" >&6; }
+if test "x$gl_cv_warn_c__Wimplicit_fallthrough_3" = xyes; then :
+  as_fn_append WARN_CFLAGS " -Wimplicit-fallthrough=3"
+fi
 
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
 
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+$as_echo "#define lint 1" >>confdefs.h
 
 
+$as_echo "#define _FORTIFY_SOURCE 2" >>confdefs.h
 
 
+$as_echo "#define GNULIB_PORTCHECK 1" >>confdefs.h
 
+fi
 
 
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
+$as_echo_n "checking size of off_t... " >&6; }
+if ${ac_cv_sizeof_off_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t"        "
+       #include <stdio.h>
+       #include <sys/types.h>
+       #include <unistd.h>
+
+"; then :
 
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  if test "$ac_cv_type_off_t" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (off_t)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_off_t=0
+   fi
 fi
 
-
-    test -n "$AR" && break
-  done
 fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5
+$as_echo "$ac_cv_sizeof_off_t" >&6; }
 
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_OFF_T $ac_cv_sizeof_off_t
+_ACEOF
+
+
+
+# Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+  enableval=$enable_shared; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+       IFS=$lt_save_ifs
+       if test "X$pkg" = "X$p"; then
+         enable_shared=yes
+       fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  enable_shared=yes
 fi
 
 
-  test -n "$ac_ct_AR" && break
-done
 
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
+
+
+
+
+
+
+if test "$OS" = linux && test $ac_cv_sizeof_off_t -lt 8; then
+                                       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: off_t is less than 8 bytes.  Using llseek syscall" >&5
+$as_echo "$as_me: WARNING: off_t is less than 8 bytes.  Using llseek syscall" >&2;}
+       # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+  enableval=$enable_shared; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+       IFS=$lt_save_ifs
+       if test "X$pkg" = "X$p"; then
+         enable_shared=yes
+       fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac
+else
+  enable_shared=no
 fi
 
-: ${AR=ar}
-: ${AR_FLAGS=cru}
 
 
 
 
 
+fi
+case `pwd` in
+  *\ * | *\    *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
 
 
 
+macro_version='2.4.6'
+macro_revision='2.4.6'
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
 
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
 
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
 
 
 
 
 
+ltmain=$ac_aux_dir/ltmain.sh
 
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
 
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
 
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
 
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
 fi
 
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO ""
+}
+
+case $ECHO in
+  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
 esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
 
-test -z "$STRIP" && STRIP=:
 
 
 
 
 
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
+    for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
+      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
   done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
 esac
-    RANLIB=$ac_ct_RANLIB
+
+      $ac_path_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
-  RANLIB="$ac_cv_prog_RANLIB"
+  ac_cv_path_SED=$SED
 fi
 
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
 
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
 
 
 
@@ -29913,10 +33917,74 @@ esac
 
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     if test -z "$FGREP"; then
+  ac_path_FGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in fgrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_FGREP" || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
 
+      $ac_path_FGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_FGREP"; then
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_FGREP=$FGREP
+fi
 
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
 
 
+test -z "$GREP" && GREP=grep
 
 
 
 
 
 
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
 
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+ac_prog=ld
+if test yes = "$GCC"; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return, which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD=$ac_prog
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test yes = "$with_gnu_ld"; 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 ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+  if test -z "$LD"; then
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_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 `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+       test no != "$with_gnu_ld" && break
+       ;;
+      *)
+       test yes != "$with_gnu_ld" && break
+       ;;
+      esac
+    fi
+  done
+  IFS=$lt_save_ifs
+else
+  lt_cv_path_LD=$LD # Let the user override the test with a path.
+fi
+fi
 
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
+LD=$lt_cv_path_LD
+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; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $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 ${lt_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'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
   ;;
 esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
 
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
 
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
 
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
 
-#ifdef __cplusplus
-extern "C" {
-#endif
 
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
 
-         cat <<_LT_EOF >> conftest.$ac_ext
 
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
 
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
 
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if ${lt_cv_path_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM=$NM
+else
+  lt_nm_to_check=${ac_tool_prefix}nm
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
   fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS=$lt_save_ifs
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm=$ac_dir/$lt_tmp_nm
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
+       # Check to see if the nm accepts a BSD-compat flag.
+       # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
+       #   nm: unknown option "B" ignored
+       # Tru64's nm complains that /dev/null is an invalid object file
+       # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+       case $build_os in
+       mingw*) lt_bad_file=conftest.nm/nofile ;;
+       *) lt_bad_file=/dev/null ;;
+       esac
+       case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+       *$lt_bad_file* | *'Invalid file or object type'*)
+         lt_cv_path_NM="$tmp_nm -B"
+         break 2
+         ;;
+       *)
+         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+         */dev/null*)
+           lt_cv_path_NM="$tmp_nm -p"
+           break 2
+           ;;
+         *)
+           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+           continue # so that we can try to find one that supports BSD flags
+           ;;
+         esac
+         ;;
+       esac
+      fi
+    done
+    IFS=$lt_save_ifs
+  done
+  : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test no != "$lt_cv_path_NM"; then
+  NM=$lt_cv_path_NM
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
   else
-    lt_cv_sys_global_symbol_pipe=
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in dumpbin "link -dump"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DUMPBIN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DUMPBIN"; then
+  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
   fi
 done
+  done
+IFS=$as_save_IFS
 
 fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
 fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
+    test -n "$DUMPBIN" && break
+  done
+fi
+if test -z "$DUMPBIN"; then
+  ac_ct_DUMPBIN=$DUMPBIN
+  for ac_prog in dumpbin "link -dump"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DUMPBIN"; then
+  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
+  test -n "$ac_ct_DUMPBIN" && break
+done
 
+  if test "x$ac_ct_DUMPBIN" = x; then
+    DUMPBIN=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DUMPBIN=$ac_ct_DUMPBIN
+  fi
+fi
 
+    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols -headers"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
 
+  if test : != "$DUMPBIN"; then
+    NM=$DUMPBIN
+  fi
+fi
+test -z "$NM" && NM=nm
 
 
 
 
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if ${lt_cv_nm_interface+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+  cat conftest.out >&5
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
 
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if ${lt_cv_sys_max_cmd_len+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+    i=0
+  teststring=ABCD
 
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
 
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
 
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
+  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
 
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
 
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
 
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
+                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+             test 17 != "$i" # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
 
+fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
+if test -n "$lt_cv_sys_max_cmd_len"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
 else
-  with_sysroot=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
 fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
 
 
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
 
 
 
 
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
 
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
 fi
 
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
 
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
   ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
   ;;
+esac
 
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           case `/usr/bin/file conftest.o` in
-             *x86-64*)
-               LD="${LD-ld} -m elf32_x86_64"
-               ;;
-             *)
-               LD="${LD-ld} -m elf_i386"
-               ;;
-           esac
-           ;;
-         powerpc64le-*)
-           LD="${LD-ld} -m elf32lppclinux"
-           ;;
-         powerpc64-*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         powerpcle-*)
-           LD="${LD-ld} -m elf64lppc"
-           ;;
-         powerpc-*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
 
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  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
+  case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
+    ;;
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
+    ;;
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
 
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+fi
 
-int
-main ()
-{
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  lt_cv_cc_needs_belf=no
+  #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
+
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     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
 
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_reload_flag='-r'
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
-        fi
-        ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test yes != "$GCC"; then
+      reload_cmds=false
+    fi
+    ;;
+  darwin*)
+    if test yes = "$GCC"; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
 esac
 
-need_locks="$enable_libtool_lock"
+
+
+
+
+
+
+
 
 if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -30497,7 +34643,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -30507,10 +34653,10 @@ IFS=$as_save_IFS
 
 fi
 fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 
 
 fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -30537,7 +34683,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -30547,17 +34693,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -30565,72 +34711,296 @@ yes:)
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+    OBJDUMP=$ac_ct_OBJDUMP
   fi
 else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
 fi
 
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
+test -z "$OBJDUMP" && OBJDUMP=objdump
 
 
 
 
 
 
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# 'unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[3-9]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd* | bitrig*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
 
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+    fi
+    ;;
+  esac
 fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DLLTOOL"; then
+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 
 
 fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
+if test -z "$ac_cv_prog_DLLTOOL"; then
+  ac_ct_DLLTOOL=$DLLTOOL
+  # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+  if test -n "$ac_ct_DLLTOOL"; then
+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -30657,7 +35027,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -30667,17 +35037,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -30685,22 +35055,73 @@ yes:)
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
+    DLLTOOL=$ac_ct_DLLTOOL
   fi
 else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
 fi
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh;
+  # decide which one to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd=$ECHO
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -30709,7 +35130,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -30719,28 +35140,32 @@ IFS=$as_save_IFS
 
 fi
 fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
+    test -n "$AR" && break
+  done
 fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
+if test -z "$AR"; then
+  ac_ct_AR=$AR
+  for ac_prog in ar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -30749,7 +35174,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    ac_cv_prog_ac_ct_AR="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -30759,17 +35184,21 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
+
+  test -n "$ac_ct_AR" && break
+done
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -30777,22 +35206,91 @@ yes:)
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    NMEDIT=$ac_ct_NMEDIT
+    AR=$ac_ct_AR
   fi
+fi
+
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  NMEDIT="$ac_cv_prog_NMEDIT"
+  lt_cv_ar_at_file=no
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      if test 0 -eq "$ac_status"; then
+       # Ensure the archiver fails upon bogus file names.
+       rm -f conftest.$ac_objext libconftest.a
+       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+       if test 0 -ne "$ac_status"; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
+if test no = "$lt_cv_ar_at_file"; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -30801,7 +35299,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -30811,10 +35309,10 @@ IFS=$as_save_IFS
 
 fi
 fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 
 
 fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -30841,7 +35339,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
+    ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -30851,17 +35349,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -30869,114 +35367,29 @@ yes:)
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    LIPO=$ac_ct_LIPO
+    STRIP=$ac_ct_STRIP
   fi
 else
-  LIPO="$ac_cv_prog_LIPO"
+  STRIP="$ac_cv_prog_STRIP"
 fi
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+test -z "$STRIP" && STRIP=:
 
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -30985,7 +35398,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -30995,10 +35408,10 @@ IFS=$as_save_IFS
 
 fi
 fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 
 
 fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -31025,7 +35438,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -31035,17 +35448,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -31053,20 +35466,42 @@ yes:)
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    OTOOL64=$ac_ct_OTOOL64
+    RANLIB=$ac_ct_RANLIB
   fi
 else
-  OTOOL64="$ac_cv_prog_OTOOL64"
+  RANLIB="$ac_cv_prog_RANLIB"
 fi
 
+test -z "$RANLIB" && RANLIB=:
 
 
 
 
 
 
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
 
+if test -n "$RANLIB"; then
+  case $host_os in
+  bitrig* | openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
 
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
 
 
 
 
 
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&5
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&5
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
 
-fi
 
-done
 
 
 
 
 
-# Set options
 
 
 
-        enable_dlopen=no
 
 
-  enable_win32_dll=no
 
 
 
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
 
 
 
 
 
 
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
 
+# Allow CC to be a program name with arguments.
+compiler=$CC
 
 
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
 
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
 
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
 
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
 
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*)
+  if test ia64 = "$host_cpu"; then
+    symcode='[ABCDEGRST]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
 
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
 
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  # Gets list of data symbols to import.
+  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+  # Adjust the below global symbol transforms to fixup imported variables.
+  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
+  lt_c_name_lib_hook="\
+  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
+  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
+else
+  # Disable hooks by default.
+  lt_cv_sys_global_symbol_to_import=
+  lt_cdecl_hook=
+  lt_c_name_hook=
+  lt_c_name_lib_hook=
 fi
 
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
 
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
 
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
 
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
 
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
 
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function,
+    # D for any global variable and I for any imported variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK '"\
+"     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
 
+  # Check to see that the pipe works correctly.
+  pipe_works=no
 
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
 
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+       mv -f "$nlist"T "$nlist"
+      else
+       rm -f "$nlist"T
+      fi
 
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+         cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
 
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
+#ifdef __cplusplus
+extern "C" {
+#endif
 
+_LT_EOF
+         # Now generate the symbol file.
+         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
 
+         cat <<_LT_EOF >> conftest.$ac_ext
 
+/* The mapping between symbol names and symbols.  */
+LT_DLSYM_CONST struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+         $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+         cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
 
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
 
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+         # Now try linking the two files.
+         mv conftest.$ac_objext conftstm.$ac_objext
+         lt_globsym_save_LIBS=$LIBS
+         lt_globsym_save_CFLAGS=$CFLAGS
+         LIBS=conftstm.$ac_objext
+         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest$ac_exeext; then
+           pipe_works=yes
+         fi
+         LIBS=$lt_globsym_save_LIBS
+         CFLAGS=$lt_globsym_save_CFLAGS
+       else
+         echo "cannot find nm_test_func in $nlist" >&5
+       fi
+      else
+       echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
 
+  # Do not use the global_symbol_pipe unless it works.
+  if test yes = "$pipe_works"; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
 
+fi
 
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
 
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
 
 
 
@@ -31382,7 +35848,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
-test -z "$LN_S" && LN_S="ln -s"
 
 
 
@@ -31397,721 +35862,971 @@ test -z "$LN_S" && LN_S="ln -s"
 
 
 
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
 
 
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
 
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+  withval=$with_sysroot;
+else
+  with_sysroot=no
+fi
 
 
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+   if test yes = "$GCC"; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
+$as_echo "$with_sysroot" >&6; }
+   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+   ;;
 esac
 
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
 
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
 
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
 
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
 
 
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
+$as_echo_n "checking for a working dd... " >&6; }
+if ${ac_cv_path_lt_DD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
+  printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+if test -z "$lt_DD"; then
+  ac_path_lt_DD_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in dd; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_lt_DD" || continue
+if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi
+      $ac_path_lt_DD_found && break 3
+    done
   done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_lt_DD"; then
+    :
+  fi
+else
+  ac_cv_path_lt_DD=$lt_DD
 fi
 
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
+rm -f conftest.i conftest2.i conftest.out
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
+$as_echo "$ac_cv_path_lt_DD" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
+$as_echo_n "checking how to truncate binary pipes... " >&6; }
+if ${lt_cv_truncate_bin+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
 fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
+$as_echo "$lt_cv_truncate_bin" >&6; }
 
 
 
 
 
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
 
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
 
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
 
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+  enableval=$enable_libtool_lock;
 fi
 
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
 
-  else
-    MAGIC_CMD=:
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out what ABI is being produced by ac_compile, and set mode
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+       HPUX_IA64_MODE=32
+       ;;
+      *ELF-64*)
+       HPUX_IA64_MODE=64
+       ;;
+    esac
   fi
-fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    if test yes = "$lt_cv_prog_gnu_ld"; then
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -melf32bsmip"
+         ;;
+       *N32*)
+         LD="${LD-ld} -melf32bmipn32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -melf64bmip"
+       ;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -32"
+         ;;
+       *N32*)
+         LD="${LD-ld} -n32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -64"
+         ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
 
+mips64*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    emul=elf
+    case `/usr/bin/file conftest.$ac_objext` in
+      *32-bit*)
+       emul="${emul}32"
+       ;;
+      *64-bit*)
+       emul="${emul}64"
+       ;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *MSB*)
+       emul="${emul}btsmip"
+       ;;
+      *LSB*)
+       emul="${emul}ltsmip"
+       ;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *N32*)
+       emul="${emul}n32"
+       ;;
+    esac
+    LD="${LD-ld} -m $emul"
   fi
+  rm -rf conftest*
   ;;
-esac
 
-# Use C for the default configuration in the libtool script
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.  Note that the listed cases only cover the
+  # situations where additional linker options are needed (such as when
+  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+  # vice versa); the common cases where no linker options are needed do
+  # not appear in the list.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_i386_fbsd"
+           ;;
+         x86_64-*linux*)
+           case `/usr/bin/file conftest.o` in
+             *x86-64*)
+               LD="${LD-ld} -m elf32_x86_64"
+               ;;
+             *)
+               LD="${LD-ld} -m elf_i386"
+               ;;
+           esac
+           ;;
+         powerpc64le-*linux*)
+           LD="${LD-ld} -m elf32lppclinux"
+           ;;
+         powerpc64-*linux*)
+           LD="${LD-ld} -m elf32ppclinux"
+           ;;
+         s390x-*linux*)
+           LD="${LD-ld} -m elf_s390"
+           ;;
+         sparc64-*linux*)
+           LD="${LD-ld} -m elf32_sparc"
+           ;;
+       esac
+       ;;
+      *64-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_x86_64_fbsd"
+           ;;
+         x86_64-*linux*)
+           LD="${LD-ld} -m elf_x86_64"
+           ;;
+         powerpcle-*linux*)
+           LD="${LD-ld} -m elf64lppc"
+           ;;
+         powerpc-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+         s390*-*linux*|s390*-*tpf*)
+           LD="${LD-ld} -m elf64_s390"
+           ;;
+         sparc*-*linux*)
+           LD="${LD-ld} -m elf64_sparc"
+           ;;
+       esac
+       ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
 
-lt_save_CC="$CC"
-ac_ext=c
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS=$CFLAGS
+  CFLAGS="$CFLAGS -belf"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if ${lt_cv_cc_needs_belf+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  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
 
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
+int
+main ()
+{
 
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_cc_needs_belf=yes
+else
+  lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     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
 
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+  if test yes != "$lt_cv_cc_needs_belf"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS=$SAVE_CFLAGS
+  fi
+  ;;
+*-*solaris*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*)
+        case $host in
+        i?86-*-solaris*|x86_64-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD=${LD-ld}_sol2
+        fi
+        ;;
+      *)
+       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+         LD="${LD-ld} -64"
+       fi
+       ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
 
+need_locks=$enable_libtool_lock
 
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$MANIFEST_TOOL"; then
+  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+  # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_MANIFEST_TOOL"; then
+  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
+  if test "x$ac_ct_MANIFEST_TOOL" = x; then
+    MANIFEST_TOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+  fi
+else
+  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
 
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&5
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test yes != "$lt_cv_path_mainfest_tool"; then
+  MANIFEST_TOOL=:
+fi
 
-# Allow CC to be a program name with arguments.
-compiler=$CC
 
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
 
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
 
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
 
 
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-lt_prog_compiler_no_builtin_flag=
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
 else
-    :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DSYMUTIL=$ac_ct_DSYMUTIL
+  fi
+else
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
 fi
 
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NMEDIT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    NMEDIT=$ac_ct_NMEDIT
+  fi
+else
+  NMEDIT="$ac_cv_prog_NMEDIT"
+fi
 
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LIPO+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$LIPO"; then
+  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
 
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+  ac_ct_LIPO=$LIPO
+  # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_LIPO"; then
+  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_LIPO="lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
+  if test "x$ac_ct_LIPO" = x; then
+    LIPO=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    LIPO=$ac_ct_LIPO
+  fi
+else
+  LIPO="$ac_cv_prog_LIPO"
+fi
 
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL"; then
+  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
 
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+  ac_ct_OTOOL=$OTOOL
+  # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL"; then
+  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OTOOL="otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
-      ;;
-    esac
+  if test "x$ac_ct_OTOOL" = x; then
+    OTOOL=":"
   else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ F* | *Sun*Fortran*)
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Qoption ld '
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-        *Intel*\ [CF]*Compiler*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fPIC'
-         lt_prog_compiler_static='-static'
-         ;;
-       *Portland\ Group*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fpic'
-         lt_prog_compiler_static='-Bstatic'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
+    OTOOL=$ac_ct_OTOOL
+  fi
+else
+  OTOOL="$ac_cv_prog_OTOOL"
+fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+  if test -n "$OTOOL64"; then
+  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
 
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+  ac_ct_OTOOL64=$OTOOL64
+  # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
+  if test -n "$ac_ct_OTOOL64"; then
+  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OTOOL64="otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
 else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+  if test "x$ac_ct_OTOOL64" = x; then
+    OTOOL64=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL64=$ac_ct_OTOOL64
+  fi
+else
+  OTOOL64="$ac_cv_prog_OTOOL64"
 fi
 
 
 
 
 
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
 
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
 
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 
 
 
 
 
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if ${lt_cv_apple_cc_single_mod+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_apple_cc_single_mod=no
+      if test -z "$LT_MULTI_MODULE"; then
+       # By default we will add the -single_module flag. You can override
+       # by either setting the environment variable LT_MULTI_MODULE
+       # non-empty at configure time, or by adding -multi_module to the
+       # link flags.
+       rm -rf libconftest.dylib*
+       echo "int foo(void){return 1;}" > conftest.c
+       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+       # If there is a non-empty error log, and "single_module"
+       # appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+         cat conftest.err >&5
+       # Otherwise, if the output was created with a 0 exit code from
+       # the compiler, it worked.
+       elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
+         lt_cv_apple_cc_single_mod=yes
+       else
+         cat conftest.err >&5
+       fi
+       rm -rf libconftest.dylib*
+       rm -f conftest.*
+      fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+  lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_ld_exported_symbols_list=yes
+else
+  lt_cv_ld_exported_symbols_list=no
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+       LDFLAGS=$save_LDFLAGS
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
 
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+      echo "$AR cru libconftest.a conftest.o" >&5
+      $AR cru libconftest.a conftest.o 2>&5
+      echo "$RANLIB libconftest.a" >&5
+      $RANLIB libconftest.a 2>&5
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -s conftest.err && $GREP force_load conftest.err; then
+       cat conftest.err >&5
+      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
+       lt_cv_ld_force_load=yes
+      else
+       cat conftest.err >&5
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+    case $host_os in
+    rhapsody* | darwin1.[012])
+      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+       10.[012][,.]*)
+         _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+       10.*)
+         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test yes = "$lt_cv_apple_cc_single_mod"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test yes = "$lt_cv_ld_exported_symbols_list"; then
+      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
+    fi
+    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
 
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
 fi
 
+done
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+# Set options
 
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
 
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs=no
-    ;;
-  esac
 
-  ld_shlibs=yes
+        enable_dlopen=no
 
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
 
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
+  enable_win32_dll=no
 
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
+
+
+  # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+  enableval=$enable_static; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+       IFS=$lt_save_ifs
+       if test "X$pkg" = "X$p"; then
+         enable_static=yes
+       fi
+      done
+      IFS=$lt_save_ifs
+      ;;
     esac
+else
+  enable_static=yes
+fi
 
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
 
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
 
-_LT_EOF
-      fi
-      ;;
 
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
 
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
 
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
 
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
 
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
 
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+  withval=$with_pic; lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for lt_pkg in $withval; do
+       IFS=$lt_save_ifs
+       if test "X$lt_pkg" = "X$lt_p"; then
+         pic_mode=yes
+       fi
+      done
+      IFS=$lt_save_ifs
       ;;
+    esac
+else
+  pic_mode=default
+fi
 
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
 
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
 
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
 
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
 
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
 
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
+
+  # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+  enableval=$enable_fast_install; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+       IFS=$lt_save_ifs
+       if test "X$pkg" = "X$p"; then
+         enable_fast_install=yes
+       fi
+      done
+      IFS=$lt_save_ifs
       ;;
+    esac
+else
+  enable_fast_install=yes
+fi
 
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
 
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
 
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
 
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
 
+
+
+
+  shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test "${with_aix_soname+set}" = set; then :
+  withval=$with_aix_soname; case $withval in
+    aix|svr4|both)
+      ;;
     *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
+      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
       ;;
     esac
+    lt_cv_with_aix_soname=$with_aix_soname
+else
+  if ${lt_cv_with_aix_soname+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_with_aix_soname=aix
+fi
 
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
+    with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+$as_echo "$with_aix_soname" >&6; }
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
     fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
 
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
 
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
 
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
 
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
 
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
 
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-       link_all_deplibs=no
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
 
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
 
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS=$ltmain
 
-fi
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
-  aix_libpath=$lt_cv_aix_libpath_
-fi
 
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
 
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
 
-fi
 
-  aix_libpath=$lt_cv_aix_libpath_
-fi
 
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
 
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
 
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
 
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
 
-    darwin* | rhapsody*)
 
 
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
 
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
 
-  else
-  ld_shlibs=no
-  fi
 
-      ;;
 
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
 
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
 
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
 
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
 
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
 
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
 
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
 
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
 
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
 
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
 
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
 
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
+test -z "$LN_S" && LN_S="ln -s"
 
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
 
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}"; then
+   setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
 else
-  lt_cv_irix_exported_symbol=no
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
+rmdir .libs 2>/dev/null
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
 
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
 
-    *nto* | *qnx*)
-      ;;
 
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
 
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
 
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
 
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
 
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
 
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
 
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test set != "${COLLECT_NAMES+set}"; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
   fi
+  ;;
+esac
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
+# Global variables:
+ofile=libtool
+can_build_shared=yes
 
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
 
+with_gnu_ld=$lt_cv_prog_gnu_ld
 
+old_CC=$CC
+old_CFLAGS=$CFLAGS
 
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
 
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
 
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
 
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/${ac_tool_prefix}file"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+       case $deplibs_check_method in
+       "file_magic "*)
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+         MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+           $EGREP "$file_magic_regex" > /dev/null; then
+           :
          else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
+           cat <<_LT_EOF 1>&2
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+         fi ;;
+       esac
+      fi
+      break
+    fi
+  done
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
   ;;
 esac
+fi
 
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
 
 
 
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/file"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"file"
+      if test -n "$file_magic_test_file"; then
+       case $deplibs_check_method in
+       "file_magic "*)
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+         MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+           $EGREP "$file_magic_regex" > /dev/null; then
+           :
+         else
+           cat <<_LT_EOF 1>&2
 
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
 
+_LT_EOF
+         fi ;;
+       esac
+      fi
+      break
+    fi
+  done
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
+  ;;
+esac
+fi
 
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
+  else
+    MAGIC_CMD=:
+  fi
+fi
 
+  fi
+  ;;
+esac
 
+# Use C for the default configuration in the libtool script
 
+lt_save_CC=$CC
+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
 
 
+# Source file extension for C test sources.
+ac_ext=c
 
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
 
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
 
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
 
 
 
@@ -33577,63 +37492,506 @@ esac
 
 
 
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
 
+# Allow CC to be a program name with arguments.
+compiler=$CC
 
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
 
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
 
 
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
 
+lt_prog_compiler_no_builtin_flag=
 
+if test yes = "$GCC"; then
+  case $cc_basename in
+  nvcc*)
+    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+  *)
+    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+  esac
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"  ## exclude from sc_useless_quotes_in_assignment
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $RM conftest*
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
 
+if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+    :
+fi
 
+fi
 
 
 
 
 
 
+  lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
 
 
+  if test yes = "$GCC"; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
 
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test ia64 = "$host_cpu"; then
+       # AIX 5 now supports IA64 processor
+       lt_prog_compiler_static='-Bstatic'
+      fi
+      lt_prog_compiler_pic='-fPIC'
+      ;;
 
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
+            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
 
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
 
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+       lt_prog_compiler_static='$wl-static'
+       ;;
+      esac
+      ;;
 
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
 
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static=
+      ;;
 
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+       # +Z the default
+       ;;
+      *)
+       lt_prog_compiler_pic='-fPIC'
+       ;;
+      esac
+      ;;
 
+    interix[3-9]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
 
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
 
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
 
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       lt_prog_compiler_pic=-Kconform_pic
+      fi
+      ;;
 
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
 
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      lt_prog_compiler_wl='-Xlinker '
+      if test -n "$lt_prog_compiler_pic"; then
+        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+      fi
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test ia64 = "$host_cpu"; then
+       # AIX 5 now supports IA64 processor
+       lt_prog_compiler_static='-Bstatic'
+      else
+       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
 
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      case $cc_basename in
+      nagfor*)
+        # NAG Fortran compiler
+        lt_prog_compiler_wl='-Wl,-Wl,,'
+        lt_prog_compiler_pic='-PIC'
+        lt_prog_compiler_static='-Bstatic'
+        ;;
+      esac
+      ;;
 
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+       lt_prog_compiler_static='$wl-static'
+       ;;
+      esac
+      ;;
 
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+       # +Z the default
+       ;;
+      *)
+       lt_prog_compiler_pic='+Z'
+       ;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='$wl-a ${wl}archive'
+      ;;
 
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
 
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+      case $cc_basename in
+      # old Intel for x86_64, which still supported -KPIC.
+      ecc*)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-KPIC'
+       lt_prog_compiler_static='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-fPIC'
+       lt_prog_compiler_static='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='--shared'
+       lt_prog_compiler_static='--static'
+       ;;
+      nagfor*)
+       # NAG Fortran compiler
+       lt_prog_compiler_wl='-Wl,-Wl,,'
+       lt_prog_compiler_pic='-PIC'
+       lt_prog_compiler_static='-Bstatic'
+       ;;
+      tcc*)
+       # Fabrice Bellard et al's Tiny C Compiler
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-fPIC'
+       lt_prog_compiler_static='-static'
+       ;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+       # which looks to be a dead project)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-fpic'
+       lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      xl* | bgxl* | bgf* | mpixl*)
+       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-qpic'
+       lt_prog_compiler_static='-qstaticlink'
+       ;;
+      *)
+       case `$CC -V 2>&1 | sed 5q` in
+       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+         # Sun Fortran 8.3 passes all unrecognized flags to the linker
+         lt_prog_compiler_pic='-KPIC'
+         lt_prog_compiler_static='-Bstatic'
+         lt_prog_compiler_wl=''
+         ;;
+       *Sun\ F* | *Sun*Fortran*)
+         lt_prog_compiler_pic='-KPIC'
+         lt_prog_compiler_static='-Bstatic'
+         lt_prog_compiler_wl='-Qoption ld '
+         ;;
+       *Sun\ C*)
+         # Sun C 5.9
+         lt_prog_compiler_pic='-KPIC'
+         lt_prog_compiler_static='-Bstatic'
+         lt_prog_compiler_wl='-Wl,'
+         ;;
+        *Intel*\ [CF]*Compiler*)
+         lt_prog_compiler_wl='-Wl,'
+         lt_prog_compiler_pic='-fPIC'
+         lt_prog_compiler_static='-static'
+         ;;
+       *Portland\ Group*)
+         lt_prog_compiler_wl='-Wl,'
+         lt_prog_compiler_pic='-fpic'
+         lt_prog_compiler_static='-Bstatic'
+         ;;
+       esac
+       ;;
+      esac
+      ;;
 
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
 
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
+      ;;
 
+    rdos*)
+      lt_prog_compiler_static='-non_shared'
+      ;;
 
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+       lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+       lt_prog_compiler_wl='-Wl,';;
+      esac
+      ;;
 
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       lt_prog_compiler_pic='-Kconform_pic'
+       lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
 
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
 
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
 
+case $host_os in
+  # For platforms that do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
 
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_works=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"  ## exclude from sc_useless_quotes_in_assignment
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_pic_works=yes
+     fi
+   fi
+   $RM conftest*
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
 
+if test yes = "$lt_cv_prog_compiler_pic_works"; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
 
+fi
 
 
 
@@ -33645,8 +38003,46 @@ esac
 
 
 
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_static_works=no
+   save_LDFLAGS=$LDFLAGS
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler_static_works=yes
+       fi
+     else
+       lt_cv_prog_compiler_static_works=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS=$save_LDFLAGS
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
 
+if test yes = "$lt_cv_prog_compiler_static_works"; then
+    :
+else
+    lt_prog_compiler_static=
+fi
 
 
 
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 
 
 
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 
 
 
 
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
+  # do not overwrite the value of need_locks provided by the user
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test no = "$hard_links"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
 
 
 
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
 
+  runpath_var=
+  allow_undefined_flag=
+  always_export_symbols=no
+  archive_cmds=
+  archive_expsym_cmds=
+  compiler_needs_object=no
+  enable_shared_with_static_runtimes=no
+  export_dynamic_flag_spec=
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  hardcode_automatic=no
+  hardcode_direct=no
+  hardcode_direct_absolute=no
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_separator=
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  inherit_rpath=no
+  link_all_deplibs=unknown
+  module_cmds=
+  module_expsym_cmds=
+  old_archive_from_new_cmds=
+  old_archive_from_expsyms_cmds=
+  thread_safe_flag_spec=
+  whole_archive_flag_spec=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ' (' and ')$', so one must not match beginning or
+  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+  # as well as any symbol that contains 'd'.
+  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+  extract_expsyms_cmds=
 
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test yes != "$GCC"; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd* | bitrig*)
+    with_gnu_ld=no
+    ;;
+  esac
 
+  ld_shlibs=yes
 
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
+  if test yes = "$with_gnu_ld"; then
+    case $host_os in
+      aix*)
+       # The AIX port of GNU ld has always aspired to compatibility
+       # with the native linker.  However, as the warning in the GNU ld
+       # block says, versions before 2.19.5* couldn't really create working
+       # shared libraries, regardless of the interface used.
+       case `$LD -v 2>&1` in
+         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+         *)
+           lt_use_gnu_ld_interface=yes
+           ;;
+       esac
+       ;;
+      *)
+       lt_use_gnu_ld_interface=yes
+       ;;
+    esac
+  fi
 
+  if test yes = "$lt_use_gnu_ld_interface"; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='$wl'
 
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+    export_dynamic_flag_spec='$wl--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+    else
+      whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
 
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[3-9]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test ia64 != "$host_cpu"; then
+       ld_shlibs=no
+       cat <<_LT_EOF 1>&2
 
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
 
+_LT_EOF
+      fi
+      ;;
 
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
 
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       allow_undefined_flag=unsupported
+       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+       # support --undefined.  This deserves some investigation.  FIXME
+       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
 
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      export_dynamic_flag_spec='$wl--export-all-symbols'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
 
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+       # If the export-symbols file already is a .def file, use it as
+       # is; otherwise, prepend EXPORTS...
+       archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+          cp $export_symbols $output_objdir/$soname.def;
+        else
+          echo EXPORTS > $output_objdir/$soname.def;
+          cat $export_symbols >> $output_objdir/$soname.def;
+        fi~
+        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
 
+    haiku*)
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      link_all_deplibs=yes
+      ;;
 
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       prefix_cmds="$SED"~
+       if test EXPORTS = "`$SED 1q $export_symbols`"; then
+         prefix_cmds="$prefix_cmds -e 1d";
+       fi~
+       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
+      ;;
 
+    interix[3-9]*)
+      hardcode_direct=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+      export_dynamic_flag_spec='$wl-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test linux-dietlibc = "$host_os"; then
+       case $cc_basename in
+         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
+       esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+        && test no = "$tmp_diet"
+      then
+       tmp_addflag=' $pic_flag'
+       tmp_sharedflag='-shared'
+       case $cc_basename,$host_cpu in
+        pgcc*)                         # Portland Group C compiler
+         whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+         tmp_addflag=' $pic_flag'
+         ;;
+       pgf77* | pgf90* | pgf95* | pgfortran*)
+                                       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       lf95*)                          # Lahey Fortran 8.1
+         whole_archive_flag_spec=
+         tmp_sharedflag='--shared' ;;
+        nagfor*)                        # NAGFOR 5.3
+          tmp_sharedflag='-Wl,-shared' ;;
+       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+         tmp_sharedflag='-qmkshrobj'
+         tmp_addflag= ;;
+       nvcc*)  # Cuda Compiler Driver 2.2
+         whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+         compiler_needs_object=yes
+         ;;
+       esac
+       case `$CC -V 2>&1 | sed 5q` in
+       *Sun\ C*)                       # Sun C 5.9
+         whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+         compiler_needs_object=yes
+         tmp_sharedflag='-G' ;;
+       *Sun\ F*)                       # Sun Fortran 8.3
+         tmp_sharedflag='-G' ;;
+       esac
+       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+
+        if test yes = "$supports_anon_versioning"; then
+          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+            echo "local: *; };" >> $output_objdir/$libname.ver~
+            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+        fi
+
+       case $cc_basename in
+       tcc*)
+         export_dynamic_flag_spec='-rdynamic'
+         ;;
+       xlf* | bgf* | bgxlf* | mpixlf*)
+         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+         hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+         if test yes = "$supports_anon_versioning"; then
+           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+              echo "local: *; };" >> $output_objdir/$libname.ver~
+              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+         fi
+         ;;
+       esac
+      else
+        ld_shlibs=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+       wlarc=
+      else
+       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+       ld_shlibs=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+       ld_shlibs=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+       ;;
+       *)
+         # For security reasons, it is highly recommended that you always
+         # use absolute paths for naming shared libraries, and exclude the
+         # DT_RUNPATH tag from executables and libraries.  But doing so
+         # requires that you compile everything twice, which is a pain.
+         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+           hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+         else
+           ld_shlibs=no
+         fi
+       ;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
+    esac
+
+    if test no = "$ld_shlibs"; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag=unsupported
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
+       # Neither direct hardcoding nor static linking is supported with a
+       # broken collect2.
+       hardcode_direct=unsupported
+      fi
+      ;;
+
+    aix[4-9]*)
+      if test ia64 = "$host_cpu"; then
+       # On IA64, the linker does run time linking by default, so we don't
+       # have to do anything special.
+       aix_use_runtimelinking=no
+       exp_sym_flag='-Bexport'
+       no_entry_flag=
+      else
+       # If we're using GNU nm, then we don't want the "-C" option.
+       # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+       # Without the "-l" option, or with the "-B" option, AIX nm treats
+       # weak defined symbols like other global defined symbols, whereas
+       # GNU nm marks them as "W".
+       # While the 'weak' keyword is ignored in the Export File, we need
+       # it in the Import File for the 'aix-soname' feature, so we have
+       # to replace the "-B" option with "-P" for AIX nm.
+       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+       else
+         export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+       fi
+       aix_use_runtimelinking=no
+
+       # Test if we are trying to use run time linking or normal
+       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+       # have runtime linking enabled, and use it for executables.
+       # For shared libraries, we enable/disable runtime linking
+       # depending on the kind of the shared library created -
+       # when "with_aix_soname,aix_use_runtimelinking" is:
+       # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+       # "aix,yes"  lib.so          shared, rtl:yes, for executables
+       #            lib.a           static archive
+       # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+       #            lib.a(lib.so.V) shared, rtl:no,  for executables
+       # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+       #            lib.a(lib.so.V) shared, rtl:no
+       # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+       #            lib.a           static archive
+       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+         for ld_flag in $LDFLAGS; do
+         if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
+           aix_use_runtimelinking=yes
+           break
+         fi
+         done
+         if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+           # With aix-soname=svr4, we create the lib.so.V shared archives only,
+           # so we don't have lib.a shared libs to link our executables.
+           # We have to force runtime linking in this case.
+           aix_use_runtimelinking=yes
+           LDFLAGS="$LDFLAGS -Wl,-brtl"
+         fi
+         ;;
+       esac
+
+       exp_sym_flag='-bexport'
+       no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_direct_absolute=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      file_list_spec='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+       # The Import File defines what to hardcode.
+       hardcode_direct=no
+       hardcode_direct_absolute=no
+       ;;
+      esac
+
+      if test yes = "$GCC"; then
+       case $host_os in aix4.[012]|aix4.[012].*)
+       # We only want to do this on AIX 4.2 and lower, the check
+       # below for broken collect2 doesn't work under 4.3+
+         collect2name=`$CC -print-prog-name=collect2`
+         if test -f "$collect2name" &&
+          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+         then
+         # We have reworked collect2
+         :
+         else
+         # We have old collect2
+         hardcode_direct=unsupported
+         # It fails to find uninstalled libraries when the uninstalled
+         # path is not listed in the libpath.  Setting hardcode_minus_L
+         # to unsupported forces relinking
+         hardcode_minus_L=yes
+         hardcode_libdir_flag_spec='-L$libdir'
+         hardcode_libdir_separator=
+         fi
+         ;;
+       esac
+       shared_flag='-shared'
+       if test yes = "$aix_use_runtimelinking"; then
+         shared_flag="$shared_flag "'$wl-G'
+       fi
+       # Need to ensure runtime linking is disabled for the traditional
+       # shared library, or the linker may eventually find shared libraries
+       # /with/ Import File - we do not want to mix them.
+       shared_flag_aix='-shared'
+       shared_flag_svr4='-shared $wl-G'
+      else
+       # not using gcc
+       if test ia64 = "$host_cpu"; then
+       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+       # chokes on -Wl,-G. The following line is correct:
+         shared_flag='-G'
+       else
+         if test yes = "$aix_use_runtimelinking"; then
+           shared_flag='$wl-G'
+         else
+           shared_flag='$wl-bM:SRE'
+         fi
+         shared_flag_aix='$wl-bM:SRE'
+         shared_flag_svr4='$wl-G'
+       fi
+      fi
+
+      export_dynamic_flag_spec='$wl-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+       # Warning - without using the other runtime loading flags (-brtl),
+       # -berok will link without error, but may produce a broken library.
+       allow_undefined_flag='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        if test set = "${lt_cv_aix_libpath+set}"; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+         /^0/ {
+             s/^0  *\([^ ]*\) *$/\1/
+             p
+         }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=/usr/lib:/lib
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
+
+        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+      else
+       if test ia64 = "$host_cpu"; then
+         hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
+         allow_undefined_flag="-z nodefs"
+         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+       else
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        if test set = "${lt_cv_aix_libpath+set}"; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+         /^0/ {
+             s/^0  *\([^ ]*\) *$/\1/
+             p
+         }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=/usr/lib:/lib
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
+
+        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+         # Warning - without using the other run time loading flags,
+         # -berok will link without error, but may produce a broken library.
+         no_undefined_flag=' $wl-bernotok'
+         allow_undefined_flag=' $wl-berok'
+         if test yes = "$with_gnu_ld"; then
+           # We only use this code for GNU lds that support --whole-archive.
+           whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
+         else
+           # Exported symbols can be pulled into shared objects from archives
+           whole_archive_flag_spec='$convenience'
+         fi
+         archive_cmds_need_lc=yes
+         archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+         # -brtl affects multiple linker settings, -berok does not and is overridden later
+         compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+         if test svr4 != "$with_aix_soname"; then
+           # This is similar to how AIX traditionally builds its shared libraries.
+           archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+         fi
+         if test aix != "$with_aix_soname"; then
+           archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+         else
+           # used by -dlpreopen to get the symbols
+           archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+         fi
+         archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
+       fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      case $cc_basename in
+      cl*)
+       # Native MSVC
+       hardcode_libdir_flag_spec=' '
+       allow_undefined_flag=unsupported
+       always_export_symbols=yes
+       file_list_spec='@'
+       # Tell ltmain to make .lib files, not .a files.
+       libext=lib
+       # Tell ltmain to make .dll files, not .so files.
+       shrext_cmds=.dll
+       # FIXME: Setting linknames here is a bad hack.
+       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+       archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+            cp "$export_symbols" "$output_objdir/$soname.def";
+            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+          else
+            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+          fi~
+          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+          linknames='
+       # The linker will not automatically build a static lib if we build a DLL.
+       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+       enable_shared_with_static_runtimes=yes
+       exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+       # Don't use ranlib
+       old_postinstall_cmds='chmod 644 $oldlib'
+       postlink_cmds='lt_outputfile="@OUTPUT@"~
+          lt_tool_outputfile="@TOOL_OUTPUT@"~
+          case $lt_outputfile in
+            *.exe|*.EXE) ;;
+            *)
+              lt_outputfile=$lt_outputfile.exe
+              lt_tool_outputfile=$lt_tool_outputfile.exe
+              ;;
+          esac~
+          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+            $RM "$lt_outputfile.manifest";
+          fi'
+       ;;
+      *)
+       # Assume MSVC wrapper
+       hardcode_libdir_flag_spec=' '
+       allow_undefined_flag=unsupported
+       # Tell ltmain to make .lib files, not .a files.
+       libext=lib
+       # Tell ltmain to make .dll files, not .so files.
+       shrext_cmds=.dll
+       # FIXME: Setting linknames here is a bad hack.
+       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+       # The linker will automatically build a .lib file if we build a DLL.
+       old_archive_from_new_cmds='true'
+       # FIXME: Should let the user specify the lib program.
+       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+       enable_shared_with_static_runtimes=yes
+       ;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+
+
+  archive_cmds_need_lc=no
+  hardcode_direct=no
+  hardcode_automatic=yes
+  hardcode_shlibpath_var=unsupported
+  if test yes = "$lt_cv_ld_force_load"; then
+    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+  else
+    whole_archive_flag_spec=''
+  fi
+  link_all_deplibs=yes
+  allow_undefined_flag=$_lt_dar_allow_undefined
+  case $cc_basename in
+     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test yes = "$_lt_dar_can_shared"; then
+    output_verbose_link_cmd=func_echo_all
+    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+    archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+
+  else
+  ld_shlibs=no
+  fi
+
+      ;;
+
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2.*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    hpux9*)
+      if test yes = "$GCC"; then
+       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      else
+       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='$wl-E'
+      ;;
+
+    hpux10*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+       archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test no = "$with_gnu_ld"; then
+       hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+       hardcode_libdir_separator=:
+       hardcode_direct=yes
+       hardcode_direct_absolute=yes
+       export_dynamic_flag_spec='$wl-E'
+       # hardcode_minus_L: Not really in the search PATH,
+       # but as the default location of the library.
+       hardcode_minus_L=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+       case $host_cpu in
+       hppa*64*)
+         archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       esac
+      else
+       case $host_cpu in
+       hppa*64*)
+         archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+
+         # Older versions of the 11.00 compiler do not understand -b yet
+         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler__b=no
+   save_LDFLAGS=$LDFLAGS
+   LDFLAGS="$LDFLAGS -b"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler__b=yes
+       fi
+     else
+       lt_cv_prog_compiler__b=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS=$save_LDFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test yes = "$lt_cv_prog_compiler__b"; then
+    archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
+         ;;
+       esac
+      fi
+      if test no = "$with_gnu_ld"; then
+       hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+       hardcode_libdir_separator=:
+
+       case $host_cpu in
+       hppa*64*|ia64*)
+         hardcode_direct=no
+         hardcode_shlibpath_var=no
+         ;;
+       *)
+         hardcode_direct=yes
+         hardcode_direct_absolute=yes
+         export_dynamic_flag_spec='$wl-E'
+
+         # hardcode_minus_L: Not really in the search PATH,
+         # but as the default location of the library.
+         hardcode_minus_L=yes
+         ;;
+       esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test yes = "$GCC"; then
+       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+       # Try to use the -exported_symbol ld option, if it does not
+       # work, assume that -exports_file does not work either and
+       # implicitly export all symbols.
+       # This should be the same for all languages, so no per-tag cache variable.
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  save_LDFLAGS=$LDFLAGS
+          LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
+          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int foo (void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_irix_exported_symbol=yes
+else
+  lt_cv_irix_exported_symbol=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+           LDFLAGS=$save_LDFLAGS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+       if test yes = "$lt_cv_irix_exported_symbol"; then
+          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+       fi
+      else
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      hardcode_libdir_separator=:
+      inherit_rpath=yes
+      link_all_deplibs=yes
+      ;;
+
+    linux*)
+      case $cc_basename in
+      tcc*)
+       # Fabrice Bellard et al's Tiny C Compiler
+       ld_shlibs=yes
+       archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+      esac
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd* | bitrig*)
+      if test -f /usr/libexec/ld.so; then
+       hardcode_direct=yes
+       hardcode_shlibpath_var=no
+       hardcode_direct_absolute=yes
+       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+         hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+         export_dynamic_flag_spec='$wl-E'
+       else
+         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+         hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+       fi
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       prefix_cmds="$SED"~
+       if test EXPORTS = "`$SED 1q $export_symbols`"; then
+         prefix_cmds="$prefix_cmds -e 1d";
+       fi~
+       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    osf3*)
+      if test yes = "$GCC"; then
+       allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+       archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+      else
+       allow_undefined_flag=' -expect_unresolved \*'
+       archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      hardcode_libdir_separator=:
+      ;;
+
+    osf4* | osf5*)     # as osf3* with the addition of -msym flag
+      if test yes = "$GCC"; then
+       allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+       archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+       hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      else
+       allow_undefined_flag=' -expect_unresolved \*'
+       archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
+
+       # Both c and cxx compiler support -rpath directly
+       hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_separator=:
+      ;;
+
+    solaris*)
+      no_undefined_flag=' -z defs'
+      if test yes = "$GCC"; then
+       wlarc='$wl'
+       archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+       case `$CC -V 2>&1` in
+       *"Compilers 5.0"*)
+         wlarc=''
+         archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+         ;;
+       *)
+         wlarc='$wl'
+         archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+         ;;
+       esac
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+       # The compiler driver will combine and reorder linker options,
+       # but understands '-z linker_flag'.  GCC discards it without '$wl',
+       # but is careful enough not to reorder.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       if test yes = "$GCC"; then
+         whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+       else
+         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+       fi
+       ;;
+      esac
+      link_all_deplibs=yes
+      ;;
+
+    sunos4*)
+      if test sequent = "$host_vendor"; then
+       # Use $CC to link under sequent, because it throws in some extra .o
+       # files that make .init and .fini sections work.
+       archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+       sni)
+         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         hardcode_direct=yes # is this really true???
+       ;;
+       siemens)
+         ## LD is ld it makes a PLAMLIB
+         ## CC just makes a GrossModule.
+         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+         reload_cmds='$CC -r -o $output$reload_objs'
+         hardcode_direct=no
+        ;;
+       motorola)
+         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+       ;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+       hardcode_shlibpath_var=no
+       runpath_var=LD_RUN_PATH
+       hardcode_runpath_var=yes
+       ld_shlibs=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag='$wl-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+       archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We CANNOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='$wl-z,text'
+      allow_undefined_flag='$wl-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='$wl-R,$libdir'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='$wl-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+       archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      ld_shlibs=no
+      ;;
+    esac
+
+    if test sni = "$host_vendor"; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+       export_dynamic_flag_spec='$wl-Blargedynsym'
+       ;;
+      esac
+    fi
+  fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test no = "$ld_shlibs" && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
+
+  if test yes,yes = "$GCC,$enable_shared"; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  $RM conftest*
+       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+         soname=conftest
+         lib=conftest
+         libobjs=conftest.$ac_objext
+         deplibs=
+         wl=$lt_prog_compiler_wl
+         pic_flag=$lt_prog_compiler_pic
+         compiler_flags=-v
+         linker_flags=-v
+         verstring=
+         output_objdir=.
+         libname=conftest
+         lt_save_allow_undefined_flag=$allow_undefined_flag
+         allow_undefined_flag=
+         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+         then
+           lt_cv_archive_cmds_need_lc=no
+         else
+           lt_cv_archive_cmds_need_lc=yes
+         fi
+         allow_undefined_flag=$lt_save_allow_undefined_flag
+       else
+         cat conftest.err 1>&5
+       fi
+       $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test yes = "$GCC"; then
+  case $host_os in
+    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+    *) lt_awk_arg='/^libraries:/' ;;
+  esac
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
+    *) lt_sed_strip_eq='s|=/|/|g' ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary...
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  # ...but if some path component already ends with the multilib dir we assume
+  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+  case "$lt_multi_os_dir; $lt_search_path_spec " in
+  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+    lt_multi_os_dir=
+    ;;
+  esac
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+    elif test -n "$lt_multi_os_dir"; then
+      test -d "$lt_sys_path" && \
+       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS = " "; FS = "/|\n";} {
+  lt_foo = "";
+  lt_count = 0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo = "/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[lt_foo]++; }
+  if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=.so
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+
+
+case $host_os in
+aix3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='$libname$release$shared_ext$major'
+  ;;
+
+aix[4-9]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test ia64 = "$host_cpu"; then
+    # AIX 5 supports IA64
+    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line '#! .'.  This would cause the generated library to
+    # depend on '.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+          echo ' yes '
+          echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
+       :
+      else
+       can_build_shared=no
+      fi
+      ;;
+    esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
+    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a(lib.so.V)'
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='$libname$shared_ext'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+      ;;
+    esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+    library_names_spec='$libname.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec=$LIB
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
+    ;;
+
+  *)
+    # Assume MSVC wrapper
+    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
+    dynamic_linker='Win32 ld.exe'
+    ;;
+  esac
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$major$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[23].*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2.*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    if test 32 = "$HPUX_IA64_MODE"; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
+    fi
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
+  ;;
+
+interix[3-9]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+       if test yes = "$lt_cv_prog_gnu_ld"; then
+               version_type=linux # correct to gnu/linux during the next big refactor
+       else
+               version_type=irix
+       fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+linux*android*)
+  version_type=none # Android doesn't support versioned libraries.
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext'
+  soname_spec='$libname$release$shared_ext'
+  finish_cmds=
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  dynamic_linker='Android linker'
+  # Don't embed -rpath directories since the linker doesn't support them.
+  hardcode_libdir_flag_spec='-L$libdir'
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+
+  # Some binutils ld are patched to set DT_RUNPATH
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+
+fi
+
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd* | bitrig*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec=/usr/lib
+  need_lib_prefix=no
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    need_version=no
+  else
+    need_version=yes
+  fi
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+os2*)
+  libname_spec='$name'
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  postinstall_cmds='base_file=`basename \$file`~
+    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+    dldir=$destdir/`dirname \$dlpath`~
+    test -d \$dldir || mkdir -p \$dldir~
+    $install_prog $dir/$dlname \$dldir/$dlname~
+    chmod a+x \$dldir/$dlname~
+    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+    fi'
+  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+    dlpath=$dir/\$dldll~
+    $RM \$dlpath'
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test yes = "$with_gnu_ld"; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec; then
+    version_type=linux # correct to gnu/linux during the next big refactor
+    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+    soname_spec='$libname$shared_ext.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=sco
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test yes = "$with_gnu_ld"; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+       ;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+   test -n "$runpath_var" ||
+   test yes = "$hardcode_automatic"; then
+
+  # We can hardcode non-existent directories.
+  if test no != "$hardcode_direct" &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
+     test no != "$hardcode_minus_L"; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test relink = "$hardcode_action" ||
+   test yes = "$inherit_rpath"; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+     test no = "$enable_shared"; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+
+
+
+
+  if test yes != "$enable_dlopen"; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen=load_add_on
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen=LoadLibrary
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+    # if libdl is installed we need to link against it
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else
+
+    lt_cv_dlopen=dyld
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+
+fi
+
+    ;;
+
+  tpf*)
+    # Don't try to run any link tests for TPF.  We know it's impossible
+    # because TPF is a cross-compiler, and we know how we open DSOs.
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=no
+    ;;
+
+  *)
+    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes; then :
+  lt_cv_dlopen=shl_load
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if ${ac_cv_lib_dld_shl_load+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_shl_load=yes
+else
+  ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
+else
+  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if ${ac_cv_lib_svld_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_svld_dlopen=yes
+else
+  ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if ${ac_cv_lib_dld_dld_link+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_dld_link=yes
+else
+  ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+    ;;
+  esac
+
+  if test no = "$lt_cv_dlopen"; then
+    enable_dlopen=no
+  else
+    enable_dlopen=yes
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS=$CPPFLAGS
+    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS=$LDFLAGS
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS=$LIBS
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+         if test yes = "$cross_compiling"; then :
+  lt_cv_dlopen_self=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL          RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL                DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL                0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW         DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW       RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW     DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW     0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
 
+/* When -fvisibility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
 
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
 
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+       }
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
 
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self=no
+  fi
+fi
+rm -fr conftest*
 
 
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
 fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
 
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
+    if test yes = "$lt_cv_dlopen_self"; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self_static+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+         if test yes = "$cross_compiling"; then :
+  lt_cv_dlopen_self_static=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
 
-case $host_os in
-aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
 
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
+#include <stdio.h>
 
-aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL          RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL                DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL                0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW         DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW       RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW     DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW     0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
       else
-       can_build_shared=no
-      fi
-      ;;
+        {
+         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+       }
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
     esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
+  else :
+    # compilation failed
+    lt_cv_dlopen_self_static=no
   fi
-  ;;
+fi
+rm -fr conftest*
 
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+    fi
+
+    CPPFLAGS=$save_CPPFLAGS
+    LDFLAGS=$save_LDFLAGS
+    LIBS=$save_LIBS
     ;;
   esac
-  ;;
 
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
 
-bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
 
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
 
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
 
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
 
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
 
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
 
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
 
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
 
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
 
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
 
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
 
-dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
 
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[23].*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2.*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
 
-haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
 
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
 
-interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
 
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux # correct to gnu/linux during the next big refactor
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
   case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
+  darwin*)
+    if test -n "$STRIP"; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    fi
     ;;
   *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
     ;;
   esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
+fi
 
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
 
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
 
-fi
 
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
 
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
 
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
 
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
 
-newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
+  # Report what library types will actually be built
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
 
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+  test no = "$can_build_shared" && enable_shared=no
 
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
   case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
+  aix3*)
+    test yes = "$enable_shared" && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[4-9]*)
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;                  # shared object as lib.so file only
+      yes,svr4,*) ;;                   # shared object as lib.so archive member only
+      yes,*) enable_static=no ;;       # shared object in lib.a archive as well
       esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
+    fi
+    ;;
+  esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
 
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+  # Make sure either enable_shared or enable_static is yes.
+  test yes = "$enable_shared" || enable_static=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
 
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
 
-rdos*)
-  dynamic_linker=no
-  ;;
 
-solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
 
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
+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
 
-sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
+CC=$lt_save_CC
 
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux # correct to gnu/linux during the next big refactor
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
 
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
 
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
 
-uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
 
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
 
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
 
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
 
 
 
 
 
 
+        ac_config_commands="$ac_config_commands libtool"
 
 
 
 
+# Only expand once:
 
 
 
 
 
+      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/.*,//'`
 
 
 
 
 
 
+    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-libiconv-prefix was given.
+if test "${with_libiconv_prefix+set}" = set; then :
+  withval=$with_libiconv_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"
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
+      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
 
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
 
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
+      LIBICONV=
+  LTLIBICONV=
+  INCICONV=
+  LIBICONV_PREFIX=
+      HAVE_LIBICONV=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='iconv '
+  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" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$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 $LTLIBICONV; 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
+                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-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
+                                LIBICONV="${LIBICONV}${LIBICONV:+ }$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
+                                                      LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+                else
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }$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 $LIBICONV; 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
+                      LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
+                    fi
+                    if test "$acl_hardcode_minus_L" != no; then
+                                                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+                    else
+                                                                                                                                                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                                LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
+              else
+                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-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" = 'iconv'; then
+                  LIBICONV_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" = 'iconv'; then
+                  LIBICONV_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 $INCICONV; 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$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
+                    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
+                                            INCICONV="${INCICONV}${INCICONV:+ }-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 $LIBICONV; do
 
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
+  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"
 
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
+                          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
+                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIBICONV; do
 
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
+  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"
 
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+                          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
+                                                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-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$,,'`
+                    ;;
+                  *)
+                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
+                    LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+            LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-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"
+      LIBICONV="${LIBICONV}${LIBICONV:+ }$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"
+        LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+            for found_dir in $ltrpathdirs; do
+      LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
+    done
+  fi
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
 
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
 
-fi
 
-    ;;
 
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
+
+
+
+
+          am_save_CPPFLAGS="$CPPFLAGS"
+
+  for element in $INCICONV; 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
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+$as_echo_n "checking for iconv... " >&6; }
+if ${am_cv_func_iconv+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <iconv.h>
 int
 main ()
 {
-return dlopen ();
+iconv_t cd = iconv_open("","");
+       iconv(cd,NULL,NULL,NULL,NULL);
+       iconv_close(cd);
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
+  am_cv_func_iconv=yes
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
+#include <stdlib.h>
+#include <iconv.h>
 int
 main ()
 {
-return dld_link ();
+iconv_t cd = iconv_open("","");
+         iconv(cd,NULL,NULL,NULL,NULL);
+         iconv_close(cd);
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
+  am_cv_lib_iconv=yes
+        am_cv_func_iconv=yes
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
+      LIBS="$am_save_LIBS"
+    fi
 
 fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+$as_echo "$am_cv_func_iconv" >&6; }
+  if test "$am_cv_func_iconv" = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+$as_echo_n "checking for working iconv... " >&6; }
+if ${am_cv_func_iconv_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
 
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
+            am_save_LIBS="$LIBS"
+      if test $am_cv_lib_iconv = yes; then
+        LIBS="$LIBS $LIBICONV"
+      fi
+      if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+           *)            am_cv_func_iconv_works="guessing yes" ;;
+         esac
 else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-int fnord () { return 42; }
+#include <iconv.h>
+#include <string.h>
 int main ()
 {
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
+  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+     returns.  */
+  {
+    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+    if (cd_utf8_to_88591 != (iconv_t)(-1))
+      {
+        static const char input[] = "\342\202\254"; /* EURO SIGN */
+        char buf[10];
+        const char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_utf8_to_88591,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          return 1;
+      }
+  }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static const char input[] = "\263";
+        char buf[10];
+        const char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          return 1;
+      }
+  }
+#if 0 /* This bug could be worked around by the caller.  */
+  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        char buf[50];
+        const char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_88591_to_utf8,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if ((int)res > 0)
+          return 1;
+      }
+  }
+#endif
+  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+     provided.  */
+  if (/* Try standardized names.  */
+      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+      /* Try IRIX, OSF/1 names.  */
+      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+      /* Try AIX names.  */
+      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+      /* Try HP-UX names.  */
+      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+    return 1;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  am_cv_func_iconv_works=yes
+else
+  am_cv_func_iconv_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
 
+      LIBS="$am_save_LIBS"
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+$as_echo "$am_cv_func_iconv_works" >&6; }
+    case "$am_cv_func_iconv_works" in
+      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+      *)   am_func_iconv=yes ;;
+    esac
+  else
+    am_func_iconv=no am_cv_lib_iconv=no
+  fi
+  if test "$am_func_iconv" = yes; then
 
+$as_echo "#define HAVE_ICONV 1" >>confdefs.h
 
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+$as_echo_n "checking how to link with libiconv... " >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+$as_echo "$LIBICONV" >&6; }
+  else
+            CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
 
 
 
+  if test "$am_cv_func_iconv" = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
+$as_echo_n "checking for iconv declaration... " >&6; }
+    if ${am_cv_proto_iconv+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
 
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
 
+int
+main ()
+{
 
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  am_cv_proto_iconv_arg1=""
 else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
+  am_cv_proto_iconv_arg1="const"
 fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
 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
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
 
+    am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result:
+         $am_cv_proto_iconv" >&5
+$as_echo "
+         $am_cv_proto_iconv" >&6; }
 
-# Only expand once:
-
+cat >>confdefs.h <<_ACEOF
+#define ICONV_CONST $am_cv_proto_iconv_arg1
+_ACEOF
 
+  fi
 
 
 
             ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
             break 2
           fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
-    ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test "$XGETTEXT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-    rm -f messages.po
-
-    case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
-    *) XGETTEXT_015=$XGETTEXT ;;
-  esac
-
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
-else
-  ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "msgmerge", so it can be a program name with args.
-set dummy msgmerge; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MSGMERGE+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case "$MSGMERGE" in
-  [\\/]* | ?:[\\/]*)
-    ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH; do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          echo "$as_me: trying $ac_dir/$ac_word..." >&5
-          if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
-            ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-  test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
-    ;;
-esac
-fi
-MSGMERGE="$ac_cv_path_MSGMERGE"
-if test "$MSGMERGE" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
-$as_echo "$MSGMERGE" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-        test -n "$localedir" || localedir='${datadir}/locale'
-
-
-    test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
-
-
-  ac_config_commands="$ac_config_commands po-directories"
-
-
-
-
-
-
-
-
-
-
-
-
-
-    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-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then :
-  withval=$with_libiconv_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
-
-      LIBICONV=
-  LTLIBICONV=
-  INCICONV=
-  LIBICONV_PREFIX=
-      HAVE_LIBICONV=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='iconv '
-  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" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$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 $LTLIBICONV; 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
-                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-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
-                                LIBICONV="${LIBICONV}${LIBICONV:+ }$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
-                                                      LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
-                else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }$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 $LIBICONV; 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"
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+    ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
-                    fi
-                    if test "$acl_hardcode_minus_L" != no; then
-                                                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
-                    else
-                                                                                                                                                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                                LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
-              else
-                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-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" = 'iconv'; then
-                  LIBICONV_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" = 'iconv'; then
-                  LIBICONV_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 $INCICONV; do
+    rm -f messages.po
 
-  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 `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+    *) XGETTEXT_015=$XGETTEXT ;;
+  esac
 
-                    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
-                                            INCICONV="${INCICONV}${INCICONV:+ }-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 $LIBICONV; 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
-                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIBICONV; do
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
 
-  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"
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
 
-                          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
-                                                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-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$,,'`
-                    ;;
-                  *)
-                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
-                    LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
-            LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGMERGE+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case "$MSGMERGE" in
+  [\\/]* | ?:[\\/]*)
+    ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH; do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&5
+          if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
+            ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
           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"
-      LIBICONV="${LIBICONV}${LIBICONV:+ }$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"
-        LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
       done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-            for found_dir in $ltrpathdirs; do
-      LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
     done
-  fi
+    IFS="$ac_save_IFS"
+  test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+    ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
+        test -n "$localedir" || localedir='${datadir}/locale'
+
 
+    test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
 
 
+  ac_config_commands="$ac_config_commands po-directories"
 
 
 
@@ -36053,9 +42968,9 @@ $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
 $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
 
   fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
-$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
-if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then :
+                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyPreferredLanguages" >&5
+$as_echo_n "checking for CFLocaleCopyPreferredLanguages... " >&6; }
+if ${gt_cv_func_CFLocaleCopyPreferredLanguages+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   gt_save_LIBS="$LIBS"
@@ -36066,29 +42981,30 @@ else
 int
 main ()
 {
-CFLocaleCopyCurrent();
+CFLocaleCopyPreferredLanguages();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  gt_cv_func_CFLocaleCopyCurrent=yes
+  gt_cv_func_CFLocaleCopyPreferredLanguages=yes
 else
-  gt_cv_func_CFLocaleCopyCurrent=no
+  gt_cv_func_CFLocaleCopyPreferredLanguages=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
      LIBS="$gt_save_LIBS"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
-$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
-  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyPreferredLanguages" >&5
+$as_echo "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; }
+  if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
 
-$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
+$as_echo "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h
 
   fi
   INTL_MACOSX_LIBS=
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
+     || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
     INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
   fi
 
@@ -36390,7 +43306,6 @@ $as_echo "$LIBICONV" >&6; }
 
 
 
-
     use_additional=yes
 
   acl_save_prefix="$prefix"
@@ -36428,7 +43343,7 @@ if test "${with_libintl_prefix+set}" = set; then :
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
         if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
+           && test ! -d "$withval/$acl_libdirstem"; then
           additional_libdir="$withval/$acl_libdirstem2"
         fi
       fi
@@ -36844,7 +43759,6 @@ fi
 
 
 
-
           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
 $as_echo_n "checking for GNU gettext in libintl... " >&6; }
 if eval \${$gt_func_gnugettext_libintl+:} false; then :
@@ -37033,62 +43947,6 @@ Or install gettext.  GNU gettext is available from
 " "$LINENO" 5
 fi
 
-DL_LIBS=""
-
-DYNAMIC_LOADING=no
-if test "$enable_dynamic_loading" = yes; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  DL_LIBS="-ldl"
-               PARTED_LIBS="$PARTED_LIBS -ldl"
-               DYNAMIC_LOADING=yes
-
-$as_echo "#define DYNAMIC_LOADING 1" >>confdefs.h
-
-else
-  as_fn_error $? "-ldl not found!  Try using --disable-dynamic-loading
-               " "$LINENO" 5
-
-fi
-
-fi
-
-
 UUID_LIBS=""
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5
 $as_echo_n "checking for uuid_generate in -luuid... " >&6; }
@@ -37200,141 +44058,6 @@ if test "$enable_selinux" = yes; then
 fi
 
 
-REISER_LIBS=""
-if test "$enable_dynamic_loading" = no && test "$enable_discover_only" = no; then
-       OLD_LIBS="$LIBS"
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dal_equals in -ldal" >&5
-$as_echo_n "checking for dal_equals in -ldal... " >&6; }
-if ${ac_cv_lib_dal_dal_equals+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldal  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dal_equals ();
-int
-main ()
-{
-return dal_equals ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dal_dal_equals=yes
-else
-  ac_cv_lib_dal_dal_equals=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dal_dal_equals" >&5
-$as_echo "$ac_cv_lib_dal_dal_equals" >&6; }
-if test "x$ac_cv_lib_dal_dal_equals" = xyes; then :
-  LIBS="-ldal"
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for reiserfs_fs_probe in -lreiserfs" >&5
-$as_echo_n "checking for reiserfs_fs_probe in -lreiserfs... " >&6; }
-if ${ac_cv_lib_reiserfs_reiserfs_fs_probe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lreiserfs  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char reiserfs_fs_probe ();
-int
-main ()
-{
-return reiserfs_fs_probe ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_reiserfs_reiserfs_fs_probe=yes
-else
-  ac_cv_lib_reiserfs_reiserfs_fs_probe=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_reiserfs_reiserfs_fs_probe" >&5
-$as_echo "$ac_cv_lib_reiserfs_reiserfs_fs_probe" >&6; }
-if test "x$ac_cv_lib_reiserfs_reiserfs_fs_probe" = xyes; then :
-  REISER_LIBS="-ldal -lreiserfs"
-
-$as_echo "#define HAVE_LIBREISERFS 1" >>confdefs.h
-
-
-fi
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for reiserfs_fs_check in -lreiserfs" >&5
-$as_echo_n "checking for reiserfs_fs_check in -lreiserfs... " >&6; }
-if ${ac_cv_lib_reiserfs_reiserfs_fs_check+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lreiserfs  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char reiserfs_fs_check ();
-int
-main ()
-{
-return reiserfs_fs_check ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_reiserfs_reiserfs_fs_check=yes
-else
-  ac_cv_lib_reiserfs_reiserfs_fs_check=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_reiserfs_reiserfs_fs_check" >&5
-$as_echo "$ac_cv_lib_reiserfs_reiserfs_fs_check" >&6; }
-if test "x$ac_cv_lib_reiserfs_reiserfs_fs_check" = xyes; then :
-
-$as_echo "#define HAVE_REISERFS_FS_CHECK 1" >>confdefs.h
-
-
-fi
-
-
-fi
-
-       LIBS="$OLD_LIBS"
-fi
-
-
 if test "$with_readline" = yes; then
        OLD_LIBS="$LIBS"
        LIBS=""
 
 # 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
+  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
 else
   with_gnu_ld=no
 fi
 
 ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   # Check if gcc -print-prog-name=ld gives a path.
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
 $as_echo_n "checking for ld used by $CC... " >&6; }
   case $host in
   *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
+    # gcc leaves a trailing carriage return, which upsets mingw
     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
   *)
     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -38103,7 +44826,7 @@ $as_echo_n "checking for ld used by $CC... " >&6; }
       while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
        ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
       done
-      test -z "$LD" && LD="$ac_prog"
+      test -z "$LD" && LD=$ac_prog
       ;;
   "")
     # If it fails, then pretend we aren't using GCC.
@@ -38114,7 +44837,7 @@ $as_echo_n "checking for ld used by $CC... " >&6; }
     with_gnu_ld=unknown
     ;;
   esac
-elif test "$with_gnu_ld" = yes; then
+elif test yes = "$with_gnu_ld"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
 $as_echo_n "checking for GNU ld... " >&6; }
 else
@@ -38125,32 +44848,32 @@ if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
     test -z "$ac_dir" && ac_dir=.
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
+      lt_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 `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
       *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
+       test no != "$with_gnu_ld" && break
        ;;
       *)
-       test "$with_gnu_ld" != yes && break
+       test yes != "$with_gnu_ld" && break
        ;;
       esac
     fi
   done
-  IFS="$lt_save_ifs"
+  IFS=$lt_save_ifs
 else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+  lt_cv_path_LD=$LD # Let the user override the test with a path.
 fi
 fi
 
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
 if test -n "$LD"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
 $as_echo "$LD" >&6; }
@@ -38541,17 +45264,19 @@ else
    for ac_kw in __restrict __restrict__ _Restrict restrict; do
      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-typedef int * int_ptr;
-       int foo (int_ptr $ac_kw ip) {
-       return ip[0];
-       }
+typedef int *int_ptr;
+           int foo (int_ptr $ac_kw ip) { return ip[0]; }
+           int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+           int bar (int ip[$ac_kw]) { return ip[0]; }
+
 int
 main ()
 {
 int s[1];
-       int * $ac_kw t = s;
-       t[0] = 0;
-       return foo(t)
+           int *$ac_kw t = s;
+           t[0] = 0;
+           return foo (t) + bar (t);
+
   ;
   return 0;
 }
@@ -38713,7 +45438,7 @@ _ACEOF
 
 
 
-ac_config_files="$ac_config_files Makefile lib/Makefile include/Makefile include/parted/Makefile libparted/Makefile libparted/labels/Makefile libparted/fs/Makefile libparted/tests/Makefile libparted.pc parted/Makefile partprobe/Makefile doc/Makefile doc/C/Makefile doc/pt_BR/Makefile debug/Makefile debug/test/Makefile tests/Makefile po/Makefile.in"
+ac_config_files="$ac_config_files Makefile lib/Makefile include/Makefile include/parted/Makefile libparted/Makefile libparted/labels/Makefile libparted/fs/Makefile libparted/tests/Makefile libparted.pc libparted-fs-resize.pc parted/Makefile partprobe/Makefile doc/Makefile doc/C/Makefile doc/pt_BR/Makefile debug/Makefile debug/test/Makefile tests/Makefile po/Makefile.in"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -38848,10 +45573,6 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
   as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then
   as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -38865,6 +45586,14 @@ if test -z "${GL_GENERATE_ERRNO_H_TRUE}" && test -z "${GL_GENERATE_ERRNO_H_FALSE
   as_fn_error $? "conditional \"GL_GENERATE_ERRNO_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then
+  as_fn_error $? "conditional \"GL_GENERATE_LIMITS_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then
+  as_fn_error $? "conditional \"GL_GENERATE_LIMITS_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then
   as_fn_error $? "conditional \"GL_GENERATE_STDINT_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 
 
 
+if test -z "${GL_GENERATE_NETINET_IN_H_TRUE}" && test -z "${GL_GENERATE_NETINET_IN_H_FALSE}"; then
+  as_fn_error $? "conditional \"GL_GENERATE_NETINET_IN_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_STDALIGN_H_TRUE}" && test -z "${GL_GENERATE_STDALIGN_H_FALSE}"; then
+  as_fn_error $? "conditional \"GL_GENERATE_STDALIGN_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
     gltests_libobjs=
     gltests_ltlibobjs=
     if test -n "$gltests_LIBOBJS"; then
@@ -39325,7 +46063,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 GNU parted $as_me 3.2, which was
+This file was extended by GNU parted $as_me 3.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -39397,7 +46135,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="\\
-GNU parted config.status 3.2
+GNU parted config.status 3.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -39516,7 +46254,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 # INIT-COMMANDS
 #
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
 GNUmakefile=$GNUmakefile
 
 
@@ -39533,6 +46271,7 @@ macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
 enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
@@ -39582,10 +46321,13 @@ compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
 GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
 nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
 lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
 objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
 MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
 lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
@@ -39650,7 +46392,8 @@ finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
@@ -39701,9 +46444,12 @@ CFLAGS \
 compiler \
 lt_cv_sys_global_symbol_pipe \
 lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_import \
 lt_cv_sys_global_symbol_to_c_name_address \
 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+lt_cv_nm_interface \
 nm_file_list_spec \
+lt_cv_truncate_bin \
 lt_prog_compiler_no_builtin_flag \
 lt_prog_compiler_pic \
 lt_prog_compiler_wl \
@@ -39738,7 +46484,7 @@ old_striplib \
 striplib; do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -39765,10 +46511,11 @@ postinstall_cmds \
 postuninstall_cmds \
 finish_cmds \
 sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path; do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -39777,19 +46524,16 @@ sys_lib_dlsearch_path_spec; do
 done
 
 ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
 
-# See if we are running on zsh, and set the options which allow our
+# See if we are running on zsh, and set the options that allow our
 # commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
+if test -n "\${ZSH_VERSION+set}"; then
    setopt NO_GLOB_SUBST
 fi
 
 
     PACKAGE='$PACKAGE'
     VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
     RM='$RM'
     ofile='$ofile'
 
@@ -39825,6 +46569,7 @@ do
     "libparted/fs/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/Makefile" ;;
     "libparted/tests/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/tests/Makefile" ;;
     "libparted.pc") CONFIG_FILES="$CONFIG_FILES libparted.pc" ;;
+    "libparted-fs-resize.pc") CONFIG_FILES="$CONFIG_FILES libparted-fs-resize.pc" ;;
     "parted/Makefile") CONFIG_FILES="$CONFIG_FILES parted/Makefile" ;;
     "partprobe/Makefile") CONFIG_FILES="$CONFIG_FILES partprobe/Makefile" ;;
     "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
@@ -40465,29 +47210,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
   # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
+  # TODO: see whether this extra hack can be removed once we start
+  # requiring Autoconf 2.70 or later.
+  case $CONFIG_FILES in #(
+  *\'*) :
+    eval set x "$CONFIG_FILES" ;; #(
+  *) :
+    set x $CONFIG_FILES ;; #(
+  *) :
+     ;;
+esac
   shift
-  for mf
+  # Used to flag and report bootstrapping failures.
+  am_rc=0
+  for am_mf
   do
     # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named 'Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
+    am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile which includes
+    # dependency-tracking related rules and includes.
+    # Grep'ing the whole file directly is not great: AIX grep has a line
     # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
+    sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+      || continue
+    am_dirpart=`$as_dirname -- "$am_mf" ||
+$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$am_mf" : 'X\(//\)[^/]' \| \
+        X"$am_mf" : 'X\(//\)$' \| \
+        X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$am_mf" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -40505,106 +47256,99 @@ $as_echo X"$mf" |
            q
          }
          s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running 'make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "$am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
+    am_filepart=`$as_basename -- "$am_mf" ||
+$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$am_mf" : 'X\(//\)$' \| \
+        X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$am_mf" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
            s//\1/
            q
          }
-         /^X\(\/\/\)$/{
+         /^X\/\(\/\/\)$/{
            s//\1/
            q
          }
-         /^X\(\/\).*/{
+         /^X\/\(\/\).*/{
            s//\1/
            q
          }
          s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
+    { echo "$as_me:$LINENO: cd "$am_dirpart" \
+      && sed -e '/# am--include-marker/d' "$am_filepart" \
+        | $MAKE -f - am--depfiles" >&5
+   (cd "$am_dirpart" \
+      && sed -e '/# am--include-marker/d' "$am_filepart" \
+        | $MAKE -f - am--depfiles) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } || am_rc=$?
   done
+  if test $am_rc -ne 0; then
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Something went wrong bootstrapping makefile fragments
+    for automatic dependency tracking.  Try re-running configure with the
+    '--disable-dependency-tracking' option to at least be able to build
+    the package (albeit without support for automatic dependency tracking).
+See \`config.log' for more details" "$LINENO" 5; }
+  fi
+  { am_dirpart=; unset am_dirpart;}
+  { am_filepart=; unset am_filepart;}
+  { am_mf=; unset am_mf;}
+  { am_rc=; unset am_rc;}
+  rm -f conftest-deps.mk
 }
  ;;
     "libtool":C)
 
-    # See if we are running on zsh, and set the options which allow our
+    # See if we are running on zsh, and set the options that allow our
     # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
+    if test -n "${ZSH_VERSION+set}"; then
       setopt NO_GLOB_SUBST
     fi
 
-    cfgfile="${ofile}T"
+    cfgfile=${ofile}T
     trap "$RM \"$cfgfile\"; exit 1" 1 2 15
     $RM "$cfgfile"
 
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Generated automatically by $as_me ($PACKAGE) $VERSION
 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool 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 2 of of the License, or
+# (at your option) any later version.
 #
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-#                 Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool 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 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the  same
+# distribution terms that you use for the rest of that program.
 #
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
 # The names of the tagged configurations supported by this script.
-available_tags=""
+available_tags=''
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
 
 # ### BEGIN LIBTOOL CONFIG
 
@@ -40624,6 +47368,9 @@ pic_mode=$pic_mode
 # Whether or not to optimize for fast installation.
 fast_install=$enable_fast_install
 
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
 # Shell to use when invoking shell scripts.
 SHELL=$lt_SHELL
 
@@ -40741,18 +47488,27 @@ global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
 # Transform the output of nm in a proper C declaration.
 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
 
+# Transform the output of nm into a list of symbols to manually relocate.
+global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
+
 # Transform the output of nm in a C name address pair.
 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
 
 # Transform the output of nm in a C name address pair when lib prefix is needed.
 global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
 
+# The name lister interface.
+nm_interface=$lt_lt_cv_nm_interface
+
 # Specify filename containing input files for \$NM.
 nm_file_list_spec=$lt_nm_file_list_spec
 
-# The root where to search for dependent libraries,and in which our libraries should be installed.
+# The root where to search for dependent libraries,and where our libraries should be installed.
 lt_sysroot=$lt_sysroot
 
+# Command to truncate a binary pipe.
+lt_truncate_bin=$lt_lt_cv_truncate_bin
+
 # The name of the directory that contains temporary libtool files.
 objdir=$objdir
 
@@ -40843,8 +47599,11 @@ hardcode_into_libs=$hardcode_into_libs
 # Compile-time system search path for libraries.
 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
 
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
 
 # Whether dlopen is supported.
 dlopen_support=$enable_dlopen
@@ -40937,13 +47696,13 @@ hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
 # DIR into the resulting binary.
 hardcode_direct=$hardcode_direct
 
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
 # DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
 # library is relocated.
 hardcode_direct_absolute=$hardcode_direct_absolute
 
@@ -40993,6 +47752,65 @@ hardcode_action=$hardcode_action
 
 # ### END LIBTOOL CONFIG
 
+_LT_EOF
+
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
 _LT_EOF
 
   case $host_os in
@@ -41001,7 +47819,7 @@ _LT_EOF
 # AIX sometimes has problems with the GCC collect2 program.  For some
 # reason, if we set the COLLECT_NAMES environment variable, the problems
 # vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
+if test set != "${COLLECT_NAMES+set}"; then
   COLLECT_NAMES=
   export COLLECT_NAMES
 fi
@@ -41010,7 +47828,7 @@ _LT_EOF
   esac
 
 
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
 
 
   # We use sed instead of cat because bash on DJGPP gets confused if
@@ -41020,165 +47838,6 @@ ltmain="$ac_aux_dir/ltmain.sh"
   sed '$q' "$ltmain" >> "$cfgfile" \
      || (rm -f "$cfgfile"; exit 1)
 
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
    mv -f "$cfgfile" "$ofile" ||
     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
   chmod +x "$ofile"
index 436d0e2135919403bb2d75ea0e0c80d643367ca1..c46a3ffabd1aa9787202b916950924a5976def08 100644 (file)
@@ -1,5 +1,5 @@
 dnl GNU Parted - a library and front end for manipulation hard disk partitions
-dnl Copyright (C) 1998-2002, 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1998-2002, 2005-2014, 2019 Free Software Foundation, Inc.
 dnl
 dnl This file may be modified and/or distributed without restriction.
 
@@ -58,10 +58,10 @@ AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.
 
 AC_CANONICAL_HOST
 case "$host_os" in
-       linux*) OS=linux ;;
+       linux*|uclinux*) OS=linux ;;
        gnu*)   OS=gnu ;;
        beos*)  OS=beos ;;
-       *)      AC_MSG_ERROR([Unknown or unsupported OS "$host_os".  Only "linux", "gnu" and "beos" are supported in this version of GNU Parted.]) ;;
+       *)      AC_MSG_ERROR([Unknown or unsupported OS "$host_os".  Only "linux", "uclinux", "gnu" and "beos" are supported in this version of GNU Parted.]) ;;
 esac
 AC_SUBST([OS])
 
@@ -103,20 +103,6 @@ if test "$enable_discover_only" = yes; then
 fi
 
 PARTED_LIBS=""
-AC_ARG_ENABLE([dynamic-loading],
-[  --enable-dynamic-loading  support dynamic fs libraries [default=yes]], ,
-       if test "$enable_discover_only" = yes; then
-               enable_dynamic_loading=no
-       else
-               enable_dynamic_loading=yes
-       fi
-)
-if test "$enable_discover_only" = yes \
- && test "$enable_dynamic_loading" = yes; then
-       AC_MSG_ERROR(
-[You can't use --enable-dynamic-loading and --disable-discover-only together]
-       )
-fi
 
 AC_ARG_ENABLE([debug],
        [  --enable-debug          compile in assertions [default=yes]], ,
@@ -195,9 +181,6 @@ AC_ARG_ENABLE([gcc-warnings],
 )
 
 if test "$gl_gcc_warnings" = yes; then
-  gl_WARN_ADD([-Werror], [WERROR_CFLAGS])
-  AC_SUBST([WERROR_CFLAGS])
-
   nw=
   # This, $nw, is the list of warnings we disable.
   nw="$nw -Wdeclaration-after-statement" # too useful to forbid
@@ -226,7 +209,7 @@ if test "$gl_gcc_warnings" = yes; then
   nw="$nw -Wpacked"
   nw="$nw -Wmissing-prototypes"
   nw="$nw -Wmissing-declarations"
-  nw="$nw -Wmissing-noreturn"
+  nw="$nw -Wsuggest-attribute=noreturn"
   # things I might fix soon:
   nw="$nw -Wfloat-equal"            # sort.c, seq.c
   nw="$nw -Wmissing-format-attribute" # copy.c
@@ -248,6 +231,7 @@ if test "$gl_gcc_warnings" = yes; then
   gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now
   gl_WARN_ADD([-Wno-unused-macros]) # Too many warnings for now
   gl_WARN_ADD([-Wno-format-nonliteral])
+  gl_WARN_ADD([-Wabi=2])               # Avoid compile failure with GCC8
 
   # FIXME: investigate these
   gl_WARN_ADD([-Wno-jump-misses-init])
@@ -258,6 +242,9 @@ if test "$gl_gcc_warnings" = yes; then
 
   gl_WARN_ADD([-fdiagnostics-show-option])
 
+  # Make sure it recognizes /* FALLTHROUGH */ comment
+  gl_WARN_ADD([-Wimplicit-fallthrough=3])
+
   AC_SUBST([WARN_CFLAGS])
 
   AC_DEFINE([lint], [1], [Define to 1 if the compiler is checking for lint.])
@@ -288,6 +275,8 @@ fi
 AC_PROG_LIBTOOL
 LT_INIT
 
+AM_ICONV
+
 AM_GNU_GETTEXT_VERSION([0.18])
 AM_GNU_GETTEXT([external])
 if test "$USE_INCLUDED_LIBINTL" = "yes"; then
@@ -301,23 +290,6 @@ Or install gettext.  GNU gettext is available from
 ])
 fi
 
-dnl Check for libdl, if we are doing dynamic loading
-DL_LIBS=""
-AC_SUBST([DYNAMIC_LOADING])
-DYNAMIC_LOADING=no
-if test "$enable_dynamic_loading" = yes; then
-       AC_CHECK_LIB([dl], [dlopen],
-               DL_LIBS="-ldl"
-               PARTED_LIBS="$PARTED_LIBS -ldl"
-               DYNAMIC_LOADING=yes
-               AC_DEFINE([DYNAMIC_LOADING], [1], [Lazy linking to fs libs]),
-               AC_MSG_ERROR(
-                       [-ldl not found!  Try using --disable-dynamic-loading]
-               )
-       )
-fi
-AC_SUBST([DL_LIBS])
-
 dnl Check for libuuid
 UUID_LIBS=""
 AC_CHECK_LIB([uuid], [uuid_generate], [UUID_LIBS="-luuid"],
@@ -355,24 +327,6 @@ if test "$enable_selinux" = yes; then
 fi
 AC_SUBST([SELINUX_LIBS])
 
-dnl Check for libreiserfs
-REISER_LIBS=""
-if test "$enable_dynamic_loading" = no && test "$enable_discover_only" = no; then
-       OLD_LIBS="$LIBS"
-       AC_CHECK_LIB([dal], [dal_equals],
-               LIBS="-ldal"
-               AC_CHECK_LIB([reiserfs], [reiserfs_fs_probe],
-                       REISER_LIBS="-ldal -lreiserfs"
-                       AC_DEFINE([HAVE_LIBREISERFS], [1], [Have libreiserfs])
-               )
-               AC_CHECK_LIB([reiserfs], [reiserfs_fs_check],
-                       AC_DEFINE([HAVE_REISERFS_FS_CHECK], [1], [Have reiserfs_fs_check()])
-               )
-       )
-       LIBS="$OLD_LIBS"
-fi
-AC_SUBST([REISER_LIBS])
-
 dnl Check for termcap
 if test "$with_readline" = yes; then
        OLD_LIBS="$LIBS"
@@ -613,6 +567,7 @@ libparted/labels/Makefile
 libparted/fs/Makefile
 libparted/tests/Makefile
 libparted.pc
+libparted-fs-resize.pc
 parted/Makefile
 partprobe/Makefile
 doc/Makefile
index 53d67faf327d9a60efe55e26c4b8cc1badfd7f62..3f654251da8a09398bb286d97ae02496fc54b26a 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -77,78 +87,101 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = debug
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -158,6 +191,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -196,7 +230,7 @@ am__recursive_targets = \
   $(RECURSIVE_CLEAN_TARGETS) \
   $(am__extra_recursive_targets)
 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-       distdir
+       distdir distdir-am
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -217,6 +251,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -274,11 +309,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -293,18 +326,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -312,6 +352,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -357,6 +398,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -365,14 +410,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -418,6 +470,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -427,6 +481,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -434,26 +498,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -465,6 +544,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -476,6 +556,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -485,9 +566,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -517,6 +601,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -545,10 +630,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -559,17 +650,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -579,6 +675,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -589,6 +686,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -598,6 +696,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -610,13 +709,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -628,12 +732,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -648,6 +754,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -656,25 +764,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -685,20 +865,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -720,6 +913,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -745,12 +939,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -767,13 +963,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -787,52 +987,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -867,16 +1090,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -885,6 +1109,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -902,8 +1127,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -931,6 +1161,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -940,21 +1171,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -967,6 +1258,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -975,14 +1267,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -995,6 +1291,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1008,16 +1305,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1025,9 +1326,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1110,14 +1412,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu debug/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu debug/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1234,7 +1535,10 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1405,6 +1709,8 @@ uninstall-am:
        mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
        ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 3402766601a316abe4973bfc5d33907157848d1b..20ad61d44e99328c16f0bf9ac8aab70581356c93 100644 (file)
@@ -4,7 +4,7 @@
 
        by Andrew Clausen
 
-       Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+       Copyright (C) 2002, 2009-2014, 2019 Free Software Foundation, Inc.
        This document may be distributed and/or modified
        without restriction
 
index 1ccd8a0dc268788a668c281b601a933028ba8317..836c95027717bccfe4e8ee1878f5d72db2dc7d4c 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,78 +88,101 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = debug/test
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -159,6 +192,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -184,6 +218,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -216,11 +251,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -235,18 +268,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -254,6 +294,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -299,6 +340,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -307,14 +352,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -360,6 +412,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -369,6 +423,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -376,26 +440,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -407,6 +486,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -418,6 +498,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -427,9 +508,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -459,6 +543,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -487,10 +572,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -501,17 +592,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -521,6 +617,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -531,6 +628,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -540,6 +638,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -552,13 +651,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -570,12 +674,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -590,6 +696,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -598,25 +706,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -627,20 +807,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -662,6 +855,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -687,12 +881,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -709,13 +905,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -729,52 +929,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -809,16 +1032,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -827,6 +1051,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -844,8 +1069,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -873,6 +1103,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -882,21 +1113,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -909,6 +1200,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -917,14 +1209,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -937,6 +1233,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -950,16 +1247,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -967,9 +1268,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1068,14 +1370,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu debug/test/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu debug/test/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1099,7 +1400,10 @@ ctags CTAGS:
 cscope cscopelist:
 
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1244,6 +1548,8 @@ uninstall-am:
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 310f0d07aafcc5938dbaefe7ed1fb72952670aa5..70ad2afd6f2e3c83974588da6b0f410d648c9fa3 100644 (file)
@@ -161,6 +161,10 @@ my-distcheck: $(DIST_ARCHIVES) $(local-check)
        )
        (cd $(t) && mv $(distdir) $(distdir).old        \
          && $(amtar_extract_) - ) < $(preferred_tarball_)
+       # With post-v1.15 automake, "distclean" would fail to remove .deps
+       # directories, leading to a spurious failure of the following recursive diff.
+       # FIXME: remove this, once automake is fixed.
+       find $(t)/$(distdir).old $(t)/$(distdir) -name .deps | xargs -r rmdir
        diff -ur $(t)/$(distdir).old $(t)/$(distdir)
        -rm -rf $(t)
        rmdir $(tmpdir)/$(PACKAGE) $(tmpdir)
index c3595f5d221331dc202cc63659f7745e0b492b9b..c5f2a7781e6bdcb7ac2d63314cc692d245741448 100644 (file)
@@ -11,6 +11,7 @@ dist_man8_MANS = \
 updatepo:
        cd $(srcdir); \
        test -w . || exit 0; \
+       test -d po || mkdir po; \
        for name in $(dist_man8_MANS); do \
                echo $$name; \
                test -f po/$$name.pot || touch po/$$name.pot; \
index 73cce5aa9a31bca326602545d9e2e135d06194f8..28d82edab222455bbcd56df78b3f526d5a3fedba 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -77,79 +87,101 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc/C
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(dist_man8_MANS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -159,6 +191,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -214,6 +247,7 @@ am__installdirs = "$(DESTDIR)$(man8dir)"
 NROFF = nroff
 MANS = $(dist_man8_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(dist_man8_MANS) $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -246,11 +280,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -265,18 +297,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -284,6 +323,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -329,6 +369,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -337,14 +381,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -390,6 +441,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -399,6 +452,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -406,26 +469,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -437,6 +515,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -448,6 +527,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -457,9 +537,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -489,6 +572,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -517,10 +601,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -531,17 +621,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -551,6 +646,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -561,6 +657,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -570,6 +667,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -582,13 +680,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -600,12 +703,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -620,6 +725,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -628,25 +735,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -657,20 +836,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -692,6 +884,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -717,12 +910,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -739,13 +934,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -759,52 +958,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -839,16 +1061,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -857,6 +1080,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -874,8 +1098,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -903,6 +1132,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -912,21 +1142,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -939,6 +1229,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -947,14 +1238,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -967,6 +1262,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -980,16 +1276,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -997,9 +1297,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1084,14 +1385,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/C/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu doc/C/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1156,7 +1456,10 @@ ctags CTAGS:
 cscope cscopelist:
 
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1309,6 +1612,8 @@ uninstall-man: uninstall-man8
        ps ps-am tags-am uninstall uninstall-am uninstall-man \
        uninstall-man8
 
+.PRECIOUS: Makefile
+
 
 .PHONY: updatepo
 # Update the POT in srcdir
@@ -1317,6 +1622,7 @@ uninstall-man: uninstall-man8
 updatepo:
        cd $(srcdir); \
        test -w . || exit 0; \
+       test -d po || mkdir po; \
        for name in $(dist_man8_MANS); do \
                echo $$name; \
                test -f po/$$name.pot || touch po/$$name.pot; \
index 689011c60aa62462aee3de2b1f86a1bbb4b21aad..15932c27ee220c6453aeda9b3563926e1c26d0ff 100644 (file)
@@ -1,6 +1,6 @@
 .TH PARTED 8 "2007 March 29" parted "GNU Parted Manual"
 .SH NAME
-GNU Parted \- a partition manipulation program
+parted \- a partition manipulation program
 .SH SYNOPSIS
 .B parted
 [options] [device [command [options...]...]]
@@ -73,14 +73,18 @@ Create a new disklabel (partition table) of \fIlabel-type\fP.  \fIlabel-type\fP
 should be one of "aix", "amiga", "bsd", "dvh", "gpt", "loop", "mac", "msdos",
 "pc98", or "sun".
 .TP
-.B mkpart \fIpart-type\fP \fI[fs-type]\fP \fIstart\fP \fIend\fP
-Make a \fIpart-type\fP partition for filesystem \fIfs-type\fP (if specified),
-beginning at \fIstart\fP and ending at \fIend\fP (by default in megabytes).
-\fIpart-type\fP should be one of "primary", "logical", or "extended".
+.B mkpart [\fIpart-type\fP \fIname\fP \fIfs-type\fP] \fIstart\fP \fIend\fP
+Create a new partition. \fIpart-type\fP may be specified only with msdos and
+dvh partition tables, it should be one of "primary", "logical", or "extended".
+\fIname\fP is required for GPT partition tables and \fIfs-type\fP is optional.
+\fIfs-type\fP can be one of "btrfs", "ext2", "ext3", "ext4", "fat16", "fat32",
+"hfs", "hfs+", "linux-swap", "ntfs", "reiserfs", "udf", or "xfs".
 .TP
 .B name \fIpartition\fP \fIname\fP
 Set the name of \fIpartition\fP to \fIname\fP. This option works only on Mac,
-PC98, and GPT disklabels. The name can be placed in quotes, if necessary.
+PC98, and GPT disklabels. The name can be placed in double quotes, if necessary.
+And depending on the shell may need to also be wrapped in single quotes so that
+the shell doesn't strip off the double quotes.
 .TP
 .B print
 Display the partition table.
@@ -108,7 +112,7 @@ or an LVM logical volume if necessary.
 .B set \fIpartition\fP \fIflag\fP \fIstate\fP
 Change the state of the \fIflag\fP on \fIpartition\fP to \fIstate\fP.
 Supported flags are: "boot", "root", "swap", "hidden", "raid", "lvm", "lba",
-"legacy_boot", "irst", "esp" and "palo".
+"legacy_boot", "irst", "msftres", "esp" and "palo".
 \fIstate\fP should be either "on" or "off".
 .TP
 .B unit \fIunit\fP
index e31b6a1c580cf363a41c536b01d375e1dfe34f51..9ae38b9626ddddb4c67c1943c3a4c04dd8661921 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -77,80 +87,101 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(top_srcdir)/build-aux/mdate-sh $(srcdir)/version.texi \
-       $(srcdir)/stamp-vti $(top_srcdir)/build-aux/texinfo.tex
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -160,6 +191,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/version.texi \
+       $(srcdir)/stamp-vti $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -267,7 +300,7 @@ am__recursive_targets = \
   $(RECURSIVE_CLEAN_TARGETS) \
   $(am__extra_recursive_targets)
 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-       distdir
+       distdir distdir-am
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -288,6 +321,9 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/mdate-sh \
+       $(top_srcdir)/build-aux/texinfo.tex
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -345,11 +381,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -364,18 +398,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -383,6 +424,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -428,6 +470,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -436,14 +482,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -489,6 +542,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -498,6 +553,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -505,26 +570,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -536,6 +616,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -547,6 +628,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -556,9 +638,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -588,6 +673,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -616,10 +702,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -630,17 +722,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -650,6 +747,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -660,6 +758,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -669,6 +768,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -681,13 +781,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -699,12 +804,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -719,6 +826,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -727,25 +836,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -756,20 +937,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -791,6 +985,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -816,12 +1011,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -838,13 +1035,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -858,52 +1059,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = makeinfo --no-split
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -938,16 +1162,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -956,6 +1181,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -973,8 +1199,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -1002,6 +1233,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1011,21 +1243,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -1038,6 +1330,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -1046,14 +1339,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -1066,6 +1363,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1079,16 +1377,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1096,9 +1398,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1190,14 +1493,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu doc/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1269,15 +1571,16 @@ $(srcdir)/stamp-vti: parted.texi $(top_srcdir)/configure
        echo "@set UPDATED $$1 $$2 $$3"; \
        echo "@set UPDATED-MONTH $$2 $$3"; \
        echo "@set EDITION $(VERSION)"; \
-       echo "@set VERSION $(VERSION)") > vti.tmp
-       @cmp -s vti.tmp $(srcdir)/version.texi \
-         || (echo "Updating $(srcdir)/version.texi"; \
-             cp vti.tmp $(srcdir)/version.texi)
-       -@rm -f vti.tmp
+       echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \
+       (cmp -s vti.tmp$$$$ $(srcdir)/version.texi \
+         || (echo "Updating $(srcdir)/version.texi" && \
+             cp vti.tmp$$$$ $(srcdir)/version.texi.tmp$$$$ && \
+             mv $(srcdir)/version.texi.tmp$$$$ $(srcdir)/version.texi)) && \
+       rm -f vti.tmp$$$$ $(srcdir)/version.texi.$$$$
        @cp $(srcdir)/version.texi $@
 
 mostlyclean-vti:
-       -rm -f vti.tmp
+       -rm -f vti.tmp* $(srcdir)/version.texi.tmp*
 
 maintainer-clean-vti:
        -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
@@ -1474,7 +1777,10 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1749,6 +2055,8 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
        uninstall-am uninstall-dvi-am uninstall-html-am \
        uninstall-info-am uninstall-pdf-am uninstall-ps-am
 
+.PRECIOUS: Makefile
+
 
 .PHONY: updatepo
 updatepo:
index cb71f05a175f841e91d37d73f2ac911100e40e7b..542edaad258a2cfecffb25e35338547dfe16f291 100644 (file)
@@ -6,7 +6,7 @@
 
 @display
 Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-@uref{http://fsf.org/}
+@uref{https://fsf.org/}
 
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.
@@ -97,7 +97,7 @@ format, SGML or XML using a publicly available
 DTD, and standard-conforming simple HTML,
 PostScript or PDF designed for human modification.  Examples
 of transparent image formats include PNG, XCF and
-JPG.  Opaque formats include proprietary formats that can be
+JPG@.  Opaque formats include proprietary formats that can be
 read and edited only by proprietary word processors, SGML or
 XML for which the DTD and/or processing tools are
 not generally available, and the machine-generated HTML,
@@ -414,7 +414,7 @@ The Free Software Foundation may publish new, revised versions
 of the GNU Free Documentation License from time to time.  Such new
 versions will be similar in spirit to the present version, but may
 differ in detail to address new problems or concerns.  See
-@uref{http://www.gnu.org/copyleft/}.
+@uref{https://www.gnu.org/copyleft/}.
 
 Each version of the License is given a distinguishing version number.
 If the Document specifies that a particular numbered version of this
index 4297c7090734265b91ed2e8bb0709142b74ffbb0..fb1a807adbef2691594bad89ccb84ab45626bb02 100644 (file)
@@ -22,7 +22,7 @@
 This file documents the use of GNU Parted, a program for creating,
 resising, checking and copy partitions, and file systems on them.
 
-Copyright 1999-2002, 2009-2014 Free Software Foundation, Inc.
+Copyright 1999-2002, 2009-2014, 2019 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -240,9 +240,9 @@ necessidade.  
 @cindex gpl
 
 O GNU Parted é software livre, previsto pela GNU General Public
-Licese Version 2. Ela deve vir com a distribuição do Parted, no arquivo
-COPYING. Se não, escreva para a Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+Licese Version 3, ou (a seu critério) qualquer versão posterior.
+Ela deve vir com a distribuição do Parted, no arquivo COPYING.
+Se não, veja <http://www.gnu.org/licenses/>.
 
 Libparted é considerada parte do GNU Parted. Ela é prevista pela GNU
 General Public License. NÃO é lançada sobre a GNU Lesser General Public
index 1451f7102abc1f4a470d65ec33ae38c57f5d6cb4..36bced07f858ee71fff239968618277b4ccca1c8 100644 (file)
@@ -1,6 +1,6 @@
-This is parted.info, produced by makeinfo version 5.2 from parted.texi.
+This is parted.info, produced by makeinfo version 6.6 from parted.texi.
 
-Copyright (C) 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1999-2014, 2019 Free Software Foundation, Inc.
 
   Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -25,7 +25,7 @@ GNU Parted User Manual
 This file documents the use of GNU Parted, a program for creating and
 manipulating partition tables.
 
-  This document applies roughly to version *3.2* of GNU Parted.
+  This document applies roughly to version *3.3* of GNU Parted.
 
   The original version was written by Andrew Clausen in text format.
 Richard M. Kreuter translated it into Texinfo format in 2002, to be
@@ -122,14 +122,6 @@ need both the normal and devel packages of these programs installed:
 
      <ftp://ftp.gnu.org/gnu/gettext>
 
-   * libreiserfs, if you want reiserfs support:
-
-     <http://reiserfs.osdn.org.ua>
-
-     Note that parted will automatically detect libreiserfs at runtime,
-     and enable reiserfs support.  libreiserfs is new, and hasn't been
-     widely tested yet.
-
 \1f
 File: parted.info,  Node: Supported Platforms,  Next: License,  Prev: Software Required,  Up: Introduction
 
@@ -153,9 +145,9 @@ File: parted.info,  Node: License,  Next: Compiling,  Prev: Supported Platforms,
 ========================================
 
 GNU Parted is free software, covered by the GNU General Public License
-Version 2.  This should have been included with the Parted distribution,
-in the COPYING file.  If not, write to the Free Software Foundation,
-Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+Version 3, or (at your option) any later version.  This should have been
+included with the Parted distribution, in the COPYING file.  If not, see
+<http://www.gnu.org/licenses/>.
 
   Libparted is considered part of GNU Parted.  It is covered by the GNU
 General Public License.  It is NOT released under the GNU Lesser General
@@ -181,14 +173,6 @@ If you want to compile GNU Parted, this is generally done with:
 '--disable-debug'
      don't include assertions
 
-'--disable-dynamic-loading'
-     disables dynamic loading of some libraries (only libreiserfs for
-     now, although we hope to expand this).  Dynamic loading is useful
-     because it allows you to reuse libparted shared libraries even when
-     you don't know if some libraries will be available.  It has a small
-     overhead (mainly linking with libdl), so it may be useful to
-     disable it on bootdisks if you don't need the flexibility.
-
 '--disable-nls'
      turns off native language support.  This is useful for use with old
      versions of glibc, or a trimmed down version of glibc suitable for
@@ -234,12 +218,33 @@ File: parted.info,  Node: Partitioning,  Next: Running Parted,  Up: Using Parted
 2.1 Introduction to Partitioning
 ================================
 
-Unfortunately, partitioning your disk is rather complicated.  This is
-because there are interactions between many different systems that need
-to be taken into consideration.
-
-  This manual used to introduce the reader to these systems and their
-working.  This content has moved to the GNU Storage Guide.
+Partitioning is the process of dividing a storage device into local
+sections, called partitions, which help organize multiple filesystems
+and their associated operating systems.
+
+  A storage device presents itself as a sequence of bytes, numbered
+starting from zero and increasing until the maximum capacity of the
+device is reached.  Bytes are normally read and written a sector at a
+time, rather than individually.  Each sector contains a fixed number of
+bytes, with the number determined by the device.
+
+     +------------------------------------------------------------+
+     |            storage device with no partitions               |
+     +------------------------------------------------------------+
+     0 start                                                    end
+
+  In order to store multiple filesystems, a storage device can be
+divided up in to multiple partitions.  Each partition can be thought of
+as an area which contains a real filesystem inside of it.  To show where
+these partitions are on the device a small table is written at the
+start, shown as PT in the diagram below.  This table is called a
+partition table, or disklabel, and also stores the type of each
+partition and some flags.
+
+     +--+---------------+----------------+------------------------+
+     |PT|  Partition 1  |  Partition 2   |  Partition 3           |
+     +--+---------------+----------------+------------------------+
+     0 start                                                    end
 
 \1f
 File: parted.info,  Node: Running Parted,  Next: Invoking Parted,  Prev: Partitioning,  Up: Using Parted
@@ -259,7 +264,7 @@ want.)
   In command line mode, this is followed by one or more commands.  For
 example:
 
-     # parted /dev/sda mklabel gpt mkpart P1 ext3 1MiB 8MiB 
+     # parted /dev/sda mklabel gpt mkpart P1 ext3 1MiB 8MiB
 
 Options (like '--help') can only be specified on the command line.
 
@@ -267,7 +272,7 @@ Options (like '--help') can only be specified on the command line.
 and modify the disk immediately.  For example:
 
      (parted) mklabel gpt
-     (parted) mkpart P1 ext3 1MiB 8MiB 
+     (parted) mkpart P1 ext3 1MiB 8MiB
 
 Unambiguous abbreviations are allowed.  For example, you can type "p"
 instead of "print", and "u" instead of "units".  Commands can be typed
@@ -465,7 +470,7 @@ File: parted.info,  Node: mkpart,  Next: name,  Prev: mklabel,  Up: Command expl
 2.4.5 mkpart
 ------------
 
- -- Command: mkpart [PART-TYPE FS-TYPE NAME] START END
+ -- Command: mkpart [PART-TYPE NAME FS-TYPE] START END
 
      Creates a new partition, _without_ creating a new file system on
      that partition.  This is useful for creating partitions for file
@@ -523,7 +528,7 @@ File: parted.info,  Node: mkpart,  Next: name,  Prev: mklabel,  Up: Command expl
    (1) Cheap flash drives will be with us for a long time to come, and,
 for them, 1MiB alignment is not enough.  Use at least 4MiB-aligned
 partitions.  For details, see Arnd Bergman's article,
-<http://http://lwn.net/Articles/428584/> and its many comments.
+<http://lwn.net/Articles/428584/> and its many comments.
 
 \1f
 File: parted.info,  Node: name,  Next: print,  Prev: mkpart,  Up: Command explanations
@@ -534,7 +539,9 @@ File: parted.info,  Node: name,  Next: print,  Prev: mkpart,  Up: Command explan
  -- Command: name NUMBER NAME
 
      Sets the name for the partition NUMBER (GPT, Mac, MIPS and PC98
-     only).  The name can be placed in quotes.
+     only).  The name can be placed in quotes.  And depending on the
+     shell may need to also be wrapped in single quotes so that the
+     shell doesn't strip off the double quotes.
 
      Example:
 
@@ -730,8 +737,8 @@ File: parted.info,  Node: set,  Next: unit,  Prev: select,  Up: Command explanat
           flag, such as boot or msftres.
 
      'msftres'
-          (GPT) - This flag identifies a "Microsoft Reserved" partition,
-          which is used by Windows on GPT disks.  Note that this flag
+          (MS-DOS,GPT) - This flag identifies a "Microsoft Reserved"
+          partition, which is used by Windows.  Note that this flag
           should not normally be set on Windows filesystem partitions
           (those that contain NTFS or FAT filesystems).
 
@@ -952,7 +959,7 @@ A.1 GNU Free Documentation License
                      Version 1.3, 3 November 2008
 
      Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-     <http://fsf.org/>
+     <https://fsf.org/>
 
      Everyone is permitted to copy and distribute verbatim copies
      of this license document, but changing it is not allowed.
@@ -1349,7 +1356,7 @@ A.1 GNU Free Documentation License
      the GNU Free Documentation License from time to time.  Such new
      versions will be similar in spirit to the present version, but may
      differ in detail to address new problems or concerns.  See
-     <http://www.gnu.org/copyleft/>.
+     <https://www.gnu.org/copyleft/>.
 
      Each version of the License is given a distinguishing version
      number.  If the Document specifies that a particular numbered
@@ -1521,39 +1528,39 @@ Index
 
 \1f
 Tag Table:
-Node: Top\7f764
-Node: Introduction\7f1567
-Node: Overview\7f2023
-Node: Software Required\7f3550
-Node: Supported Platforms\7f4904
-Node: License\7f5358
-Node: Compiling\7f5989
-Node: Using Parted\7f7715
-Node: Partitioning\7f8134
-Node: Running Parted\7f8590
-Node: Invoking Parted\7f10971
-Node: Command explanations\7f11752
-Node: align-check\7f12217
-Node: disk_set\7f12942
-Node: help\7f13643
-Node: mklabel\7f13926
-Ref: mklabel-Footnote-1\7f14805
-Node: mkpart\7f14935
-Ref: mkpart-Footnote-1\7f17345
-Node: name\7f17603
-Node: print\7f17982
-Node: quit\7f18870
-Node: rescue\7f19364
-Node: resizepart\7f20889
-Node: rm\7f21437
-Node: select\7f22322
-Node: set\7f22792
-Node: unit\7f26249
-Ref: IEC binary units\7f28632
-Node: Related information\7f30725
-Node: Copying This Manual\7f31547
-Node: GNU Free Documentation License\7f31791
-Node: History\7f56901
-Node: Concept index\7f57706
+Node: Top\7f770
+Node: Introduction\7f1573
+Node: Overview\7f2029
+Node: Software Required\7f3556
+Node: Supported Platforms\7f4657
+Node: License\7f5111
+Node: Compiling\7f5715
+Node: Using Parted\7f6995
+Node: Partitioning\7f7414
+Node: Running Parted\7f9052
+Node: Invoking Parted\7f11431
+Node: Command explanations\7f12212
+Node: align-check\7f12677
+Node: disk_set\7f13402
+Node: help\7f14103
+Node: mklabel\7f14386
+Ref: mklabel-Footnote-1\7f15265
+Node: mkpart\7f15395
+Ref: mkpart-Footnote-1\7f17805
+Node: name\7f18056
+Node: print\7f18573
+Node: quit\7f19461
+Node: rescue\7f19955
+Node: resizepart\7f21480
+Node: rm\7f22028
+Node: select\7f22913
+Node: set\7f23383
+Node: unit\7f26834
+Ref: IEC binary units\7f29217
+Node: Related information\7f31310
+Node: Copying This Manual\7f32132
+Node: GNU Free Documentation License\7f32376
+Node: History\7f57488
+Node: Concept index\7f58293
 \1f
 End Tag Table
index 07aa70293008c000f0feb3bb676bd7615dab9027..77c9628c23a19f7d441cd6d345e7ff2dc5779940 100644 (file)
@@ -14,7 +14,7 @@ and manipulating partition tables.
 @ifnottex @c texi2pdf don't understand copying and insertcopying ???
 @c modifications must also be done in the titlepage
 @copying
-Copyright @copyright{} 1999-2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1999-2014, 2019 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -178,13 +178,6 @@ internationalisation support is desired.
 
        @uref{ftp://ftp.gnu.org/gnu/gettext}
 
-@item libreiserfs, if you want reiserfs support:
-
-       @uref{http://reiserfs.osdn.org.ua}
-
-Note that parted will automatically detect libreiserfs at runtime, and enable
-reiserfs support.  libreiserfs is new, and hasn't been widely tested yet.
-
 @end itemize
 
 @node Supported Platforms
@@ -210,9 +203,9 @@ Linux versions 2.0 and up, on Alpha, x86 PCs, PC98, Macintosh PowerPC, Sun hardw
 @cindex gpl
 
 GNU Parted is free software, covered by the GNU General Public License
-Version 2.  This should have been included with the Parted distribution,
-in the COPYING file.  If not, write to the Free Software Foundation,
-Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+Version 3, or (at your option) any later version.  This should have been
+included with the Parted distribution, in the COPYING file.  If not,
+see <http://www.gnu.org/licenses/>.
 
 Libparted is considered part of GNU Parted.  It is covered by the GNU
 General Public License.  It is NOT released under the GNU Lesser General
@@ -242,14 +235,6 @@ etc., where few libraries are available.
 @item --disable-debug
 don't include assertions
 
-@item --disable-dynamic-loading
-disables dynamic loading of some libraries (only libreiserfs for now,
-although we hope to expand this).  Dynamic loading is useful because it
-allows you to reuse libparted shared libraries even when you don't know
-if some libraries will be available.  It has a small overhead (mainly
-linking with libdl), so it may be useful to disable it on bootdisks if
-you don't need the flexibility.
-
 @item --disable-nls
 turns off native language support.  This is useful for use with old
 versions of glibc, or a trimmed down version of glibc suitable for
@@ -291,12 +276,38 @@ or you want to modify a root or boot partition, use GParted Live:
 @section Introduction to Partitioning
 @cindex partitioning overview
 
-Unfortunately, partitioning your disk is rather complicated.  This is
-because there are interactions between many different systems that need
-to be taken into consideration.
+Partitioning is the process of dividing a storage device into local
+sections, called partitions, which help organize multiple filesystems
+and their associated operating systems.
+
+A storage device presents itself as a sequence of bytes, numbered
+starting from zero and increasing until the maximum capacity of the
+device is reached. Bytes are normally read and written a sector at a
+time, rather than individually. Each sector contains a fixed number
+of bytes, with the number determined by the device.
+
+@example
++------------------------------------------------------------+
+|            storage device with no partitions               |
++------------------------------------------------------------+
+0 start                                                    end
+@end example
+
+In order to store multiple filesystems, a storage device can be divided
+up in to multiple partitions. Each partition can be thought of as an
+area which contains a real filesystem inside of it. To show where these
+partitions are on the device a small table is written at the start,
+shown as PT in the diagram below. This table is called a partition
+table, or disklabel, and also stores the type of each partition and
+some flags.
+
+@example
++--+---------------+----------------+------------------------+
+|PT|  Partition 1  |  Partition 2   |  Partition 3           |
++--+---------------+----------------+------------------------+
+0 start                                                    end
+@end example
 
-This manual used to introduce the reader to these systems and their
-working.  This content has moved to the GNU Storage Guide.
 
 @node Running Parted
 @section Using GNU Parted
@@ -550,7 +561,7 @@ PCs.
 @cindex mkpart, command description
 @cindex command description, mkpart
 
-@deffn Command mkpart [@var{part-type} @var{fs-type} @var{name}] @var{start} @var{end}
+@deffn Command mkpart [@var{part-type} @var{name} @var{fs-type}] @var{start} @var{end}
 
 Creates a new partition, @emph{without} creating a new file system on
 that partition.  This is useful for creating partitions for file systems
@@ -594,7 +605,7 @@ Cheap flash drives will be with us for a long time to
 come, and, for them, 1MiB alignment is not enough.
 Use at least 4MiB-aligned partitions.
 For details, see Arnd Bergman's article,
-@uref{http://http://lwn.net/Articles/428584/} and its many comments.}.
+@uref{http://lwn.net/Articles/428584/} and its many comments.}.
 This command creates a tiny place-holder partition at the beginning, and
 then uses all remaining space to create the partition you'll actually use:
 
@@ -628,7 +639,9 @@ $ @kbd{mkfs.vfat /dev/sdX2}
 @deffn Command name @var{number} @var{name}
 
 Sets the name for the partition @var{number} (GPT, Mac, MIPS and PC98 only).
-The name can be placed in quotes.
+The name can be placed in quotes. And depending on the shell may need to also
+be wrapped in single quotes so that the shell doesn't strip off the double
+quotes.
 
 Example:
 
@@ -848,8 +861,8 @@ flag can only be removed within parted by replacing it with a competing
 flag, such as boot or msftres.
 
 @item msftres
-(GPT) - This flag identifies a "Microsoft Reserved" partition, which is
-used by Windows on GPT disks.  Note that this flag should not normally be
+(MS-DOS,GPT) - This flag identifies a "Microsoft Reserved" partition, which
+is used by Windows.  Note that this flag should not normally be
 set on Windows filesystem partitions (those that contain NTFS or FAT
 filesystems).
 
index 02a868459fef5afacbc32f00a523f6963d6c205a..32b86022c5e2c679e6504a06bff0c4f7afe652a1 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # threshold is 80%), it won't be distributed, and the build won't fail.
 #
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -101,80 +111,102 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(srcdir)/../po4a.mk $(srcdir)/Makefile.in \
-       $(srcdir)/Makefile.am $(dist_man_MANS)
 subdir = doc/pt_BR
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -184,6 +216,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -208,6 +241,8 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/../po4a.mk \
+       $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -240,11 +275,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -259,18 +292,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -278,6 +318,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -323,6 +364,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -331,14 +376,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -384,6 +436,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -393,6 +447,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -400,26 +464,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -431,6 +510,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -442,6 +522,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -451,9 +532,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -483,6 +567,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -511,10 +596,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -525,17 +616,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -545,6 +641,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -555,6 +652,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -564,6 +662,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -576,13 +675,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -594,12 +698,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -614,6 +720,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -622,25 +730,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -651,20 +831,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -686,6 +879,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -711,12 +905,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -733,13 +929,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -753,52 +953,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -833,16 +1056,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -851,6 +1075,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -868,8 +1093,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -897,6 +1127,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -906,21 +1137,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -933,6 +1224,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -941,14 +1233,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -961,6 +1257,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -974,16 +1271,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -991,9 +1292,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1083,16 +1385,15 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/../po4a.mk $(am__configu
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/pt_BR/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu doc/pt_BR/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
-$(srcdir)/../po4a.mk:
+$(srcdir)/../po4a.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1115,7 +1416,10 @@ ctags CTAGS:
 cscope cscopelist:
 
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1261,6 +1565,8 @@ uninstall-am:
        mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
        uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Override the automake's install-man target.
 # And set dist_man_MANS according to the pages that could be generated
index 4fece9dc60c258e0f89d000c76996ec6ea1fb070..900b9aec5cf863ba4c9cbbd62bf62f7099542d32 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 15 June 2014
-@set UPDATED-MONTH June 2014
-@set EDITION 3.2
-@set VERSION 3.2
+@set UPDATED 10 October 2019
+@set UPDATED-MONTH October 2019
+@set EDITION 3.3
+@set VERSION 3.3
index 4fece9dc60c258e0f89d000c76996ec6ea1fb070..900b9aec5cf863ba4c9cbbd62bf62f7099542d32 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 15 June 2014
-@set UPDATED-MONTH June 2014
-@set EDITION 3.2
-@set VERSION 3.2
+@set UPDATED 10 October 2019
+@set UPDATED-MONTH October 2019
+@set EDITION 3.3
+@set VERSION 3.3
index ae53f2e9fdf933cea2e918d2b9578ad25253627e..a1352216f9a2d86511ce24fc39d5f5361e62b5b6 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -77,78 +87,101 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = include
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -158,6 +191,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -196,7 +230,7 @@ am__recursive_targets = \
   $(RECURSIVE_CLEAN_TARGETS) \
   $(am__extra_recursive_targets)
 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-       distdir
+       distdir distdir-am
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -217,6 +251,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -274,11 +309,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -293,18 +326,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -312,6 +352,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -357,6 +398,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -365,14 +410,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -418,6 +470,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -427,6 +481,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -434,26 +498,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -465,6 +544,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -476,6 +556,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -485,9 +566,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -517,6 +601,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -545,10 +630,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -559,17 +650,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -579,6 +675,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -589,6 +686,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -598,6 +696,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -610,13 +709,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -628,12 +732,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -648,6 +754,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -656,25 +764,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -685,20 +865,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -720,6 +913,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -745,12 +939,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -767,13 +963,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -787,52 +987,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -867,16 +1090,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -885,6 +1109,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -902,8 +1127,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -931,6 +1161,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -940,21 +1171,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -967,6 +1258,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -975,14 +1267,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -995,6 +1291,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1008,16 +1305,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1025,9 +1326,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1109,14 +1411,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu include/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1233,7 +1534,10 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1404,6 +1708,8 @@ uninstall-am:
        mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
        ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 1a2a9dbc77a31e3d158e637b1111c27aeca80854..c4be9335cbc6bd1476989924d71cf71b5e384abb 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,79 +88,101 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = include/parted
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(am__noinst_HEADERS_DIST) $(partedinclude_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -160,6 +192,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \
+       $(partedinclude_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -232,6 +266,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -264,11 +299,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -283,18 +316,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -302,6 +342,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -347,6 +388,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -355,14 +400,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -408,6 +460,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -417,6 +471,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -424,26 +488,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -455,6 +534,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -466,6 +546,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -475,9 +556,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -507,6 +591,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -535,10 +620,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -549,17 +640,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -569,6 +665,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -579,6 +676,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -588,6 +686,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -600,13 +699,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -618,12 +722,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -638,6 +744,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -646,25 +754,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -675,20 +855,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -710,6 +903,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -735,12 +929,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -757,13 +953,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -777,52 +977,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -857,16 +1080,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -875,6 +1099,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -892,8 +1117,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -921,6 +1151,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -930,21 +1161,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -957,6 +1248,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -965,14 +1257,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -985,6 +1281,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -998,16 +1295,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1015,9 +1316,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1140,14 +1442,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/parted/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu include/parted/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1238,7 +1539,10 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1391,6 +1695,8 @@ uninstall-am: uninstall-partedincludeHEADERS
        mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
        uninstall-am uninstall-partedincludeHEADERS
 
+.PRECIOUS: Makefile
+
 
 $(BUILT_SOURCES): Makefile.am
 
index b8ab67141c8e2e2e8f2a644838abbf9e8143a4da..e2f6a2b076aa46a164015fbae857735ee5adf2ca 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index 4b511a5b5d4f0686da5792d7b126f402aed2029d..efa6d1ebb00bba194378de32f3543b2f243ffbca 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index f8d669ffbb56b807b4c67771b7836ba8c3c7960c..5ae6d0fa03826841ca4f175c5b66e66b9c8cc5c7 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 2019 Free Software Foundation,
+    Inc.
 
     crc32.h
 
index 62a8a99ceea60e92ce9e2bbc9c17baf9be521320..cbae91eb39f3b2f068425b637673898e8542f6c2 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 2019 Free Software Foundation,
+    Inc.
 
     crc32.h
 
index 46328863e6451feeae62439b37b5c3f8df6b8b16..4321dd9c9b2012f0b740d52620f6d0e70bee7775 100644 (file)
@@ -1,7 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2000, 2002, 2007, 2009-2014 Free Software Foundation,
-    Inc.
+    Copyright (C) 1998-2000, 2002, 2007, 2009-2014, 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
index 46328863e6451feeae62439b37b5c3f8df6b8b16..4321dd9c9b2012f0b740d52620f6d0e70bee7775 100644 (file)
@@ -1,7 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2000, 2002, 2007, 2009-2014 Free Software Foundation,
-    Inc.
+    Copyright (C) 1998-2000, 2002, 2007, 2009-2014, 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
index 798fb67a03fc30dcc86d72fea959f0710c5b88d3..3f4ca8618122b2eb13943babd3e974c12e7593df 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2001, 2005, 2007-2008, 2011-2014 Free Software
+    Copyright (C) 1998-2001, 2005, 2007-2008, 2011-2014, 2019 Free Software
     Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
@@ -49,7 +49,10 @@ typedef enum {
         PED_DEVICE_VIRTBLK      = 15,
         PED_DEVICE_AOE          = 16,
         PED_DEVICE_MD           = 17,
-        PED_DEVICE_LOOP         = 18
+        PED_DEVICE_LOOP         = 18,
+        PED_DEVICE_NVME         = 19,
+        PED_DEVICE_RAM          = 20,
+        PED_DEVICE_PMEM         = 21
 } PedDeviceType;
 
 typedef struct _PedDevice PedDevice;
index 82d4104ef9220d4a140a9cf741b1a00261a6d3d2..84652484dd548f1778d86928f81a8e735bf4b55d 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2001, 2005, 2007-2008, 2011-2014 Free Software
+    Copyright (C) 1998-2001, 2005, 2007-2008, 2011-2014, 2019 Free Software
     Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
@@ -49,7 +49,10 @@ typedef enum {
         PED_DEVICE_VIRTBLK      = 15,
         PED_DEVICE_AOE          = 16,
         PED_DEVICE_MD           = 17,
-        PED_DEVICE_LOOP         = 18
+        PED_DEVICE_LOOP         = 18,
+        PED_DEVICE_NVME         = 19,
+        PED_DEVICE_RAM          = 20,
+        PED_DEVICE_PMEM         = 21
 } PedDeviceType;
 
 typedef struct _PedDevice PedDevice;
index d11622496b67289a079671aacfd1292d2d1b9757..d666985a432314f25879c2c770a6729d07e4cd8d 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2002, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2002, 2007-2014, 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
index 58d49f0028ecda3c1ca41e9fd92e2b5b37d8956a..a3b380d97d724aa9092e5257f833cb3eb27b7e4a 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2002, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2002, 2007-2014, 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
index 2b0e47bc69a8b0ac41330fd23147dbe035c6b02d..7ef0112ab29843c014d475b1aa2e7a286db07c9f 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2002, 2007, 2009-2014, 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
index 2b0e47bc69a8b0ac41330fd23147dbe035c6b02d..7ef0112ab29843c014d475b1aa2e7a286db07c9f 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2002, 2007, 2009-2014, 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
index b6588acd365f2c582ea71e7f382565a7014265d6..bf6692e8dff4b07f69dfb0ce34e6832cd7a6c0b9 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2000, 2007, 2009-2014, 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
index 574d915b371ce798ef460ded660e510199840309..bfc1fc9a69107f42a5aceaa2181823f5bdafcf17 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2000, 2007, 2009-2014, 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
index 6f6a7e0ab8f7bf16c0219f3e56cff6a3c5694aa8..9e5d7d1d5b94eee6e5337167f4f653439398652d 100644 (file)
@@ -186,25 +186,27 @@ typedef struct format_data_t {
 /*****************************************************************************
  * SECTION: Further IOCTL Definitions  (see fs.h)                            *
  *****************************************************************************/
+#define BLKROGET   _IO(0x12,94) /* get read-only status (0 = read_write) */
 /* re-read partition table */
 #define BLKRRPART  _IO(0x12,95)
 /* get block device sector size */
 #define BLKSSZGET  _IO(0x12,104)
+/* device size in bytes (u64 *arg)*/
+#define BLKGETSIZE64 _IOR(0x12,114,size_t)
 /* get device geometry */
 #define HDIO_GETGEO            0x0301
 
 /*****************************************************************************
  * SECTION: FDASD internal types                                             *
  *****************************************************************************/
+#define PARTN_MASK ((1 << DASD_PARTN_BITS) - 1)
+#define USABLE_PARTITIONS ((1 << DASD_PARTN_BITS) - 1)
 
 #define DASD_MIN_API_VERSION 0
 
 #define DEFAULT_FDASD_CONF "/etc/fdasd.conf" /* default config file */
 
-#define PARTN_MASK ((1 << DASD_PARTN_BITS) - 1)
-#define USABLE_PARTITIONS ((1 << DASD_PARTN_BITS) - 1)
-
-#define FDASD_VERSION "1.05"
+#define FDASD_VERSION "1.32.0"
 #define DEVICE "device"
 #define DISC   "disc"
 #define PART   "part"
@@ -231,9 +233,6 @@ typedef struct config_data {
 typedef struct fdasd_anchor {
        int vlabel_changed;
        int vtoc_changed;
-       int devname_specified;
-       int volid_specified;
-       int config_specified;
        int auto_partition;
        int print_table;
        int big_disk;
@@ -280,12 +279,13 @@ enum fdasd_failure {
        vlabel_corrupted,
        dsname_corrupted,
        malloc_failed,
-       device_verification_failed
+       device_verification_failed,
+       volser_not_found
 };
 
 void fdasd_cleanup (fdasd_anchor_t *anchor);
 void fdasd_initialize_anchor (fdasd_anchor_t * anc);
-void fdasd_get_geometry (const PedDevice *dev, fdasd_anchor_t *anc, int fd);
+int fdasd_get_geometry (const PedDevice *dev, fdasd_anchor_t *anc, int fd);
 void fdasd_check_api_version (fdasd_anchor_t *anc, int fd);
 int fdasd_check_volume (fdasd_anchor_t *anc, int fd);
 int fdasd_write_labels (fdasd_anchor_t *anc, int fd);
@@ -293,5 +293,9 @@ void fdasd_recreate_vtoc(fdasd_anchor_t *anc);
 partition_info_t * fdasd_add_partition (fdasd_anchor_t *anc,
                                         unsigned int start, unsigned int stop);
 int fdasd_prepare_labels (fdasd_anchor_t *anc, int fd) ;
+void fdasd_check_volser(char *volser, int devno);
+int fdasd_get_volser(fdasd_anchor_t *anc, char *volser, int fd);
+void fdasd_change_volser(fdasd_anchor_t *anc, char *str);
+void fdasd_reuse_vtoc(fdasd_anchor_t *anc);
 
 #endif /* FDASD_H */
index 6f6a7e0ab8f7bf16c0219f3e56cff6a3c5694aa8..9e5d7d1d5b94eee6e5337167f4f653439398652d 100644 (file)
@@ -186,25 +186,27 @@ typedef struct format_data_t {
 /*****************************************************************************
  * SECTION: Further IOCTL Definitions  (see fs.h)                            *
  *****************************************************************************/
+#define BLKROGET   _IO(0x12,94) /* get read-only status (0 = read_write) */
 /* re-read partition table */
 #define BLKRRPART  _IO(0x12,95)
 /* get block device sector size */
 #define BLKSSZGET  _IO(0x12,104)
+/* device size in bytes (u64 *arg)*/
+#define BLKGETSIZE64 _IOR(0x12,114,size_t)
 /* get device geometry */
 #define HDIO_GETGEO            0x0301
 
 /*****************************************************************************
  * SECTION: FDASD internal types                                             *
  *****************************************************************************/
+#define PARTN_MASK ((1 << DASD_PARTN_BITS) - 1)
+#define USABLE_PARTITIONS ((1 << DASD_PARTN_BITS) - 1)
 
 #define DASD_MIN_API_VERSION 0
 
 #define DEFAULT_FDASD_CONF "/etc/fdasd.conf" /* default config file */
 
-#define PARTN_MASK ((1 << DASD_PARTN_BITS) - 1)
-#define USABLE_PARTITIONS ((1 << DASD_PARTN_BITS) - 1)
-
-#define FDASD_VERSION "1.05"
+#define FDASD_VERSION "1.32.0"
 #define DEVICE "device"
 #define DISC   "disc"
 #define PART   "part"
@@ -231,9 +233,6 @@ typedef struct config_data {
 typedef struct fdasd_anchor {
        int vlabel_changed;
        int vtoc_changed;
-       int devname_specified;
-       int volid_specified;
-       int config_specified;
        int auto_partition;
        int print_table;
        int big_disk;
@@ -280,12 +279,13 @@ enum fdasd_failure {
        vlabel_corrupted,
        dsname_corrupted,
        malloc_failed,
-       device_verification_failed
+       device_verification_failed,
+       volser_not_found
 };
 
 void fdasd_cleanup (fdasd_anchor_t *anchor);
 void fdasd_initialize_anchor (fdasd_anchor_t * anc);
-void fdasd_get_geometry (const PedDevice *dev, fdasd_anchor_t *anc, int fd);
+int fdasd_get_geometry (const PedDevice *dev, fdasd_anchor_t *anc, int fd);
 void fdasd_check_api_version (fdasd_anchor_t *anc, int fd);
 int fdasd_check_volume (fdasd_anchor_t *anc, int fd);
 int fdasd_write_labels (fdasd_anchor_t *anc, int fd);
@@ -293,5 +293,9 @@ void fdasd_recreate_vtoc(fdasd_anchor_t *anc);
 partition_info_t * fdasd_add_partition (fdasd_anchor_t *anc,
                                         unsigned int start, unsigned int stop);
 int fdasd_prepare_labels (fdasd_anchor_t *anc, int fd) ;
+void fdasd_check_volser(char *volser, int devno);
+int fdasd_get_volser(fdasd_anchor_t *anc, char *volser, int fd);
+void fdasd_change_volser(fdasd_anchor_t *anc, char *str);
+void fdasd_reuse_vtoc(fdasd_anchor_t *anc);
 
 #endif /* FDASD_H */
index f0a388c0f895b875e3061096837ede8865fe3f33..51534f81e583cbb70cf2e190d8de3a23e34b4c74 100644 (file)
@@ -1,7 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2001, 2006-2007, 2009-2014 Free Software Foundation,
-    Inc.
+    Copyright (C) 1999-2001, 2006-2007, 2009-2014, 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
index a9e23de5a9ae8a2943e4a423eeb0d4f6b44bd10f..e5356174230e9e6cf4202d47b1dfa0a3b3f2c838 100644 (file)
@@ -1,7 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2001, 2006-2007, 2009-2014 Free Software Foundation,
-    Inc.
+    Copyright (C) 1999-2001, 2006-2007, 2009-2014, 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
index c7951c2b1e3d2d18f84ddfa2b1b91814fb9b4765..77e3a68df436264421834f40bcb95935554e2d79 100644 (file)
@@ -1,7 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2001, 2005, 2007, 2009-2014 Free Software Foundation,
-    Inc.
+    Copyright (C) 1998-2001, 2005, 2007, 2009-2014, 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
index c23f79262c94bca128ee53fba708f4b1eb5b0f88..c4c067d68d1eef12cdb3a3d6f8fbd98c86328499 100644 (file)
@@ -1,7 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1998-2001, 2005, 2007, 2009-2014 Free Software Foundation,
-    Inc.
+    Copyright (C) 1998-2001, 2005, 2007, 2009-2014, 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
index 997197ff64afc1239bdb717bf6a85abdb38c8a79..0d7f642185538f22e55fa4ba0fa0015e90c05289 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000, 2007-2014, 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
index 5cf92e930a9937315a282a55a59590790685505c..36bffbe2fc0bc4b03be23b40b45f9c82225b46d9 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000, 2007-2014, 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
index 4db158819c083ec6f9f35b22ffd48d3fc579ad60..f62d5bd0800f582ac0e1f5f632dfc55b1422d5dc 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2001, 2007, 2009-2014, 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
@@ -49,8 +50,8 @@ extern const char *ped_get_version ()
 #endif
 ;
 
-extern void* ped_malloc (size_t size);
-extern void* ped_calloc (size_t size);
+extern void* __attribute__ ((malloc)) ped_malloc (size_t size);
+extern void* __attribute__ ((malloc)) ped_calloc (size_t size);
 extern void free (void* ptr);
 
 #ifdef __cplusplus
index 23e5e4986050025419e64a62e5fae2bf16992964..215062389f39c83daa004fc61dce590c10870ef8 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2001, 2007, 2009-2014, 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
@@ -45,8 +46,8 @@ extern "C" {
 
 extern const char *ped_get_version () _GL_ATTRIBUTE_CONST;
 
-extern void* ped_malloc (size_t size);
-extern void* ped_calloc (size_t size);
+extern void* __attribute__ ((malloc)) ped_malloc (size_t size);
+extern void* __attribute__ ((malloc)) ped_calloc (size_t size);
 extern void free (void* ptr);
 
 #ifdef __cplusplus
index 0f33ce9c71cee33696a936d3a570a0d48beb570d..cee659d8752f9ce669e103c5bd0c2d88348f3509 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2001-2002, 2007, 2009-2014, 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
index 0f33ce9c71cee33696a936d3a570a0d48beb570d..cee659d8752f9ce669e103c5bd0c2d88348f3509 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2001-2002, 2007, 2009-2014, 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
index 89fca93609d238b5c6335cb4a415477f542f96f8..1f4025b792eaf1edb2a568568263315a754618d9 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2005, 2007, 2009-2014, 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
@@ -67,10 +67,6 @@ typedef enum {
 extern long long ped_unit_get_size (const PedDevice* dev, PedUnit unit);
 extern const char *ped_unit_get_name (PedUnit unit)
  
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-  __attribute ((__pure__))
-#endif
-
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
   __attribute ((__const__))
 #endif
index 9d6e06a077f6e1f4e62f19f2c0391d82d9c0116a..a8d4eb72fe0c57a2f3d32ef4f2a9164c11d08a62 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2005, 2007, 2009-2014, 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
@@ -66,7 +66,7 @@ typedef enum {
 
 extern long long ped_unit_get_size (const PedDevice* dev, PedUnit unit);
 extern const char *ped_unit_get_name (PedUnit unit)
-  _GL_ATTRIBUTE_PURE _GL_ATTRIBUTE_CONST;
+  _GL_ATTRIBUTE_CONST;
 extern PedUnit ped_unit_get_by_name (const char* unit_name) _GL_ATTRIBUTE_PURE;
 
 extern void ped_unit_set_default (PedUnit unit);
index 499c2d3562c66f381698d72d4d3d965917107d68..c2756f98c1863fff2162a1d1d272d14008472efb 100644 (file)
@@ -62,7 +62,6 @@ typedef struct cchh             cchh_t;
 typedef struct labeldate        labeldate_t;
 typedef struct volume_label     volume_label_t;
 typedef struct cms_volume_label cms_volume_label_t;
-typedef struct ldl_volume_label ldl_volume_label_t;
 typedef struct extent           extent_t;
 typedef struct dev_const        dev_const_t;
 typedef struct format1_label    format1_label_t;
@@ -94,6 +93,19 @@ struct __attribute__ ((packed)) labeldate {
         u_int16_t day;
 };
 
+/*
+ * The following structure is a merger of the cdl and ldl volume label.
+ * On an ldl disk there is no key information, so when reading an
+ * ldl label from disk, the data should be copied at the address of vollbl.
+ * On the other side, the field ldl_version is reserved in a cdl record
+ * and the field formatted_blocks exists only for ldl labels. So when
+ * reading a cdl label from disk, the formatted_blocks field will contain
+ * arbitrary data.
+ * This layout may be a bit awkward, but the advantage of having the
+ * same label type for both disk layout types is bigger than the effort
+ * for taking a bit of extra care at the fringes.
+ */
+
 struct __attribute__ ((packed)) volume_label {
        char volkey[4];         /* volume key = volume label                 */
        char vollbl[4];         /* volume label ("VOL1" in EBCDIC)           */
@@ -107,15 +119,8 @@ struct __attribute__ ((packed)) volume_label {
        char labperci[4];       /* no of labels per CI (FBA), blanks for CKD */
        char res2[4];           /* reserved                                  */
        char lvtoc[14];         /* owner code for LVTOC                      */
-       char res3[29];          /* reserved                                  */
-        char fudge[4];          /* filler to match length of ldl label       */
-};
-
-struct __attribute__ ((packed)) ldl_volume_label {
-       char vollbl[4];         /* Label identifier ("LNX1" in EBCDIC)       */
-        char volid[6];          /* Volume identifier                         */
-        char res3[69];          /* Reserved field                            */
-        char ldl_version[1];    /* Version number, valid for ldl format      */
+        char res3[28];         /* reserved                                  */
+        char ldl_version;       /* version number, valid for ldl format      */
         u_int64_t formatted_blocks;  /* valid when ldl_version >= "2" (in
                                         EBCDIC)                              */
 };
@@ -237,9 +242,9 @@ struct __attribute__ ((packed)) format4_label {
                                   cylinders. can be zero. valid
                                   only if DS4DEVAV on.                    */
        dev_const_t DS4DEVCT;   /* device constants                        */
-       char DS4AMTIM[8];       /* VSAM time stamp                         */
+       char DS4AMTIM[8];       /* VSAM timestamp                          */
        char DS4AMCAT[3];       /* VSAM catalog indicator                  */
-       char DS4R2TIM[8];       /* VSAM volume/catalog match time stamp    */
+       char DS4R2TIM[8];       /* VSAM volume/catalog match timestamp     */
        char res1[5];           /* reserved                                */
        char DS4F6PTR[5];       /* pointer to first format 6 DSCB          */
        extent_t DS4VTOCE;      /* VTOC extent description                 */
@@ -335,11 +340,10 @@ void vtoc_write_label (int fd, unsigned long position,
                        format7_label_t const *f7,
                        format9_label_t const *f9);
 
-void vtoc_init_format1_label (char *volid, unsigned int blksize,
+void vtoc_init_format1_label (unsigned int blksize,
                               extent_t *part_extent, format1_label_t *f1);
 
 void vtoc_init_format4_label (format4_label_t *f4lbl,
-                              unsigned int usable_partitions,
                               unsigned int compat_cylinders,
                               unsigned int real_cylinders,
                               unsigned int tracks,
@@ -352,11 +356,11 @@ void vtoc_update_format4_label (format4_label_t *f4, cchhb_t *highest_f1,
 
 void vtoc_init_format5_label (format5_label_t *f5);
 
-void vtoc_update_format5_label_add (format5_label_t *f5, int verbose, int cyl,
+void vtoc_update_format5_label_add (format5_label_t *f5, int verbose,
                                     int trk, u_int16_t a, u_int16_t b,
                                     u_int8_t c);
 
-void vtoc_update_format5_label_del (format5_label_t *f5, int verbose, int cyl,
+void vtoc_update_format5_label_del (format5_label_t *f5, int verbose,
                                     int trk, u_int16_t a, u_int16_t b,
                                     u_int8_t c);
 
@@ -368,7 +372,7 @@ void vtoc_update_format7_label_add (format7_label_t *f7, int verbose,
 void vtoc_update_format7_label_del (format7_label_t *f7, int verbose,
                                     u_int32_t a, u_int32_t b);
 
-void vtoc_init_format8_label (char *volid, unsigned int blksize,
+void vtoc_init_format8_label (unsigned int blksize,
                               extent_t *part_extent, format1_label_t *f1);
 
 void vtoc_update_format8_label (cchhb_t *associated_f9, format1_label_t *f8);
index 499c2d3562c66f381698d72d4d3d965917107d68..c2756f98c1863fff2162a1d1d272d14008472efb 100644 (file)
@@ -62,7 +62,6 @@ typedef struct cchh             cchh_t;
 typedef struct labeldate        labeldate_t;
 typedef struct volume_label     volume_label_t;
 typedef struct cms_volume_label cms_volume_label_t;
-typedef struct ldl_volume_label ldl_volume_label_t;
 typedef struct extent           extent_t;
 typedef struct dev_const        dev_const_t;
 typedef struct format1_label    format1_label_t;
@@ -94,6 +93,19 @@ struct __attribute__ ((packed)) labeldate {
         u_int16_t day;
 };
 
+/*
+ * The following structure is a merger of the cdl and ldl volume label.
+ * On an ldl disk there is no key information, so when reading an
+ * ldl label from disk, the data should be copied at the address of vollbl.
+ * On the other side, the field ldl_version is reserved in a cdl record
+ * and the field formatted_blocks exists only for ldl labels. So when
+ * reading a cdl label from disk, the formatted_blocks field will contain
+ * arbitrary data.
+ * This layout may be a bit awkward, but the advantage of having the
+ * same label type for both disk layout types is bigger than the effort
+ * for taking a bit of extra care at the fringes.
+ */
+
 struct __attribute__ ((packed)) volume_label {
        char volkey[4];         /* volume key = volume label                 */
        char vollbl[4];         /* volume label ("VOL1" in EBCDIC)           */
@@ -107,15 +119,8 @@ struct __attribute__ ((packed)) volume_label {
        char labperci[4];       /* no of labels per CI (FBA), blanks for CKD */
        char res2[4];           /* reserved                                  */
        char lvtoc[14];         /* owner code for LVTOC                      */
-       char res3[29];          /* reserved                                  */
-        char fudge[4];          /* filler to match length of ldl label       */
-};
-
-struct __attribute__ ((packed)) ldl_volume_label {
-       char vollbl[4];         /* Label identifier ("LNX1" in EBCDIC)       */
-        char volid[6];          /* Volume identifier                         */
-        char res3[69];          /* Reserved field                            */
-        char ldl_version[1];    /* Version number, valid for ldl format      */
+        char res3[28];         /* reserved                                  */
+        char ldl_version;       /* version number, valid for ldl format      */
         u_int64_t formatted_blocks;  /* valid when ldl_version >= "2" (in
                                         EBCDIC)                              */
 };
@@ -237,9 +242,9 @@ struct __attribute__ ((packed)) format4_label {
                                   cylinders. can be zero. valid
                                   only if DS4DEVAV on.                    */
        dev_const_t DS4DEVCT;   /* device constants                        */
-       char DS4AMTIM[8];       /* VSAM time stamp                         */
+       char DS4AMTIM[8];       /* VSAM timestamp                          */
        char DS4AMCAT[3];       /* VSAM catalog indicator                  */
-       char DS4R2TIM[8];       /* VSAM volume/catalog match time stamp    */
+       char DS4R2TIM[8];       /* VSAM volume/catalog match timestamp     */
        char res1[5];           /* reserved                                */
        char DS4F6PTR[5];       /* pointer to first format 6 DSCB          */
        extent_t DS4VTOCE;      /* VTOC extent description                 */
@@ -335,11 +340,10 @@ void vtoc_write_label (int fd, unsigned long position,
                        format7_label_t const *f7,
                        format9_label_t const *f9);
 
-void vtoc_init_format1_label (char *volid, unsigned int blksize,
+void vtoc_init_format1_label (unsigned int blksize,
                               extent_t *part_extent, format1_label_t *f1);
 
 void vtoc_init_format4_label (format4_label_t *f4lbl,
-                              unsigned int usable_partitions,
                               unsigned int compat_cylinders,
                               unsigned int real_cylinders,
                               unsigned int tracks,
@@ -352,11 +356,11 @@ void vtoc_update_format4_label (format4_label_t *f4, cchhb_t *highest_f1,
 
 void vtoc_init_format5_label (format5_label_t *f5);
 
-void vtoc_update_format5_label_add (format5_label_t *f5, int verbose, int cyl,
+void vtoc_update_format5_label_add (format5_label_t *f5, int verbose,
                                     int trk, u_int16_t a, u_int16_t b,
                                     u_int8_t c);
 
-void vtoc_update_format5_label_del (format5_label_t *f5, int verbose, int cyl,
+void vtoc_update_format5_label_del (format5_label_t *f5, int verbose,
                                     int trk, u_int16_t a, u_int16_t b,
                                     u_int8_t c);
 
@@ -368,7 +372,7 @@ void vtoc_update_format7_label_add (format7_label_t *f7, int verbose,
 void vtoc_update_format7_label_del (format7_label_t *f7, int verbose,
                                     u_int32_t a, u_int32_t b);
 
-void vtoc_init_format8_label (char *volid, unsigned int blksize,
+void vtoc_init_format8_label (unsigned int blksize,
                               extent_t *part_extent, format1_label_t *f1);
 
 void vtoc_update_format8_label (cchhb_t *associated_f9, format1_label_t *f8);
index 4a5bace3e1e7244dbffca7547349037025cbbd31..d42dde65ca4f4e83626ed68fad9b5729ce677627 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2019 Free Software Foundation, Inc.
 #
 # 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
@@ -27,7 +27,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License,
 # this file may be distributed as part of a program that
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnulib --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=dummy --makefile-name=gnulib.mk --no-conditional-dependencies --libtool --macro-prefix=gl alloca announce-gen argmatch assert c-ctype c-strcase calloc-gnu canonicalize-lgpl close closeout config-h configmake dirname do-release-commit-and-tag fdl fsync gettext-h git-version-gen gitlog-to-changelog gnu-web-doc-update gnumakefile gnupload inttypes lib-ignore long-options lseek maintainer-makefile malloc-gnu manywarnings mkstemp mktempd progname realloc-gnu rpmatch safe-read stdbool strdup-posix unlink update-copyright useless-if-before-free usleep vc-list-files version-etc-fsf warnings xstrtol xstrtoll
+# Reproduce by:
+# gnulib-tool --import --local-dir=gl \
+#  --lib=libgnulib \
+#  --source-base=lib \
+#  --m4-base=m4 \
+#  --doc-base=doc \
+#  --tests-base=gnulib-tests \
+#  --aux-dir=build-aux \
+#  --with-tests \
+#  --makefile-name=gnulib.mk \
+#  --no-conditional-dependencies \
+#  --libtool \
+#  --macro-prefix=gl \
+#  --avoid=dummy \
+#  alloca \
+#  announce-gen \
+#  argmatch \
+#  assert \
+#  c-ctype \
+#  c-strcase \
+#  calloc-gnu \
+#  canonicalize-lgpl \
+#  close \
+#  closeout \
+#  config-h \
+#  configmake \
+#  dirname \
+#  do-release-commit-and-tag \
+#  fdl \
+#  fsync \
+#  gettext-h \
+#  git-version-gen \
+#  gitlog-to-changelog \
+#  gnu-web-doc-update \
+#  gnumakefile \
+#  gnupload \
+#  inttypes \
+#  lib-ignore \
+#  long-options \
+#  lseek \
+#  maintainer-makefile \
+#  malloc-gnu \
+#  manywarnings \
+#  mkstemp \
+#  mktempd \
+#  progname \
+#  realloc-gnu \
+#  rpmatch \
+#  safe-read \
+#  stdbool \
+#  strdup-posix \
+#  unlink \
+#  update-copyright \
+#  useless-if-before-free \
+#  usleep \
+#  vc-list-files \
+#  version-etc-fsf \
+#  warnings \
+#  xstrtol \
+#  xstrtoll
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -100,81 +169,102 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(srcdir)/gnulib.mk $(srcdir)/Makefile.in \
-       $(srcdir)/Makefile.am $(srcdir)/config.h.in alloca.c \
-       $(top_srcdir)/build-aux/depcomp
 subdir = lib
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -184,6 +274,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES =
@@ -194,12 +285,12 @@ am__dirstamp = $(am__leading_dot)dirstamp
 am_libgnulib_la_OBJECTS = argmatch.lo c-ctype.lo c-strcasecmp.lo \
        c-strncasecmp.lo close-stream.lo closeout.lo dirname.lo \
        basename.lo dirname-lgpl.lo basename-lgpl.lo stripslash.lo \
-       exitfail.lo fd-hook.lo localcharset.lo glthread/lock.lo \
-       long-options.lo malloca.lo progname.lo quotearg.lo \
-       safe-read.lo tempname.lo glthread/threadlib.lo unistd.lo \
-       version-etc.lo version-etc-fsf.lo wctype-h.lo xmalloc.lo \
-       xalloc-die.lo xstrndup.lo xstrtol.lo xstrtoul.lo \
-       xstrtol-error.lo
+       exitfail.lo fd-hook.lo getprogname.lo hard-locale.lo \
+       localcharset.lo glthread/lock.lo long-options.lo malloca.lo \
+       progname.lo quotearg.lo safe-read.lo stat-time.lo tempname.lo \
+       glthread/threadlib.lo unistd.lo version-etc.lo \
+       version-etc-fsf.lo wctype-h.lo xmalloc.lo xalloc-die.lo \
+       xstrndup.lo xstrtol.lo xstrtoul.lo xstrtol-error.lo
 libgnulib_la_OBJECTS = $(am_libgnulib_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -222,7 +313,52 @@ am__v_at_0 = @
 am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/alloca.Plo ./$(DEPDIR)/argmatch.Plo \
+       ./$(DEPDIR)/basename-lgpl.Plo ./$(DEPDIR)/basename.Plo \
+       ./$(DEPDIR)/btowc.Plo ./$(DEPDIR)/c-ctype.Plo \
+       ./$(DEPDIR)/c-strcasecmp.Plo ./$(DEPDIR)/c-strncasecmp.Plo \
+       ./$(DEPDIR)/calloc.Plo ./$(DEPDIR)/canonicalize-lgpl.Plo \
+       ./$(DEPDIR)/close-stream.Plo ./$(DEPDIR)/close.Plo \
+       ./$(DEPDIR)/closeout.Plo ./$(DEPDIR)/dirname-lgpl.Plo \
+       ./$(DEPDIR)/dirname.Plo ./$(DEPDIR)/error.Plo \
+       ./$(DEPDIR)/exitfail.Plo ./$(DEPDIR)/fd-hook.Plo \
+       ./$(DEPDIR)/fpending.Plo ./$(DEPDIR)/fstat.Plo \
+       ./$(DEPDIR)/fsync.Plo ./$(DEPDIR)/getopt.Plo \
+       ./$(DEPDIR)/getopt1.Plo ./$(DEPDIR)/getprogname.Plo \
+       ./$(DEPDIR)/gettimeofday.Plo ./$(DEPDIR)/hard-locale.Plo \
+       ./$(DEPDIR)/localcharset.Plo ./$(DEPDIR)/localeconv.Plo \
+       ./$(DEPDIR)/localtime-buffer.Plo ./$(DEPDIR)/long-options.Plo \
+       ./$(DEPDIR)/lseek.Plo ./$(DEPDIR)/lstat.Plo \
+       ./$(DEPDIR)/malloc.Plo ./$(DEPDIR)/malloca.Plo \
+       ./$(DEPDIR)/mbrtowc.Plo ./$(DEPDIR)/mbsinit.Plo \
+       ./$(DEPDIR)/mbtowc.Plo ./$(DEPDIR)/mkdir.Plo \
+       ./$(DEPDIR)/mkstemp.Plo ./$(DEPDIR)/msvc-inval.Plo \
+       ./$(DEPDIR)/msvc-nothrow.Plo ./$(DEPDIR)/nl_langinfo.Plo \
+       ./$(DEPDIR)/progname.Plo ./$(DEPDIR)/quotearg.Plo \
+       ./$(DEPDIR)/read.Plo ./$(DEPDIR)/readlink.Plo \
+       ./$(DEPDIR)/realloc.Plo ./$(DEPDIR)/regcomp.Plo \
+       ./$(DEPDIR)/regex.Plo ./$(DEPDIR)/regex_internal.Plo \
+       ./$(DEPDIR)/regexec.Plo ./$(DEPDIR)/rpmatch.Plo \
+       ./$(DEPDIR)/safe-read.Plo ./$(DEPDIR)/sleep.Plo \
+       ./$(DEPDIR)/stat-time.Plo ./$(DEPDIR)/stat-w32.Plo \
+       ./$(DEPDIR)/stat.Plo ./$(DEPDIR)/strdup.Plo \
+       ./$(DEPDIR)/strerror-override.Plo ./$(DEPDIR)/strerror.Plo \
+       ./$(DEPDIR)/stripslash.Plo ./$(DEPDIR)/strndup.Plo \
+       ./$(DEPDIR)/strnlen.Plo ./$(DEPDIR)/strtol.Plo \
+       ./$(DEPDIR)/strtoll.Plo ./$(DEPDIR)/strtoul.Plo \
+       ./$(DEPDIR)/strtoull.Plo ./$(DEPDIR)/tempname.Plo \
+       ./$(DEPDIR)/unistd.Plo ./$(DEPDIR)/unlink.Plo \
+       ./$(DEPDIR)/usleep.Plo ./$(DEPDIR)/version-etc-fsf.Plo \
+       ./$(DEPDIR)/version-etc.Plo ./$(DEPDIR)/wcrtomb.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)/xmalloc.Plo ./$(DEPDIR)/xstrndup.Plo \
+       ./$(DEPDIR)/xstrtol-error.Plo ./$(DEPDIR)/xstrtol.Plo \
+       ./$(DEPDIR)/xstrtoll.Plo ./$(DEPDIR)/xstrtoul.Plo \
+       ./$(DEPDIR)/xstrtoull.Plo glthread/$(DEPDIR)/lock.Plo \
+       glthread/$(DEPDIR)/threadlib.Plo
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -269,6 +405,8 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+       $(srcdir)/gnulib.mk $(top_srcdir)/build-aux/depcomp alloca.c
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -301,11 +439,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -320,18 +456,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -339,6 +482,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -384,6 +528,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -392,14 +540,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -445,6 +600,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -454,6 +611,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -461,26 +628,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -492,6 +674,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -503,6 +686,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -512,9 +696,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -544,6 +731,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -572,10 +760,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -586,17 +780,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -606,6 +805,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -616,6 +816,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -625,6 +826,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -637,13 +839,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -655,12 +862,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -675,6 +884,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -683,25 +894,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -712,20 +995,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -747,6 +1043,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -772,12 +1069,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -794,13 +1093,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -814,52 +1117,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -894,16 +1220,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -912,6 +1239,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -929,8 +1257,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -958,6 +1291,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -967,21 +1301,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -994,6 +1388,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -1002,14 +1397,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -1022,6 +1421,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1035,16 +1435,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1052,9 +1456,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1122,98 +1527,92 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS)
 AM_CPPFLAGS = 
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
 BUILT_SOURCES = $(ALLOCA_H) configmake.h $(ERRNO_H) fcntl.h \
-       $(GETOPT_H) inttypes.h langinfo.h locale.h arg-nonnull.h \
-       c++defs.h warn-on-use.h $(STDARG_H) $(STDBOOL_H) $(STDDEF_H) \
+       $(GETOPT_H) $(GETOPT_CDEFS_H) inttypes.h langinfo.h \
+       $(LIMITS_H) locale.h $(STDARG_H) $(STDBOOL_H) $(STDDEF_H) \
        $(STDINT_H) stdio.h stdlib.h string.h sys/stat.h sys/time.h \
        sys/types.h time.h unistd.h wchar.h wctype.h
-CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
-       ref-del.sed
+CLEANFILES = configmake.h configmake.h-t
 EXTRA_DIST = alloca.c alloca.in.h $(top_srcdir)/build-aux/announce-gen \
-       argmatch.h btowc.c c-strcaseeq.h calloc.c calloc.c \
+       argmatch.h assure.h btowc.c c-strcaseeq.h calloc.c calloc.c \
        canonicalize-lgpl.c close.c close-stream.h closeout.h \
        stripslash.c dirname.h \
        $(top_srcdir)/build-aux/do-release-commit-and-tag dosname.h \
        errno.in.h error.c error.h exitfail.h fcntl.in.h fd-hook.h \
-       fpending.c fpending.h fstat.c fsync.c \
-       $(top_srcdir)/build-aux/gendocs.sh getopt.c getopt.in.h \
-       getopt1.c getopt_int.h gettimeofday.c \
+       filename.h fpending.c fpending.h stdio-impl.h fstat.c \
+       stat-w32.c stat-w32.h fsync.c \
+       $(top_srcdir)/build-aux/gendocs.sh getopt-cdefs.in.h \
+       getopt-core.h getopt-ext.h getopt-pfx-core.h getopt-pfx-ext.h \
+       getopt.c getopt.in.h getopt1.c getopt_int.h gettimeofday.c \
        $(top_srcdir)/build-aux/git-version-gen \
        $(top_srcdir)/build-aux/gitlog-to-changelog \
        $(top_srcdir)/build-aux/gnu-web-doc-update \
        $(top_srcdir)/GNUmakefile $(top_srcdir)/build-aux/gnupload \
-       $(top_srcdir)/build-aux/config.rpath intprops.h inttypes.in.h \
-       langinfo.in.h config.charset ref-add.sin ref-del.sin \
-       locale.in.h localeconv.c long-options.h lseek.c lstat.c \
-       $(top_srcdir)/maint.mk malloc.c malloc.c malloca.h \
-       malloca.valgrind mbrtowc.c mbsinit.c mbtowc-impl.h mbtowc.c \
-       mkstemp.c $(top_srcdir)/build-aux/mktempd msvc-inval.c \
-       msvc-inval.h msvc-nothrow.c msvc-nothrow.h nl_langinfo.c \
-       pathmax.h quote.h quote.h quotearg.h read.c readlink.c \
-       realloc.c realloc.c regcomp.c regex.c regex.h regex_internal.c \
-       regex_internal.h regexec.c rpmatch.c safe-read.h \
-       secure_getenv.c sleep.c \
-       $(top_srcdir)/build-aux/snippet/_Noreturn.h \
-       $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-       $(top_srcdir)/build-aux/snippet/c++defs.h \
-       $(top_srcdir)/build-aux/snippet/warn-on-use.h stat.c \
-       stdarg.in.h stdbool.in.h stddef.in.h stdint.in.h stdio.in.h \
-       stdlib.in.h strdup.c streq.h strerror.c strerror-override.c \
-       strerror-override.h string.in.h strndup.c strnlen.c strtol.c \
-       strtoll.c strtol.c strtoul.c strtoull.c sys_stat.in.h \
-       sys_time.in.h sys_types.in.h tempname.h \
-       $(top_srcdir)/build-aux/config.rpath time.in.h unistd.in.h \
-       unlink.c $(top_srcdir)/build-aux/update-copyright \
+       hard-locale.h $(top_srcdir)/build-aux/config.rpath intprops.h \
+       inttypes.in.h langinfo.in.h cdefs.h libc-config.h limits.in.h \
+       localcharset.h locale.in.h localeconv.c localtime-buffer.c \
+       localtime-buffer.h long-options.h lseek.c lstat.c \
+       $(top_srcdir)/maint.mk malloc.c malloc.c malloca.h mbrtowc.c \
+       mbsinit.c mbtowc-impl.h mbtowc.c mkdir.c mkstemp.c \
+       $(top_srcdir)/build-aux/mktempd msvc-inval.c msvc-inval.h \
+       msvc-nothrow.c msvc-nothrow.h nl_langinfo.c pathmax.h quote.h \
+       quote.h quotearg.h read.c readlink.c realloc.c realloc.c \
+       regcomp.c regex.c regex.h regex_internal.c regex_internal.h \
+       regexec.c rpmatch.c safe-read.h sys-limits.h sleep.c \
+       _Noreturn.h arg-nonnull.h c++defs.h warn-on-use.h stat-w32.c \
+       stat-w32.h stat.c stat-time.h stdarg.in.h stdbool.in.h \
+       stddef.in.h stdint.in.h stdio.in.h stdlib.in.h strdup.c \
+       streq.h strerror.c strerror-override.c strerror-override.h \
+       string.in.h strndup.c strnlen.c strtol.c strtoll.c strtol.c \
+       strtoul.c strtoull.c sys_stat.in.h sys_time.in.h \
+       sys_types.in.h tempname.h $(top_srcdir)/build-aux/config.rpath \
+       time.in.h unistd.in.h unlink.c \
+       $(top_srcdir)/build-aux/update-copyright \
        $(top_srcdir)/build-aux/useless-if-before-free usleep.c \
        $(top_srcdir)/build-aux/vc-list-files verify.h wchar.in.h \
-       wcrtomb.c wctype.in.h xalloc.h xalloc-oversized.h xstrtol.h \
-       xstrtoll.c xstrtoull.c
+       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 xstrtol.h xstrtoll.c xstrtoull.c
 MAINTAINERCLEANFILES = 
 MOSTLYCLEANDIRS = sys
 MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t errno.h \
-       errno.h-t fcntl.h fcntl.h-t getopt.h getopt.h-t inttypes.h \
-       inttypes.h-t langinfo.h langinfo.h-t locale.h locale.h-t \
-       arg-nonnull.h arg-nonnull.h-t c++defs.h c++defs.h-t \
-       warn-on-use.h warn-on-use.h-t stdarg.h stdarg.h-t stdbool.h \
-       stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t stdio.h \
-       stdio.h-t stdlib.h stdlib.h-t string.h string.h-t sys/stat.h \
-       sys/stat.h-t sys/time.h sys/time.h-t sys/types.h sys/types.h-t \
-       time.h time.h-t unistd.h unistd.h-t wchar.h wchar.h-t wctype.h \
-       wctype.h-t
-SUFFIXES = .sed .sin
+       errno.h-t fcntl.h fcntl.h-t getopt.h getopt.h-t getopt-cdefs.h \
+       getopt-cdefs.h-t inttypes.h inttypes.h-t langinfo.h \
+       langinfo.h-t limits.h limits.h-t locale.h locale.h-t stdarg.h \
+       stdarg.h-t stdbool.h stdbool.h-t stddef.h stddef.h-t stdint.h \
+       stdint.h-t stdio.h stdio.h-t stdlib.h stdlib.h-t string.h \
+       string.h-t sys/stat.h sys/stat.h-t sys/time.h sys/time.h-t \
+       sys/types.h sys/types.h-t time.h time.h-t unistd.h unistd.h-t \
+       wchar.h wchar.h-t wctype.h wctype.h-t
+SUFFIXES = 
+# No GNU Make output.
 noinst_LTLIBRARIES = libgnulib.la
 libgnulib_la_SOURCES = argmatch.c c-ctype.h c-ctype.c c-strcase.h \
        c-strcasecmp.c c-strncasecmp.c close-stream.c closeout.c \
        dirname.c basename.c dirname-lgpl.c basename-lgpl.c \
-       stripslash.c exitfail.c fd-hook.c gettext.h localcharset.h \
-       localcharset.c glthread/lock.h glthread/lock.c long-options.c \
-       malloca.c progname.h progname.c quotearg.c safe-read.c \
-       tempname.c glthread/threadlib.c unistd.c version-etc.h \
-       version-etc.c version-etc-fsf.c wctype-h.c xmalloc.c \
-       xalloc-die.c xstrndup.h xstrndup.c xstrtol.c xstrtoul.c \
-       xstrtol-error.c
+       stripslash.c exitfail.c fd-hook.c getprogname.h getprogname.c \
+       gettext.h hard-locale.c localcharset.c glthread/lock.h \
+       glthread/lock.c long-options.c malloca.c minmax.h progname.h \
+       progname.c quotearg.c safe-read.c stat-time.c tempname.c \
+       glthread/threadlib.c unistd.c version-etc.h version-etc.c \
+       version-etc-fsf.c wctype-h.c xmalloc.c xalloc-die.c xstrndup.h \
+       xstrndup.c xstrtol.c xstrtoul.c xstrtol-error.c
 libgnulib_la_LIBADD = $(gl_LTLIBOBJS) @LTALLOCA@
 libgnulib_la_DEPENDENCIES = $(gl_LTLIBOBJS) @LTALLOCA@
 EXTRA_libgnulib_la_SOURCES = alloca.c btowc.c calloc.c calloc.c \
        canonicalize-lgpl.c close.c stripslash.c error.c fpending.c \
-       fstat.c fsync.c getopt.c getopt1.c gettimeofday.c localeconv.c \
-       lseek.c lstat.c malloc.c malloc.c mbrtowc.c mbsinit.c mbtowc.c \
-       mkstemp.c msvc-inval.c msvc-nothrow.c nl_langinfo.c read.c \
-       readlink.c realloc.c realloc.c regcomp.c regex.c \
-       regex_internal.c regexec.c rpmatch.c secure_getenv.c sleep.c \
-       stat.c strdup.c strerror.c strerror-override.c strndup.c \
-       strnlen.c strtol.c strtoll.c strtol.c strtoul.c strtoull.c \
-       unlink.c usleep.c wcrtomb.c xstrtoll.c xstrtoull.c
+       fstat.c stat-w32.c fsync.c getopt.c getopt1.c gettimeofday.c \
+       localeconv.c localtime-buffer.c lseek.c lstat.c malloc.c \
+       malloc.c mbrtowc.c mbsinit.c mbtowc.c mkdir.c mkstemp.c \
+       msvc-inval.c msvc-nothrow.c nl_langinfo.c read.c readlink.c \
+       realloc.c realloc.c regcomp.c regex.c regex_internal.c \
+       regexec.c rpmatch.c sleep.c stat-w32.c stat.c strdup.c \
+       strerror.c strerror-override.c strndup.c strnlen.c strtol.c \
+       strtoll.c strtol.c strtoul.c strtoull.c unlink.c usleep.c \
+       wcrtomb.c windows-mutex.c windows-once.c windows-recmutex.c \
+       windows-rwlock.c xstrtoll.c xstrtoull.c
 libgnulib_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LTLIBINTL) \
        $(LTLIBTHREAD)
 
@@ -1221,21 +1620,31 @@ libgnulib_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LTLIBINTL) \
 # Do not rely on a 'configure'-time test for this, since the expression
 # might appear in an installed header, which is used by some other compiler.
 HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
-charset_alias = $(DESTDIR)$(libdir)/charset.alias
-charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
 
 # Because this Makefile snippet defines a variable used by other
-# gnulib Makefile snippets, it must be present in all Makefile.am that
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+_NORETURN_H = $(srcdir)/_Noreturn.h
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+ARG_NONNULL_H = $(srcdir)/arg-nonnull.h
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+CXXDEFS_H = $(srcdir)/c++defs.h
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
 # need it. This is ensured by the applicability 'all' defined above.
-_NORETURN_H = $(top_srcdir)/build-aux/snippet/_Noreturn.h
-ARG_NONNULL_H = arg-nonnull.h
-CXXDEFS_H = c++defs.h
-WARN_ON_USE_H = warn-on-use.h
+WARN_ON_USE_H = $(srcdir)/warn-on-use.h
 all: $(BUILT_SOURCES) config.h
        $(MAKE) $(AM_MAKEFLAGS) all-am
 
 .SUFFIXES:
-.SUFFIXES: .sed .sin .c .lo .o .obj
+.SUFFIXES: .c .lo .o .obj
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -1248,16 +1657,15 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configur
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu lib/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
-$(srcdir)/gnulib.mk:
+$(srcdir)/gnulib.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1315,87 +1723,101 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename-lgpl.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btowc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strcasecmp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strncasecmp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calloc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/canonicalize-lgpl.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-stream.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closeout.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname-lgpl.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exitfail.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-hook.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpending.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstat.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localcharset.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localeconv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/long-options.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloca.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbrtowc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsinit.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbtowc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkstemp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-inval.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-nothrow.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nl_langinfo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progname.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regcomp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex_internal.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexec.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmatch.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-read.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secure_getenv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-override.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strndup.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtol.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoll.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoul.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoull.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unistd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usleep.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc-fsf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcrtomb.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctype-h.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xalloc-die.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol-error.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoll.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoul.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoull.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/lock.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/threadlib.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename-lgpl.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btowc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strcasecmp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strncasecmp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calloc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/canonicalize-lgpl.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-stream.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closeout.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname-lgpl.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exitfail.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-hook.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpending.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstat.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getprogname.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hard-locale.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localcharset.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localeconv.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localtime-buffer.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/long-options.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloca.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbrtowc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsinit.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbtowc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkstemp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-inval.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-nothrow.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nl_langinfo.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progname.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regcomp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex_internal.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexec.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmatch.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-read.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat-time.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat-w32.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-override.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strndup.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtol.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoll.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoul.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoull.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unistd.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usleep.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc-fsf.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc.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)/xmalloc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol-error.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoll.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoul.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoull.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/lock.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/threadlib.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -1480,7 +1902,10 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1513,7 +1938,7 @@ distdir: $(DISTFILES)
 check-am: all-am
 check: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(LTLIBRARIES) config.h all-local
+all-am: Makefile $(LTLIBRARIES) config.h
 installdirs:
 install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-am
@@ -1558,7 +1983,95 @@ clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
        mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf $(DEPDIR) ./$(DEPDIR) glthread/$(DEPDIR)
+               -rm -f ./$(DEPDIR)/alloca.Plo
+       -rm -f ./$(DEPDIR)/argmatch.Plo
+       -rm -f ./$(DEPDIR)/basename-lgpl.Plo
+       -rm -f ./$(DEPDIR)/basename.Plo
+       -rm -f ./$(DEPDIR)/btowc.Plo
+       -rm -f ./$(DEPDIR)/c-ctype.Plo
+       -rm -f ./$(DEPDIR)/c-strcasecmp.Plo
+       -rm -f ./$(DEPDIR)/c-strncasecmp.Plo
+       -rm -f ./$(DEPDIR)/calloc.Plo
+       -rm -f ./$(DEPDIR)/canonicalize-lgpl.Plo
+       -rm -f ./$(DEPDIR)/close-stream.Plo
+       -rm -f ./$(DEPDIR)/close.Plo
+       -rm -f ./$(DEPDIR)/closeout.Plo
+       -rm -f ./$(DEPDIR)/dirname-lgpl.Plo
+       -rm -f ./$(DEPDIR)/dirname.Plo
+       -rm -f ./$(DEPDIR)/error.Plo
+       -rm -f ./$(DEPDIR)/exitfail.Plo
+       -rm -f ./$(DEPDIR)/fd-hook.Plo
+       -rm -f ./$(DEPDIR)/fpending.Plo
+       -rm -f ./$(DEPDIR)/fstat.Plo
+       -rm -f ./$(DEPDIR)/fsync.Plo
+       -rm -f ./$(DEPDIR)/getopt.Plo
+       -rm -f ./$(DEPDIR)/getopt1.Plo
+       -rm -f ./$(DEPDIR)/getprogname.Plo
+       -rm -f ./$(DEPDIR)/gettimeofday.Plo
+       -rm -f ./$(DEPDIR)/hard-locale.Plo
+       -rm -f ./$(DEPDIR)/localcharset.Plo
+       -rm -f ./$(DEPDIR)/localeconv.Plo
+       -rm -f ./$(DEPDIR)/localtime-buffer.Plo
+       -rm -f ./$(DEPDIR)/long-options.Plo
+       -rm -f ./$(DEPDIR)/lseek.Plo
+       -rm -f ./$(DEPDIR)/lstat.Plo
+       -rm -f ./$(DEPDIR)/malloc.Plo
+       -rm -f ./$(DEPDIR)/malloca.Plo
+       -rm -f ./$(DEPDIR)/mbrtowc.Plo
+       -rm -f ./$(DEPDIR)/mbsinit.Plo
+       -rm -f ./$(DEPDIR)/mbtowc.Plo
+       -rm -f ./$(DEPDIR)/mkdir.Plo
+       -rm -f ./$(DEPDIR)/mkstemp.Plo
+       -rm -f ./$(DEPDIR)/msvc-inval.Plo
+       -rm -f ./$(DEPDIR)/msvc-nothrow.Plo
+       -rm -f ./$(DEPDIR)/nl_langinfo.Plo
+       -rm -f ./$(DEPDIR)/progname.Plo
+       -rm -f ./$(DEPDIR)/quotearg.Plo
+       -rm -f ./$(DEPDIR)/read.Plo
+       -rm -f ./$(DEPDIR)/readlink.Plo
+       -rm -f ./$(DEPDIR)/realloc.Plo
+       -rm -f ./$(DEPDIR)/regcomp.Plo
+       -rm -f ./$(DEPDIR)/regex.Plo
+       -rm -f ./$(DEPDIR)/regex_internal.Plo
+       -rm -f ./$(DEPDIR)/regexec.Plo
+       -rm -f ./$(DEPDIR)/rpmatch.Plo
+       -rm -f ./$(DEPDIR)/safe-read.Plo
+       -rm -f ./$(DEPDIR)/sleep.Plo
+       -rm -f ./$(DEPDIR)/stat-time.Plo
+       -rm -f ./$(DEPDIR)/stat-w32.Plo
+       -rm -f ./$(DEPDIR)/stat.Plo
+       -rm -f ./$(DEPDIR)/strdup.Plo
+       -rm -f ./$(DEPDIR)/strerror-override.Plo
+       -rm -f ./$(DEPDIR)/strerror.Plo
+       -rm -f ./$(DEPDIR)/stripslash.Plo
+       -rm -f ./$(DEPDIR)/strndup.Plo
+       -rm -f ./$(DEPDIR)/strnlen.Plo
+       -rm -f ./$(DEPDIR)/strtol.Plo
+       -rm -f ./$(DEPDIR)/strtoll.Plo
+       -rm -f ./$(DEPDIR)/strtoul.Plo
+       -rm -f ./$(DEPDIR)/strtoull.Plo
+       -rm -f ./$(DEPDIR)/tempname.Plo
+       -rm -f ./$(DEPDIR)/unistd.Plo
+       -rm -f ./$(DEPDIR)/unlink.Plo
+       -rm -f ./$(DEPDIR)/usleep.Plo
+       -rm -f ./$(DEPDIR)/version-etc-fsf.Plo
+       -rm -f ./$(DEPDIR)/version-etc.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)/xmalloc.Plo
+       -rm -f ./$(DEPDIR)/xstrndup.Plo
+       -rm -f ./$(DEPDIR)/xstrtol-error.Plo
+       -rm -f ./$(DEPDIR)/xstrtol.Plo
+       -rm -f ./$(DEPDIR)/xstrtoll.Plo
+       -rm -f ./$(DEPDIR)/xstrtoul.Plo
+       -rm -f ./$(DEPDIR)/xstrtoull.Plo
+       -rm -f glthread/$(DEPDIR)/lock.Plo
+       -rm -f glthread/$(DEPDIR)/threadlib.Plo
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-hdr distclean-local distclean-tags
@@ -1581,7 +2094,7 @@ install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am: install-exec-local
+install-exec-am:
 
 install-html: install-html-am
 
@@ -1604,7 +2117,95 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf $(DEPDIR) ./$(DEPDIR) glthread/$(DEPDIR)
+               -rm -f ./$(DEPDIR)/alloca.Plo
+       -rm -f ./$(DEPDIR)/argmatch.Plo
+       -rm -f ./$(DEPDIR)/basename-lgpl.Plo
+       -rm -f ./$(DEPDIR)/basename.Plo
+       -rm -f ./$(DEPDIR)/btowc.Plo
+       -rm -f ./$(DEPDIR)/c-ctype.Plo
+       -rm -f ./$(DEPDIR)/c-strcasecmp.Plo
+       -rm -f ./$(DEPDIR)/c-strncasecmp.Plo
+       -rm -f ./$(DEPDIR)/calloc.Plo
+       -rm -f ./$(DEPDIR)/canonicalize-lgpl.Plo
+       -rm -f ./$(DEPDIR)/close-stream.Plo
+       -rm -f ./$(DEPDIR)/close.Plo
+       -rm -f ./$(DEPDIR)/closeout.Plo
+       -rm -f ./$(DEPDIR)/dirname-lgpl.Plo
+       -rm -f ./$(DEPDIR)/dirname.Plo
+       -rm -f ./$(DEPDIR)/error.Plo
+       -rm -f ./$(DEPDIR)/exitfail.Plo
+       -rm -f ./$(DEPDIR)/fd-hook.Plo
+       -rm -f ./$(DEPDIR)/fpending.Plo
+       -rm -f ./$(DEPDIR)/fstat.Plo
+       -rm -f ./$(DEPDIR)/fsync.Plo
+       -rm -f ./$(DEPDIR)/getopt.Plo
+       -rm -f ./$(DEPDIR)/getopt1.Plo
+       -rm -f ./$(DEPDIR)/getprogname.Plo
+       -rm -f ./$(DEPDIR)/gettimeofday.Plo
+       -rm -f ./$(DEPDIR)/hard-locale.Plo
+       -rm -f ./$(DEPDIR)/localcharset.Plo
+       -rm -f ./$(DEPDIR)/localeconv.Plo
+       -rm -f ./$(DEPDIR)/localtime-buffer.Plo
+       -rm -f ./$(DEPDIR)/long-options.Plo
+       -rm -f ./$(DEPDIR)/lseek.Plo
+       -rm -f ./$(DEPDIR)/lstat.Plo
+       -rm -f ./$(DEPDIR)/malloc.Plo
+       -rm -f ./$(DEPDIR)/malloca.Plo
+       -rm -f ./$(DEPDIR)/mbrtowc.Plo
+       -rm -f ./$(DEPDIR)/mbsinit.Plo
+       -rm -f ./$(DEPDIR)/mbtowc.Plo
+       -rm -f ./$(DEPDIR)/mkdir.Plo
+       -rm -f ./$(DEPDIR)/mkstemp.Plo
+       -rm -f ./$(DEPDIR)/msvc-inval.Plo
+       -rm -f ./$(DEPDIR)/msvc-nothrow.Plo
+       -rm -f ./$(DEPDIR)/nl_langinfo.Plo
+       -rm -f ./$(DEPDIR)/progname.Plo
+       -rm -f ./$(DEPDIR)/quotearg.Plo
+       -rm -f ./$(DEPDIR)/read.Plo
+       -rm -f ./$(DEPDIR)/readlink.Plo
+       -rm -f ./$(DEPDIR)/realloc.Plo
+       -rm -f ./$(DEPDIR)/regcomp.Plo
+       -rm -f ./$(DEPDIR)/regex.Plo
+       -rm -f ./$(DEPDIR)/regex_internal.Plo
+       -rm -f ./$(DEPDIR)/regexec.Plo
+       -rm -f ./$(DEPDIR)/rpmatch.Plo
+       -rm -f ./$(DEPDIR)/safe-read.Plo
+       -rm -f ./$(DEPDIR)/sleep.Plo
+       -rm -f ./$(DEPDIR)/stat-time.Plo
+       -rm -f ./$(DEPDIR)/stat-w32.Plo
+       -rm -f ./$(DEPDIR)/stat.Plo
+       -rm -f ./$(DEPDIR)/strdup.Plo
+       -rm -f ./$(DEPDIR)/strerror-override.Plo
+       -rm -f ./$(DEPDIR)/strerror.Plo
+       -rm -f ./$(DEPDIR)/stripslash.Plo
+       -rm -f ./$(DEPDIR)/strndup.Plo
+       -rm -f ./$(DEPDIR)/strnlen.Plo
+       -rm -f ./$(DEPDIR)/strtol.Plo
+       -rm -f ./$(DEPDIR)/strtoll.Plo
+       -rm -f ./$(DEPDIR)/strtoul.Plo
+       -rm -f ./$(DEPDIR)/strtoull.Plo
+       -rm -f ./$(DEPDIR)/tempname.Plo
+       -rm -f ./$(DEPDIR)/unistd.Plo
+       -rm -f ./$(DEPDIR)/unlink.Plo
+       -rm -f ./$(DEPDIR)/usleep.Plo
+       -rm -f ./$(DEPDIR)/version-etc-fsf.Plo
+       -rm -f ./$(DEPDIR)/version-etc.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)/xmalloc.Plo
+       -rm -f ./$(DEPDIR)/xstrndup.Plo
+       -rm -f ./$(DEPDIR)/xstrtol-error.Plo
+       -rm -f ./$(DEPDIR)/xstrtol.Plo
+       -rm -f ./$(DEPDIR)/xstrtoll.Plo
+       -rm -f ./$(DEPDIR)/xstrtoul.Plo
+       -rm -f ./$(DEPDIR)/xstrtoull.Plo
+       -rm -f glthread/$(DEPDIR)/lock.Plo
+       -rm -f glthread/$(DEPDIR)/threadlib.Plo
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1621,25 +2222,26 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-local
+uninstall-am:
 
 .MAKE: all check install install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
        clean-generic clean-libtool clean-noinstLTLIBRARIES \
        cscopelist-am ctags ctags-am distclean distclean-compile \
        distclean-generic distclean-hdr distclean-libtool \
        distclean-local distclean-tags distdir dvi dvi-am html html-am \
        info info-am install install-am install-data install-data-am \
        install-dvi install-dvi-am install-exec install-exec-am \
-       install-exec-local install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
-       pdf-am ps ps-am tags tags-am uninstall uninstall-am \
-       uninstall-local
+       install-html install-html-am install-info install-info-am \
+       install-man install-pdf install-pdf-am install-ps \
+       install-ps-am install-strip installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \
+       tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
 
 
 # We need the following in order to create <alloca.h> when the system
@@ -1647,7 +2249,7 @@ uninstall-am: uninstall-local
 @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
@@ -1660,6 +2262,9 @@ uninstall-am: uninstall-local
 configmake.h: Makefile
        $(AM_V_GEN)rm -f $@-t && \
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         echo '#if HAVE_WINSOCK2_H'; \
+         echo '# include <winsock2.h> /* avoid mingw pollution on DATADIR */'; \
+         echo '#endif'; \
          echo '#define PREFIX "$(prefix)"'; \
          echo '#define EXEC_PREFIX "$(exec_prefix)"'; \
          echo '#define BINDIR "$(bindir)"'; \
@@ -1755,6 +2360,13 @@ getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
        } > $@-t && \
        mv -f $@-t $@
 
+getopt-cdefs.h: getopt-cdefs.in.h $(top_builddir)/config.status
+       $(AM_V_GEN)rm -f $@-t $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+          sed -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \
+             < $(srcdir)/getopt-cdefs.in.h; \
+       } > $@-t && \
+       mv -f $@-t $@
 distclean-local: clean-GNUmakefile
 clean-GNUmakefile:
        test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile
@@ -1782,6 +2394,7 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
              -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
              -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
              -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+             -e 's/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \
              -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
              -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
              -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
@@ -1809,6 +2422,7 @@ langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
              -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \
              -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \
              -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \
+             -e 's|@''HAVE_LANGINFO_ALTMON''@|$(HAVE_LANGINFO_ALTMON)|g' \
              -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \
              -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \
              -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \
@@ -1819,64 +2433,21 @@ langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
        } > $@-t && \
        mv $@-t $@
 
-# We need the following in order to install a simple file in $(libdir)
-# which is shared with other installed packages. We use a list of referencing
-# packages so that "make uninstall" will remove the file if and only if it
-# is not used by another installed package.
-# On systems with glibc-2.1 or newer, the file is redundant, therefore we
-# avoid installing it.
-
-all-local: charset.alias ref-add.sed ref-del.sed
-install-exec-local: install-exec-localcharset
-install-exec-localcharset: all-local
-       if test $(GLIBC21) = no; then \
-         case '$(host_os)' in \
-           darwin[56]*) \
-             need_charset_alias=true ;; \
-           darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-             need_charset_alias=false ;; \
-           *) \
-             need_charset_alias=true ;; \
-         esac ; \
-       else \
-         need_charset_alias=false ; \
-       fi ; \
-       if $$need_charset_alias; then \
-         $(mkinstalldirs) $(DESTDIR)$(libdir) ; \
-       fi ; \
-       if test -f $(charset_alias); then \
-         sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
-         $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
-         rm -f $(charset_tmp) ; \
-       else \
-         if $$need_charset_alias; then \
-           sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
-           $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
-           rm -f $(charset_tmp) ; \
-         fi ; \
-       fi
-
-uninstall-local: uninstall-localcharset
-uninstall-localcharset: all-local
-       if test -f $(charset_alias); then \
-         sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
-         if grep '^# Packages using this file: $$' $(charset_tmp) \
-             > /dev/null; then \
-           rm -f $(charset_alias); \
-         else \
-           $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
-         fi; \
-         rm -f $(charset_tmp); \
-       fi
-
-charset.alias: config.charset
-       $(AM_V_GEN)rm -f t-$@ $@ && \
-       $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \
-       mv t-$@ $@
-.sin.sed:
-       $(AM_V_GEN)rm -f t-$@ $@ && \
-       sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \
-       mv t-$@ $@
+# We need the following in order to create <limits.h> when the system
+# doesn't have one that is compatible with GNU.
+@GL_GENERATE_LIMITS_H_TRUE@limits.h: limits.in.h $(top_builddir)/config.status
+@GL_GENERATE_LIMITS_H_TRUE@    $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_LIMITS_H_TRUE@    { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+@GL_GENERATE_LIMITS_H_TRUE@      sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          < $(srcdir)/limits.in.h; \
+@GL_GENERATE_LIMITS_H_TRUE@    } > $@-t && \
+@GL_GENERATE_LIMITS_H_TRUE@    mv $@-t $@
+@GL_GENERATE_LIMITS_H_FALSE@limits.h: $(top_builddir)/config.status
+@GL_GENERATE_LIMITS_H_FALSE@   rm -f $@
 
 # We need the following in order to create <locale.h> when the system
 # doesn't have one that provides all definitions.
@@ -1891,11 +2462,16 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \
              -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
              -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
+             -e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \
+             -e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \
              -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
+             -e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \
              -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
              -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \
              -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
+             -e 's|@''REPLACE_NEWLOCALE''@|$(REPLACE_NEWLOCALE)|g' \
              -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
+             -e 's|@''REPLACE_FREELOCALE''@|$(REPLACE_FREELOCALE)|g' \
              -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
@@ -1903,32 +2479,6 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              < $(srcdir)/locale.in.h; \
        } > $@-t && \
        mv $@-t $@
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
-# off.
-arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_ARG_NONNULL/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-         > $@-t && \
-       mv $@-t $@
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/_GL_CXXDEFS/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/c++defs.h \
-         > $@-t && \
-       mv $@-t $@
-# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
-# off.
-warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/^.ifndef/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
-         > $@-t && \
-       mv $@-t $@
 
 # We need the following in order to create <stdarg.h> when the system
 # doesn't have one that works with the given compiler.
@@ -1967,6 +2517,7 @@ warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          < $(srcdir)/stddef.in.h; \
@@ -1986,6 +2537,7 @@ warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
 @GL_GENERATE_STDINT_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
@@ -2007,6 +2559,7 @@ warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          < $(srcdir)/stdint.in.h; \
 @GL_GENERATE_STDINT_H_TRUE@    } > $@-t && \
 @GL_GENERATE_STDINT_H_TRUE@    mv $@-t $@
@@ -2161,14 +2714,17 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
              -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
              -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+             -e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \
              -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
              -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
              -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_REALLOCARRAY''@/$(GNULIB_REALLOCARRAY)/g' \
              -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
              -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
              -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' \
@@ -2182,6 +2738,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' \
@@ -2190,14 +2749,19 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
              -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
              -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+             -e 's|@''HAVE_QSORT_R''@|$(HAVE_QSORT_R)|g' \
              -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
              -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
              -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+             -e 's|@''HAVE_REALLOCARRAY''@|$(HAVE_REALLOCARRAY)|g' \
              -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
              -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' \
@@ -2206,17 +2770,22 @@ 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' \
              -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
              -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)' \
@@ -2236,6 +2805,7 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
+             -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GNULIB_EXPLICIT_BZERO)/g' \
              -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
              -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
              -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
@@ -2274,7 +2844,8 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
              -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
              < $(srcdir)/string.in.h | \
-         sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+         sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
+             -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
              -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
              -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
              -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
@@ -2295,20 +2866,20 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
              -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
              -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
-             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
              -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
              -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
-             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
              -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
              -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
-             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
-             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
-             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
              -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
              -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
              -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
-             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
+             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
+             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
              -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
+             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
+             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
              -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
@@ -2329,6 +2900,7 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
              -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \
+             -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \
              -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
              -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \
              -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
@@ -2342,6 +2914,7 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
              -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \
              -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \
              -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \
+             -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GNULIB_OVERRIDES_STRUCT_STAT)/g' \
              -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
              -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
              -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
@@ -2406,6 +2979,7 @@ sys/types.h: sys_types.in.h $(top_builddir)/config.status
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
              -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \
              < $(srcdir)/sys_types.in.h; \
        } > $@-t && \
        mv $@-t $@
@@ -2420,25 +2994,35 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
-             -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
+             -e 's/@''GNULIB_CTIME''@/$(GNULIB_CTIME)/g' \
+             -e 's/@''GNULIB_LOCALTIME''@/$(GNULIB_LOCALTIME)/g' \
              -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
              -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
+             -e 's/@''GNULIB_STRFTIME''@/$(GNULIB_STRFTIME)/g' \
              -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
              -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
              -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
+             -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \
+             -e 's/@''GNULIB_TZSET''@/$(GNULIB_TZSET)/g' \
              -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
              -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
              -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
              -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+             -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
+             -e 's|@''HAVE_TZSET''@|$(HAVE_TZSET)|g' \
+             -e 's|@''REPLACE_CTIME''@|$(REPLACE_CTIME)|g' \
              -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
              -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
              -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
              -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
              -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
+             -e 's|@''REPLACE_STRFTIME''@|$(REPLACE_STRFTIME)|g' \
              -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
+             -e 's|@''REPLACE_TZSET''@|$(REPLACE_TZSET)|g' \
              -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
              -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
              -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+             -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@@ -2461,6 +3045,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' \
@@ -2480,6 +3065,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
              -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
              -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
+             -e 's/@''GNULIB_GETPASS''@/$(GNULIB_GETPASS)/g' \
              -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
              -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
              -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
@@ -2499,6 +3085,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
              -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
              -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
+             -e 's/@''GNULIB_TRUNCATE''@/$(GNULIB_TRUNCATE)/g' \
              -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
              -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \
              -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
@@ -2509,6 +3096,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' \
@@ -2521,8 +3109,8 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
              -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
              -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
-             -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
              -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+             -e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \
              -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
              -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
              -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
@@ -2543,10 +3131,12 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
              -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
              -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
+             -e 's|@''HAVE_DECL_GETLOGIN''@|$(HAVE_DECL_GETLOGIN)|g' \
              -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
              -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
              -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
              -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
+             -e 's|@''HAVE_DECL_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|g' \
              -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
              -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
              -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
@@ -2555,6 +3145,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
              -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
              -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+             -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \
              -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
              -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
              -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
@@ -2563,6 +3154,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
              -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
              -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+             -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \
              -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
              -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
              -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
@@ -2572,9 +3164,12 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
              -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
              -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
+             -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \
              -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
              -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
              -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+             -e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \
+             -e 's|@''REPLACE_TRUNCATE''@|$(REPLACE_TRUNCATE)|g' \
              -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
              -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
              -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
@@ -2600,6 +3195,8 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
              -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
              -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
+             -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \
+             -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
              -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
              -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
              -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
@@ -2639,6 +3236,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
              -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
              -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
+             -e 's/@''GNULIB_WCSFTIME''@/$(GNULIB_WCSFTIME)/g' \
              < $(srcdir)/wchar.in.h | \
          sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
              -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
@@ -2678,6 +3276,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
              -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
              -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
+             -e 's|@''HAVE_WCSFTIME''@|$(HAVE_WCSFTIME)|g' \
              -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
              -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
          | \
@@ -2694,6 +3293,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
              -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
              -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
+             -e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
@@ -2711,6 +3311,8 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \
+             -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \
+             -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
              -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \
              -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \
              -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \
diff --git a/lib/_Noreturn.h b/lib/_Noreturn.h
new file mode 100644 (file)
index 0000000..db9b455
--- /dev/null
@@ -0,0 +1,33 @@
+/* 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 (defined __cplusplus \
+      && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
+          || (defined _MSC_VER && 1900 <= _MSC_VER)))
+#  define _Noreturn [[noreturn]]
+# 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__))
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn
+# endif
+#endif
index ee0f01886826ad9dcba250aad66fe7bc25c06213..d0476d53e6c756eca6158a07a49589df9aef0dee 100644 (file)
@@ -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
index 5de9aaabc494b7c26a46422d893fd024d889a630..a581d58f83497cf08306cb6d860e69a26d8ad2fc 100644 (file)
@@ -1,6 +1,6 @@
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2014 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2019 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public
    License along with this program; if not, see
-   <http://www.gnu.org/licenses/>.
+   <https://www.gnu.org/licenses/>.
   */
 
 /* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
 
 #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
@@ -51,6 +57,8 @@ extern "C"
 void *_alloca (unsigned short);
 #  pragma intrinsic (_alloca)
 #  define alloca _alloca
+# elif defined __MVS__
+#  include <stdlib.h>
 # else
 #  include <stddef.h>
 #  ifdef  __cplusplus
diff --git a/lib/arg-nonnull.h b/lib/arg-nonnull.h
new file mode 100644 (file)
index 0000000..ad8c26c
--- /dev/null
@@ -0,0 +1,26 @@
+/* A C macro for declaring that specific arguments must not be NULL.
+   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/>.  */
+
+/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
+   that the values passed as arguments n, ..., m must be non-NULL pointers.
+   n = 1 stands for the first argument, n = 2 for the second argument etc.  */
+#ifndef _GL_ARG_NONNULL
+# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
+#  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
+# else
+#  define _GL_ARG_NONNULL(params)
+# endif
+#endif
index f56ab55f727cf04575f1348a2523530387b0ee0f..9eeb4514d8c715e229b5665b958bbdc2a668d224 100644 (file)
@@ -1,6 +1,6 @@
 /* argmatch.c -- find a match for a string in an array
 
-   Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2014 Free Software
+   Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by David MacKenzie <djm@ai.mit.edu>
    Modified by Akim Demaille <demaille@inf.enst.fr> */
 #include <stdlib.h>
 #include <string.h>
 
-#include "gettext.h"
 #define _(msgid) gettext (msgid)
 
 #include "error.h"
 #include "quotearg.h"
-#include "quote.h"
+#include "getprogname.h"
 
 #if USE_UNLOCKED_IO
 # include "unlocked-io.h"
@@ -81,7 +80,7 @@ argmatch_exit_fn argmatch_die = __argmatch_die;
 
 ptrdiff_t
 argmatch (const char *arg, const char *const *arglist,
-          const char *vallist, size_t valsize)
+          const void *vallist, size_t valsize)
 {
   size_t i;                     /* Temporary index in ARGLIST.  */
   size_t arglen;                /* Length of ARG.  */
@@ -105,8 +104,8 @@ argmatch (const char *arg, const char *const *arglist,
             {
               /* Second nonexact match found.  */
               if (vallist == NULL
-                  || memcmp (vallist + valsize * matchind,
-                             vallist + valsize * i, valsize))
+                  || memcmp ((char const *) vallist + valsize * matchind,
+                             (char const *) vallist + valsize * i, valsize))
                 {
                   /* There is a real ambiguity, or we could not
                      disambiguate. */
@@ -143,7 +142,7 @@ argmatch_invalid (const char *context, const char *value, ptrdiff_t problem)
    VALSIZE is the size of the elements of VALLIST */
 void
 argmatch_valid (const char *const *arglist,
-                const char *vallist, size_t valsize)
+                const void *vallist, size_t valsize)
 {
   size_t i;
   const char *last_val = NULL;
@@ -153,10 +152,10 @@ argmatch_valid (const char *const *arglist,
   fputs (_("Valid arguments are:"), stderr);
   for (i = 0; arglist[i]; i++)
     if ((i == 0)
-        || memcmp (last_val, vallist + valsize * i, valsize))
+        || memcmp (last_val, (char const *) vallist + valsize * i, valsize))
       {
         fprintf (stderr, "\n  - %s", quote (arglist[i]));
-        last_val = vallist + valsize * i;
+        last_val = (char const *) vallist + valsize * i;
       }
     else
       {
@@ -174,7 +173,7 @@ argmatch_valid (const char *const *arglist,
 ptrdiff_t
 __xargmatch_internal (const char *context,
                       const char *arg, const char *const *arglist,
-                      const char *vallist, size_t valsize,
+                      const void *vallist, size_t valsize,
                       argmatch_exit_fn exit_fn)
 {
   ptrdiff_t res = argmatch (arg, arglist, vallist, valsize);
@@ -193,14 +192,14 @@ __xargmatch_internal (const char *context,
 /* Look for VALUE in VALLIST, an array of objects of size VALSIZE and
    return the first corresponding argument in ARGLIST */
 const char *
-argmatch_to_argument (const char *value,
+argmatch_to_argument (const void *value,
                       const char *const *arglist,
-                      const char *vallist, size_t valsize)
+                      const void *vallist, size_t valsize)
 {
   size_t i;
 
   for (i = 0; arglist[i]; i++)
-    if (!memcmp (value, vallist + valsize * i, valsize))
+    if (!memcmp (value, (char const *) vallist + valsize * i, valsize))
       return arglist[i];
   return NULL;
 }
@@ -209,7 +208,6 @@ argmatch_to_argument (const char *value,
 /*
  * Based on "getversion.c" by David MacKenzie <djm@gnu.ai.mit.edu>
  */
-char *program_name;
 
 /* When to make backup files.  */
 enum backup_type
@@ -253,11 +251,9 @@ main (int argc, const char *const *argv)
   const char *cp;
   enum backup_type backup_type = no_backups;
 
-  program_name = (char *) argv[0];
-
   if (argc > 2)
     {
-      fprintf (stderr, "Usage: %s [VERSION_CONTROL]\n", program_name);
+      fprintf (stderr, "Usage: %s [VERSION_CONTROL]\n", getprogname ());
       exit (1);
     }
 
@@ -266,7 +262,7 @@ main (int argc, const char *const *argv)
                              backup_args, backup_vals);
 
   if (argc == 2)
-    backup_type = XARGMATCH (program_name, argv[1],
+    backup_type = XARGMATCH (getprogname (), argv[1],
                              backup_args, backup_vals);
 
   printf ("The version control is '%s'\n",
index 09645db65762c33c55fbd9fa77ed00f37e9e2b47..897fa415d6927dad7f956c25c29657d1e544e190 100644 (file)
@@ -1,6 +1,6 @@
 /* argmatch.h -- definitions and prototypes for argmatch.c
 
-   Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2014 Free Software
+   Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by David MacKenzie <djm@ai.mit.edu>
    Modified by Akim Demaille <demaille@inf.enst.fr> */
 #ifndef ARGMATCH_H_
 # define ARGMATCH_H_ 1
 
+# include <limits.h>
+# include <stdbool.h>
 # include <stddef.h>
+# include <stdio.h>
+# include <string.h> /* memcmp */
 
+# include "gettext.h"
+# include "quote.h"
 # include "verify.h"
 
-#ifdef  __cplusplus
+# ifdef  __cplusplus
 extern "C" {
-#endif
+# endif
 
 # define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array))
 
@@ -44,10 +50,10 @@ extern "C" {
    to the same values in VALLIST).  */
 
 ptrdiff_t argmatch (char const *arg, char const *const *arglist,
-                    char const *vallist, size_t valsize) _GL_ATTRIBUTE_PURE;
+                    void const *vallist, size_t valsize) _GL_ATTRIBUTE_PURE;
 
 # define ARGMATCH(Arg, Arglist, Vallist) \
-  argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist))
+  argmatch (Arg, Arglist, (void const *) (Vallist), sizeof *(Vallist))
 
 /* xargmatch calls this function when it fails.  This function should not
    return.  By default, this is a function that calls ARGMATCH_DIE which
@@ -70,10 +76,10 @@ void argmatch_invalid (char const *context, char const *value,
 /* Report on stderr the list of possible arguments.  */
 
 void argmatch_valid (char const *const *arglist,
-                     char const *vallist, size_t valsize);
+                     void const *vallist, size_t valsize);
 
 # define ARGMATCH_VALID(Arglist, Vallist) \
-  argmatch_valid (Arglist, (char const *) (Vallist), sizeof *(Vallist))
+  argmatch_valid (Arglist, (void const *) (Vallist), sizeof *(Vallist))
 
 
 
@@ -82,30 +88,244 @@ void argmatch_valid (char const *const *arglist,
 
 ptrdiff_t __xargmatch_internal (char const *context,
                                 char const *arg, char const *const *arglist,
-                                char const *vallist, size_t valsize,
+                                void const *vallist, size_t valsize,
                                 argmatch_exit_fn exit_fn);
 
 /* Programmer friendly interface to __xargmatch_internal. */
 
 # define XARGMATCH(Context, Arg, Arglist, Vallist)              \
   ((Vallist) [__xargmatch_internal (Context, Arg, Arglist,      \
-                                    (char const *) (Vallist),   \
+                                    (void const *) (Vallist),   \
                                     sizeof *(Vallist),          \
                                     argmatch_die)])
 
 /* Convert a value into a corresponding argument. */
 
-char const *argmatch_to_argument (char const *value,
+char const *argmatch_to_argument (void const *value,
                                   char const *const *arglist,
-                                  char const *vallist, size_t valsize)
+                                  void const *vallist, size_t valsize)
   _GL_ATTRIBUTE_PURE;
 
 # define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist)                  \
   argmatch_to_argument (Value, Arglist,                                 \
-                        (char const *) (Vallist), sizeof *(Vallist))
-
-#ifdef  __cplusplus
+                        (void const *) (Vallist), sizeof *(Vallist))
+
+# define ARGMATCH_DEFINE_GROUP(Name, Type)                              \
+  /* The type of the values of this group.  */                          \
+  typedef Type argmatch_##Name##_type;                                  \
+                                                                        \
+  /* The size of the type of the values of this group. */               \
+  enum argmatch_##Name##_size_enum                                      \
+  {                                                                     \
+    argmatch_##Name##_size = sizeof (argmatch_##Name##_type)            \
+  };                                                                    \
+                                                                        \
+  /* Argument mapping of this group.  */                                \
+  typedef struct                                                        \
+  {                                                                     \
+    /* Argument (e.g., "simple").  */                                   \
+    const char *arg;                                                    \
+    /* Value (e.g., simple_backups).  */                                \
+    const argmatch_##Name##_type val;                                   \
+  } argmatch_##Name##_arg;                                              \
+                                                                        \
+  /* Documentation of this group.  */                                   \
+  typedef struct                                                        \
+  {                                                                     \
+    /* Argument (e.g., "simple").  */                                   \
+    const char *arg;                                                    \
+    /* Documentation (e.g., N_("always make simple backups")).  */      \
+    const char *doc;                                                    \
+  } argmatch_##Name##_doc;                                              \
+                                                                        \
+  /* All the features of an argmatch group.  */                         \
+  typedef struct                                                        \
+  {                                                                     \
+    const argmatch_##Name##_arg* args;                                  \
+    const argmatch_##Name##_doc* docs;                                  \
+                                                                        \
+    /* Printed before the usage message.  */                            \
+    const char *doc_pre;                                                \
+    /* Printed after the usage message.  */                             \
+    const char *doc_post;                                               \
+  } argmatch_##Name##_group_type;                                       \
+                                                                        \
+  /* The structure the user must build.  */                             \
+  extern const argmatch_##Name##_group_type argmatch_##Name##_group;    \
+                                                                        \
+  /* Print the documentation of this group.  */                         \
+  void argmatch_##Name##_usage (FILE *out);                             \
+                                                                        \
+  /* If nonnegative, the index I of ARG in ARGS, i.e,                   \
+     ARGS[I] == ARG.                                                    \
+     Return -1 for invalid argument, -2 for ambiguous argument. */      \
+  ptrdiff_t argmatch_##Name##_choice (const char *arg);                 \
+                                                                        \
+  /* A pointer to the corresponding value if it exists, or              \
+     report an error and exit with failure if the argument was          \
+     not recognized. */                                                 \
+  const argmatch_##Name##_type*                                         \
+  argmatch_##Name##_value (const char *context, const char *arg);       \
+                                                                        \
+  /* The first argument in ARGS that matches this value, or NULL.  */   \
+  const char *                                                          \
+  argmatch_##Name##_argument (const argmatch_##Name##_type *val);       \
+                                                                        \
+  ptrdiff_t                                                             \
+  argmatch_##Name##_choice (const char *arg)                            \
+  {                                                                     \
+    const argmatch_##Name##_group_type *g = &argmatch_##Name##_group;   \
+    size_t size = argmatch_##Name##_size;                               \
+    ptrdiff_t res = -1;      /* Index of first nonexact match.  */      \
+    bool ambiguous = false;  /* Whether multiple nonexact match(es). */ \
+    size_t arglen = strlen (arg);                                       \
+                                                                        \
+    /* Test all elements for either exact match or abbreviated          \
+       matches.  */                                                     \
+    for (size_t i = 0; g->args[i].arg; i++)                             \
+      if (!strncmp (g->args[i].arg, arg, arglen))                       \
+        {                                                               \
+          if (strlen (g->args[i].arg) == arglen)                        \
+            /* Exact match found.  */                                   \
+            return i;                                                   \
+          else if (res == -1)                                           \
+            /* First nonexact match found.  */                          \
+            res = i;                                                    \
+          else if (memcmp (&g->args[res].val, &g->args[i].val, size))   \
+            /* Second nonexact match found.  */                         \
+            /* There is a real ambiguity, or we could not               \
+               disambiguate. */                                         \
+            ambiguous = true;                                           \
+        }                                                               \
+    return ambiguous ? -2 : res;                                        \
+  }                                                                     \
+                                                                        \
+  const char *                                                          \
+  argmatch_##Name##_argument (const argmatch_##Name##_type *val)        \
+  {                                                                     \
+    const argmatch_##Name##_group_type *g = &argmatch_##Name##_group;   \
+    size_t size = argmatch_##Name##_size;                               \
+    for (size_t i = 0; g->args[i].arg; i++)                             \
+      if (!memcmp (val, &g->args[i].val, size))                         \
+        return g->args[i].arg;                                          \
+    return NULL;                                                        \
+  }                                                                     \
+                                                                        \
+  /* List the valid values of this group. */                            \
+  static void                                                           \
+  argmatch_##Name##_valid (FILE *out)                                   \
+  {                                                                     \
+    const argmatch_##Name##_group_type *g = &argmatch_##Name##_group;   \
+    size_t size = argmatch_##Name##_size;                               \
+                                                                        \
+    /* Try to put synonyms on the same line.  Synonyms are expected     \
+       to follow each other. */                                         \
+    fputs (gettext ("Valid arguments are:"), out);                      \
+    for (int i = 0; g->args[i].arg; i++)                                \
+      if (i == 0                                                        \
+          || memcmp (&g->args[i-1].val, &g->args[i].val, size))         \
+        fprintf (out, "\n  - %s", quote (g->args[i].arg));              \
+      else                                                              \
+        fprintf (out, ", %s", quote (g->args[i].arg));                  \
+    putc ('\n', out);                                                   \
+  }                                                                     \
+                                                                        \
+  const argmatch_##Name##_type*                                         \
+  argmatch_##Name##_value (const char *context, const char *arg)        \
+  {                                                                     \
+    const argmatch_##Name##_group_type *g = &argmatch_##Name##_group;   \
+    ptrdiff_t res = argmatch_##Name##_choice (arg);                     \
+    if (res < 0)                                                        \
+      {                                                                 \
+        argmatch_invalid (context, arg, res);                           \
+        argmatch_##Name##_valid (stderr);                               \
+        argmatch_die ();                                                \
+      }                                                                 \
+    return &g->args[res].val;                                           \
+  }                                                                     \
+                                                                        \
+  /* The column in which the documentation is displayed.                \
+     The leftmost possible, but no more than 20. */                     \
+  static int                                                            \
+  argmatch_##Name##_doc_col (void)                                      \
+  {                                                                     \
+    const argmatch_##Name##_group_type *g = &argmatch_##Name##_group;   \
+    size_t size = argmatch_##Name##_size;                               \
+    int res = 0;                                                        \
+    for (int i = 0; g->docs[i].arg; ++i)                                \
+      {                                                                 \
+        int col = 4;                                                    \
+        int ival = argmatch_##Name##_choice (g->docs[i].arg);           \
+        if (ival < 0)                                                   \
+          /* Pseudo argument, display it. */                            \
+          col += strlen (g->docs[i].arg);                               \
+        else                                                            \
+          /* Genuine argument, display it with its synonyms. */         \
+          for (int j = 0; g->args[j].arg; ++j)                          \
+            if (! memcmp (&g->args[ival].val, &g->args[j].val, size))   \
+              col += (col == 4 ? 0 : 2) + strlen (g->args[j].arg);      \
+        if (res <= col)                                                 \
+          res = col <= 20 ? col : 20;                                   \
+      }                                                                 \
+    return res ? res : 20;                                              \
+  }                                                                     \
+                                                                        \
+  void                                                                  \
+  argmatch_##Name##_usage (FILE *out)                                   \
+  {                                                                     \
+    const argmatch_##Name##_group_type *g = &argmatch_##Name##_group;   \
+    size_t size = argmatch_##Name##_size;                               \
+    /* Width of the screen.  Help2man does not seem to support          \
+       arguments on several lines, so in that case pretend a very       \
+       large width. */                                                  \
+    const int screen_width = getenv ("HELP2MAN") ? INT_MAX : 80;        \
+    if (g->doc_pre)                                                     \
+      fprintf (out, "%s\n", gettext (g->doc_pre));                      \
+    int doc_col = argmatch_##Name##_doc_col ();                         \
+    for (int i = 0; g->docs[i].arg; ++i)                                \
+      {                                                                 \
+        int col = 0;                                                    \
+        bool first = true;                                              \
+        int ival = argmatch_##Name##_choice (g->docs[i].arg);           \
+        if (ival < 0)                                                   \
+          /* Pseudo argument, display it. */                            \
+          col += fprintf (out,  "  %s", g->docs[i].arg);                \
+        else                                                            \
+          /* Genuine argument, display it with its synonyms. */         \
+          for (int j = 0; g->args[j].arg; ++j)                          \
+            if (! memcmp (&g->args[ival].val, &g->args[j].val, size))   \
+              {                                                         \
+                if (!first                                              \
+                    && screen_width < col + 2 + strlen (g->args[j].arg)) \
+                  {                                                     \
+                    fprintf (out, ",\n");                               \
+                    col = 0;                                            \
+                    first = true;                                       \
+                  }                                                     \
+                if (first)                                              \
+                  {                                                     \
+                    col += fprintf (out, " ");                          \
+                    first = false;                                      \
+                  }                                                     \
+                else                                                    \
+                  col += fprintf (out, ",");                            \
+                col += fprintf (out,  " %s", g->args[j].arg);           \
+              }                                                         \
+        /* The doc.  Separated by at least two spaces. */               \
+        if (doc_col < col + 2)                                          \
+          {                                                             \
+            fprintf (out, "\n");                                        \
+            col = 0;                                                    \
+          }                                                             \
+        fprintf (out, "%*s%s\n",                                        \
+                 doc_col - col, "", gettext (g->docs[i].doc));          \
+      }                                                                 \
+    if (g->doc_post)                                                    \
+      fprintf (out, "%s\n", gettext (g->doc_post));                     \
+  }
+
+# ifdef  __cplusplus
 }
-#endif
+# endif
 
 #endif /* ARGMATCH_H_ */
diff --git a/lib/assure.h b/lib/assure.h
new file mode 100644 (file)
index 0000000..c21b6a6
--- /dev/null
@@ -0,0 +1,37 @@
+/* Run-time assert-like macros.
+
+   Copyright (C) 2014-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 Paul Eggert.  */
+
+#ifndef _GL_ASSURE_H
+#define _GL_ASSURE_H
+
+#include <assert.h>
+
+/* Check E's value at runtime, and report an error and abort if not.
+   However, do nothing if NDEBUG is defined.
+
+   Unlike standard 'assert', this macro always compiles E even when NDEBUG
+   is defined, so as to catch typos and avoid some GCC warnings.  */
+
+#ifdef NDEBUG
+# define assure(E) ((void) (0 && (E)))
+#else
+# define assure(E) assert (E)
+#endif
+
+#endif
index cec50e935aa41c3678d99076ec1c92a2e6e446b7..0ae04ee5722bc7c9405e13e3ac09a4491e9d3afd 100644 (file)
@@ -1,6 +1,6 @@
 /* basename.c -- return the last element in a file name
 
-   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2014 Free Software
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 67d9420a6d9d1a5e1e18f589cc9dba152b66ca4c..1b6e0ea59bd7edff75fcbd5b6769a81a8050ad95 100644 (file)
@@ -1,6 +1,6 @@
 /* basename.c -- return the last element in a file name
 
-   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2014 Free Software
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index b06ca2e4a507499d0d4bd7256488d335f3160a09..9e2496d40212327f8b1589062266d857904de789 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert unibyte character to wide character.
-   Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008, 2010-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/lib/c++defs.h b/lib/c++defs.h
new file mode 100644 (file)
index 0000000..87d0716
--- /dev/null
@@ -0,0 +1,316 @@
+/* C++ compatible function declaration macros.
+   Copyright (C) 2010-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 _GL_CXXDEFS_H
+#define _GL_CXXDEFS_H
+
+/* Begin/end the GNULIB_NAMESPACE namespace.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_BEGIN_NAMESPACE namespace GNULIB_NAMESPACE {
+# define _GL_END_NAMESPACE }
+#else
+# define _GL_BEGIN_NAMESPACE
+# define _GL_END_NAMESPACE
+#endif
+
+/* The three most frequent use cases of these macros are:
+
+   * For providing a substitute for a function that is missing on some
+     platforms, but is declared and works fine on the platforms on which
+     it exists:
+
+       #if @GNULIB_FOO@
+       # if !@HAVE_FOO@
+       _GL_FUNCDECL_SYS (foo, ...);
+       # endif
+       _GL_CXXALIAS_SYS (foo, ...);
+       _GL_CXXALIASWARN (foo);
+       #elif defined GNULIB_POSIXCHECK
+       ...
+       #endif
+
+   * For providing a replacement for a function that exists on all platforms,
+     but is broken/insufficient and needs to be replaced on some platforms:
+
+       #if @GNULIB_FOO@
+       # if @REPLACE_FOO@
+       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+       #   undef foo
+       #   define foo rpl_foo
+       #  endif
+       _GL_FUNCDECL_RPL (foo, ...);
+       _GL_CXXALIAS_RPL (foo, ...);
+       # else
+       _GL_CXXALIAS_SYS (foo, ...);
+       # endif
+       _GL_CXXALIASWARN (foo);
+       #elif defined GNULIB_POSIXCHECK
+       ...
+       #endif
+
+   * For providing a replacement for a function that exists on some platforms
+     but is broken/insufficient and needs to be replaced on some of them and
+     is additionally either missing or undeclared on some other platforms:
+
+       #if @GNULIB_FOO@
+       # if @REPLACE_FOO@
+       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+       #   undef foo
+       #   define foo rpl_foo
+       #  endif
+       _GL_FUNCDECL_RPL (foo, ...);
+       _GL_CXXALIAS_RPL (foo, ...);
+       # else
+       #  if !@HAVE_FOO@   or   if !@HAVE_DECL_FOO@
+       _GL_FUNCDECL_SYS (foo, ...);
+       #  endif
+       _GL_CXXALIAS_SYS (foo, ...);
+       # endif
+       _GL_CXXALIASWARN (foo);
+       #elif defined GNULIB_POSIXCHECK
+       ...
+       #endif
+*/
+
+/* _GL_EXTERN_C declaration;
+   performs the declaration with C linkage.  */
+#if defined __cplusplus
+# define _GL_EXTERN_C extern "C"
+#else
+# define _GL_EXTERN_C extern
+#endif
+
+/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
+   declares a replacement function, named rpl_func, with the given prototype,
+   consisting of return type, parameters, and attributes.
+   Example:
+     _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
+                                  _GL_ARG_NONNULL ((1)));
+ */
+#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
+  _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
+#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
+  _GL_EXTERN_C rettype rpl_func parameters_and_attributes
+
+/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
+   declares the system function, named func, with the given prototype,
+   consisting of return type, parameters, and attributes.
+   Example:
+     _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
+                                  _GL_ARG_NONNULL ((1)));
+ */
+#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
+  _GL_EXTERN_C rettype func parameters_and_attributes
+
+/* _GL_CXXALIAS_RPL (func, rettype, parameters);
+   declares a C++ alias called GNULIB_NAMESPACE::func
+   that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
+   Example:
+     _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
+
+   Wrapping rpl_func in an object with an inline conversion operator
+   avoids a reference to rpl_func unless GNULIB_NAMESPACE::func is
+   actually used in the program.  */
+#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
+  _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
+    namespace GNULIB_NAMESPACE                                \
+    {                                                         \
+      static const struct _gl_ ## func ## _wrapper            \
+      {                                                       \
+        typedef rettype (*type) parameters;                   \
+                                                              \
+        inline operator type () const                         \
+        {                                                     \
+          return ::rpl_func;                                  \
+        }                                                     \
+      } func = {};                                            \
+    }                                                         \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
+   is like  _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
+   except that the C function rpl_func may have a slightly different
+   declaration.  A cast is used to silence the "invalid conversion" error
+   that would otherwise occur.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
+    namespace GNULIB_NAMESPACE                                     \
+    {                                                              \
+      static const struct _gl_ ## func ## _wrapper                 \
+      {                                                            \
+        typedef rettype (*type) parameters;                        \
+                                                                   \
+        inline operator type () const                              \
+        {                                                          \
+          return reinterpret_cast<type>(::rpl_func);               \
+        }                                                          \
+      } func = {};                                                 \
+    }                                                              \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_SYS (func, rettype, parameters);
+   declares a C++ alias called GNULIB_NAMESPACE::func
+   that redirects to the system provided function func, if GNULIB_NAMESPACE
+   is defined.
+   Example:
+     _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
+
+   Wrapping func in an object with an inline conversion operator
+   avoids a reference to func unless GNULIB_NAMESPACE::func is
+   actually used in the program.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_SYS(func,rettype,parameters)            \
+    namespace GNULIB_NAMESPACE                                \
+    {                                                         \
+      static const struct _gl_ ## func ## _wrapper            \
+      {                                                       \
+        typedef rettype (*type) parameters;                   \
+                                                              \
+        inline operator type () const                         \
+        {                                                     \
+          return ::func;                                      \
+        }                                                     \
+      } func = {};                                            \
+    }                                                         \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
+   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
+   except that the C function func may have a slightly different declaration.
+   A cast is used to silence the "invalid conversion" error that would
+   otherwise occur.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
+    namespace GNULIB_NAMESPACE                          \
+    {                                                   \
+      static const struct _gl_ ## func ## _wrapper      \
+      {                                                 \
+        typedef rettype (*type) parameters;             \
+                                                        \
+        inline operator type () const                   \
+        {                                               \
+          return reinterpret_cast<type>(::func);        \
+        }                                               \
+      } func = {};                                      \
+    }                                                   \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
+   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
+   except that the C function is picked among a set of overloaded functions,
+   namely the one with rettype2 and parameters2.  Two consecutive casts
+   are used to silence the "cannot find a match" and "invalid conversion"
+   errors that would otherwise occur.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+  /* The outer cast must be a reinterpret_cast.
+     The inner cast: When the function is defined as a set of overloaded
+     functions, it works as a static_cast<>, choosing the designated variant.
+     When the function is defined as a single variant, it works as a
+     reinterpret_cast<>. The parenthesized cast syntax works both ways.  */
+# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
+    namespace GNULIB_NAMESPACE                                                \
+    {                                                                         \
+      static const struct _gl_ ## func ## _wrapper                            \
+      {                                                                       \
+        typedef rettype (*type) parameters;                                   \
+                                                                              \
+        inline operator type () const                                         \
+        {                                                                     \
+          return reinterpret_cast<type>((rettype2 (*) parameters2)(::func));  \
+        }                                                                     \
+      } func = {};                                                            \
+    }                                                                         \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIASWARN (func);
+   causes a warning to be emitted when ::func is used but not when
+   GNULIB_NAMESPACE::func is used.  func must be defined without overloaded
+   variants.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIASWARN(func) \
+   _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
+# define _GL_CXXALIASWARN_1(func,namespace) \
+   _GL_CXXALIASWARN_2 (func, namespace)
+/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+   we enable the warning only when not optimizing.  */
+# if !__OPTIMIZE__
+#  define _GL_CXXALIASWARN_2(func,namespace) \
+    _GL_WARN_ON_USE (func, \
+                     "The symbol ::" #func " refers to the system function. " \
+                     "Use " #namespace "::" #func " instead.")
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+#  define _GL_CXXALIASWARN_2(func,namespace) \
+     extern __typeof__ (func) func
+# else
+#  define _GL_CXXALIASWARN_2(func,namespace) \
+     _GL_EXTERN_C int _gl_cxxalias_dummy
+# endif
+#else
+# define _GL_CXXALIASWARN(func) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
+   causes a warning to be emitted when the given overloaded variant of ::func
+   is used but not when GNULIB_NAMESPACE::func is used.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
+   _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
+                        GNULIB_NAMESPACE)
+# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
+   _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
+/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+   we enable the warning only when not optimizing.  */
+# if !__OPTIMIZE__
+#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+    _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
+                         "The symbol ::" #func " refers to the system function. " \
+                         "Use " #namespace "::" #func " instead.")
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+     extern __typeof__ (func) func
+# else
+#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+     _GL_EXTERN_C int _gl_cxxalias_dummy
+# endif
+#else
+# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+#endif /* _GL_CXXDEFS_H */
index 48c6478378742f5da190b1b4fdf27ad4ced413f5..5d9d4d87a61a27ca8bd0444826177977d03260b5 100644 (file)
@@ -1,395 +1,3 @@
-/* Character handling in C locale.
-
-   Copyright 2000-2003, 2006, 2009-2014 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 <http://www.gnu.org/licenses/>.  */
-
 #include <config.h>
-
-/* Specification.  */
-#define NO_C_CTYPE_MACROS
+#define C_CTYPE_INLINE _GL_EXTERN_INLINE
 #include "c-ctype.h"
-
-/* The function isascii is not locale dependent. Its use in EBCDIC is
-   questionable. */
-bool
-c_isascii (int c)
-{
-  return (c >= 0x00 && c <= 0x7f);
-}
-
-bool
-c_isalnum (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-  return ((c >= '0' && c <= '9')
-          || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'));
-#else
-  return ((c >= '0' && c <= '9')
-          || (c >= 'A' && c <= 'Z')
-          || (c >= 'a' && c <= 'z'));
-#endif
-#else
-  switch (c)
-    {
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isalpha (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-  return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z');
-#else
-  return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'));
-#endif
-#else
-  switch (c)
-    {
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isblank (int c)
-{
-  return (c == ' ' || c == '\t');
-}
-
-bool
-c_iscntrl (int c)
-{
-#if C_CTYPE_ASCII
-  return ((c & ~0x1f) == 0 || c == 0x7f);
-#else
-  switch (c)
-    {
-    case ' ': case '!': case '"': case '#': case '$': case '%':
-    case '&': case '\'': case '(': case ')': case '*': case '+':
-    case ',': case '-': case '.': case '/':
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-    case '{': case '|': case '}': case '~':
-      return 0;
-    default:
-      return 1;
-    }
-#endif
-}
-
-bool
-c_isdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS
-  return (c >= '0' && c <= '9');
-#else
-  switch (c)
-    {
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_islower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
-  return (c >= 'a' && c <= 'z');
-#else
-  switch (c)
-    {
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isgraph (int c)
-{
-#if C_CTYPE_ASCII
-  return (c >= '!' && c <= '~');
-#else
-  switch (c)
-    {
-    case '!': case '"': case '#': case '$': case '%': case '&':
-    case '\'': case '(': case ')': case '*': case '+': case ',':
-    case '-': case '.': case '/':
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-    case '{': case '|': case '}': case '~':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isprint (int c)
-{
-#if C_CTYPE_ASCII
-  return (c >= ' ' && c <= '~');
-#else
-  switch (c)
-    {
-    case ' ': case '!': case '"': case '#': case '$': case '%':
-    case '&': case '\'': case '(': case ')': case '*': case '+':
-    case ',': case '-': case '.': case '/':
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-    case '{': case '|': case '}': case '~':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_ispunct (int c)
-{
-#if C_CTYPE_ASCII
-  return ((c >= '!' && c <= '~')
-          && !((c >= '0' && c <= '9')
-               || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')));
-#else
-  switch (c)
-    {
-    case '!': case '"': case '#': case '$': case '%': case '&':
-    case '\'': case '(': case ')': case '*': case '+': case ',':
-    case '-': case '.': case '/':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case '{': case '|': case '}': case '~':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isspace (int c)
-{
-  return (c == ' ' || c == '\t'
-          || c == '\n' || c == '\v' || c == '\f' || c == '\r');
-}
-
-bool
-c_isupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
-  return (c >= 'A' && c <= 'Z');
-#else
-  switch (c)
-    {
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isxdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-  return ((c >= '0' && c <= '9')
-          || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F'));
-#else
-  return ((c >= '0' && c <= '9')
-          || (c >= 'A' && c <= 'F')
-          || (c >= 'a' && c <= 'f'));
-#endif
-#else
-  switch (c)
-    {
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-int
-c_tolower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-  return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c);
-#else
-  switch (c)
-    {
-    case 'A': return 'a';
-    case 'B': return 'b';
-    case 'C': return 'c';
-    case 'D': return 'd';
-    case 'E': return 'e';
-    case 'F': return 'f';
-    case 'G': return 'g';
-    case 'H': return 'h';
-    case 'I': return 'i';
-    case 'J': return 'j';
-    case 'K': return 'k';
-    case 'L': return 'l';
-    case 'M': return 'm';
-    case 'N': return 'n';
-    case 'O': return 'o';
-    case 'P': return 'p';
-    case 'Q': return 'q';
-    case 'R': return 'r';
-    case 'S': return 's';
-    case 'T': return 't';
-    case 'U': return 'u';
-    case 'V': return 'v';
-    case 'W': return 'w';
-    case 'X': return 'x';
-    case 'Y': return 'y';
-    case 'Z': return 'z';
-    default: return c;
-    }
-#endif
-}
-
-int
-c_toupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-  return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c);
-#else
-  switch (c)
-    {
-    case 'a': return 'A';
-    case 'b': return 'B';
-    case 'c': return 'C';
-    case 'd': return 'D';
-    case 'e': return 'E';
-    case 'f': return 'F';
-    case 'g': return 'G';
-    case 'h': return 'H';
-    case 'i': return 'I';
-    case 'j': return 'J';
-    case 'k': return 'K';
-    case 'l': return 'L';
-    case 'm': return 'M';
-    case 'n': return 'N';
-    case 'o': return 'O';
-    case 'p': return 'P';
-    case 'q': return 'Q';
-    case 'r': return 'R';
-    case 's': return 'S';
-    case 't': return 'T';
-    case 'u': return 'U';
-    case 'v': return 'V';
-    case 'w': return 'W';
-    case 'x': return 'X';
-    case 'y': return 'Y';
-    case 'z': return 'Z';
-    default: return c;
-    }
-#endif
-}
index b465277619c2c990f1955be543d2e39bc069312a..4d521763843f3a82d940b33046bdb55ae4dad7ad 100644 (file)
@@ -5,7 +5,7 @@
    <ctype.h> functions' behaviour depends on the current locale set via
    setlocale.
 
-   Copyright (C) 2000-2003, 2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2006, 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
@@ -18,13 +18,20 @@ 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 <http://www.gnu.org/licenses/>.  */
+along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef C_CTYPE_H
 #define C_CTYPE_H
 
 #include <stdbool.h>
 
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef C_CTYPE_INLINE
+# define C_CTYPE_INLINE _GL_INLINE
+#endif
 
 #ifdef __cplusplus
 extern "C" {
@@ -39,38 +46,6 @@ extern "C" {
    characters.  */
 
 
-/* Check whether the ASCII optimizations apply. */
-
-/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that
-   '0', '1', ..., '9' have consecutive integer values.  */
-#define C_CTYPE_CONSECUTIVE_DIGITS 1
-
-#if ('A' <= 'Z') \
-    && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \
-    && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \
-    && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \
-    && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \
-    && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \
-    && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \
-    && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \
-    && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \
-    && ('Y' + 1 == 'Z')
-#define C_CTYPE_CONSECUTIVE_UPPERCASE 1
-#endif
-
-#if ('a' <= 'z') \
-    && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \
-    && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \
-    && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \
-    && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \
-    && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \
-    && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \
-    && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \
-    && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \
-    && ('y' + 1 == 'z')
-#define C_CTYPE_CONSECUTIVE_LOWERCASE 1
-#endif
-
 #if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
     && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
     && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
@@ -96,11 +71,84 @@ extern "C" {
     && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
 /* The character set is ASCII or one of its variants or extensions, not EBCDIC.
    Testing the value of '\n' and '\r' is not relevant.  */
-#define C_CTYPE_ASCII 1
+# define C_CTYPE_ASCII 1
+#elif ! (' ' == '\x40' && '0' == '\xf0'                     \
+         && 'A' == '\xc1' && 'J' == '\xd1' && 'S' == '\xe2' \
+         && 'a' == '\x81' && 'j' == '\x91' && 's' == '\xa2')
+# error "Only ASCII and EBCDIC are supported"
 #endif
 
+#if 'A' < 0
+# error "EBCDIC and char is signed -- not supported"
+#endif
+
+/* Cases for control characters.  */
+
+#define _C_CTYPE_CNTRL \
+   case '\a': case '\b': case '\f': case '\n': \
+   case '\r': case '\t': case '\v': \
+   _C_CTYPE_OTHER_CNTRL
+
+/* ASCII control characters other than those with \-letter escapes.  */
+
+#if C_CTYPE_ASCII
+# define _C_CTYPE_OTHER_CNTRL \
+    case '\x00': case '\x01': case '\x02': case '\x03': \
+    case '\x04': case '\x05': case '\x06': case '\x0e': \
+    case '\x0f': case '\x10': case '\x11': case '\x12': \
+    case '\x13': case '\x14': case '\x15': case '\x16': \
+    case '\x17': case '\x18': case '\x19': case '\x1a': \
+    case '\x1b': case '\x1c': case '\x1d': case '\x1e': \
+    case '\x1f': case '\x7f'
+#else
+   /* Use EBCDIC code page 1047's assignments for ASCII control chars;
+      assume all EBCDIC code pages agree about these assignments.  */
+# define _C_CTYPE_OTHER_CNTRL \
+    case '\x00': case '\x01': case '\x02': case '\x03': \
+    case '\x07': case '\x0e': case '\x0f': case '\x10': \
+    case '\x11': case '\x12': case '\x13': case '\x18': \
+    case '\x19': case '\x1c': case '\x1d': case '\x1e': \
+    case '\x1f': case '\x26': case '\x27': case '\x2d': \
+    case '\x2e': case '\x32': case '\x37': case '\x3c': \
+    case '\x3d': case '\x3f'
+#endif
 
-/* Function declarations. */
+/* Cases for lowercase hex letters, and lowercase letters, all offset by N.  */
+
+#define _C_CTYPE_LOWER_A_THRU_F_N(N) \
+   case 'a' + (N): case 'b' + (N): case 'c' + (N): case 'd' + (N): \
+   case 'e' + (N): case 'f' + (N)
+#define _C_CTYPE_LOWER_N(N) \
+   _C_CTYPE_LOWER_A_THRU_F_N(N): \
+   case 'g' + (N): case 'h' + (N): case 'i' + (N): case 'j' + (N): \
+   case 'k' + (N): case 'l' + (N): case 'm' + (N): case 'n' + (N): \
+   case 'o' + (N): case 'p' + (N): case 'q' + (N): case 'r' + (N): \
+   case 's' + (N): case 't' + (N): case 'u' + (N): case 'v' + (N): \
+   case 'w' + (N): case 'x' + (N): case 'y' + (N): case 'z' + (N)
+
+/* Cases for hex letters, digits, lower, punct, and upper.  */
+
+#define _C_CTYPE_A_THRU_F \
+   _C_CTYPE_LOWER_A_THRU_F_N (0): \
+   _C_CTYPE_LOWER_A_THRU_F_N ('A' - 'a')
+#define _C_CTYPE_DIGIT                     \
+   case '0': case '1': case '2': case '3': \
+   case '4': case '5': case '6': case '7': \
+   case '8': case '9'
+#define _C_CTYPE_LOWER _C_CTYPE_LOWER_N (0)
+#define _C_CTYPE_PUNCT \
+   case '!': case '"': case '#': case '$':  \
+   case '%': case '&': case '\'': case '(': \
+   case ')': case '*': case '+': case ',':  \
+   case '-': case '.': case '/': case ':':  \
+   case ';': case '<': case '=': case '>':  \
+   case '?': case '@': case '[': case '\\': \
+   case ']': case '^': case '_': case '`':  \
+   case '{': case '|': case '}': case '~'
+#define _C_CTYPE_UPPER _C_CTYPE_LOWER_N ('A' - 'a')
+
+
+/* Function definitions.  */
 
 /* Unlike the functions in <ctype.h>, which require an argument in the range
    of the 'unsigned char' type, the functions here operate on values that are
@@ -117,179 +165,202 @@ extern "C" {
          if (c_isalpha (*s)) ...
  */
 
-extern bool c_isascii (int c) _GL_ATTRIBUTE_CONST; /* not locale dependent */
-
-extern bool c_isalnum (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isalpha (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isblank (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_iscntrl (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isdigit (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_islower (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isgraph (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isprint (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_ispunct (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isspace (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isupper (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isxdigit (int c) _GL_ATTRIBUTE_CONST;
-
-extern int c_tolower (int c) _GL_ATTRIBUTE_CONST;
-extern int c_toupper (int c) _GL_ATTRIBUTE_CONST;
-
-
-#if (defined __GNUC__ && !defined __STRICT_ANSI__ && defined __OPTIMIZE__ \
-     && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS)
-
-/* ASCII optimizations. */
-
-#undef c_isascii
-#define c_isascii(c) \
-  ({ int __c = (c); \
-     (__c >= 0x00 && __c <= 0x7f); \
-   })
+C_CTYPE_INLINE bool
+c_isalnum (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalnum
-#define c_isalnum(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \
-   })
-#else
-#undef c_isalnum
-#define c_isalnum(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || (__c >= 'A' && __c <= 'Z') \
-      || (__c >= 'a' && __c <= 'z')); \
-   })
-#endif
-#endif
+C_CTYPE_INLINE bool
+c_isalpha (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_LOWER:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalpha
-#define c_isalpha(c) \
-  ({ int __c = (c); \
-     ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \
-   })
-#else
-#undef c_isalpha
-#define c_isalpha(c) \
-  ({ int __c = (c); \
-     ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \
-   })
-#endif
-#endif
+/* The function isascii is not locale dependent.
+   Its use in EBCDIC is questionable. */
+C_CTYPE_INLINE bool
+c_isascii (int c)
+{
+  switch (c)
+    {
+    case ' ':
+    _C_CTYPE_CNTRL:
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_PUNCT:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#undef c_isblank
-#define c_isblank(c) \
-  ({ int __c = (c); \
-     (__c == ' ' || __c == '\t'); \
-   })
+C_CTYPE_INLINE bool
+c_isblank (int c)
+{
+  return c == ' ' || c == '\t';
+}
 
-#if C_CTYPE_ASCII
-#undef c_iscntrl
-#define c_iscntrl(c) \
-  ({ int __c = (c); \
-     ((__c & ~0x1f) == 0 || __c == 0x7f); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_iscntrl (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_CNTRL:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_DIGITS
-#undef c_isdigit
-#define c_isdigit(c) \
-  ({ int __c = (c); \
-     (__c >= '0' && __c <= '9'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isdigit (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_islower
-#define c_islower(c) \
-  ({ int __c = (c); \
-     (__c >= 'a' && __c <= 'z'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isgraph (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_PUNCT:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_ASCII
-#undef c_isgraph
-#define c_isgraph(c) \
-  ({ int __c = (c); \
-     (__c >= '!' && __c <= '~'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_islower (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_LOWER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_ASCII
-#undef c_isprint
-#define c_isprint(c) \
-  ({ int __c = (c); \
-     (__c >= ' ' && __c <= '~'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isprint (int c)
+{
+  switch (c)
+    {
+    case ' ':
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_PUNCT:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_ASCII
-#undef c_ispunct
-#define c_ispunct(c) \
-  ({ int _c = (c); \
-     (c_isgraph (_c) && ! c_isalnum (_c)); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_ispunct (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_PUNCT:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#undef c_isspace
-#define c_isspace(c) \
-  ({ int __c = (c); \
-     (__c == ' ' || __c == '\t' \
-      || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \
-   })
-
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
-#undef c_isupper
-#define c_isupper(c) \
-  ({ int __c = (c); \
-     (__c >= 'A' && __c <= 'Z'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isspace (int c)
+{
+  switch (c)
+    {
+    case ' ': case '\t': case '\n': case '\v': case '\f': case '\r':
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isxdigit
-#define c_isxdigit(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \
-   })
-#else
-#undef c_isxdigit
-#define c_isxdigit(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || (__c >= 'A' && __c <= 'F') \
-      || (__c >= 'a' && __c <= 'f')); \
-   })
-#endif
-#endif
+C_CTYPE_INLINE bool
+c_isupper (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_tolower
-#define c_tolower(c) \
-  ({ int __c = (c); \
-     (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \
-   })
-#undef c_toupper
-#define c_toupper(c) \
-  ({ int __c = (c); \
-     (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isxdigit (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_A_THRU_F:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#endif /* optimizing for speed */
+C_CTYPE_INLINE int
+c_tolower (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_UPPER:
+      return c - 'A' + 'a';
+    default:
+      return c;
+    }
+}
 
+C_CTYPE_INLINE int
+c_toupper (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_LOWER:
+      return c - 'a' + 'A';
+    default:
+      return c;
+    }
+}
 
 #ifdef __cplusplus
 }
 #endif
 
+_GL_INLINE_HEADER_END
+
 #endif /* C_CTYPE_H */
index 8e660441d082dcc4979ad8807c2ebb5dc5f8e541..b67c9b5da0e35146e23862dfc8c46fd1edd7089b 100644 (file)
@@ -1,5 +1,5 @@
 /* Case-insensitive string comparison functions in C locale.
-   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2014 Free Software
+   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef C_STRCASE_H
 #define C_STRCASE_H
index b9b26a4ce8382eca95a026fbbe8a40ac3387ca76..ec50f1abe763d51530a95795b86ff19e87763a09 100644 (file)
@@ -1,5 +1,5 @@
 /* c-strcasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 5139a30b9d5e0f83530e4b44b08a9fa429604f5b..bcc81fc388dbe8555291c8ca7884e941c3049a61 100644 (file)
@@ -1,5 +1,5 @@
 /* Optimized case-insensitive string comparison in C locale.
-   Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2007, 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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Bruno Haible <bruno@clisp.org>.  */
 
@@ -33,9 +33,6 @@
 # if C_CTYPE_ASCII
 #  define CASEEQ(other,upper) \
      (c_isupper (upper) ? ((other) & ~0x20) == (upper) : (other) == (upper))
-# elif C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#  define CASEEQ(other,upper) \
-     (c_isupper (upper) ? (other) == (upper) || (other) == (upper) - 'A' + 'a' : (other) == (upper))
 # else
 #  define CASEEQ(other,upper) \
      (c_toupper (other) == (upper))
index 972eb80079532fef5be995a640327760ed65beed..513c353f6c289be3428b363600f861cf04be6671 100644 (file)
@@ -1,5 +1,5 @@
 /* c-strncasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 6fbca8b92a49fe5c9e482a3d800d682a2169939c..a0f572839585338caa56dc076522f7ca046a928a 100644 (file)
@@ -1,6 +1,6 @@
 /* calloc() function that is glibc compatible.
    This wrapper function is required at least on Tru64 UNIX 5.1 and mingw.
-   Copyright (C) 2004-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2007, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* written by Jim Meyering and Bruno Haible */
 
index 902380fd92d8f835a153260d65f0aa548fda1967..4d1be6dc24b4d0a1f8005fb2d80597d33c6d2b93 100644 (file)
@@ -1,5 +1,5 @@
 /* Return the canonical absolute name of a given file.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _LIBC
 /* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
      */
 #   undef getcwd
 #  endif
-#  ifdef VMS
-    /* We want the directory in Unix syntax, not in VMS syntax.  */
+#  if defined VMS && !defined getcwd
+    /* We want the directory in Unix syntax, not in VMS syntax.
+       The gnulib override of 'getcwd' takes 2 arguments; the original VMS
+       'getcwd' takes 3 arguments.  */
 #   define __getcwd(buf, max) getcwd (buf, max, 0)
 #  else
 #   define __getcwd getcwd
 # define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
 #endif
 
+/* Define this independently so that stdint.h is not a prerequisite.  */
+#ifndef SIZE_MAX
+# define SIZE_MAX ((size_t) -1)
+#endif
+
 #if !FUNC_REALPATH_WORKS || defined _LIBC
+
+static void
+alloc_failed (void)
+{
+#if defined _WIN32 && ! defined __CYGWIN__
+  /* Avoid errno problem without using the malloc or realloc modules; see:
+     https://lists.gnu.org/r/bug-gnulib/2016-08/msg00025.html  */
+  errno = ENOMEM;
+#endif
+}
+
 /* Return the canonical absolute name of file NAME.  A canonical name
    does not contain any ".", ".." components nor any repeated path
    separators ('/') or symlinks.  All path components must exist.  If
@@ -135,9 +153,7 @@ __realpath (const char *name, char *resolved)
       rpath = malloc (path_max);
       if (rpath == NULL)
         {
-          /* It's easier to set errno to ENOMEM than to rely on the
-             'malloc-posix' gnulib module.  */
-          errno = ENOMEM;
+          alloc_failed ();
           return NULL;
         }
     }
@@ -185,7 +201,6 @@ __realpath (const char *name, char *resolved)
 #else
       struct stat st;
 #endif
-      int n;
 
       /* Skip sequence of multiple path-separators.  */
       while (ISSLASH (*start))
@@ -238,9 +253,7 @@ __realpath (const char *name, char *resolved)
               new_rpath = (char *) realloc (rpath, new_size);
               if (new_rpath == NULL)
                 {
-                  /* It's easier to set errno to ENOMEM than to rely on the
-                     'realloc-posix' gnulib module.  */
-                  errno = ENOMEM;
+                  alloc_failed ();
                   goto error;
                 }
               rpath = new_rpath;
@@ -257,6 +270,8 @@ __realpath (const char *name, char *resolved)
 #endif
           *dest = '\0';
 
+          /* FIXME: if lstat fails with errno == EOVERFLOW,
+             the entry exists.  */
 #ifdef _LIBC
           if (__lxstat64 (_STAT_VER, rpath, &st) < 0)
 #else
@@ -268,6 +283,7 @@ __realpath (const char *name, char *resolved)
             {
               char *buf;
               size_t len;
+              ssize_t n;
 
               if (++num_links > MAXSYMLINKS)
                 {
@@ -278,7 +294,7 @@ __realpath (const char *name, char *resolved)
               buf = malloca (path_max);
               if (!buf)
                 {
-                  errno = ENOMEM;
+                  __set_errno (ENOMEM);
                   goto error;
                 }
 
@@ -287,7 +303,7 @@ __realpath (const char *name, char *resolved)
                 {
                   int saved_errno = errno;
                   freea (buf);
-                  errno = saved_errno;
+                  __set_errno (saved_errno);
                   goto error;
                 }
               buf[n] = '\0';
@@ -298,13 +314,14 @@ __realpath (const char *name, char *resolved)
                   if (!extra_buf)
                     {
                       freea (buf);
-                      errno = ENOMEM;
+                      __set_errno (ENOMEM);
                       goto error;
                     }
                 }
 
               len = strlen (end);
-              if ((long int) (n + len) >= path_max)
+              /* Check that n + len + 1 doesn't overflow and is <= path_max. */
+              if (n >= SIZE_MAX - len || n + len >= path_max)
                 {
                   freea (buf);
                   __set_errno (ENAMETOOLONG);
@@ -370,7 +387,7 @@ error:
       freea (extra_buf);
     if (resolved == NULL)
       free (rpath);
-    errno = saved_errno;
+    __set_errno (saved_errno);
   }
   return NULL;
 }
diff --git a/lib/cdefs.h b/lib/cdefs.h
new file mode 100644 (file)
index 0000000..96d2616
--- /dev/null
@@ -0,0 +1,514 @@
+/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library 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.
+
+   The GNU C 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
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef        _SYS_CDEFS_H
+#define        _SYS_CDEFS_H    1
+
+/* We are almost always included from features.h. */
+#ifndef _FEATURES_H
+# include <features.h>
+#endif
+
+/* The GNU libc does not support any K&R compilers or the traditional mode
+   of ISO C compilers anymore.  Check for some of the combinations not
+   anymore supported.  */
+#if defined __GNUC__ && !defined __STDC__
+# error "You need a ISO C conforming compiler to use the glibc headers"
+#endif
+
+/* Some user header file might have defined this before.  */
+#undef __P
+#undef __PMT
+
+#ifdef __GNUC__
+
+/* All functions, except those with callbacks or those that
+   synchronize memory, are leaf functions.  */
+# if __GNUC_PREREQ (4, 6) && !defined _LIBC
+#  define __LEAF , __leaf__
+#  define __LEAF_ATTR __attribute__ ((__leaf__))
+# else
+#  define __LEAF
+#  define __LEAF_ATTR
+# endif
+
+/* GCC can always grok prototypes.  For C++ programs we add throw()
+   to help it optimize the function calls.  But this works only with
+   gcc 2.8.x and egcs.  For gcc 3.2 and up we even mark C functions
+   as non-throwing using a function attribute since programs can use
+   the -fexceptions options for C code as well.  */
+# if !defined __cplusplus && __GNUC_PREREQ (3, 3)
+#  define __THROW      __attribute__ ((__nothrow__ __LEAF))
+#  define __THROWNL    __attribute__ ((__nothrow__))
+#  define __NTH(fct)   __attribute__ ((__nothrow__ __LEAF)) fct
+#  define __NTHNL(fct)  __attribute__ ((__nothrow__)) fct
+# else
+#  if defined __cplusplus && __GNUC_PREREQ (2,8)
+#   define __THROW     throw ()
+#   define __THROWNL   throw ()
+#   define __NTH(fct)  __LEAF_ATTR fct throw ()
+#   define __NTHNL(fct) fct throw ()
+#  else
+#   define __THROW
+#   define __THROWNL
+#   define __NTH(fct)  fct
+#   define __NTHNL(fct) fct
+#  endif
+# endif
+
+#else  /* Not GCC.  */
+
+# if (defined __cplusplus                                              \
+      || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
+#  define __inline     inline
+# else
+#  define __inline             /* No inline functions.  */
+# endif
+
+# define __THROW
+# define __THROWNL
+# define __NTH(fct)    fct
+
+#endif /* GCC.  */
+
+/* Compilers that are not clang may object to
+       #if defined __clang__ && __has_extension(...)
+   even though they do not need to evaluate the right-hand side of the &&.  */
+#if defined __clang__ && defined __has_extension
+# define __glibc_clang_has_extension(ext) __has_extension (ext)
+#else
+# define __glibc_clang_has_extension(ext) 0
+#endif
+
+/* These two macros are not used in glibc anymore.  They are kept here
+   only because some other projects expect the macros to be defined.  */
+#define __P(args)      args
+#define __PMT(args)    args
+
+/* For these things, GCC behaves the ANSI way normally,
+   and the non-ANSI way under -traditional.  */
+
+#define __CONCAT(x,y)  x ## y
+#define __STRING(x)    #x
+
+/* This is not a typedef so `const __ptr_t' does the right thing.  */
+#define __ptr_t void *
+
+
+/* C++ needs to know that types and declarations are C, not C++.  */
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS   }
+#else
+# define __BEGIN_DECLS
+# define __END_DECLS
+#endif
+
+
+/* Fortify support.  */
+#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
+#define __bos0(ptr) __builtin_object_size (ptr, 0)
+
+#if __GNUC_PREREQ (4,3)
+# define __warndecl(name, msg) \
+  extern void name (void) __attribute__((__warning__ (msg)))
+# define __warnattr(msg) __attribute__((__warning__ (msg)))
+# define __errordecl(name, msg) \
+  extern void name (void) __attribute__((__error__ (msg)))
+#else
+# define __warndecl(name, msg) extern void name (void)
+# define __warnattr(msg)
+# define __errordecl(name, msg) extern void name (void)
+#endif
+
+/* Support for flexible arrays.
+   Headers that should use flexible arrays only if they're "real"
+   (e.g. only if they won't affect sizeof()) should test
+   #if __glibc_c99_flexarr_available.  */
+#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc
+# define __flexarr     []
+# define __glibc_c99_flexarr_available 1
+#elif __GNUC_PREREQ (2,97)
+/* GCC 2.97 supports C99 flexible array members as an extension,
+   even when in C89 mode or compiling C++ (any version).  */
+# define __flexarr     []
+# define __glibc_c99_flexarr_available 1
+#elif defined __GNUC__
+/* Pre-2.97 GCC did not support C99 flexible arrays but did have
+   an equivalent extension with slightly different notation.  */
+# define __flexarr     [0]
+# define __glibc_c99_flexarr_available 1
+#else
+/* Some other non-C99 compiler.  Approximate with [1].  */
+# define __flexarr     [1]
+# define __glibc_c99_flexarr_available 0
+#endif
+
+
+/* __asm__ ("xyz") is used throughout the headers to rename functions
+   at the assembly language level.  This is wrapped by the __REDIRECT
+   macro, in order to support compilers that can do this some other
+   way.  When compilers don't support asm-names at all, we have to do
+   preprocessor tricks instead (which don't have exactly the right
+   semantics, but it's the best we can do).
+
+   Example:
+   int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */
+
+#if defined __GNUC__ && __GNUC__ >= 2
+
+# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
+# ifdef __cplusplus
+#  define __REDIRECT_NTH(name, proto, alias) \
+     name proto __THROW __asm__ (__ASMNAME (#alias))
+#  define __REDIRECT_NTHNL(name, proto, alias) \
+     name proto __THROWNL __asm__ (__ASMNAME (#alias))
+# else
+#  define __REDIRECT_NTH(name, proto, alias) \
+     name proto __asm__ (__ASMNAME (#alias)) __THROW
+#  define __REDIRECT_NTHNL(name, proto, alias) \
+     name proto __asm__ (__ASMNAME (#alias)) __THROWNL
+# endif
+# define __ASMNAME(cname)  __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+# define __ASMNAME2(prefix, cname) __STRING (prefix) cname
+
+/*
+#elif __SOME_OTHER_COMPILER__
+
+# define __REDIRECT(name, proto, alias) name proto; \
+       _Pragma("let " #name " = " #alias)
+*/
+#endif
+
+/* GCC has various useful declarations that can be made with the
+   `__attribute__' syntax.  All of the ways we use this do fine if
+   they are omitted for compilers that don't understand it. */
+#if !defined __GNUC__ || __GNUC__ < 2
+# define __attribute__(xyz)    /* Ignore */
+#endif
+
+/* At some point during the gcc 2.96 development the `malloc' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.  */
+#if __GNUC_PREREQ (2,96)
+# define __attribute_malloc__ __attribute__ ((__malloc__))
+#else
+# define __attribute_malloc__ /* Ignore */
+#endif
+
+/* Tell the compiler which arguments to an allocation function
+   indicate the size of the allocation.  */
+#if __GNUC_PREREQ (4, 3)
+# define __attribute_alloc_size__(params) \
+  __attribute__ ((__alloc_size__ params))
+#else
+# define __attribute_alloc_size__(params) /* Ignore.  */
+#endif
+
+/* At some point during the gcc 2.96 development the `pure' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.  */
+#if __GNUC_PREREQ (2,96)
+# define __attribute_pure__ __attribute__ ((__pure__))
+#else
+# define __attribute_pure__ /* Ignore */
+#endif
+
+/* This declaration tells the compiler that the value is constant.  */
+#if __GNUC_PREREQ (2,5)
+# define __attribute_const__ __attribute__ ((__const__))
+#else
+# define __attribute_const__ /* Ignore */
+#endif
+
+/* At some point during the gcc 3.1 development the `used' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.  */
+#if __GNUC_PREREQ (3,1)
+# define __attribute_used__ __attribute__ ((__used__))
+# define __attribute_noinline__ __attribute__ ((__noinline__))
+#else
+# define __attribute_used__ __attribute__ ((__unused__))
+# define __attribute_noinline__ /* Ignore */
+#endif
+
+/* Since version 3.2, gcc allows marking deprecated functions.  */
+#if __GNUC_PREREQ (3,2)
+# define __attribute_deprecated__ __attribute__ ((__deprecated__))
+#else
+# define __attribute_deprecated__ /* Ignore */
+#endif
+
+/* Since version 4.5, gcc also allows one to specify the message printed
+   when a deprecated function is used.  clang claims to be gcc 4.2, but
+   may also support this feature.  */
+#if __GNUC_PREREQ (4,5) || \
+    __glibc_clang_has_extension (__attribute_deprecated_with_message__)
+# define __attribute_deprecated_msg__(msg) \
+        __attribute__ ((__deprecated__ (msg)))
+#else
+# define __attribute_deprecated_msg__(msg) __attribute_deprecated__
+#endif
+
+/* At some point during the gcc 2.8 development the `format_arg' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.
+   If several `format_arg' attributes are given for the same function, in
+   gcc-3.0 and older, all but the last one are ignored.  In newer gccs,
+   all designated arguments are considered.  */
+#if __GNUC_PREREQ (2,8)
+# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
+#else
+# define __attribute_format_arg__(x) /* Ignore */
+#endif
+
+/* At some point during the gcc 2.97 development the `strfmon' format
+   attribute for functions was introduced.  We don't want to use it
+   unconditionally (although this would be possible) since it
+   generates warnings.  */
+#if __GNUC_PREREQ (2,97)
+# define __attribute_format_strfmon__(a,b) \
+  __attribute__ ((__format__ (__strfmon__, a, b)))
+#else
+# define __attribute_format_strfmon__(a,b) /* Ignore */
+#endif
+
+/* The nonnull function attribute marks pointer parameters that
+   must not be NULL.  Do not define __nonnull if it is already defined,
+   for portability when this file is used in Gnulib.  */
+#ifndef __nonnull
+# if __GNUC_PREREQ (3,3)
+#  define __nonnull(params) __attribute__ ((__nonnull__ params))
+# else
+#  define __nonnull(params)
+# endif
+#endif
+
+/* If fortification mode, we warn about unused results of certain
+   function calls which can lead to problems.  */
+#if __GNUC_PREREQ (3,4)
+# define __attribute_warn_unused_result__ \
+   __attribute__ ((__warn_unused_result__))
+# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0
+#  define __wur __attribute_warn_unused_result__
+# endif
+#else
+# define __attribute_warn_unused_result__ /* empty */
+#endif
+#ifndef __wur
+# define __wur /* Ignore */
+#endif
+
+/* Forces a function to be always inlined.  */
+#if __GNUC_PREREQ (3,2)
+/* The Linux kernel defines __always_inline in stddef.h (283d7573), and
+   it conflicts with this definition.  Therefore undefine it first to
+   allow either header to be included first.  */
+# undef __always_inline
+# define __always_inline __inline __attribute__ ((__always_inline__))
+#else
+# undef __always_inline
+# define __always_inline __inline
+#endif
+
+/* Associate error messages with the source location of the call site rather
+   than with the source location inside the function.  */
+#if __GNUC_PREREQ (4,3)
+# define __attribute_artificial__ __attribute__ ((__artificial__))
+#else
+# define __attribute_artificial__ /* Ignore */
+#endif
+
+/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  Using __GNUC_STDC_INLINE__
+   or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
+   older than 4.3 may define these macros and still not guarantee GNU inlining
+   semantics.
+
+   clang++ identifies itself as gcc-4.2, but has support for GNU inlining
+   semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
+   __GNUC_GNU_INLINE__ macro definitions.  */
+#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \
+     || (defined __clang__ && (defined __GNUC_STDC_INLINE__ \
+                              || defined __GNUC_GNU_INLINE__)))
+# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
+#  define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
+#  define __extern_always_inline \
+  extern __always_inline __attribute__ ((__gnu_inline__))
+# else
+#  define __extern_inline extern __inline
+#  define __extern_always_inline extern __always_inline
+# endif
+#endif
+
+#ifdef __extern_always_inline
+# define __fortify_function __extern_always_inline __attribute_artificial__
+#endif
+
+/* GCC 4.3 and above allow passing all anonymous arguments of an
+   __extern_always_inline function to some other vararg function.  */
+#if __GNUC_PREREQ (4,3)
+# define __va_arg_pack() __builtin_va_arg_pack ()
+# define __va_arg_pack_len() __builtin_va_arg_pack_len ()
+#endif
+
+/* It is possible to compile containing GCC extensions even if GCC is
+   run in pedantic mode if the uses are carefully marked using the
+   `__extension__' keyword.  But this is not generally available before
+   version 2.8.  */
+#if !__GNUC_PREREQ (2,8)
+# define __extension__         /* Ignore */
+#endif
+
+/* __restrict is known in EGCS 1.2 and above. */
+#if !__GNUC_PREREQ (2,92)
+# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#  define __restrict   restrict
+# else
+#  define __restrict   /* Ignore */
+# endif
+#endif
+
+/* ISO C99 also allows to declare arrays as non-overlapping.  The syntax is
+     array_name[restrict]
+   GCC 3.1 supports this.  */
+#if __GNUC_PREREQ (3,1) && !defined __GNUG__
+# define __restrict_arr        __restrict
+#else
+# ifdef __GNUC__
+#  define __restrict_arr       /* Not supported in old GCC.  */
+# else
+#  if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#   define __restrict_arr      restrict
+#  else
+/* Some other non-C99 compiler.  */
+#   define __restrict_arr      /* Not supported.  */
+#  endif
+# endif
+#endif
+
+#if __GNUC__ >= 3
+# define __glibc_unlikely(cond)        __builtin_expect ((cond), 0)
+# define __glibc_likely(cond)  __builtin_expect ((cond), 1)
+#else
+# define __glibc_unlikely(cond)        (cond)
+# define __glibc_likely(cond)  (cond)
+#endif
+
+#ifdef __has_attribute
+# define __glibc_has_attribute(attr)   __has_attribute (attr)
+#else
+# define __glibc_has_attribute(attr)   0
+#endif
+
+#if (!defined _Noreturn \
+     && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
+     &&  !__GNUC_PREREQ (4,7))
+# if __GNUC_PREREQ (2,8)
+#  define _Noreturn __attribute__ ((__noreturn__))
+# else
+#  define _Noreturn
+# endif
+#endif
+
+#if __GNUC_PREREQ (8, 0)
+/* Describes a char array whose address can safely be passed as the first
+   argument to strncpy and strncat, as the char array is not necessarily
+   a NUL-terminated string.  */
+# define __attribute_nonstring__ __attribute__ ((__nonstring__))
+#else
+# define __attribute_nonstring__
+#endif
+
+#if (!defined _Static_assert && !defined __cplusplus \
+     && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
+     && (!__GNUC_PREREQ (4, 6) || defined __STRICT_ANSI__))
+# define _Static_assert(expr, diagnostic) \
+    extern int (*__Static_assert_function (void)) \
+      [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })]
+#endif
+
+/* The #ifndef lets Gnulib avoid including these on non-glibc
+   platforms, where the includes typically do not exist.  */
+#ifndef __WORDSIZE
+# include <bits/wordsize.h>
+# include <bits/long-double.h>
+#endif
+
+#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
+# define __LDBL_COMPAT 1
+# ifdef __REDIRECT
+#  define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
+#  define __LDBL_REDIR(name, proto) \
+  __LDBL_REDIR1 (name, proto, __nldbl_##name)
+#  define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
+#  define __LDBL_REDIR_NTH(name, proto) \
+  __LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
+#  define __LDBL_REDIR1_DECL(name, alias) \
+  extern __typeof (name) name __asm (__ASMNAME (#alias));
+#  define __LDBL_REDIR_DECL(name) \
+  extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name));
+#  define __REDIRECT_LDBL(name, proto, alias) \
+  __LDBL_REDIR1 (name, proto, __nldbl_##alias)
+#  define __REDIRECT_NTH_LDBL(name, proto, alias) \
+  __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
+# endif
+#endif
+#if !defined __LDBL_COMPAT || !defined __REDIRECT
+# define __LDBL_REDIR1(name, proto, alias) name proto
+# define __LDBL_REDIR(name, proto) name proto
+# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
+# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
+# define __LDBL_REDIR_DECL(name)
+# ifdef __REDIRECT
+#  define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
+#  define __REDIRECT_NTH_LDBL(name, proto, alias) \
+  __REDIRECT_NTH (name, proto, alias)
+# endif
+#endif
+
+/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE.  This is
+   intended for use in preprocessor macros.
+
+   Note: MESSAGE must be a _single_ string; concatenation of string
+   literals is not supported.  */
+#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5)
+# define __glibc_macro_warning1(message) _Pragma (#message)
+# define __glibc_macro_warning(message) \
+  __glibc_macro_warning1 (GCC warning message)
+#else
+# define __glibc_macro_warning(msg)
+#endif
+
+/* Generic selection (ISO C11) is a C-only feature, available in GCC
+   since version 4.9.  Previous versions do not provide generic
+   selection, even though they might set __STDC_VERSION__ to 201112L,
+   when in -std=c11 mode.  Thus, we must check for !defined __GNUC__
+   when testing __STDC_VERSION__ for generic selection support.
+   On the other hand, Clang also defines __GNUC__, so a clang-specific
+   check is required to enable the use of generic selection.  */
+#if !defined __cplusplus \
+    && (__GNUC_PREREQ (4, 9) \
+       || __glibc_clang_has_extension (c_generic_selections) \
+       || (!defined __GNUC__ && defined __STDC_VERSION__ \
+           && __STDC_VERSION__ >= 201112L))
+# define __HAVE_GENERIC_SELECTION 1
+#else
+# define __HAVE_GENERIC_SELECTION 0
+#endif
+
+#endif  /* sys/cdefs.h */
index 87921d42938bab2dc4ec4507cfb9e43ff87acc6b..5458c4f29f36f30dfbea11238ba1b954d704b27b 100644 (file)
@@ -1,6 +1,6 @@
 /* Close a stream, with nicer error checking than fclose's.
 
-   Copyright (C) 1998-2002, 2004, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2002, 2004, 2006-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index d7dcb3f15762ab9d730edcea7b626df6f5807870..40ce845bc33315ac9473a6b34562b7ce9a94af84 100644 (file)
@@ -1,5 +1,5 @@
 /* close replacement.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -22,7 +22,9 @@
 #include <errno.h>
 
 #include "fd-hook.h"
-#include "msvc-inval.h"
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
 
 #undef close
 
index 674db787eab6404eb129baf099ad57fc88b64761..4a604ec35d4b2854580d2ff4d5d2c45fb16021a3 100644 (file)
@@ -1,6 +1,6 @@
 /* Close standard output and standard error, exiting with a diagnostic on error.
 
-   Copyright (C) 1998-2002, 2004, 2006, 2008-2014 Free Software Foundation,
+   Copyright (C) 1998-2002, 2004, 2006, 2008-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
 #include "exitfail.h"
 #include "quotearg.h"
 
+#ifndef __has_feature
+# define __has_feature(a) false
+#endif
+
+#if defined __SANITIZE_ADDRESS__ || __has_feature (address_sanitizer)
+enum { SANITIZE_ADDRESS = true };
+#else
+enum { SANITIZE_ADDRESS = false };
+#endif
+
 static const char *file_name;
 
 /* Set the file name to be reported in the event an error is detected
@@ -119,6 +129,8 @@ close_stdout (void)
       _exit (exit_failure);
     }
 
-   if (close_stream (stderr) != 0)
-     _exit (exit_failure);
+  /* Close stderr only if not sanitizing, as sanitizers may report to
+     stderr after this function returns.  */
+  if (!SANITIZE_ADDRESS && close_stream (stderr) != 0)
+    _exit (exit_failure);
 }
index 28d80ea5f2bd1232e37ded0ec08b8828b6ee3d8a..ac89f760a952691e3705d06e7d89f9a88eedac63 100644 (file)
@@ -1,6 +1,6 @@
 /* Close standard output and standard error.
 
-   Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2014 Free Software
+   Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef CLOSEOUT_H
 # define CLOSEOUT_H 1
diff --git a/lib/config.charset b/lib/config.charset
deleted file mode 100644 (file)
index 289bc44..0000000
+++ /dev/null
@@ -1,684 +0,0 @@
-#! /bin/sh
-# Output a system dependent table of character encoding aliases.
-#
-#   Copyright (C) 2000-2004, 2006-2014 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 <http://www.gnu.org/licenses/>.
-#
-# The table consists of lines of the form
-#    ALIAS  CANONICAL
-#
-# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
-# ALIAS is compared in a case sensitive way.
-#
-# CANONICAL is the GNU canonical name for this character encoding.
-# It must be an encoding supported by libiconv. Support by GNU libc is
-# also desirable. CANONICAL is case insensitive. Usually an upper case
-# MIME charset name is preferred.
-# The current list of GNU canonical charset names is as follows.
-#
-#       name              MIME?             used by which systems
-#                                    (darwin = Mac OS X, woe32 = native Windows)
-#
-#   ASCII, ANSI_X3.4-1968       glibc solaris freebsd netbsd darwin cygwin
-#   ISO-8859-1              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
-#   ISO-8859-2              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
-#   ISO-8859-3              Y   glibc solaris cygwin
-#   ISO-8859-4              Y   osf solaris freebsd netbsd openbsd darwin
-#   ISO-8859-5              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
-#   ISO-8859-6              Y   glibc aix hpux solaris cygwin
-#   ISO-8859-7              Y   glibc aix hpux irix osf solaris netbsd openbsd darwin cygwin
-#   ISO-8859-8              Y   glibc aix hpux osf solaris cygwin
-#   ISO-8859-9              Y   glibc aix hpux irix osf solaris darwin cygwin
-#   ISO-8859-13                 glibc netbsd openbsd darwin cygwin
-#   ISO-8859-14                 glibc cygwin
-#   ISO-8859-15                 glibc aix osf solaris freebsd netbsd openbsd darwin cygwin
-#   KOI8-R                  Y   glibc solaris freebsd netbsd openbsd darwin
-#   KOI8-U                  Y   glibc freebsd netbsd openbsd darwin cygwin
-#   KOI8-T                      glibc
-#   CP437                       dos
-#   CP775                       dos
-#   CP850                       aix osf dos
-#   CP852                       dos
-#   CP855                       dos
-#   CP856                       aix
-#   CP857                       dos
-#   CP861                       dos
-#   CP862                       dos
-#   CP864                       dos
-#   CP865                       dos
-#   CP866                       freebsd netbsd openbsd darwin dos
-#   CP869                       dos
-#   CP874                       woe32 dos
-#   CP922                       aix
-#   CP932                       aix cygwin woe32 dos
-#   CP943                       aix
-#   CP949                       osf darwin woe32 dos
-#   CP950                       woe32 dos
-#   CP1046                      aix
-#   CP1124                      aix
-#   CP1125                      dos
-#   CP1129                      aix
-#   CP1131                      darwin
-#   CP1250                      woe32
-#   CP1251                      glibc solaris netbsd openbsd darwin cygwin woe32
-#   CP1252                      aix woe32
-#   CP1253                      woe32
-#   CP1254                      woe32
-#   CP1255                      glibc woe32
-#   CP1256                      woe32
-#   CP1257                      woe32
-#   GB2312                  Y   glibc aix hpux irix solaris freebsd netbsd darwin
-#   EUC-JP                  Y   glibc aix hpux irix osf solaris freebsd netbsd darwin
-#   EUC-KR                  Y   glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin
-#   EUC-TW                      glibc aix hpux irix osf solaris netbsd
-#   BIG5                    Y   glibc aix hpux osf solaris freebsd netbsd darwin cygwin
-#   BIG5-HKSCS                  glibc solaris darwin
-#   GBK                         glibc aix osf solaris darwin cygwin woe32 dos
-#   GB18030                     glibc solaris netbsd darwin
-#   SHIFT_JIS               Y   hpux osf solaris freebsd netbsd darwin
-#   JOHAB                       glibc solaris woe32
-#   TIS-620                     glibc aix hpux osf solaris cygwin
-#   VISCII                  Y   glibc
-#   TCVN5712-1                  glibc
-#   ARMSCII-8                   glibc darwin
-#   GEORGIAN-PS                 glibc cygwin
-#   PT154                       glibc
-#   HP-ROMAN8                   hpux
-#   HP-ARABIC8                  hpux
-#   HP-GREEK8                   hpux
-#   HP-HEBREW8                  hpux
-#   HP-TURKISH8                 hpux
-#   HP-KANA8                    hpux
-#   DEC-KANJI                   osf
-#   DEC-HANYU                   osf
-#   UTF-8                   Y   glibc aix hpux osf solaris netbsd darwin cygwin
-#
-# Note: Names which are not marked as being a MIME name should not be used in
-# Internet protocols for information interchange (mail, news, etc.).
-#
-# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
-# must understand both names and treat them as equivalent.
-#
-# The first argument passed to this file is the canonical host specification,
-#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or
-#    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-
-host="$1"
-os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
-echo "# This file contains a table of character encoding aliases,"
-echo "# suitable for operating system '${os}'."
-echo "# It was automatically generated from config.charset."
-# List of references, updated during installation:
-echo "# Packages using this file: "
-case "$os" in
-  linux-gnulibc1*)
-    # Linux libc5 doesn't have nl_langinfo(CODESET); therefore
-    # localcharset.c falls back to using the full locale name
-    # from the environment variables.
-    echo "C ASCII"
-    echo "POSIX ASCII"
-    for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \
-             en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \
-             en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \
-             es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \
-             et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \
-             fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \
-             it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \
-             sv_FI sv_SE; do
-      echo "$l ISO-8859-1"
-      echo "$l.iso-8859-1 ISO-8859-1"
-      echo "$l.iso-8859-15 ISO-8859-15"
-      echo "$l.iso-8859-15@euro ISO-8859-15"
-      echo "$l@euro ISO-8859-15"
-      echo "$l.cp-437 CP437"
-      echo "$l.cp-850 CP850"
-      echo "$l.cp-1252 CP1252"
-      echo "$l.cp-1252@euro CP1252"
-      #echo "$l.atari-st ATARI-ST" # not a commonly used encoding
-      echo "$l.utf-8 UTF-8"
-      echo "$l.utf-8@euro UTF-8"
-    done
-    for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \
-             sl_SI sr sr_CS sr_YU; do
-      echo "$l ISO-8859-2"
-      echo "$l.iso-8859-2 ISO-8859-2"
-      echo "$l.cp-852 CP852"
-      echo "$l.cp-1250 CP1250"
-      echo "$l.utf-8 UTF-8"
-    done
-    for l in mk mk_MK ru ru_RU; do
-      echo "$l ISO-8859-5"
-      echo "$l.iso-8859-5 ISO-8859-5"
-      echo "$l.koi8-r KOI8-R"
-      echo "$l.cp-866 CP866"
-      echo "$l.cp-1251 CP1251"
-      echo "$l.utf-8 UTF-8"
-    done
-    for l in ar ar_SA; do
-      echo "$l ISO-8859-6"
-      echo "$l.iso-8859-6 ISO-8859-6"
-      echo "$l.cp-864 CP864"
-      #echo "$l.cp-868 CP868" # not a commonly used encoding
-      echo "$l.cp-1256 CP1256"
-      echo "$l.utf-8 UTF-8"
-    done
-    for l in el el_GR gr gr_GR; do
-      echo "$l ISO-8859-7"
-      echo "$l.iso-8859-7 ISO-8859-7"
-      echo "$l.cp-869 CP869"
-      echo "$l.cp-1253 CP1253"
-      echo "$l.cp-1253@euro CP1253"
-      echo "$l.utf-8 UTF-8"
-      echo "$l.utf-8@euro UTF-8"
-    done
-    for l in he he_IL iw iw_IL; do
-      echo "$l ISO-8859-8"
-      echo "$l.iso-8859-8 ISO-8859-8"
-      echo "$l.cp-862 CP862"
-      echo "$l.cp-1255 CP1255"
-      echo "$l.utf-8 UTF-8"
-    done
-    for l in tr tr_TR; do
-      echo "$l ISO-8859-9"
-      echo "$l.iso-8859-9 ISO-8859-9"
-      echo "$l.cp-857 CP857"
-      echo "$l.cp-1254 CP1254"
-      echo "$l.utf-8 UTF-8"
-    done
-    for l in lt lt_LT lv lv_LV; do
-      #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name
-      echo "$l ISO-8859-13"
-    done
-    for l in ru_UA uk uk_UA; do
-      echo "$l KOI8-U"
-    done
-    for l in zh zh_CN; do
-      #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name
-      echo "$l GB2312"
-    done
-    for l in ja ja_JP ja_JP.EUC; do
-      echo "$l EUC-JP"
-    done
-    for l in ko ko_KR; do
-      echo "$l EUC-KR"
-    done
-    for l in th th_TH; do
-      echo "$l TIS-620"
-    done
-    for l in fa fa_IR; do
-      #echo "$l ISIRI-3342" # a broken encoding
-      echo "$l.utf-8 UTF-8"
-    done
-    ;;
-  linux* | *-gnu*)
-    # With glibc-2.1 or newer, we don't need any canonicalization,
-    # because glibc has iconv and both glibc and libiconv support all
-    # GNU canonical names directly. Therefore, the Makefile does not
-    # need to install the alias file at all.
-    # The following applies only to glibc-2.0.x and older libcs.
-    echo "ISO_646.IRV:1983 ASCII"
-    ;;
-  aix*)
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-6 ISO-8859-6"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-8 ISO-8859-8"
-    echo "ISO8859-9 ISO-8859-9"
-    echo "ISO8859-15 ISO-8859-15"
-    echo "IBM-850 CP850"
-    echo "IBM-856 CP856"
-    echo "IBM-921 ISO-8859-13"
-    echo "IBM-922 CP922"
-    echo "IBM-932 CP932"
-    echo "IBM-943 CP943"
-    echo "IBM-1046 CP1046"
-    echo "IBM-1124 CP1124"
-    echo "IBM-1129 CP1129"
-    echo "IBM-1252 CP1252"
-    echo "IBM-eucCN GB2312"
-    echo "IBM-eucJP EUC-JP"
-    echo "IBM-eucKR EUC-KR"
-    echo "IBM-eucTW EUC-TW"
-    echo "big5 BIG5"
-    echo "GBK GBK"
-    echo "TIS-620 TIS-620"
-    echo "UTF-8 UTF-8"
-    ;;
-  hpux*)
-    echo "iso88591 ISO-8859-1"
-    echo "iso88592 ISO-8859-2"
-    echo "iso88595 ISO-8859-5"
-    echo "iso88596 ISO-8859-6"
-    echo "iso88597 ISO-8859-7"
-    echo "iso88598 ISO-8859-8"
-    echo "iso88599 ISO-8859-9"
-    echo "iso885915 ISO-8859-15"
-    echo "roman8 HP-ROMAN8"
-    echo "arabic8 HP-ARABIC8"
-    echo "greek8 HP-GREEK8"
-    echo "hebrew8 HP-HEBREW8"
-    echo "turkish8 HP-TURKISH8"
-    echo "kana8 HP-KANA8"
-    echo "tis620 TIS-620"
-    echo "big5 BIG5"
-    echo "eucJP EUC-JP"
-    echo "eucKR EUC-KR"
-    echo "eucTW EUC-TW"
-    echo "hp15CN GB2312"
-    #echo "ccdc ?" # what is this?
-    echo "SJIS SHIFT_JIS"
-    echo "utf8 UTF-8"
-    ;;
-  irix*)
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-9 ISO-8859-9"
-    echo "eucCN GB2312"
-    echo "eucJP EUC-JP"
-    echo "eucKR EUC-KR"
-    echo "eucTW EUC-TW"
-    ;;
-  osf*)
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-4 ISO-8859-4"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-8 ISO-8859-8"
-    echo "ISO8859-9 ISO-8859-9"
-    echo "ISO8859-15 ISO-8859-15"
-    echo "cp850 CP850"
-    echo "big5 BIG5"
-    echo "dechanyu DEC-HANYU"
-    echo "dechanzi GB2312"
-    echo "deckanji DEC-KANJI"
-    echo "deckorean EUC-KR"
-    echo "eucJP EUC-JP"
-    echo "eucKR EUC-KR"
-    echo "eucTW EUC-TW"
-    echo "GBK GBK"
-    echo "KSC5601 CP949"
-    echo "sdeckanji EUC-JP"
-    echo "SJIS SHIFT_JIS"
-    echo "TACTIS TIS-620"
-    echo "UTF-8 UTF-8"
-    ;;
-  solaris*)
-    echo "646 ASCII"
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-3 ISO-8859-3"
-    echo "ISO8859-4 ISO-8859-4"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-6 ISO-8859-6"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-8 ISO-8859-8"
-    echo "ISO8859-9 ISO-8859-9"
-    echo "ISO8859-15 ISO-8859-15"
-    echo "koi8-r KOI8-R"
-    echo "ansi-1251 CP1251"
-    echo "BIG5 BIG5"
-    echo "Big5-HKSCS BIG5-HKSCS"
-    echo "gb2312 GB2312"
-    echo "GBK GBK"
-    echo "GB18030 GB18030"
-    echo "cns11643 EUC-TW"
-    echo "5601 EUC-KR"
-    echo "ko_KR.johap92 JOHAB"
-    echo "eucJP EUC-JP"
-    echo "PCK SHIFT_JIS"
-    echo "TIS620.2533 TIS-620"
-    #echo "sun_eu_greek ?" # what is this?
-    echo "UTF-8 UTF-8"
-    ;;
-  freebsd* | os2*)
-    # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
-    # localcharset.c falls back to using the full locale name
-    # from the environment variables.
-    # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
-    # reuse FreeBSD's locale data for OS/2.
-    echo "C ASCII"
-    echo "US-ASCII ASCII"
-    for l in la_LN lt_LN; do
-      echo "$l.ASCII ASCII"
-    done
-    for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
-             fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
-             lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
-      echo "$l.ISO_8859-1 ISO-8859-1"
-      echo "$l.DIS_8859-15 ISO-8859-15"
-    done
-    for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
-      echo "$l.ISO_8859-2 ISO-8859-2"
-    done
-    for l in la_LN lt_LT; do
-      echo "$l.ISO_8859-4 ISO-8859-4"
-    done
-    for l in ru_RU ru_SU; do
-      echo "$l.KOI8-R KOI8-R"
-      echo "$l.ISO_8859-5 ISO-8859-5"
-      echo "$l.CP866 CP866"
-    done
-    echo "uk_UA.KOI8-U KOI8-U"
-    echo "zh_TW.BIG5 BIG5"
-    echo "zh_TW.Big5 BIG5"
-    echo "zh_CN.EUC GB2312"
-    echo "ja_JP.EUC EUC-JP"
-    echo "ja_JP.SJIS SHIFT_JIS"
-    echo "ja_JP.Shift_JIS SHIFT_JIS"
-    echo "ko_KR.EUC EUC-KR"
-    ;;
-  netbsd*)
-    echo "646 ASCII"
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-4 ISO-8859-4"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-13 ISO-8859-13"
-    echo "ISO8859-15 ISO-8859-15"
-    echo "eucCN GB2312"
-    echo "eucJP EUC-JP"
-    echo "eucKR EUC-KR"
-    echo "eucTW EUC-TW"
-    echo "BIG5 BIG5"
-    echo "SJIS SHIFT_JIS"
-    ;;
-  openbsd*)
-    echo "646 ASCII"
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-4 ISO-8859-4"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-13 ISO-8859-13"
-    echo "ISO8859-15 ISO-8859-15"
-    ;;
-  darwin[56]*)
-    # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
-    # localcharset.c falls back to using the full locale name
-    # from the environment variables.
-    echo "C ASCII"
-    for l in en_AU en_CA en_GB en_US la_LN; do
-      echo "$l.US-ASCII ASCII"
-    done
-    for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
-             fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \
-             nl_NL no_NO pt_PT sv_SE; do
-      echo "$l ISO-8859-1"
-      echo "$l.ISO8859-1 ISO-8859-1"
-      echo "$l.ISO8859-15 ISO-8859-15"
-    done
-    for l in la_LN; do
-      echo "$l.ISO8859-1 ISO-8859-1"
-      echo "$l.ISO8859-15 ISO-8859-15"
-    done
-    for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do
-      echo "$l.ISO8859-2 ISO-8859-2"
-    done
-    for l in la_LN lt_LT; do
-      echo "$l.ISO8859-4 ISO-8859-4"
-    done
-    for l in ru_RU; do
-      echo "$l.KOI8-R KOI8-R"
-      echo "$l.ISO8859-5 ISO-8859-5"
-      echo "$l.CP866 CP866"
-    done
-    for l in bg_BG; do
-      echo "$l.CP1251 CP1251"
-    done
-    echo "uk_UA.KOI8-U KOI8-U"
-    echo "zh_TW.BIG5 BIG5"
-    echo "zh_TW.Big5 BIG5"
-    echo "zh_CN.EUC GB2312"
-    echo "ja_JP.EUC EUC-JP"
-    echo "ja_JP.SJIS SHIFT_JIS"
-    echo "ko_KR.EUC EUC-KR"
-    ;;
-  darwin*)
-    # Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is
-    # useless:
-    # - It returns the empty string when LANG is set to a locale of the
-    #   form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
-    #   LC_CTYPE file.
-    # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
-    #   the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
-    # - The documentation says:
-    #     "... all code that calls BSD system routines should ensure
-    #      that the const *char parameters of these routines are in UTF-8
-    #      encoding. All BSD system functions expect their string
-    #      parameters to be in UTF-8 encoding and nothing else."
-    #   It also says
-    #     "An additional caveat is that string parameters for files,
-    #      paths, and other file-system entities must be in canonical
-    #      UTF-8. In a canonical UTF-8 Unicode string, all decomposable
-    #      characters are decomposed ..."
-    #   but this is not true: You can pass non-decomposed UTF-8 strings
-    #   to file system functions, and it is the OS which will convert
-    #   them to decomposed UTF-8 before accessing the file system.
-    # - The Apple Terminal application displays UTF-8 by default.
-    # - However, other applications are free to use different encodings:
-    #   - xterm uses ISO-8859-1 by default.
-    #   - TextEdit uses MacRoman by default.
-    # We prefer UTF-8 over decomposed UTF-8-MAC because one should
-    # minimize the use of decomposed Unicode. Unfortunately, through the
-    # Darwin file system, decomposed UTF-8 strings are leaked into user
-    # space nevertheless.
-    # Then there are also the locales with encodings other than US-ASCII
-    # and UTF-8. These locales can be occasionally useful to users (e.g.
-    # when grepping through ISO-8859-1 encoded text files), when all their
-    # file names are in US-ASCII.
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-4 ISO-8859-4"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-9 ISO-8859-9"
-    echo "ISO8859-13 ISO-8859-13"
-    echo "ISO8859-15 ISO-8859-15"
-    echo "KOI8-R KOI8-R"
-    echo "KOI8-U KOI8-U"
-    echo "CP866 CP866"
-    echo "CP949 CP949"
-    echo "CP1131 CP1131"
-    echo "CP1251 CP1251"
-    echo "eucCN GB2312"
-    echo "GB2312 GB2312"
-    echo "eucJP EUC-JP"
-    echo "eucKR EUC-KR"
-    echo "Big5 BIG5"
-    echo "Big5HKSCS BIG5-HKSCS"
-    echo "GBK GBK"
-    echo "GB18030 GB18030"
-    echo "SJIS SHIFT_JIS"
-    echo "ARMSCII-8 ARMSCII-8"
-    echo "PT154 PT154"
-    #echo "ISCII-DEV ?"
-    echo "* UTF-8"
-    ;;
-  beos* | haiku*)
-    # BeOS and Haiku have a single locale, and it has UTF-8 encoding.
-    echo "* UTF-8"
-    ;;
-  msdosdjgpp*)
-    # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
-    # localcharset.c falls back to using the full locale name
-    # from the environment variables.
-    echo "#"
-    echo "# The encodings given here may not all be correct."
-    echo "# If you find that the encoding given for your language and"
-    echo "# country is not the one your DOS machine actually uses, just"
-    echo "# correct it in this file, and send a mail to"
-    echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>"
-    echo "# and Bruno Haible <bruno@clisp.org>."
-    echo "#"
-    echo "C ASCII"
-    # ISO-8859-1 languages
-    echo "ca CP850"
-    echo "ca_ES CP850"
-    echo "da CP865"    # not CP850 ??
-    echo "da_DK CP865" # not CP850 ??
-    echo "de CP850"
-    echo "de_AT CP850"
-    echo "de_CH CP850"
-    echo "de_DE CP850"
-    echo "en CP850"
-    echo "en_AU CP850" # not CP437 ??
-    echo "en_CA CP850"
-    echo "en_GB CP850"
-    echo "en_NZ CP437"
-    echo "en_US CP437"
-    echo "en_ZA CP850" # not CP437 ??
-    echo "es CP850"
-    echo "es_AR CP850"
-    echo "es_BO CP850"
-    echo "es_CL CP850"
-    echo "es_CO CP850"
-    echo "es_CR CP850"
-    echo "es_CU CP850"
-    echo "es_DO CP850"
-    echo "es_EC CP850"
-    echo "es_ES CP850"
-    echo "es_GT CP850"
-    echo "es_HN CP850"
-    echo "es_MX CP850"
-    echo "es_NI CP850"
-    echo "es_PA CP850"
-    echo "es_PY CP850"
-    echo "es_PE CP850"
-    echo "es_SV CP850"
-    echo "es_UY CP850"
-    echo "es_VE CP850"
-    echo "et CP850"
-    echo "et_EE CP850"
-    echo "eu CP850"
-    echo "eu_ES CP850"
-    echo "fi CP850"
-    echo "fi_FI CP850"
-    echo "fr CP850"
-    echo "fr_BE CP850"
-    echo "fr_CA CP850"
-    echo "fr_CH CP850"
-    echo "fr_FR CP850"
-    echo "ga CP850"
-    echo "ga_IE CP850"
-    echo "gd CP850"
-    echo "gd_GB CP850"
-    echo "gl CP850"
-    echo "gl_ES CP850"
-    echo "id CP850"    # not CP437 ??
-    echo "id_ID CP850" # not CP437 ??
-    echo "is CP861"    # not CP850 ??
-    echo "is_IS CP861" # not CP850 ??
-    echo "it CP850"
-    echo "it_CH CP850"
-    echo "it_IT CP850"
-    echo "lt CP775"
-    echo "lt_LT CP775"
-    echo "lv CP775"
-    echo "lv_LV CP775"
-    echo "nb CP865"    # not CP850 ??
-    echo "nb_NO CP865" # not CP850 ??
-    echo "nl CP850"
-    echo "nl_BE CP850"
-    echo "nl_NL CP850"
-    echo "nn CP865"    # not CP850 ??
-    echo "nn_NO CP865" # not CP850 ??
-    echo "no CP865"    # not CP850 ??
-    echo "no_NO CP865" # not CP850 ??
-    echo "pt CP850"
-    echo "pt_BR CP850"
-    echo "pt_PT CP850"
-    echo "sv CP850"
-    echo "sv_SE CP850"
-    # ISO-8859-2 languages
-    echo "cs CP852"
-    echo "cs_CZ CP852"
-    echo "hr CP852"
-    echo "hr_HR CP852"
-    echo "hu CP852"
-    echo "hu_HU CP852"
-    echo "pl CP852"
-    echo "pl_PL CP852"
-    echo "ro CP852"
-    echo "ro_RO CP852"
-    echo "sk CP852"
-    echo "sk_SK CP852"
-    echo "sl CP852"
-    echo "sl_SI CP852"
-    echo "sq CP852"
-    echo "sq_AL CP852"
-    echo "sr CP852"    # CP852 or CP866 or CP855 ??
-    echo "sr_CS CP852" # CP852 or CP866 or CP855 ??
-    echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
-    # ISO-8859-3 languages
-    echo "mt CP850"
-    echo "mt_MT CP850"
-    # ISO-8859-5 languages
-    echo "be CP866"
-    echo "be_BE CP866"
-    echo "bg CP866"    # not CP855 ??
-    echo "bg_BG CP866" # not CP855 ??
-    echo "mk CP866"    # not CP855 ??
-    echo "mk_MK CP866" # not CP855 ??
-    echo "ru CP866"
-    echo "ru_RU CP866"
-    echo "uk CP1125"
-    echo "uk_UA CP1125"
-    # ISO-8859-6 languages
-    echo "ar CP864"
-    echo "ar_AE CP864"
-    echo "ar_DZ CP864"
-    echo "ar_EG CP864"
-    echo "ar_IQ CP864"
-    echo "ar_IR CP864"
-    echo "ar_JO CP864"
-    echo "ar_KW CP864"
-    echo "ar_MA CP864"
-    echo "ar_OM CP864"
-    echo "ar_QA CP864"
-    echo "ar_SA CP864"
-    echo "ar_SY CP864"
-    # ISO-8859-7 languages
-    echo "el CP869"
-    echo "el_GR CP869"
-    # ISO-8859-8 languages
-    echo "he CP862"
-    echo "he_IL CP862"
-    # ISO-8859-9 languages
-    echo "tr CP857"
-    echo "tr_TR CP857"
-    # Japanese
-    echo "ja CP932"
-    echo "ja_JP CP932"
-    # Chinese
-    echo "zh_CN GBK"
-    echo "zh_TW CP950" # not CP938 ??
-    # Korean
-    echo "kr CP949"    # not CP934 ??
-    echo "kr_KR CP949" # not CP934 ??
-    # Thai
-    echo "th CP874"
-    echo "th_TH CP874"
-    # Other
-    echo "eo CP850"
-    echo "eo_EO CP850"
-    ;;
-esac
index 2edf095d87a318bd3dbf7fce6ad841c4354e1ddb..d0640d2b72e82fdec2cec3b72b2a13a6f6a4671c 100644 (file)
@@ -26,6 +26,9 @@
 /* Define to 1 if using `alloca.c'. */
 #undef C_ALLOCA
 
+/* Define to 1 if the C locale may have encoding errors. */
+#undef C_LOCALE_MAYBE_EILSEQ
+
 /* Enable assertions, etc. */
 #undef DEBUG
 
@@ -35,9 +38,6 @@
 /* Define to 1 if // is a file system root distinct from /. */
 #undef DOUBLE_SLASH_IS_DISTINCT_ROOT
 
-/* Lazy linking to fs libs */
-#undef DYNAMIC_LOADING
-
 /* device mapper (libdevmapper) support */
 #undef ENABLE_DEVICE_MAPPER
 
    msdos partition tables */
 #undef ENABLE_PC98
 
+/* Define this to 1 if F_DUPFD behavior does not match POSIX */
+#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; short
+   d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
+   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
+   dot component. */
+#undef FUNC_MKDIR_DOT_BUG
+
 /* Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string. */
 #undef FUNC_NL_LANGINFO_YESEXPR_WORKS
 
    whether the gnulib module malloc-gnu shall be considered present. */
 #undef GNULIB_MALLOC_GNU
 
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module msvc-nothrow shall be considered present. */
+#undef GNULIB_MSVC_NOTHROW
+
 /* enable some gnulib portability checks */
 #undef GNULIB_PORTCHECK
 
+/* Define to 1 if printf and friends should be labeled with attribute
+   "__gnu_printf__" instead of "__printf__" */
+#undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+
 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
    whether the gnulib module realloc-gnu shall be considered present. */
 #undef GNULIB_REALLOC_GNU
    whether the gnulib module strerror shall be considered present. */
 #undef GNULIB_STRERROR
 
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module strerror_r-posix shall be considered present. */
+#undef GNULIB_STRERROR_R_POSIX
+
+/* Define to 1 when the gnulib module accept should be tested. */
+#undef GNULIB_TEST_ACCEPT
+
+/* Define to 1 when the gnulib module bind should be tested. */
+#undef GNULIB_TEST_BIND
+
 /* Define to 1 when the gnulib module btowc should be tested. */
 #undef GNULIB_TEST_BTOWC
 
    */
 #undef GNULIB_TEST_CANONICALIZE_FILE_NAME
 
+/* Define to 1 when the gnulib module cloexec should be tested. */
+#undef GNULIB_TEST_CLOEXEC
+
 /* Define to 1 when the gnulib module close should be tested. */
 #undef GNULIB_TEST_CLOSE
 
+/* Define to 1 when the gnulib module connect should be tested. */
+#undef GNULIB_TEST_CONNECT
+
 /* Define to 1 when the gnulib module dup2 should be tested. */
 #undef GNULIB_TEST_DUP2
 
 /* Define to 1 when the gnulib module environ should be tested. */
 #undef GNULIB_TEST_ENVIRON
 
+/* Define to 1 when the gnulib module fcntl should be tested. */
+#undef GNULIB_TEST_FCNTL
+
 /* Define to 1 when the gnulib module fdopen should be tested. */
 #undef GNULIB_TEST_FDOPEN
 
 /* Define to 1 when the gnulib module fsync should be tested. */
 #undef GNULIB_TEST_FSYNC
 
+/* Define to 1 when the gnulib module ftruncate should be tested. */
+#undef GNULIB_TEST_FTRUNCATE
+
 /* Define to 1 when the gnulib module getcwd should be tested. */
 #undef GNULIB_TEST_GETCWD
 
 /* Define to 1 when the gnulib module getdtablesize should be tested. */
 #undef GNULIB_TEST_GETDTABLESIZE
 
-/* Define to 1 when the gnulib module getopt-gnu should be tested. */
-#undef GNULIB_TEST_GETOPT_GNU
-
 /* Define to 1 when the gnulib module getpagesize should be tested. */
 #undef GNULIB_TEST_GETPAGESIZE
 
 /* Define to 1 when the gnulib module gettimeofday should be tested. */
 #undef GNULIB_TEST_GETTIMEOFDAY
 
+/* Define to 1 when the gnulib module ioctl should be tested. */
+#undef GNULIB_TEST_IOCTL
+
+/* Define to 1 when the gnulib module listen should be tested. */
+#undef GNULIB_TEST_LISTEN
+
 /* Define to 1 when the gnulib module localeconv should be tested. */
 #undef GNULIB_TEST_LOCALECONV
 
+/* Define to 1 when the gnulib module localename should be tested. */
+#undef GNULIB_TEST_LOCALENAME
+
 /* Define to 1 when the gnulib module lseek should be tested. */
 #undef GNULIB_TEST_LSEEK
 
 /* Define to 1 when the gnulib module mkstemp should be tested. */
 #undef GNULIB_TEST_MKSTEMP
 
+/* Define to 1 when the gnulib module nanosleep should be tested. */
+#undef GNULIB_TEST_NANOSLEEP
+
 /* Define to 1 when the gnulib module nl_langinfo should be tested. */
 #undef GNULIB_TEST_NL_LANGINFO
 
 /* Define to 1 when the gnulib module open should be tested. */
 #undef GNULIB_TEST_OPEN
 
+/* Define to 1 when the gnulib module perror should be tested. */
+#undef GNULIB_TEST_PERROR
+
+/* Define to 1 when the gnulib module pipe should be tested. */
+#undef GNULIB_TEST_PIPE
+
+/* Define to 1 when the gnulib module pthread_sigmask should be tested. */
+#undef GNULIB_TEST_PTHREAD_SIGMASK
+
+/* Define to 1 when the gnulib module pthread-thread should be tested. */
+#undef GNULIB_TEST_PTHREAD_THREAD
+
 /* Define to 1 when the gnulib module putenv should be tested. */
 #undef GNULIB_TEST_PUTENV
 
+/* Define to 1 when the gnulib module raise should be tested. */
+#undef GNULIB_TEST_RAISE
+
 /* Define to 1 when the gnulib module read should be tested. */
 #undef GNULIB_TEST_READ
 
 /* Define to 1 when the gnulib module rpmatch should be tested. */
 #undef GNULIB_TEST_RPMATCH
 
-/* Define to 1 when the gnulib module secure_getenv should be tested. */
-#undef GNULIB_TEST_SECURE_GETENV
+/* Define to 1 when the gnulib module select should be tested. */
+#undef GNULIB_TEST_SELECT
 
 /* Define to 1 when the gnulib module setenv should be tested. */
 #undef GNULIB_TEST_SETENV
 /* Define to 1 when the gnulib module setlocale should be tested. */
 #undef GNULIB_TEST_SETLOCALE
 
+/* Define to 1 when the gnulib module setsockopt should be tested. */
+#undef GNULIB_TEST_SETSOCKOPT
+
+/* Define to 1 when the gnulib module sigaction should be tested. */
+#undef GNULIB_TEST_SIGACTION
+
+/* Define to 1 when the gnulib module sigprocmask should be tested. */
+#undef GNULIB_TEST_SIGPROCMASK
+
 /* Define to 1 when the gnulib module sleep should be tested. */
 #undef GNULIB_TEST_SLEEP
 
+/* Define to 1 when the gnulib module socket should be tested. */
+#undef GNULIB_TEST_SOCKET
+
 /* Define to 1 when the gnulib module stat should be tested. */
 #undef GNULIB_TEST_STAT
 
 /* Define to 1 when the gnulib module strerror should be tested. */
 #undef GNULIB_TEST_STRERROR
 
+/* Define to 1 when the gnulib module strerror_r should be tested. */
+#undef GNULIB_TEST_STRERROR_R
+
 /* Define to 1 when the gnulib module strndup should be tested. */
 #undef GNULIB_TEST_STRNDUP
 
    */
 #undef HAVE_ALLOCA_H
 
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H
+
 /* Has backtrace support */
 #undef HAVE_BACKTRACE
 
 /* Define to 1 if you have the `btowc' function. */
 #undef HAVE_BTOWC
 
+/* Define to 1 if nanosleep mishandles large arguments. */
+#undef HAVE_BUG_BIG_NANOSLEEP
+
 /* Define to 1 if your system has a GNU libc compatible 'calloc' function, and
    to 0 otherwise. */
 #undef HAVE_CALLOC_GNU
 /* Define to 1 if you have the `canonicalize_file_name' function. */
 #undef HAVE_CANONICALIZE_FILE_NAME
 
-/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
-   CoreFoundation framework. */
-#undef HAVE_CFLOCALECOPYCURRENT
+/* Define to 1 if you have the `catgets' function. */
+#undef HAVE_CATGETS
+
+/* Define to 1 if you have the Mac OS X function
+   CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */
+#undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES
 
 /* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
    the CoreFoundation framework. */
 #undef HAVE_CFPREFERENCESCOPYAPPVALUE
 
+/* Define to 1 if you have the `chsize' function. */
+#undef HAVE_CHSIZE
+
+/* Define to 1 if you have the <crtdefs.h> header file. */
+#undef HAVE_CRTDEFS_H
+
 /* Define if the GNU dcgettext() function is already present or preinstalled.
    */
 #undef HAVE_DCGETTEXT
    */
 #undef HAVE_DECL_ALARM
 
-/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
+/* Define to 1 if you have the declaration of `getdtablesize', and to 0 if you
    don't. */
-#undef HAVE_DECL_GETC_UNLOCKED
+#undef HAVE_DECL_GETDTABLESIZE
 
-/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
-   */
-#undef HAVE_DECL_GETENV
+/* Define to 1 if you have the declaration of `inet_pton', and to 0 if you
+   don't. */
+#undef HAVE_DECL_INET_PTON
 
 /* Define to 1 if you have the declaration of `isblank', and to 0 if you
    don't. */
    don't. */
 #undef HAVE_DECL__PUTENV
 
+/* Define to 1 if you have the declaration of `__argv', and to 0 if you don't.
+   */
+#undef HAVE_DECL___ARGV
+
 /* Define to 1 if you have the declaration of `__fpending', and to 0 if you
    don't. */
 #undef HAVE_DECL___FPENDING
 /* Define to 1 if you have the 'dup2' function. */
 #undef HAVE_DUP2
 
+/* Define to 1 if you have the `duplocale' function. */
+#undef HAVE_DUPLOCALE
+
 /* Define if you have the declaration of environ. */
 #undef HAVE_ENVIRON_DECL
 
+/* Define if the locale_t type contains insufficient information, as on
+   OpenBSD. */
+#undef HAVE_FAKE_LOCALES
+
+/* Define to 1 if you have the `fcntl' function. */
+#undef HAVE_FCNTL
+
 /* Define to 1 if you have the <features.h> header file. */
 #undef HAVE_FEATURES_H
 
+/* Define to 1 if you have the `freelocale' function. */
+#undef HAVE_FREELOCALE
+
 /* Define to 1 if you have the `fsync' function. */
 #undef HAVE_FSYNC
 
+/* Define to 1 if you have the `ftruncate' function. */
+#undef HAVE_FTRUNCATE
+
 /* Define to 1 if you have the `getcwd' function. */
 #undef HAVE_GETCWD
 
 /* Define to 1 if you have the `getdtablesize' function. */
 #undef HAVE_GETDTABLESIZE
 
+/* Define to 1 if you have the `getexecname' function. */
+#undef HAVE_GETEXECNAME
+
+/* Define to 1 if you have the `getlocalename_l' function. */
+#undef HAVE_GETLOCALENAME_L
+
 /* Define to 1 if you have the <getopt.h> header file. */
 #undef HAVE_GETOPT_H
 
 /* Define to 1 if you have the `getopt_long_only' function. */
 #undef HAVE_GETOPT_LONG_ONLY
 
-/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
-
 /* Define to 1 if you have the `getppriv' function. */
 #undef HAVE_GETPPRIV
 
+/* Define to 1 if you have the `getprogname' function. */
+#undef HAVE_GETPROGNAME
+
 /* Define if the GNU gettext() function is already present or preinstalled. */
 #undef HAVE_GETTEXT
 
 /* Define if you have the iconv() function and it works. */
 #undef HAVE_ICONV
 
+/* Define to 1 if you have the `inet_pton' function. */
+#undef HAVE_INET_PTON
+
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the `ioctl' function. */
+#undef HAVE_IOCTL
+
+/* Define to 1 if <sys/socket.h> defines AF_INET. */
+#undef HAVE_IPV4
+
+/* Define to 1 if <sys/socket.h> defines AF_INET6. */
+#undef HAVE_IPV6
+
 /* Define to 1 if you have the `isblank' function. */
 #undef HAVE_ISBLANK
 
-/* Define to 1 if you have the `issetugid' function. */
-#undef HAVE_ISSETUGID
-
 /* Define to 1 if you have the `iswcntrl' function. */
 #undef HAVE_ISWCNTRL
 
 /* have readline */
 #undef HAVE_LIBREADLINE
 
-/* Have libreiserfs */
-#undef HAVE_LIBREISERFS
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
 
 /* Define to 1 if you have the <linux/ext2_fs.h> header file. */
 #undef HAVE_LINUX_EXT2_FS_H
 /* 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 <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
+/* Define to 1 if <limits.h> defines the MIN and MAX macros. */
+#undef HAVE_MINMAX_IN_LIMITS_H
+
+/* Define to 1 if <sys/param.h> defines the MIN and MAX macros. */
+#undef HAVE_MINMAX_IN_SYS_PARAM_H
+
 /* Define to 1 if you have the `mkstemp' function. */
 #undef HAVE_MKSTEMP
 
    concept. */
 #undef HAVE_MSVC_INVALID_PARAMETER_HANDLER
 
+/* Define if the locale_t type does not contain the name of each locale
+   category. */
+#undef HAVE_NAMELESS_LOCALES
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
 /* Define to 1 if you have the `newlocale' function. */
 #undef HAVE_NEWLOCALE
 
 /* Define to 1 if you have the <OS.h> header file. */
 #undef HAVE_OS_H
 
+/* Define to 1 if you have the `pipe' function. */
+#undef HAVE_PIPE
+
 /* Define to 1 if you have the <priv.h> header file. */
 #undef HAVE_PRIV_H
 
 /* Define to 1 if you have the `pthread_atfork' function. */
 #undef HAVE_PTHREAD_ATFORK
 
+/* Define to 1 if you have the <pthread.h> header file. */
+#undef HAVE_PTHREAD_H
+
 /* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */
 #undef HAVE_PTHREAD_MUTEX_RECURSIVE
 
 /* Define if the POSIX multithreading library has read/write locks. */
 #undef HAVE_PTHREAD_RWLOCK
 
-/* Define to 1 if atoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ATOLL
-
-/* Define to 1 if btowc is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_BTOWC
-
-/* Define to 1 if canonicalize_file_name is declared even after undefining
-   macros. */
-#undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
-
-/* Define to 1 if chdir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_CHDIR
-
-/* Define to 1 if chown is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_CHOWN
-
-/* Define to 1 if dprintf is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DPRINTF
-
-/* Define to 1 if dup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUP
-
-/* Define to 1 if dup2 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUP2
-
-/* Define to 1 if dup3 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUP3
-
-/* Define to 1 if duplocale is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUPLOCALE
-
-/* Define to 1 if endusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ENDUSERSHELL
-
-/* Define to 1 if environ is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ENVIRON
-
-/* Define to 1 if euidaccess is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_EUIDACCESS
-
-/* Define to 1 if faccessat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FACCESSAT
-
-/* Define to 1 if fchdir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHDIR
-
-/* Define to 1 if fchmodat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHMODAT
-
-/* Define to 1 if fchownat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHOWNAT
-
-/* Define to 1 if fcntl is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCNTL
-
-/* Define to 1 if fdatasync is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FDATASYNC
-
-/* Define to 1 if ffsl is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FFSL
-
-/* Define to 1 if ffsll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FFSLL
-
-/* Define to 1 if fpurge is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FPURGE
-
-/* Define to 1 if fseeko is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FSEEKO
-
-/* Define to 1 if fstat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FSTAT
-
-/* Define to 1 if fstatat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FSTATAT
-
-/* Define to 1 if fsync is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FSYNC
-
-/* Define to 1 if ftello is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FTELLO
-
-/* Define to 1 if ftruncate is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FTRUNCATE
-
-/* Define to 1 if futimens is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FUTIMENS
-
-/* Define to 1 if getcwd is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETCWD
-
-/* Define to 1 if getdelim is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETDELIM
-
-/* Define to 1 if getdomainname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETDOMAINNAME
-
-/* Define to 1 if getdtablesize is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETDTABLESIZE
-
-/* Define to 1 if getgroups is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETGROUPS
-
-/* Define to 1 if gethostname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETHOSTNAME
-
-/* Define to 1 if getline is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLINE
-
-/* Define to 1 if getloadavg is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOADAVG
-
-/* Define to 1 if getlogin is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOGIN
-
-/* Define to 1 if getlogin_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOGIN_R
-
-/* Define to 1 if getpagesize is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETPAGESIZE
-
-/* Define to 1 if gets is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETS
-
-/* Define to 1 if getsubopt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETSUBOPT
-
-/* Define to 1 if gettimeofday is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETTIMEOFDAY
-
-/* Define to 1 if getusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETUSERSHELL
-
-/* Define to 1 if grantpt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GRANTPT
-
-/* Define to 1 if group_member is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GROUP_MEMBER
-
-/* Define to 1 if imaxabs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_IMAXABS
-
-/* Define to 1 if imaxdiv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_IMAXDIV
-
-/* Define to 1 if initstate is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_INITSTATE
-
-/* Define to 1 if initstate_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_INITSTATE_R
-
-/* Define to 1 if isatty is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ISATTY
-
-/* Define to 1 if iswctype is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ISWCTYPE
-
-/* Define to 1 if lchmod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LCHMOD
-
-/* Define to 1 if lchown is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LCHOWN
-
-/* Define to 1 if link is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LINK
-
-/* Define to 1 if linkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LINKAT
-
-/* Define to 1 if lseek is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LSEEK
-
-/* Define to 1 if lstat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LSTAT
-
-/* Define to 1 if mbrlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBRLEN
-
-/* Define to 1 if mbrtowc is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBRTOWC
-
-/* Define to 1 if mbsinit is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSINIT
-
-/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSNRTOWCS
-
-/* Define to 1 if mbsrtowcs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSRTOWCS
-
-/* Define to 1 if memmem is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMMEM
-
-/* Define to 1 if mempcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMPCPY
-
-/* Define to 1 if memrchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMRCHR
-
-/* Define to 1 if mkdirat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKDIRAT
-
-/* Define to 1 if mkdtemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKDTEMP
-
-/* Define to 1 if mkfifo is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKFIFO
-
-/* Define to 1 if mkfifoat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKFIFOAT
-
-/* Define to 1 if mknod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKNOD
-
-/* Define to 1 if mknodat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKNODAT
-
-/* Define to 1 if mkostemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKOSTEMP
-
-/* Define to 1 if mkostemps is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKOSTEMPS
-
-/* Define to 1 if mkstemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKSTEMP
-
-/* Define to 1 if mkstemps is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKSTEMPS
-
-/* Define to 1 if nl_langinfo is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_NL_LANGINFO
-
-/* Define to 1 if openat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_OPENAT
-
-/* Define to 1 if pclose is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PCLOSE
-
-/* Define to 1 if pipe is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PIPE
-
-/* Define to 1 if pipe2 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PIPE2
-
-/* Define to 1 if popen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_POPEN
-
-/* Define to 1 if posix_openpt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_POSIX_OPENPT
-
-/* Define to 1 if pread is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PREAD
-
-/* Define to 1 if ptsname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PTSNAME
-
-/* Define to 1 if ptsname_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PTSNAME_R
-
-/* Define to 1 if pwrite is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PWRITE
-
-/* Define to 1 if random is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RANDOM
-
-/* Define to 1 if random_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RANDOM_R
-
-/* Define to 1 if rawmemchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RAWMEMCHR
-
-/* Define to 1 if readlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_READLINK
-
-/* Define to 1 if readlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_READLINKAT
-
-/* Define to 1 if realpath is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_REALPATH
-
-/* Define to 1 if renameat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RENAMEAT
-
-/* Define to 1 if rmdir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RMDIR
-
-/* Define to 1 if rpmatch is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RPMATCH
-
-/* Define to 1 if secure_getenv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SECURE_GETENV
+/* Define if the 'pthread_rwlock_rdlock' function prefers a writer to a
+   reader. */
+#undef HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER
 
-/* Define to 1 if setenv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETENV
+/* Define to 1 if the pthread_sigmask function can be used (despite bugs). */
+#undef HAVE_PTHREAD_SIGMASK
 
-/* Define to 1 if sethostname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETHOSTNAME
+/* Define to 1 if the system has the type `pthread_spinlock_t'. */
+#undef HAVE_PTHREAD_SPINLOCK_T
 
-/* Define to 1 if setlocale is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETLOCALE
+/* Define to 1 if the system has the type `pthread_t'. */
+#undef HAVE_PTHREAD_T
 
-/* Define to 1 if setstate is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETSTATE
-
-/* Define to 1 if setstate_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETSTATE_R
-
-/* Define to 1 if setusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETUSERSHELL
-
-/* Define to 1 if sleep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SLEEP
-
-/* Define to 1 if snprintf is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SNPRINTF
-
-/* Define to 1 if srandom is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SRANDOM
-
-/* Define to 1 if srandom_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SRANDOM_R
-
-/* Define to 1 if stat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STAT
-
-/* Define to 1 if stpcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STPCPY
-
-/* Define to 1 if stpncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STPNCPY
-
-/* Define to 1 if strcasestr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRCASESTR
-
-/* Define to 1 if strchrnul is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRCHRNUL
-
-/* Define to 1 if strdup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRDUP
-
-/* Define to 1 if strerror_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRERROR_R
-
-/* Define to 1 if strncat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNCAT
-
-/* Define to 1 if strndup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNDUP
-
-/* Define to 1 if strnlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNLEN
-
-/* Define to 1 if strpbrk is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRPBRK
-
-/* Define to 1 if strsep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRSEP
-
-/* Define to 1 if strsignal is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRSIGNAL
-
-/* Define to 1 if strtod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOD
-
-/* Define to 1 if strtoimax is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOIMAX
-
-/* Define to 1 if strtok_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOK_R
-
-/* Define to 1 if strtoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOLL
-
-/* Define to 1 if strtoull is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOULL
-
-/* Define to 1 if strtoumax is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOUMAX
-
-/* Define to 1 if strverscmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRVERSCMP
-
-/* Define to 1 if symlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SYMLINK
-
-/* Define to 1 if symlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SYMLINKAT
-
-/* Define to 1 if tmpfile is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_TMPFILE
-
-/* Define to 1 if towctrans is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_TOWCTRANS
-
-/* Define to 1 if ttyname_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_TTYNAME_R
-
-/* Define to 1 if unlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLINK
-
-/* Define to 1 if unlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLINKAT
-
-/* Define to 1 if unlockpt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLOCKPT
-
-/* Define to 1 if unsetenv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNSETENV
-
-/* Define to 1 if usleep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_USLEEP
-
-/* Define to 1 if utimensat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UTIMENSAT
-
-/* Define to 1 if vdprintf is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_VDPRINTF
-
-/* Define to 1 if vsnprintf is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_VSNPRINTF
-
-/* Define to 1 if wcpcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCPCPY
-
-/* Define to 1 if wcpncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCPNCPY
-
-/* Define to 1 if wcrtomb is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCRTOMB
-
-/* Define to 1 if wcscasecmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCASECMP
-
-/* Define to 1 if wcscat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCAT
-
-/* Define to 1 if wcschr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCHR
-
-/* Define to 1 if wcscmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCMP
-
-/* Define to 1 if wcscoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCOLL
-
-/* Define to 1 if wcscpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCPY
-
-/* Define to 1 if wcscspn is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCSPN
-
-/* Define to 1 if wcsdup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSDUP
-
-/* Define to 1 if wcslen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSLEN
-
-/* Define to 1 if wcsncasecmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCASECMP
-
-/* Define to 1 if wcsncat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCAT
-
-/* Define to 1 if wcsncmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCMP
-
-/* Define to 1 if wcsncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCPY
-
-/* Define to 1 if wcsnlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNLEN
-
-/* Define to 1 if wcsnrtombs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNRTOMBS
-
-/* Define to 1 if wcspbrk is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSPBRK
-
-/* Define to 1 if wcsrchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSRCHR
-
-/* Define to 1 if wcsrtombs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSRTOMBS
-
-/* Define to 1 if wcsspn is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSSPN
-
-/* Define to 1 if wcsstr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSSTR
-
-/* Define to 1 if wcstok is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSTOK
-
-/* Define to 1 if wcswidth is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSWIDTH
-
-/* Define to 1 if wcsxfrm is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSXFRM
-
-/* Define to 1 if wctob is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCTOB
-
-/* Define to 1 if wctrans is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCTRANS
-
-/* Define to 1 if wctype is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCTYPE
-
-/* Define to 1 if wcwidth is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCWIDTH
-
-/* Define to 1 if wmemchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCHR
-
-/* Define to 1 if wmemcmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCMP
-
-/* Define to 1 if wmemcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCPY
-
-/* Define to 1 if wmemmove is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMMOVE
-
-/* Define to 1 if wmemset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMSET
-
-/* Define to 1 if _Exit is declared even after undefining macros. */
-#undef HAVE_RAW_DECL__EXIT
+/* Define to 1 if you have the `raise' function. */
+#undef HAVE_RAISE
 
 /* Define to 1 if you have the <readline/history.h> header file. */
 #undef HAVE_READLINE_HISTORY_H
 /* Define to 1 if you have the `realpath' function. */
 #undef HAVE_REALPATH
 
-/* Have reiserfs_fs_check() */
-#undef HAVE_REISERFS_FS_CHECK
-
 /* Define to 1 if you have the `rl_completion_matches' function. */
 #undef HAVE_RL_COMPLETION_MATCHES
 
 /* Define to 1 if you have the `rpmatch' function. */
 #undef HAVE_RPMATCH
 
+/* Define to 1 if the system has the type `sa_family_t'. */
+#undef HAVE_SA_FAMILY_T
+
+/* Define to 1 if you have the <sched.h> header file. */
+#undef HAVE_SCHED_H
+
 /* Define to 1 if you have the <search.h> header file. */
 #undef HAVE_SEARCH_H
 
-/* Define to 1 if you have the `secure_getenv' function. */
-#undef HAVE_SECURE_GETENV
+/* Define to 1 if you have the <semaphore.h> header file. */
+#undef HAVE_SEMAPHORE_H
 
 /* Define to 1 if you have the `setdtablesize' function. */
 #undef HAVE_SETDTABLESIZE
 /* Define to 1 if you have the `setenv' function. */
 #undef HAVE_SETENV
 
-/* Define to 1 if you have the `setlocale' function. */
-#undef HAVE_SETLOCALE
+/* Define to 1 if you have the `shutdown' function. */
+#undef HAVE_SHUTDOWN
 
 /* Define to 1 if you have the `sigaction' function. */
 #undef HAVE_SIGACTION
 
+/* Define to 1 if you have the `sigaltstack' function. */
+#undef HAVE_SIGALTSTACK
+
+/* Define to 1 if the system has the type `siginfo_t'. */
+#undef HAVE_SIGINFO_T
+
+/* Define to 1 if you have the `siginterrupt' function. */
+#undef HAVE_SIGINTERRUPT
+
 /* Define to 1 if 'sig_atomic_t' is a signed integer type. */
 #undef HAVE_SIGNED_SIG_ATOMIC_T
 
 /* Define to 1 if 'wint_t' is a signed integer type. */
 #undef HAVE_SIGNED_WINT_T
 
+/* Define to 1 if the system has the type `sigset_t'. */
+#undef HAVE_SIGSET_T
+
 /* Define to 1 if you have the `sleep' function. */
 #undef HAVE_SLEEP
 
+/* Define to 1 if you have the `snprintf' function. */
+#undef HAVE_SNPRINTF
+
+/* Define if the locale_t type is as on Solaris 11.4. */
+#undef HAVE_SOLARIS114_LOCALES
+
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
 /* Define to 1 if `decimal_point' is a member of `struct lconv'. */
 #undef HAVE_STRUCT_LCONV_DECIMAL_POINT
 
+/* Define to 1 if `sa_sigaction' is a member of `struct sigaction'. */
+#undef HAVE_STRUCT_SIGACTION_SA_SIGACTION
+
+/* Define to 1 if the system has the type `struct sockaddr_storage'. */
+#undef HAVE_STRUCT_SOCKADDR_STORAGE
+
+/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */
+#undef HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY
+
+/* Define to 1 if `st_atimensec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_ATIMENSEC
+
+/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
+
+/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
+
+/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
+
+/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
+
+/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
+
+/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
+
 /* Define to 1 if you have the `symlink' function. */
 #undef HAVE_SYMLINK
 
 /* Define to 1 if you have the <sys/bitypes.h> header file. */
 #undef HAVE_SYS_BITYPES_H
 
+/* Define to 1 if you have the <sys/cdefs.h> header file. */
+#undef HAVE_SYS_CDEFS_H
+
 /* Define to 1 if you have the <sys/inttypes.h> header file. */
 #undef HAVE_SYS_INTTYPES_H
 
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
 /* Define to 1 if you have the <sys/mman.h> header file. */
 #undef HAVE_SYS_MMAN_H
 
 /* Define to 1 if you have the <sys/param.h> header file. */
 #undef HAVE_SYS_PARAM_H
 
+/* Define to 1 if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
 /* Define to 1 if you have the <sys/socket.h> header file. */
 #undef HAVE_SYS_SOCKET_H
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H
 
-/* Define to 1 if you have the <sys/timeb.h> header file. */
-#undef HAVE_SYS_TIMEB_H
-
 /* Define to 1 if you have the <sys/time.h> header file. */
 #undef HAVE_SYS_TIME_H
 
 /* Define to 1 if you have the <sys/types.h> header file. */
 #undef HAVE_SYS_TYPES_H
 
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#undef HAVE_SYS_UIO_H
+
+/* Define to 1 if you have the <sys/wait.h> header file. */
+#undef HAVE_SYS_WAIT_H
+
 /* Define to 1 if you have the <termcap.h> header file. */
 #undef HAVE_TERMCAP_H
 
+/* 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
 
 /* Define to 1 if you have the `usleep' function. */
 #undef HAVE_USLEEP
 
+/* Define if you have a global __progname variable */
+#undef HAVE_VAR___PROGNAME
+
 /* Define to 1 if you have the <wchar.h> header file. */
 #undef HAVE_WCHAR_H
 
 /* Define to 1 if O_NOFOLLOW works. */
 #undef HAVE_WORKING_O_NOFOLLOW
 
+/* Define if the uselocale function exists any may safely be called. */
+#undef HAVE_WORKING_USELOCALE
+
+/* Define to 1 if you have the <ws2tcpip.h> header file. */
+#undef HAVE_WS2TCPIP_H
+
 /* Define to 1 if you have the <xlocale.h> header file. */
 #undef HAVE_XLOCALE_H
 
 /* Define to 1 if the system has the type `_Bool'. */
 #undef HAVE__BOOL
 
-/* Define to 1 if you have the `_ftime' function. */
-#undef HAVE__FTIME
-
 /* Define to 1 if you have the `_set_invalid_parameter_handler' function. */
 #undef HAVE__SET_INVALID_PARAMETER_HANDLER
 
-/* Define to 1 if you have the `__secure_getenv' function. */
-#undef HAVE___SECURE_GETENV
+/* Define to 1 if the compiler supports __builtin_expect,
+   and to 2 if <builtins.h> does.  */
+#undef HAVE___BUILTIN_EXPECT
+#ifndef HAVE___BUILTIN_EXPECT
+# define __builtin_expect(e, c) (e)
+#elif HAVE___BUILTIN_EXPECT == 2
+# include <builtins.h>
+#endif
+    
+
+/* Define to 1 if the compiler supports the keyword '__inline'. */
+#undef HAVE___INLINE
+
+/* Define to 1 if you have the `__xpg_strerror_r' function. */
+#undef HAVE___XPG_STRERROR_R
 
 /* Extract low level special HFS(+) files for debugging purposes when using
    the "check" command (NOT FOR PACKAGING) */
 #undef HFS_EXTRACT_FS
 
+/* Define as const if the declaration of iconv() needs const. */
+#undef ICONV_CONST
+
 /* Define to 1 if lseek does not detect pipes. */
 #undef LSEEK_PIPE_BROKEN
 
    slash. */
 #undef LSTAT_FOLLOWS_SLASHED_SYMLINK
 
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
 #undef LT_OBJDIR
 
 /* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
 /* Define if the mbrtowc function returns a wrong return value. */
 #undef MBRTOWC_RETVAL_BUG
 
+/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
+
+
 /* Define to 1 if assertions should be disabled. */
 #undef NDEBUG
 
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
-/* the number of pending output bytes on stream 'fp' */
-#undef PENDING_OUTPUT_N_BYTES
-
 /* Define if <inttypes.h> exists and defines unusable PRI* macros. */
 #undef PRI_MACROS_BROKEN
 
    type mode_t. */
 #undef PROMOTED_MODE_T
 
+/* Define if pthread_create is an inline function. */
+#undef PTHREAD_CREATE_IS_INLINE
+
 /* Define if the pthread_in_use() detection is hard. */
 #undef PTHREAD_IN_USE_DETECTION_HARD
 
+/* Define to 1 if pthread_sigmask(), when it fails, returns -1 and sets errno.
+   */
+#undef PTHREAD_SIGMASK_FAILS_WITH_ERRNO
+
+/* Define to 1 if pthread_sigmask may return 0 and have no effect. */
+#undef PTHREAD_SIGMASK_INEFFECTIVE
+
+/* Define to 1 if pthread_sigmask() unblocks signals incorrectly. */
+#undef PTHREAD_SIGMASK_UNBLOCK_BUG
+
 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
    'ptrdiff_t'. */
 #undef PTRDIFF_T_SUFFIX
 /* Disable all writing code */
 #undef READ_ONLY
 
-/* Define to 1 if stat needs help when passed a directory name with a trailing
-   slash */
-#undef REPLACE_FUNC_STAT_DIR
-
 /* Define to 1 if stat needs help when passed a file name with a trailing
    slash */
 #undef REPLACE_FUNC_STAT_FILE
 /* Define to 1 if strerror_r returns char *. */
 #undef STRERROR_R_CHAR_P
 
+/* Define to 1 if the type of the st_atim member of a struct stat is struct
+   timespec. */
+#undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
+
 /* Define to 1 if unlink (dir) cannot possibly succeed. */
 #undef UNLINK_CANNOT_UNLINK_DIR
 
    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
 #endif
-/* Enable general extensions on OS X.  */
+/* Enable general extensions on macOS.  */
 #ifndef _DARWIN_C_SOURCE
 # undef _DARWIN_C_SOURCE
 #endif
 #ifndef _GNU_SOURCE
 # undef _GNU_SOURCE
 #endif
+/* Enable NetBSD extensions on NetBSD.  */
+#ifndef _NETBSD_SOURCE
+# undef _NETBSD_SOURCE
+#endif
+/* Enable OpenBSD extensions on NetBSD.  */
+#ifndef _OPENBSD_SOURCE
+# undef _OPENBSD_SOURCE
+#endif
 /* Enable threading extensions on Solaris.  */
 #ifndef _POSIX_PTHREAD_SEMANTICS
 # undef _POSIX_PTHREAD_SEMANTICS
 #endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# undef __STDC_WANT_IEC_60559_BFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# undef __STDC_WANT_IEC_60559_DFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# undef __STDC_WANT_IEC_60559_TYPES_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# undef __STDC_WANT_LIB_EXT2__
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# undef __STDC_WANT_MATH_SPEC_FUNCS__
+#endif
 /* Enable extensions on HP NonStop.  */
 #ifndef _TANDEM_SOURCE
 # undef _TANDEM_SOURCE
 #ifndef _XOPEN_SOURCE
 # undef _XOPEN_SOURCE
 #endif
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# undef _HPUX_ALT_XOPEN_SOCKET_API
+#endif
 /* Enable general extensions on Solaris.  */
 #ifndef __EXTENSIONS__
 # undef __EXTENSIONS__
    'wchar_t'. */
 #undef WCHAR_T_SUFFIX
 
+/* Define if WSAStartup is needed. */
+#undef WINDOWS_SOCKETS
+
 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
    'wint_t'. */
 #undef WINT_T_SUFFIX
 /* enable compile-time and run-time bounds-checking, and some warnings */
 #undef _FORTIFY_SOURCE
 
-/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct
-   stat.st_size becomes 64-bit. */
-#undef _GL_WINDOWS_64_BIT_ST_SIZE
-
 /* Define for large files, on AIX-style hosts. */
 #undef _LARGE_FILES
 
 #undef _NETBSD_SOURCE
 
 /* The _Noreturn keyword of C11.  */
-#if ! (defined _Noreturn \
-       || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
-# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
-      || 0x5110 <= __SUNPRO_C)
+#ifndef _Noreturn
+# if (defined __cplusplus \
+      && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
+          || (defined _MSC_VER && 1900 <= _MSC_VER)))
+#  define _Noreturn [[noreturn]]
+# 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__))
-# elif defined _MSC_VER && 1200 <= _MSC_VER
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
 #  define _Noreturn __declspec (noreturn)
 # else
 #  define _Noreturn
    this defined. */
 #undef _POSIX_1_SOURCE
 
+/* Define to 1 in order to get the POSIX compatible declarations of socket
+   functions. */
+#undef _POSIX_PII_SOCKET
+
 /* Define to 1 if you need to in order for 'stat' and other things to work. */
 #undef _POSIX_SOURCE
 
+/* For thread-safety on OSF/1, Solaris. */
+#undef _REENTRANT
+
 /* Define if you want <regex.h> to include <limits.h>, so that it consistently
    overrides <limits.h>'s RE_DUP_MAX. */
 #undef _REGEX_INCLUDE_LIMITS_H
 /* Define if you want regoff_t to be at least as wide POSIX requires. */
 #undef _REGEX_LARGE_OFFSETS
 
+/* For thread-safety on AIX, FreeBSD. */
+#undef _THREAD_SAFE
+
+/* For standard stat data types on VMS. */
+#undef _USE_STD_STAT
+
 /* Define to rpl_ if the getopt replacement functions and variables should be
    used. */
 #undef __GETOPT_PREFIX
 
+/* Define to 1 if the system <stdint.h> predates C++11. */
+#undef __STDC_CONSTANT_MACROS
+
+/* 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
 
 /* Please see the Gnulib manual for how to use these macros.
 
    Suppress extern inline with HP-UX cc, as it appears to be broken; see
-   <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
+   <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
 
    Suppress extern inline with Sun C in standards-conformance mode, as it
    mishandles inline functions that call each other.  E.g., for 'inline void f
    'reference to static identifier "f" in extern inline function'.
    This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
 
-   Suppress the use of extern inline on problematic Apple configurations.
-   OS X 10.8 and earlier mishandle it; see, e.g.,
-   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions (ISO C 99 section 6.7.4.(3).
+   This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
+
    OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
-   for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
-   Perhaps Apple will fix this some day.  */
-#if (defined __APPLE__ \
+   for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
+   Assume DragonFly and FreeBSD will be similar.
+
+   GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  It defines a macro
+   __GNUC_STDC_INLINE__ to indicate this situation or a macro
+   __GNUC_GNU_INLINE__ to indicate the opposite situation.
+   GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
+   semantics but warns, unless -fgnu89-inline is used:
+     warning: C99 inline functions are not supported; using GNU89
+     warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
+   It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
+ */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
      && (defined __header_inline \
          ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
             && ! defined __clang__) \
              && (defined __GNUC__ || defined __cplusplus)) \
             || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
                 && defined __GNUC__ && ! defined __cplusplus))))
-# define _GL_EXTERN_INLINE_APPLE_BUG
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
 #endif
 #if ((__GNUC__ \
       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
       : (199901L <= __STDC_VERSION__ \
          && !defined __HP_cc \
+         && !defined __PGI \
          && !(defined __SUNPRO_C && __STDC__))) \
-     && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # define _GL_INLINE inline
 # define _GL_EXTERN_INLINE extern inline
 # define _GL_EXTERN_INLINE_IN_USE
 #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
-       && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
    /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
 #  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
 # define _GL_EXTERN_INLINE static _GL_UNUSED
 #endif
 
-#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
+   suppress bogus "no previous prototype for 'FOO'"
+   and "no previous declaration for 'FOO'" diagnostics,
+   when FOO is an inline function in the header; see
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
+#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
 # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
 #  define _GL_INLINE_HEADER_CONST_PRAGMA
 # else
 #  define _GL_INLINE_HEADER_CONST_PRAGMA \
      _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
 # endif
-  /* Suppress GCC's bogus "no previous prototype for 'FOO'"
-     and "no previous declaration for 'FOO'"  diagnostics,
-     when FOO is an inline function in the header; see
-     <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.  */
 # define _GL_INLINE_HEADER_BEGIN \
     _Pragma ("GCC diagnostic push") \
     _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
 # define _GL_INLINE_HEADER_END
 #endif
 
+/* Define to `int' if <sys/types.h> doesn't define. */
+#undef gid_t
+
 /* A replacement for va_copy, if needed.  */
 #define gl_va_copy(a,b) ((a) = (b))
 
 /* Define to `unsigned int' if <sys/types.h> does not define. */
 #undef size_t
 
+/* type to use in place of socklen_t if not defined */
+#undef socklen_t
+
 /* Define as a signed type of the same size as size_t. */
 #undef ssize_t
 
+/* Define to `int' if <sys/types.h> doesn't define. */
+#undef uid_t
+
 /* Define as a marker that can be attached to declarations that might not
     be used.  This helps to reduce warnings, such as from
     GCC -Wunused-parameter.  */
    is a misnomer outside of parameter lists.  */
 #define _UNUSED_PARAMETER_ _GL_UNUSED
 
+/* gcc supports the "unused" attribute on possibly unused labels, and
+   g++ has since version 4.5.  Note to support C++ as well as C,
+   _GL_UNUSED_LABEL should be used with a trailing ;  */
+#if !defined __cplusplus || __GNUC__ > 4 \
+    || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+# define _GL_UNUSED_LABEL _GL_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
 /* The __pure__ attribute was added in gcc 2.96.  */
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
 # define _GL_ATTRIBUTE_CONST /* empty */
 #endif
 
+/* The __malloc__ attribute was added in gcc 3.  */
+#if 3 <= __GNUC__
+# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+#else
+# define _GL_ATTRIBUTE_MALLOC /* empty */
+#endif
+
 
 /* Define to an unsigned 32-bit type if <sys/types.h> lacks this type. */
 #undef useconds_t
index d4a69730e5bbf1e303f54b191c9d67641e88ad3d..7cf89d8cf80e2d21c81c954a22e6de6cdf916b3d 100644 (file)
@@ -1,6 +1,6 @@
 /* dirname.c -- return all but the last element in a file name
 
-   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2014 Free Software
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 94f1a36a1afc3b35246b427251b96f171a3d278b..1e042a5cdc9643c7568219390b1b55f9ca4225e3 100644 (file)
@@ -1,6 +1,6 @@
 /* dirname.c -- return all but the last element in a file name
 
-   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2014 Free Software
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index a1b700932674b9bc3bb30885fb0ebf2898fc46d7..579165947f742be281df8dba3bc658b585a9ab07 100644 (file)
@@ -1,6 +1,6 @@
 /*  Take file names apart into directory and base names.
 
-    Copyright (C) 1998, 2001, 2003-2006, 2009-2014 Free Software Foundation,
+    Copyright (C) 1998, 2001, 2003-2006, 2009-2019 Free Software Foundation,
     Inc.
 
     This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
     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 <http://www.gnu.org/licenses/>.  */
+    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef DIRNAME_H_
 # define DIRNAME_H_ 1
 #  define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
 # endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 # if GNULIB_DIRNAME
-char *base_name (char const *file);
+char *base_name (char const *file) _GL_ATTRIBUTE_MALLOC;
 char *dir_name (char const *file);
 # endif
 
@@ -43,4 +47,8 @@ char *last_component (char const *file) _GL_ATTRIBUTE_PURE;
 
 bool strip_trailing_slashes (char *file);
 
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
 #endif /* not DIRNAME_H_ */
index b92adfac2eca838b231436bc63a7cedf56648840..c0ab6848a58aa2e0352272872d4bc009886455f6 100644 (file)
@@ -1,6 +1,6 @@
 /* File names on MS-DOS/Windows systems.
 
-   Copyright (C) 2000-2001, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2001, 2004-2006, 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
    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 <http://www.gnu.org/licenses/>.
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
    From Paul Eggert and Jim Meyering.  */
 
 #ifndef _DOSNAME_H
 #define _DOSNAME_H
 
-#if (defined _WIN32 || defined __WIN32__ ||     \
-     defined __MSDOS__ || defined __CYGWIN__ || \
-     defined __EMX__ || defined __DJGPP__)
+#if (defined _WIN32 || defined __CYGWIN__ \
+     || defined __EMX__ || defined __MSDOS__ || defined __DJGPP__)
    /* This internal macro assumes ASCII, but all hosts that support drive
       letters use ASCII.  */
 # define _IS_DRIVE_LETTER(C) (((unsigned int) (C) | ('a' - 'A')) - 'a'  \
index 832afc8f85381a2d96cc6cc40437354f6690ec70..3bd27f1cc9fb7e555aa3b048b0e3bc3aebd1bf40 100644 (file)
@@ -1,6 +1,6 @@
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_ERRNO_H
 
@@ -30,7 +30,7 @@
 
 
 /* On native Windows platforms, many macros are not defined.  */
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 
 /* These are the same values as defined by MSVC 10, for interoperability.  */
 
        interoperability.  */
 #   define EOWNERDEAD      58
 #   define ENOTRECOVERABLE 59
-#  elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#  elif defined _WIN32 && ! defined __CYGWIN__
     /* We have a conflict here: pthreads-win32 defines these values
        differently than MSVC 10.  It's hairy to decide which one to use.  */
 #   if defined __MINGW32__ && !defined USE_WINDOWS_THREADS
index 31109df3b5fcf5ba6f7bec6d00d63d5bea87b489..f8ab668963386cee6902b1045a7a5cecffd82538 100644 (file)
@@ -1,5 +1,5 @@
 /* Error handler for noninteractive utilities
-   Copyright (C) 1990-1998, 2000-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-1998, 2000-2007, 2009-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by David MacKenzie <djm@gnu.ai.mit.edu>.  */
 
 # include <stdint.h>
 # include <wchar.h>
 # define mbsrtowcs __mbsrtowcs
+# define USE_UNLOCKED_IO 0
+# define _GL_ATTRIBUTE_FORMAT_PRINTF(a, b)
+# define _GL_ARG_NONNULL(a)
+#else
+# include "getprogname.h"
 #endif
 
 #if USE_UNLOCKED_IO
@@ -72,14 +77,14 @@ extern void __error (int status, int errnum, const char *message, ...)
 extern void __error_at_line (int status, int errnum, const char *file_name,
                              unsigned int line_number, const char *message,
                              ...)
-     __attribute__ ((__format__ (__printf__, 5, 6)));;
+     __attribute__ ((__format__ (__printf__, 5, 6)));
 # define error __error
 # define error_at_line __error_at_line
 
 # include <libio/iolibio.h>
-# define fflush(s) INTUSE(_IO_fflush) (s)
+# define fflush(s) _IO_fflush (s)
 # undef putc
-# define putc(c, fp) INTUSE(_IO_putc) (c, fp)
+# define putc(c, fp) _IO_putc (c, fp)
 
 # include <bits/libc-lock.h>
 
@@ -88,35 +93,37 @@ extern void __error_at_line (int status, int errnum, const char *file_name,
 # include <fcntl.h>
 # include <unistd.h>
 
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 /* Get declarations of the native Windows API functions.  */
 #  define WIN32_LEAN_AND_MEAN
 #  include <windows.h>
 /* Get _get_osfhandle.  */
-#  include "msvc-nothrow.h"
+#  if GNULIB_MSVC_NOTHROW
+#   include "msvc-nothrow.h"
+#  else
+#   include <io.h>
+#  endif
 # endif
 
 /* The gnulib override of fcntl is not needed in this file.  */
 # undef fcntl
 
-# if !HAVE_DECL_STRERROR_R
+# if !(GNULIB_STRERROR_R_POSIX || HAVE_DECL_STRERROR_R)
 #  ifndef HAVE_DECL_STRERROR_R
 "this configure-time declaration test was not run"
 #  endif
 #  if STRERROR_R_CHAR_P
-char *strerror_r ();
+char *strerror_r (int errnum, char *buf, size_t buflen);
 #  else
-int strerror_r ();
+int strerror_r (int errnum, char *buf, size_t buflen);
 #  endif
 # endif
 
-/* The calling program should define program_name and set it to the
-   name of the executing program.  */
-extern char *program_name;
+# define program_name getprogname ()
 
-# if HAVE_STRERROR_R || defined strerror_r
+# if GNULIB_STRERROR_R_POSIX || HAVE_STRERROR_R || defined strerror_r
 #  define __strerror_r strerror_r
-# endif /* HAVE_STRERROR_R || defined strerror_r */
+# endif /* GNULIB_STRERROR_R_POSIX || HAVE_STRERROR_R || defined strerror_r */
 #endif  /* not _LIBC */
 
 #if !_LIBC
@@ -124,7 +131,7 @@ extern char *program_name;
 static int
 is_open (int fd)
 {
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
   /* On native Windows: The initial state of unassigned standard file
      descriptors is that they are open but point to an INVALID_HANDLE_VALUE.
      There is no fcntl, and the gnulib replacement fcntl does not support
@@ -169,9 +176,9 @@ print_errno_message (int errnum)
 {
   char const *s;
 
-#if defined HAVE_STRERROR_R || _LIBC
+#if _LIBC || GNULIB_STRERROR_R_POSIX || defined HAVE_STRERROR_R
   char errbuf[1024];
-# if STRERROR_R_CHAR_P || _LIBC
+# if _LIBC || (!GNULIB_STRERROR_R_POSIX && STRERROR_R_CHAR_P)
   s = __strerror_r (errnum, errbuf, sizeof errbuf);
 # else
   if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
@@ -201,7 +208,6 @@ error_tail (int status, int errnum, const char *message, va_list args)
 #if _LIBC
   if (_IO_fwide (stderr, 0) > 0)
     {
-# define ALLOCA_LIMIT 2000
       size_t len = strlen (message) + 1;
       wchar_t *wmessage = NULL;
       mbstate_t st;
@@ -237,7 +243,7 @@ error_tail (int status, int errnum, const char *message, va_list args)
           if (res != len)
             break;
 
-          if (__builtin_expect (len >= SIZE_MAX / 2, 0))
+          if (__builtin_expect (len >= SIZE_MAX / sizeof (wchar_t) / 2, 0))
             {
               /* This really should not happen if everything is fine.  */
               res = (size_t) -1;
@@ -266,7 +272,6 @@ error_tail (int status, int errnum, const char *message, va_list args)
   else
 #endif
     vfprintf (stderr, message, args);
-  va_end (args);
 
   ++error_message_count;
   if (errnum)
@@ -316,6 +321,7 @@ error (int status, int errnum, const char *message, ...)
 
   va_start (args, message);
   error_tail (status, errnum, message, args);
+  va_end (args);
 
 #ifdef _LIBC
   _IO_funlockfile (stderr);
@@ -342,7 +348,10 @@ error_at_line (int status, int errnum, const char *file_name,
 
       if (old_line_number == line_number
           && (file_name == old_file_name
-              || strcmp (old_file_name, file_name) == 0))
+              || (old_file_name != NULL
+                  && file_name != NULL
+                  && strcmp (old_file_name, file_name) == 0)))
+
         /* Simply return and print nothing.  */
         return;
 
@@ -374,15 +383,16 @@ error_at_line (int status, int errnum, const char *file_name,
     }
 
 #if _LIBC
-  __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ",
+  __fxprintf (NULL, file_name != NULL ? "%s:%u: " : " ",
               file_name, line_number);
 #else
-  fprintf (stderr, file_name != NULL ? "%s:%d: " : " ",
+  fprintf (stderr, file_name != NULL ? "%s:%u: " : " ",
            file_name, line_number);
 #endif
 
   va_start (args, message);
   error_tail (status, errnum, message, args);
+  va_end (args);
 
 #ifdef _LIBC
   _IO_funlockfile (stderr);
index 4aaafb362603ba075e6ba21092bf50a49be5f4fd..3759f8ad44e9a01f467093ebb8b1990f4f7b3d18 100644 (file)
@@ -1,5 +1,5 @@
 /* Declaration for error-reporting function
-   Copyright (C) 1995-1997, 2003, 2006, 2008-2014 Free Software Foundation,
+   Copyright (C) 1995-1997, 2003, 2006, 2008-2019 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _ERROR_H
 #define _ERROR_H 1
 # define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
 #endif
 
+/* On mingw, the flavor of printf depends on whether the extensions module
+ * is in use; the check for <stdio.h> determines the witness macro.  */
+#ifndef _GL_ATTRIBUTE_SPEC_PRINTF
+# if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+#  define _GL_ATTRIBUTE_SPEC_PRINTF __gnu_printf__
+# else
+#  define _GL_ATTRIBUTE_SPEC_PRINTF __printf__
+# endif
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -40,11 +50,11 @@ extern "C" {
    If STATUS is nonzero, terminate the program with 'exit (STATUS)'.  */
 
 extern void error (int __status, int __errnum, const char *__format, ...)
-     _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 4));
+     _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 3, 4));
 
 extern void error_at_line (int __status, int __errnum, const char *__fname,
                            unsigned int __lineno, const char *__format, ...)
-     _GL_ATTRIBUTE_FORMAT ((__printf__, 5, 6));
+     _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 5, 6));
 
 /* If NULL, error will flush stdout, then print on stderr the program
    name, a colon and a space.  Otherwise, error will call this
index 609afc5af7e09ab9c89e86f5328e8fb87128cc1a..69b351372e5b4013d912694da24b62c8bc4c4b11 100644 (file)
@@ -1,6 +1,6 @@
 /* Failure exit status
 
-   Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2007, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 66807d511fa6d3a4d95ca41fc1348a77c87aaeab..480ad1a1663d303243be2483973d62d8c73bb034 100644 (file)
@@ -1,6 +1,6 @@
 /* Failure exit status
 
-   Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002, 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
@@ -13,6 +13,6 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 extern int volatile exit_failure;
index 99f75e60fd4100ca239d1f68273ab13cfe28c626..eb70dc61eca744ffe29614b969bf666850acd9ed 100644 (file)
@@ -1,6 +1,6 @@
 /* Like <fcntl.h>, but with non-working flags defined to 0.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* written by Paul Eggert */
 
@@ -34,7 +34,7 @@
    extern "C" { ... } block, which leads to errors in C++ mode with the
    overridden <sys/stat.h> from gnulib.  These errors are known to be gone
    with g++ version >= 4.3.  */
-#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))))
 # include <sys/stat.h>
 #endif
 #@INCLUDE_NEXT@ @NEXT_FCNTL_H@
@@ -53,7 +53,7 @@
    extern "C" { ... } block, which leads to errors in C++ mode with the
    overridden <sys/stat.h> from gnulib.  These errors are known to be gone
    with g++ version >= 4.3.  */
-#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))))
 # include <sys/stat.h>
 #endif
 /* The include_next requires a split double-inclusion guard.  */
@@ -68,7 +68,7 @@
 
 /* Native Windows platforms declare open(), creat() in <io.h>.  */
 #if (@GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \
-    && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+    && (defined _WIN32 && ! defined __CYGWIN__)
 # include <io.h>
 #endif
 
@@ -186,6 +186,22 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 
 /* Fix up the O_* macros.  */
 
+/* AIX 7.1 with XL C 12.1 defines O_CLOEXEC, O_NOFOLLOW, and O_TTY_INIT
+   to values outside 'int' range, so omit these misdefinitions.
+   But avoid namespace pollution on non-AIX systems.  */
+#ifdef _AIX
+# include <limits.h>
+# if defined O_CLOEXEC && ! (INT_MIN <= O_CLOEXEC && O_CLOEXEC <= INT_MAX)
+#  undef O_CLOEXEC
+# endif
+# if defined O_NOFOLLOW && ! (INT_MIN <= O_NOFOLLOW && O_NOFOLLOW <= INT_MAX)
+#  undef O_NOFOLLOW
+# endif
+# if defined O_TTY_INIT && ! (INT_MIN <= O_TTY_INIT && O_TTY_INIT <= INT_MAX)
+#  undef O_TTY_INIT
+# endif
+#endif
+
 #if !defined O_DIRECT && defined O_DIRECTIO
 /* Tru64 spells it 'O_DIRECTIO'.  */
 # define O_DIRECT O_DIRECTIO
@@ -197,7 +213,10 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 #endif
 
 #ifndef O_CLOEXEC
-# define O_CLOEXEC 0
+# define O_CLOEXEC 0x40000000 /* Try to not collide with system O_* flags.  */
+# define GNULIB_defined_O_CLOEXEC 1
+#else
+# define GNULIB_defined_O_CLOEXEC 0
 #endif
 
 #ifndef O_DIRECT
index 0171cc6028cdf606cc04af4925dda0f212f91dca..78791198fa072b982db441acfcd516c4fa1fbe32 100644 (file)
@@ -1,5 +1,5 @@
-/* Hook for making making file descriptor functions close(), ioctl() extensible.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Hook for making file descriptor functions close(), ioctl() extensible.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2009.
 
    This program is free software: you can redistribute it and/or modify it
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 1aa264eb745d28c0ec27f3a79a8cd10ded544b8a..bf07f0068b7e55b4a5ef2457e11b2fb392fdd956 100644 (file)
@@ -1,5 +1,5 @@
-/* Hook for making making file descriptor functions close(), ioctl() extensible.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Hook for making file descriptor functions close(), ioctl() extensible.
+   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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 
 #ifndef FD_HOOK_H
diff --git a/lib/filename.h b/lib/filename.h
new file mode 100644 (file)
index 0000000..3ba3105
--- /dev/null
@@ -0,0 +1,54 @@
+/* Basic filename support macros.
+   Copyright (C) 2001-2004, 2007-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 _FILENAME_H
+#define _FILENAME_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Pathname support.
+   ISSLASH(C)           tests whether C is a directory separator character.
+   IS_ABSOLUTE_PATH(P)  tests whether P is an absolute path.  If it is not,
+                        it may be concatenated to a directory pathname.
+   IS_PATH_WITH_DIR(P)  tests whether P contains a directory specification.
+ */
+#if defined _WIN32 || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
+  /* Native Windows, Cygwin, OS/2, DOS */
+# define ISSLASH(C) ((C) == '/' || (C) == '\\')
+# define HAS_DEVICE(P) \
+    ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
+     && (P)[1] == ':')
+# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))
+# define IS_PATH_WITH_DIR(P) \
+    (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))
+# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)
+#else
+  /* Unix */
+# define ISSLASH(C) ((C) == '/')
+# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])
+# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
+# define FILE_SYSTEM_PREFIX_LEN(P) 0
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _FILENAME_H */
index 31aba1ada3d746767080737f3fd50f3161616dd0..3c01285bb83751f2961f93c17a24abf690b9ce90 100644 (file)
@@ -1,5 +1,5 @@
 /* fpending.c -- return the number of pending output bytes on a stream
-   Copyright (C) 2000, 2004, 2006-2007, 2009-2014 Free Software Foundation,
+   Copyright (C) 2000, 2004, 2006-2007, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Jim Meyering. */
 
 #include <config.h>
 
+/* Specification.  */
 #include "fpending.h"
 
+#include "stdio-impl.h"
+
+/* This file is not used on systems that already have the __fpending function,
+   namely glibc >= 2.2, Solaris >= 7, Android API >= 23.  */
+
 /* Return the number of pending (aka buffered, unflushed)
    bytes on the stream, FP, that is open for writing.  */
 size_t
 __fpending (FILE *fp)
 {
-  return PENDING_OUTPUT_N_BYTES;
+  /* Most systems provide FILE as a struct and the necessary bitmask in
+     <stdio.h>, because they need it for implementing getc() and putc() as
+     fast macros.  */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+  /* GNU libc, BeOS, Haiku, Linux libc5 */
+  return fp->_IO_write_ptr - fp->_IO_write_base;
+#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+  /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
+  return fp->_p - fp->_bf._base;
+#elif defined __EMX__                /* emx+gcc */
+  return fp->_ptr - fp->_buffer;
+#elif defined __minix                /* Minix */
+  return fp_->_ptr - fp_->_buf;
+#elif defined _IOERR                 /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */
+  return (fp_->_ptr ? fp_->_ptr - fp_->_base : 0);
+#elif defined __UCLIBC__             /* uClibc */
+  return (fp->__modeflags & __FLAG_WRITING ? fp->__bufpos - fp->__bufstart : 0);
+#elif defined __QNX__                /* QNX */
+  return (fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0);
+#elif defined __MINT__               /* Atari FreeMiNT */
+  return fp->__bufp - fp->__buffer;
+#elif defined EPLAN9                 /* Plan9 */
+  return fp->wp - fp->buf;
+#else
+# error "Please port gnulib fpending.c to your platform!"
+  return 1;
+#endif
 }
index dd607fe20c177df0a53584faafaca73a747c904c..097a3ef0717faf628922922a8b030906abae2326 100644 (file)
@@ -1,6 +1,6 @@
 /* Declare __fpending.
 
-   Copyright (C) 2000, 2003, 2005-2006, 2009-2014 Free Software Foundation,
+   Copyright (C) 2000, 2003, 2005-2006, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
    Written by Jim Meyering.  */
 
index ffcda9f5718c808a613e894e3d9c543096eb0d54..a892b8ff7fae49660df1c5f18516f3d64ad02ee3 100644 (file)
@@ -1,5 +1,5 @@
 /* fstat() replacement.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* If the user's config.h happens to include <sys/stat.h>, let it include only
    the system's <sys/stat.h> here, so that orig_fstat doesn't recurse to
 /* Get the original definition of fstat.  It might be defined as a macro.  */
 #include <sys/types.h>
 #include <sys/stat.h>
-#if _GL_WINDOWS_64_BIT_ST_SIZE
-# undef stat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */
-# define stat _stati64
-# undef fstat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */
-# define fstat _fstati64
-#endif
 #undef __need_system_sys_stat_h
 
+#if defined _WIN32 && ! defined __CYGWIN__
+# define WINDOWS_NATIVE
+#endif
+
+#if !defined WINDOWS_NATIVE
+
 static int
 orig_fstat (int fd, struct stat *buf)
 {
   return fstat (fd, 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 <errno.h>
-#include <unistd.h>
-
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
-# include "msvc-inval.h"
+# include "sys/stat.h"
+#else
+# include <sys/stat.h>
 #endif
 
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
-static int
-fstat_nothrow (int fd, struct stat *buf)
-{
-  int result;
+#include "stat-time.h"
 
-  TRY_MSVC_INVAL
-    {
-      result = orig_fstat (fd, buf);
-    }
-  CATCH_MSVC_INVAL
-    {
-      result = -1;
-      errno = EBADF;
-    }
-  DONE_MSVC_INVAL;
-
-  return result;
-}
-#else
-# define fstat_nothrow orig_fstat
+#include <errno.h>
+#include <unistd.h>
+#ifdef WINDOWS_NATIVE
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+# if GNULIB_MSVC_NOTHROW
+#  include "msvc-nothrow.h"
+# else
+#  include <io.h>
+# endif
+# include "stat-w32.h"
 #endif
 
 int
@@ -84,5 +75,20 @@ rpl_fstat (int fd, struct stat *buf)
     return stat (name, buf);
 #endif
 
-  return fstat_nothrow (fd, buf);
+#ifdef WINDOWS_NATIVE
+  /* Fill the fields ourselves, because the original fstat function returns
+     values for st_atime, st_mtime, st_ctime that depend on the current time
+     zone.  See
+     <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00134.html>  */
+  HANDLE h = (HANDLE) _get_osfhandle (fd);
+
+  if (h == INVALID_HANDLE_VALUE)
+    {
+      errno = EBADF;
+      return -1;
+    }
+  return _gl_fstat_by_handle (h, NULL, buf);
+#else
+  return stat_time_normalize (orig_fstat (fd, buf), buf);
+#endif
 }
index b09a8e64949c129608d70d8d31c69e67ba50b949..bfb6d28a5cf487cb9aa687c3104dc935cb4897e4 100644 (file)
@@ -2,12 +2,12 @@
    cross-compilers like MinGW.
 
    This is derived from sqlite3 sources.
-   http://www.sqlite.org/cvstrac/rlog?f=sqlite/src/os_win.c
-   http://www.sqlite.org/copyright.html
+   https://www.sqlite.org/src/finfo?name=src/os_win.c
+   https://www.sqlite.org/copyright.html
 
    Written by Richard W.M. Jones <rjones.at.redhat.com>
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 #include <unistd.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 /* FlushFileBuffers */
 # define WIN32_LEAN_AND_MEAN
 # include <errno.h>
 
 /* Get _get_osfhandle.  */
-# include "msvc-nothrow.h"
+# if GNULIB_MSVC_NOTHROW
+#  include "msvc-nothrow.h"
+# else
+#  include <io.h>
+# endif
 
 int
 fsync (int fd)
diff --git a/lib/getopt-cdefs.in.h b/lib/getopt-cdefs.in.h
new file mode 100644 (file)
index 0000000..049145b
--- /dev/null
@@ -0,0 +1,67 @@
+/* getopt-on-non-glibc compatibility macros.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
+   This file is part of gnulib.
+   Unlike most of the getopt implementation, it is NOT shared
+   with the GNU C Library.
+
+   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 the Free Software Foundation; either version 3 of
+   the License, or (at your option) any later version.
+
+   This file 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 gnulib; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_CDEFS_H
+#define _GETOPT_CDEFS_H 1
+
+/* This header should not be used directly; include getopt.h or
+   unistd.h instead.  It does not have a protective #error, because
+   the guard macro for getopt.h in gnulib is not fixed.  */
+
+/* getopt-core.h and getopt-ext.h are shared with GNU libc, and expect
+   a number of the internal macros supplied to GNU libc's headers by
+   sys/cdefs.h.  Provide fallback definitions for all of them.  */
+#if @HAVE_SYS_CDEFS_H@
+# include <sys/cdefs.h>
+#endif
+
+#ifndef __BEGIN_DECLS
+# ifdef __cplusplus
+#  define __BEGIN_DECLS extern "C" {
+# else
+#  define __BEGIN_DECLS /* nothing */
+# endif
+#endif
+#ifndef __END_DECLS
+# ifdef __cplusplus
+#  define __END_DECLS }
+# else
+#  define __END_DECLS /* nothing */
+# endif
+#endif
+
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_VERSION__
+# define __GNUC_PREREQ(maj, min) \
+        ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+# else
+#  define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#ifndef __THROW
+# if defined __cplusplus && __GNUC_PREREQ (2,8)
+#  define __THROW       throw ()
+# else
+#  define __THROW
+# endif
+#endif
+
+#endif /* _GETOPT_CDEFS_H */
diff --git a/lib/getopt-core.h b/lib/getopt-core.h
new file mode 100644 (file)
index 0000000..6360ad6
--- /dev/null
@@ -0,0 +1,96 @@
+/* Declarations for getopt (basic, portable features only).
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
+
+   The GNU C Library 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.
+
+   The GNU C 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
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_CORE_H
+#define _GETOPT_CORE_H 1
+
+/* This header should not be used directly; include getopt.h or
+   unistd.h instead.  Unlike most bits headers, it does not have
+   a protective #error, because the guard macro for getopt.h in
+   gnulib is not fixed.  */
+
+__BEGIN_DECLS
+
+/* For communication from 'getopt' to the caller.
+   When 'getopt' finds an option that takes an argument,
+   the argument value is returned here.
+   Also, when 'ordering' is RETURN_IN_ORDER,
+   each non-option ARGV-element is returned here.  */
+
+extern char *optarg;
+
+/* Index in ARGV of the next element to be scanned.
+   This is used for communication to and from the caller
+   and for communication between successive calls to 'getopt'.
+
+   On entry to 'getopt', zero means this is the first call; initialize.
+
+   When 'getopt' returns -1, this is the index of the first of the
+   non-option elements that the caller should itself scan.
+
+   Otherwise, 'optind' communicates from one call to the next
+   how much of ARGV has been scanned so far.  */
+
+extern int optind;
+
+/* Callers store zero here to inhibit the error message 'getopt' prints
+   for unrecognized options.  */
+
+extern int opterr;
+
+/* Set to an option character which was unrecognized.  */
+
+extern int optopt;
+
+/* Get definitions and prototypes for functions to process the
+   arguments in ARGV (ARGC of them, minus the program name) for
+   options given in OPTS.
+
+   Return the option character from OPTS just read.  Return -1 when
+   there are no more options.  For unrecognized options, or options
+   missing arguments, 'optopt' is set to the option letter, and '?' is
+   returned.
+
+   The OPTS string is a list of characters which are recognized option
+   letters, optionally followed by colons, specifying that that letter
+   takes an argument, to be placed in 'optarg'.
+
+   If a letter in OPTS is followed by two colons, its argument is
+   optional.  This behavior is specific to the GNU 'getopt'.
+
+   The argument '--' causes premature termination of argument
+   scanning, explicitly telling 'getopt' that there are no more
+   options.
+
+   If OPTS begins with '-', then non-option arguments are treated as
+   arguments to the option '\1'.  This behavior is specific to the GNU
+   'getopt'.  If OPTS begins with '+', or POSIXLY_CORRECT is set in
+   the environment, then do not permute arguments.
+
+   For standards compliance, the 'argv' argument has the type
+   char *const *, but this is inaccurate; if argument permutation is
+   enabled, the argv array (not the strings it points to) must be
+   writable.  */
+
+extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
+       __THROW _GL_ARG_NONNULL ((2, 3));
+
+__END_DECLS
+
+#endif /* _GETOPT_CORE_H */
diff --git a/lib/getopt-ext.h b/lib/getopt-ext.h
new file mode 100644 (file)
index 0000000..13cb007
--- /dev/null
@@ -0,0 +1,77 @@
+/* Declarations for getopt (GNU extensions).
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
+
+   The GNU C Library 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.
+
+   The GNU C 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
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_EXT_H
+#define _GETOPT_EXT_H 1
+
+/* This header should not be used directly; include getopt.h instead.
+   Unlike most bits headers, it does not have a protective #error,
+   because the guard macro for getopt.h in gnulib is not fixed.  */
+
+__BEGIN_DECLS
+
+/* Describe the long-named options requested by the application.
+   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
+   of 'struct option' terminated by an element containing a name which is
+   zero.
+
+   The field 'has_arg' is:
+   no_argument         (or 0) if the option does not take an argument,
+   required_argument   (or 1) if the option requires an argument,
+   optional_argument   (or 2) if the option takes an optional argument.
+
+   If the field 'flag' is not NULL, it points to a variable that is set
+   to the value given in the field 'val' when the option is found, but
+   left unchanged if the option is not found.
+
+   To have a long-named option do something other than set an 'int' to
+   a compiled-in constant, such as set a value from 'optarg', set the
+   option's 'flag' field to zero and its 'val' field to a nonzero
+   value (the equivalent single-letter option character, if there is
+   one).  For long options that have a zero 'flag' field, 'getopt'
+   returns the contents of the 'val' field.  */
+
+struct option
+{
+  const char *name;
+  /* has_arg can't be an enum because some compilers complain about
+     type mismatches in all the code that assumes it is an int.  */
+  int has_arg;
+  int *flag;
+  int val;
+};
+
+/* Names for the values of the 'has_arg' field of 'struct option'.  */
+
+#define no_argument            0
+#define required_argument      1
+#define optional_argument      2
+
+extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
+                       const char *__shortopts,
+                       const struct option *__longopts, int *__longind)
+       __THROW _GL_ARG_NONNULL ((2, 3));
+extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
+                            const char *__shortopts,
+                            const struct option *__longopts, int *__longind)
+       __THROW _GL_ARG_NONNULL ((2, 3));
+
+__END_DECLS
+
+#endif /* _GETOPT_EXT_H */
diff --git a/lib/getopt-pfx-core.h b/lib/getopt-pfx-core.h
new file mode 100644 (file)
index 0000000..8fac269
--- /dev/null
@@ -0,0 +1,59 @@
+/* getopt (basic, portable features) gnulib wrapper header.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
+   This file is part of gnulib.
+   Unlike most of the getopt implementation, it is NOT shared
+   with the GNU C Library.
+
+   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 the Free Software Foundation; either version 3 of
+   the License, or (at your option) any later version.
+
+   This file 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 gnulib; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_PFX_CORE_H
+#define _GETOPT_PFX_CORE_H 1
+
+/* This header should not be used directly; include getopt.h or
+   unistd.h instead.  It does not have a protective #error, because
+   the guard macro for getopt.h in gnulib is not fixed.  */
+
+/* Standalone applications should #define __GETOPT_PREFIX to an
+   identifier that prefixes the external functions and variables
+   defined in getopt-core.h and getopt-ext.h.  Systematically
+   rename identifiers so that they do not collide with the system
+   functions and variables.  Renaming avoids problems with some
+   compilers and linkers.  */
+#ifdef __GETOPT_PREFIX
+# ifndef __GETOPT_ID
+#  define __GETOPT_CONCAT(x, y) x ## y
+#  define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
+#  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
+# endif
+# undef getopt
+# undef optarg
+# undef opterr
+# undef optind
+# undef optopt
+# define getopt __GETOPT_ID (getopt)
+# define optarg __GETOPT_ID (optarg)
+# define opterr __GETOPT_ID (opterr)
+# define optind __GETOPT_ID (optind)
+# define optopt __GETOPT_ID (optopt)
+
+/* The system's getopt.h may have already included getopt-core.h to
+   declare the unprefixed identifiers.  Undef _GETOPT_CORE_H so that
+   getopt-core.h declares them with prefixes.  */
+# undef _GETOPT_CORE_H
+#endif
+
+#include <getopt-core.h>
+
+#endif /* _GETOPT_PFX_CORE_H */
diff --git a/lib/getopt-pfx-ext.h b/lib/getopt-pfx-ext.h
new file mode 100644 (file)
index 0000000..0e21aef
--- /dev/null
@@ -0,0 +1,71 @@
+/* getopt (GNU extensions) gnulib wrapper header.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
+   This file is part of gnulib.
+   Unlike most of the getopt implementation, it is NOT shared
+   with the GNU C Library.
+
+   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 the Free Software Foundation; either version 3 of
+   the License, or (at your option) any later version.
+
+   This file 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 gnulib; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_PFX_EXT_H
+#define _GETOPT_PFX_EXT_H 1
+
+/* This header should not be used directly; include getopt.h instead.
+   It does not have a protective #error, because the guard macro for
+   getopt.h in gnulib is not fixed.  */
+
+/* Standalone applications should #define __GETOPT_PREFIX to an
+   identifier that prefixes the external functions and variables
+   defined in getopt-core.h and getopt-ext.h.  Systematically
+   rename identifiers so that they do not collide with the system
+   functions and variables.  Renaming avoids problems with some
+   compilers and linkers.  */
+#ifdef __GETOPT_PREFIX
+# ifndef __GETOPT_ID
+#  define __GETOPT_CONCAT(x, y) x ## y
+#  define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
+#  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
+# endif
+# undef getopt_long
+# undef getopt_long_only
+# undef option
+# undef _getopt_internal
+# define getopt_long __GETOPT_ID (getopt_long)
+# define getopt_long_only __GETOPT_ID (getopt_long_only)
+# define option __GETOPT_ID (option)
+# define _getopt_internal __GETOPT_ID (getopt_internal)
+
+/* The system's getopt.h may have already included getopt-ext.h to
+   declare the unprefixed identifiers.  Undef _GETOPT_EXT_H so that
+   getopt-ext.h declares them with prefixes.  */
+# undef _GETOPT_EXT_H
+#endif
+
+/* Standalone applications get correct prototypes for getopt_long and
+   getopt_long_only; they declare "char **argv".  For backward
+   compatibility with old applications, if __GETOPT_PREFIX is not
+   defined, we supply GNU-libc-compatible, but incorrect, prototypes
+   using "char *const *argv".  (GNU libc is stuck with the incorrect
+   prototypes, as they are baked into older versions of LSB.)  */
+#ifndef __getopt_argv_const
+# if defined __GETOPT_PREFIX
+#  define __getopt_argv_const /* empty */
+# else
+#  define __getopt_argv_const const
+# endif
+#endif
+
+#include <getopt-ext.h>
+
+#endif /* _GETOPT_PFX_EXT_H */
index 7d950af1a5f2d4cb867fbc6d7a0d1cf74bf5f653..8ee075a8091ca804571e6afe611f984cf7bb05a7 100644 (file)
@@ -1,23 +1,21 @@
 /* Getopt for GNU.
-   NOTE: getopt is part of the C library, so if you don't know what
-   "Keep this file name-space clean" means, talk to drepper@gnu.org
-   before changing it!
-   Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2014 Free Software
-   Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   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,
+   Copyright (C) 1987-2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
+
+   The GNU C Library 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.
+
+   The GNU C 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 General Public License for more details.
+   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 <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
 \f
 #ifndef _LIBC
 # include <config.h>
 #include <unistd.h>
 
 #ifdef _LIBC
+/* When used as part of glibc, error printing must be done differently
+   for standards compliance.  getopt is not a cancellation point, so
+   it must not call functions that are, and it is specified by an
+   older standard than stdio locking, so it must not refer to
+   functions in the "user namespace" related to stdio locking.
+   Finally, it must use glibc's internal message translation so that
+   the messages are looked up in the proper text domain.  */
 # include <libintl.h>
+# define fprintf __fxprintf_nocancel
+# define flockfile(fp) _IO_flockfile (fp)
+# define funlockfile(fp) _IO_funlockfile (fp)
 #else
 # include "gettext.h"
 # define _(msgid) gettext (msgid)
+/* When used standalone, flockfile and funlockfile might not be
+   available.  */
+# if (!defined _POSIX_THREAD_SAFE_FUNCTIONS \
+      || (defined _WIN32 && ! defined __CYGWIN__))
+#  define flockfile(fp) /* nop */
+#  define funlockfile(fp) /* nop */
+# endif
+/* When used standalone, do not attempt to use alloca.  */
+# define __libc_use_alloca(size) 0
+# undef alloca
+# define alloca(size) (abort (), (void *)0)
 #endif
 
-#if defined _LIBC && defined USE_IN_LIBIO
-# include <wchar.h>
-#endif
-
-/* This version of 'getopt' appears to the caller like standard Unix 'getopt'
-   but it behaves differently for the user, since it allows the user
-   to intersperse the options with the other arguments.
-
-   As 'getopt_long' works, it permutes the elements of ARGV so that,
-   when it is done, all the options precede everything else.  Thus
-   all application programs are extended to handle flexible argument order.
-
-   Using 'getopt' or setting the environment variable POSIXLY_CORRECT
+/* This implementation of 'getopt' has three modes for handling
+   options interspersed with non-option arguments.  It can stop
+   scanning for options at the first non-option argument encountered,
+   as POSIX specifies.  It can continue scanning for options after the
+   first non-option argument, but permute 'argv' as it goes so that,
+   after 'getopt' is done, all the options precede all the non-option
+   arguments and 'optind' points to the first non-option argument.
+   Or, it can report non-option arguments as if they were arguments to
+   the option character '\x01'.
+
+   The default behavior of 'getopt_long' is to permute the argument list.
+   When this implementation is used standalone, the default behavior of
+   'getopt' is to stop at the first non-option argument, but when it is
+   used as part of GNU libc it also permutes the argument list.  In both
+   cases, setting the environment variable POSIXLY_CORRECT to any value
    disables permutation.
-   Then the behavior is completely standard.
 
-   GNU application programs can use a third alternative mode in which
-   they can distinguish the relative order of options and other arguments.  */
+   If the first character of the OPTSTRING argument to 'getopt' or
+   'getopt_long' is '+', both functions will stop at the first
+   non-option argument.  If it is '-', both functions will report
+   non-option arguments as arguments to the option character '\x01'.  */
 
 #include "getopt_int.h"
 
@@ -95,42 +117,7 @@ int optopt = '?';
 /* Keep a global copy of all internal members of getopt_data.  */
 
 static struct _getopt_data getopt_data;
-
-\f
-#if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV
-extern char *getenv ();
-#endif
 \f
-#ifdef _LIBC
-/* Stored original parameters.
-   XXX This is no good solution.  We should rather copy the args so
-   that we can compare them later.  But we must not use malloc(3).  */
-extern int __libc_argc;
-extern char **__libc_argv;
-
-/* Bash 2.0 gives us an environment variable containing flags
-   indicating ARGV elements that should not be considered arguments.  */
-
-# ifdef USE_NONOPTION_FLAGS
-/* Defined in getopt_init.c  */
-extern char *__getopt_nonoption_flags;
-# endif
-
-# ifdef USE_NONOPTION_FLAGS
-#  define SWAP_FLAGS(ch1, ch2) \
-  if (d->__nonoption_flags_len > 0)                                           \
-    {                                                                         \
-      char __tmp = __getopt_nonoption_flags[ch1];                             \
-      __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2];          \
-      __getopt_nonoption_flags[ch2] = __tmp;                                  \
-    }
-# else
-#  define SWAP_FLAGS(ch1, ch2)
-# endif
-#else   /* !_LIBC */
-# define SWAP_FLAGS(ch1, ch2)
-#endif  /* _LIBC */
-
 /* Exchange two adjacent subsequences of ARGV.
    One subsequence is elements [first_nonopt,last_nonopt)
    which contains all the non-options that have been skipped so far.
@@ -153,64 +140,40 @@ exchange (char **argv, struct _getopt_data *d)
      It leaves the longer segment in the right place overall,
      but it consists of two parts that need to be swapped next.  */
 
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
-  /* First make sure the handling of the '__getopt_nonoption_flags'
-     string can work normally.  Our top argument must be in the range
-     of the string.  */
-  if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len)
-    {
-      /* We must extend the array.  The user plays games with us and
-         presents new arguments.  */
-      char *new_str = malloc (top + 1);
-      if (new_str == NULL)
-        d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0;
-      else
-        {
-          memset (__mempcpy (new_str, __getopt_nonoption_flags,
-                             d->__nonoption_flags_max_len),
-                  '\0', top + 1 - d->__nonoption_flags_max_len);
-          d->__nonoption_flags_max_len = top + 1;
-          __getopt_nonoption_flags = new_str;
-        }
-    }
-#endif
-
   while (top > middle && middle > bottom)
     {
       if (top - middle > middle - bottom)
-        {
-          /* Bottom segment is the short one.  */
-          int len = middle - bottom;
-          register int i;
-
-          /* Swap it with the top part of the top segment.  */
-          for (i = 0; i < len; i++)
-            {
-              tem = argv[bottom + i];
-              argv[bottom + i] = argv[top - (middle - bottom) + i];
-              argv[top - (middle - bottom) + i] = tem;
-              SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
-            }
-          /* Exclude the moved bottom segment from further swapping.  */
-          top -= len;
-        }
+       {
+         /* Bottom segment is the short one.  */
+         int len = middle - bottom;
+         int i;
+
+         /* Swap it with the top part of the top segment.  */
+         for (i = 0; i < len; i++)
+           {
+             tem = argv[bottom + i];
+             argv[bottom + i] = argv[top - (middle - bottom) + i];
+             argv[top - (middle - bottom) + i] = tem;
+           }
+         /* Exclude the moved bottom segment from further swapping.  */
+         top -= len;
+       }
       else
-        {
-          /* Top segment is the short one.  */
-          int len = top - middle;
-          register int i;
-
-          /* Swap it with the bottom part of the bottom segment.  */
-          for (i = 0; i < len; i++)
-            {
-              tem = argv[bottom + i];
-              argv[bottom + i] = argv[middle + i];
-              argv[middle + i] = tem;
-              SWAP_FLAGS (bottom + i, middle + i);
-            }
-          /* Exclude the moved top segment from further swapping.  */
-          bottom += len;
-        }
+       {
+         /* Top segment is the short one.  */
+         int len = top - middle;
+         int i;
+
+         /* Swap it with the bottom part of the bottom segment.  */
+         for (i = 0; i < len; i++)
+           {
+             tem = argv[bottom + i];
+             argv[bottom + i] = argv[middle + i];
+             argv[middle + i] = tem;
+           }
+         /* Exclude the moved top segment from further swapping.  */
+         bottom += len;
+       }
     }
 
   /* Update records for the slots the non-options now occupy.  */
@@ -219,25 +182,216 @@ exchange (char **argv, struct _getopt_data *d)
   d->__last_nonopt = d->optind;
 }
 
-/* Initialize the internal data when the first call is made.  */
+/* Process the argument starting with d->__nextchar as a long option.
+   d->optind should *not* have been advanced over this argument.
+
+   If the value returned is -1, it was not actually a long option, the
+   state is unchanged, and the argument should be processed as a set
+   of short options (this can only happen when long_only is true).
+   Otherwise, the option (and its argument, if any) have been consumed
+   and the return value is the value to return from _getopt_internal_r.  */
+static int
+process_long_option (int argc, char **argv, const char *optstring,
+                    const struct option *longopts, int *longind,
+                    int long_only, struct _getopt_data *d,
+                    int print_errors, const char *prefix)
+{
+  char *nameend;
+  size_t namelen;
+  const struct option *p;
+  const struct option *pfound = NULL;
+  int n_options;
+  int option_index;
+
+  for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++)
+    /* Do nothing.  */ ;
+  namelen = nameend - d->__nextchar;
+
+  /* First look for an exact match, counting the options as a side
+     effect.  */
+  for (p = longopts, n_options = 0; p->name; p++, n_options++)
+    if (!strncmp (p->name, d->__nextchar, namelen)
+       && namelen == strlen (p->name))
+      {
+       /* Exact match found.  */
+       pfound = p;
+       option_index = n_options;
+       break;
+      }
+
+  if (pfound == NULL)
+    {
+      /* Didn't find an exact match, so look for abbreviations.  */
+      unsigned char *ambig_set = NULL;
+      int ambig_malloced = 0;
+      int ambig_fallback = 0;
+      int indfound = -1;
+
+      for (p = longopts, option_index = 0; p->name; p++, option_index++)
+       if (!strncmp (p->name, d->__nextchar, namelen))
+         {
+           if (pfound == NULL)
+             {
+               /* First nonexact match found.  */
+               pfound = p;
+               indfound = option_index;
+             }
+           else if (long_only
+                    || pfound->has_arg != p->has_arg
+                    || pfound->flag != p->flag
+                    || pfound->val != p->val)
+             {
+               /* Second or later nonexact match found.  */
+               if (!ambig_fallback)
+                 {
+                   if (!print_errors)
+                     /* Don't waste effort tracking the ambig set if
+                        we're not going to print it anyway.  */
+                     ambig_fallback = 1;
+                   else if (!ambig_set)
+                     {
+                       if (__libc_use_alloca (n_options))
+                         ambig_set = alloca (n_options);
+                       else if ((ambig_set = malloc (n_options)) == NULL)
+                         /* Fall back to simpler error message.  */
+                         ambig_fallback = 1;
+                       else
+                         ambig_malloced = 1;
+
+                       if (ambig_set)
+                         {
+                           memset (ambig_set, 0, n_options);
+                           ambig_set[indfound] = 1;
+                         }
+                     }
+                   if (ambig_set)
+                     ambig_set[option_index] = 1;
+                 }
+             }
+         }
+
+      if (ambig_set || ambig_fallback)
+       {
+         if (print_errors)
+           {
+             if (ambig_fallback)
+               fprintf (stderr, _("%s: option '%s%s' is ambiguous\n"),
+                        argv[0], prefix, d->__nextchar);
+             else
+               {
+                 flockfile (stderr);
+                 fprintf (stderr,
+                          _("%s: option '%s%s' is ambiguous; possibilities:"),
+                          argv[0], prefix, d->__nextchar);
+
+                 for (option_index = 0; option_index < n_options; option_index++)
+                   if (ambig_set[option_index])
+                     fprintf (stderr, " '%s%s'",
+                              prefix, longopts[option_index].name);
+
+                 /* This must use 'fprintf' even though it's only
+                    printing a single character, so that it goes through
+                    __fxprintf_nocancel when compiled as part of glibc.  */
+                 fprintf (stderr, "\n");
+                 funlockfile (stderr);
+               }
+           }
+         if (ambig_malloced)
+           free (ambig_set);
+         d->__nextchar += strlen (d->__nextchar);
+         d->optind++;
+         d->optopt = 0;
+         return '?';
+       }
+
+      option_index = indfound;
+    }
+
+  if (pfound == NULL)
+    {
+      /* Can't find it as a long option.  If this is not getopt_long_only,
+        or the option starts with '--' or is not a valid short option,
+        then it's an error.  */
+      if (!long_only || argv[d->optind][1] == '-'
+         || strchr (optstring, *d->__nextchar) == NULL)
+       {
+         if (print_errors)
+           fprintf (stderr, _("%s: unrecognized option '%s%s'\n"),
+                    argv[0], prefix, d->__nextchar);
+
+         d->__nextchar = NULL;
+         d->optind++;
+         d->optopt = 0;
+         return '?';
+       }
+
+      /* Otherwise interpret it as a short option.  */
+      return -1;
+    }
+
+  /* We have found a matching long option.  Consume it.  */
+  d->optind++;
+  d->__nextchar = NULL;
+  if (*nameend)
+    {
+      /* Don't test has_arg with >, because some C compilers don't
+        allow it to be used on enums.  */
+      if (pfound->has_arg)
+       d->optarg = nameend + 1;
+      else
+       {
+         if (print_errors)
+           fprintf (stderr,
+                    _("%s: option '%s%s' doesn't allow an argument\n"),
+                    argv[0], prefix, pfound->name);
+
+         d->optopt = pfound->val;
+         return '?';
+       }
+    }
+  else if (pfound->has_arg == 1)
+    {
+      if (d->optind < argc)
+       d->optarg = argv[d->optind++];
+      else
+       {
+         if (print_errors)
+           fprintf (stderr,
+                    _("%s: option '%s%s' requires an argument\n"),
+                    argv[0], prefix, pfound->name);
+
+         d->optopt = pfound->val;
+         return optstring[0] == ':' ? ':' : '?';
+       }
+    }
+
+  if (longind != NULL)
+    *longind = option_index;
+  if (pfound->flag)
+    {
+      *(pfound->flag) = pfound->val;
+      return 0;
+    }
+  return pfound->val;
+}
+
+/* Initialize internal data upon the first call to getopt.  */
 
 static const char *
 _getopt_initialize (int argc _GL_UNUSED,
-                    char **argv _GL_UNUSED, const char *optstring,
-                    struct _getopt_data *d, int posixly_correct)
+                   char **argv _GL_UNUSED, const char *optstring,
+                   struct _getopt_data *d, int posixly_correct)
 {
   /* Start processing options with ARGV-element 1 (since ARGV-element 0
      is the program name); the sequence of previously skipped
      non-option ARGV-elements is empty.  */
+  if (d->optind == 0)
+    d->optind = 1;
 
   d->__first_nonopt = d->__last_nonopt = d->optind;
-
   d->__nextchar = NULL;
 
-  d->__posixly_correct = posixly_correct || !!getenv ("POSIXLY_CORRECT");
-
   /* Determine how to handle the ordering of options and nonoptions.  */
-
   if (optstring[0] == '-')
     {
       d->__ordering = RETURN_IN_ORDER;
@@ -248,41 +402,12 @@ _getopt_initialize (int argc _GL_UNUSED,
       d->__ordering = REQUIRE_ORDER;
       ++optstring;
     }
-  else if (d->__posixly_correct)
+  else if (posixly_correct || !!getenv ("POSIXLY_CORRECT"))
     d->__ordering = REQUIRE_ORDER;
   else
     d->__ordering = PERMUTE;
 
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
-  if (!d->__posixly_correct
-      && argc == __libc_argc && argv == __libc_argv)
-    {
-      if (d->__nonoption_flags_max_len == 0)
-        {
-          if (__getopt_nonoption_flags == NULL
-              || __getopt_nonoption_flags[0] == '\0')
-            d->__nonoption_flags_max_len = -1;
-          else
-            {
-              const char *orig_str = __getopt_nonoption_flags;
-              int len = d->__nonoption_flags_max_len = strlen (orig_str);
-              if (d->__nonoption_flags_max_len < argc)
-                d->__nonoption_flags_max_len = argc;
-              __getopt_nonoption_flags =
-                (char *) malloc (d->__nonoption_flags_max_len);
-              if (__getopt_nonoption_flags == NULL)
-                d->__nonoption_flags_max_len = -1;
-              else
-                memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
-                        '\0', d->__nonoption_flags_max_len - len);
-            }
-        }
-      d->__nonoption_flags_len = d->__nonoption_flags_max_len;
-    }
-  else
-    d->__nonoption_flags_len = 0;
-#endif
-
+  d->__initialized = 1;
   return optstring;
 }
 \f
@@ -344,8 +469,8 @@ _getopt_initialize (int argc _GL_UNUSED,
 
 int
 _getopt_internal_r (int argc, char **argv, const char *optstring,
-                    const struct option *longopts, int *longind,
-                    int long_only, struct _getopt_data *d, int posixly_correct)
+                   const struct option *longopts, int *longind,
+                   int long_only, struct _getopt_data *d, int posixly_correct)
 {
   int print_errors = d->opterr;
 
@@ -355,431 +480,129 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
   d->optarg = NULL;
 
   if (d->optind == 0 || !d->__initialized)
-    {
-      if (d->optind == 0)
-        d->optind = 1;  /* Don't scan ARGV[0], the program name.  */
-      optstring = _getopt_initialize (argc, argv, optstring, d,
-                                      posixly_correct);
-      d->__initialized = 1;
-    }
+    optstring = _getopt_initialize (argc, argv, optstring, d, posixly_correct);
   else if (optstring[0] == '-' || optstring[0] == '+')
     optstring++;
+
   if (optstring[0] == ':')
     print_errors = 0;
 
-  /* Test whether ARGV[optind] points to a non-option argument.
-     Either it does not have option syntax, or there is an environment flag
-     from the shell indicating it is not an option.  The later information
-     is only used when the used in the GNU libc.  */
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
-# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0' \
-                      || (d->optind < d->__nonoption_flags_len                \
-                          && __getopt_nonoption_flags[d->optind] == '1'))
-#else
-# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0')
-#endif
+  /* Test whether ARGV[optind] points to a non-option argument.  */
+#define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0')
 
   if (d->__nextchar == NULL || *d->__nextchar == '\0')
     {
       /* Advance to the next ARGV-element.  */
 
       /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
-         moved back by the user (who may also have changed the arguments).  */
+        moved back by the user (who may also have changed the arguments).  */
       if (d->__last_nonopt > d->optind)
-        d->__last_nonopt = d->optind;
+       d->__last_nonopt = d->optind;
       if (d->__first_nonopt > d->optind)
-        d->__first_nonopt = d->optind;
+       d->__first_nonopt = d->optind;
 
       if (d->__ordering == PERMUTE)
-        {
-          /* If we have just processed some options following some non-options,
-             exchange them so that the options come first.  */
+       {
+         /* If we have just processed some options following some non-options,
+            exchange them so that the options come first.  */
 
-          if (d->__first_nonopt != d->__last_nonopt
-              && d->__last_nonopt != d->optind)
-            exchange ((char **) argv, d);
-          else if (d->__last_nonopt != d->optind)
-            d->__first_nonopt = d->optind;
+         if (d->__first_nonopt != d->__last_nonopt
+             && d->__last_nonopt != d->optind)
+           exchange (argv, d);
+         else if (d->__last_nonopt != d->optind)
+           d->__first_nonopt = d->optind;
 
-          /* Skip any additional non-options
-             and extend the range of non-options previously skipped.  */
+         /* Skip any additional non-options
+            and extend the range of non-options previously skipped.  */
 
-          while (d->optind < argc && NONOPTION_P)
-            d->optind++;
-          d->__last_nonopt = d->optind;
-        }
+         while (d->optind < argc && NONOPTION_P)
+           d->optind++;
+         d->__last_nonopt = d->optind;
+       }
 
       /* The special ARGV-element '--' means premature end of options.
-         Skip it like a null option,
-         then exchange with previous non-options as if it were an option,
-         then skip everything else like a non-option.  */
+        Skip it like a null option,
+        then exchange with previous non-options as if it were an option,
+        then skip everything else like a non-option.  */
 
       if (d->optind != argc && !strcmp (argv[d->optind], "--"))
-        {
-          d->optind++;
+       {
+         d->optind++;
 
-          if (d->__first_nonopt != d->__last_nonopt
-              && d->__last_nonopt != d->optind)
-            exchange ((char **) argv, d);
-          else if (d->__first_nonopt == d->__last_nonopt)
-            d->__first_nonopt = d->optind;
-          d->__last_nonopt = argc;
+         if (d->__first_nonopt != d->__last_nonopt
+             && d->__last_nonopt != d->optind)
+           exchange (argv, d);
+         else if (d->__first_nonopt == d->__last_nonopt)
+           d->__first_nonopt = d->optind;
+         d->__last_nonopt = argc;
 
-          d->optind = argc;
-        }
+         d->optind = argc;
+       }
 
       /* If we have done all the ARGV-elements, stop the scan
-         and back over any non-options that we skipped and permuted.  */
+        and back over any non-options that we skipped and permuted.  */
 
       if (d->optind == argc)
-        {
-          /* Set the next-arg-index to point at the non-options
-             that we previously skipped, so the caller will digest them.  */
-          if (d->__first_nonopt != d->__last_nonopt)
-            d->optind = d->__first_nonopt;
-          return -1;
-        }
+       {
+         /* Set the next-arg-index to point at the non-options
+            that we previously skipped, so the caller will digest them.  */
+         if (d->__first_nonopt != d->__last_nonopt)
+           d->optind = d->__first_nonopt;
+         return -1;
+       }
 
       /* If we have come to a non-option and did not permute it,
-         either stop the scan or describe it to the caller and pass it by.  */
+        either stop the scan or describe it to the caller and pass it by.  */
 
       if (NONOPTION_P)
-        {
-          if (d->__ordering == REQUIRE_ORDER)
-            return -1;
-          d->optarg = argv[d->optind++];
-          return 1;
-        }
+       {
+         if (d->__ordering == REQUIRE_ORDER)
+           return -1;
+         d->optarg = argv[d->optind++];
+         return 1;
+       }
 
       /* We have found another option-ARGV-element.
-         Skip the initial punctuation.  */
-
-      d->__nextchar = (argv[d->optind] + 1
-                  + (longopts != NULL && argv[d->optind][1] == '-'));
-    }
-
-  /* Decode the current option-ARGV-element.  */
-
-  /* Check whether the ARGV-element is a long option.
-
-     If long_only and the ARGV-element has the form "-f", where f is
-     a valid short option, don't consider it an abbreviated form of
-     a long option that starts with f.  Otherwise there would be no
-     way to give the -f short option.
-
-     On the other hand, if there's a long option "fubar" and
-     the ARGV-element is "-fu", do consider that an abbreviation of
-     the long option, just like "--fu", and not "-f" with arg "u".
-
-     This distinction seems to be the most useful approach.  */
-
-  if (longopts != NULL
-      && (argv[d->optind][1] == '-'
-          || (long_only && (argv[d->optind][2]
-                            || !strchr (optstring, argv[d->optind][1])))))
-    {
-      char *nameend;
-      unsigned int namelen;
-      const struct option *p;
-      const struct option *pfound = NULL;
-      struct option_list
-      {
-        const struct option *p;
-        struct option_list *next;
-      } *ambig_list = NULL;
-      int exact = 0;
-      int indfound = -1;
-      int option_index;
-
-      for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++)
-        /* Do nothing.  */ ;
-      namelen = nameend - d->__nextchar;
-
-      /* Test all long options for either exact match
-         or abbreviated matches.  */
-      for (p = longopts, option_index = 0; p->name; p++, option_index++)
-        if (!strncmp (p->name, d->__nextchar, namelen))
-          {
-            if (namelen == (unsigned int) strlen (p->name))
-              {
-                /* Exact match found.  */
-                pfound = p;
-                indfound = option_index;
-                exact = 1;
-                break;
-              }
-            else if (pfound == NULL)
-              {
-                /* First nonexact match found.  */
-                pfound = p;
-                indfound = option_index;
-              }
-            else if (long_only
-                     || pfound->has_arg != p->has_arg
-                     || pfound->flag != p->flag
-                     || pfound->val != p->val)
-              {
-                /* Second or later nonexact match found.  */
-                struct option_list *newp = malloc (sizeof (*newp));
-                newp->p = p;
-                newp->next = ambig_list;
-                ambig_list = newp;
-              }
-          }
-
-      if (ambig_list != NULL && !exact)
-        {
-          if (print_errors)
-            {
-              struct option_list first;
-              first.p = pfound;
-              first.next = ambig_list;
-              ambig_list = &first;
-
-#if defined _LIBC && defined USE_IN_LIBIO
-              char *buf = NULL;
-              size_t buflen = 0;
-
-              FILE *fp = open_memstream (&buf, &buflen);
-              if (fp != NULL)
-                {
-                  fprintf (fp,
-                           _("%s: option '%s' is ambiguous; possibilities:"),
-                           argv[0], argv[d->optind]);
-
-                  do
-                    {
-                      fprintf (fp, " '--%s'", ambig_list->p->name);
-                      ambig_list = ambig_list->next;
-                    }
-                  while (ambig_list != NULL);
-
-                  fputc_unlocked ('\n', fp);
-
-                  if (__builtin_expect (fclose (fp) != EOF, 1))
-                    {
-                      _IO_flockfile (stderr);
-
-                      int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                      ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                      __fxprintf (NULL, "%s", buf);
-
-                      ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                      _IO_funlockfile (stderr);
-
-                      free (buf);
-                    }
-                }
-#else
-              fprintf (stderr,
-                       _("%s: option '%s' is ambiguous; possibilities:"),
-                       argv[0], argv[d->optind]);
-              do
-                {
-                  fprintf (stderr, " '--%s'", ambig_list->p->name);
-                  ambig_list = ambig_list->next;
-                }
-              while (ambig_list != NULL);
-
-              fputc ('\n', stderr);
-#endif
-            }
-          d->__nextchar += strlen (d->__nextchar);
-          d->optind++;
-          d->optopt = 0;
-          return '?';
-        }
-
-      while (ambig_list != NULL)
-        {
-          struct option_list *pn = ambig_list->next;
-          free (ambig_list);
-          ambig_list = pn;
-        }
-
-      if (pfound != NULL)
-        {
-          option_index = indfound;
-          d->optind++;
-          if (*nameend)
-            {
-              /* Don't test has_arg with >, because some C compilers don't
-                 allow it to be used on enums.  */
-              if (pfound->has_arg)
-                d->optarg = nameend + 1;
-              else
-                {
-                  if (print_errors)
-                    {
-#if defined _LIBC && defined USE_IN_LIBIO
-                      char *buf;
-                      int n;
-#endif
-
-                      if (argv[d->optind - 1][1] == '-')
-                        {
-                          /* --option */
-#if defined _LIBC && defined USE_IN_LIBIO
-                          n = __asprintf (&buf, _("\
-%s: option '--%s' doesn't allow an argument\n"),
-                                          argv[0], pfound->name);
-#else
-                          fprintf (stderr, _("\
-%s: option '--%s' doesn't allow an argument\n"),
-                                   argv[0], pfound->name);
-#endif
-                        }
-                      else
-                        {
-                          /* +option or -option */
-#if defined _LIBC && defined USE_IN_LIBIO
-                          n = __asprintf (&buf, _("\
-%s: option '%c%s' doesn't allow an argument\n"),
-                                          argv[0], argv[d->optind - 1][0],
-                                          pfound->name);
-#else
-                          fprintf (stderr, _("\
-%s: option '%c%s' doesn't allow an argument\n"),
-                                   argv[0], argv[d->optind - 1][0],
-                                   pfound->name);
-#endif
-                        }
-
-#if defined _LIBC && defined USE_IN_LIBIO
-                      if (n >= 0)
-                        {
-                          _IO_flockfile (stderr);
-
-                          int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                          ((_IO_FILE *) stderr)->_flags2
-                            |= _IO_FLAGS2_NOTCANCEL;
-
-                          __fxprintf (NULL, "%s", buf);
-
-                          ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                          _IO_funlockfile (stderr);
-
-                          free (buf);
-                        }
-#endif
-                    }
-
-                  d->__nextchar += strlen (d->__nextchar);
-
-                  d->optopt = pfound->val;
-                  return '?';
-                }
-            }
-          else if (pfound->has_arg == 1)
-            {
-              if (d->optind < argc)
-                d->optarg = argv[d->optind++];
-              else
-                {
-                  if (print_errors)
-                    {
-#if defined _LIBC && defined USE_IN_LIBIO
-                      char *buf;
-
-                      if (__asprintf (&buf, _("\
-%s: option '--%s' requires an argument\n"),
-                                      argv[0], pfound->name) >= 0)
-                        {
-                          _IO_flockfile (stderr);
-
-                          int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                          ((_IO_FILE *) stderr)->_flags2
-                            |= _IO_FLAGS2_NOTCANCEL;
-
-                          __fxprintf (NULL, "%s", buf);
-
-                          ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                          _IO_funlockfile (stderr);
-
-                          free (buf);
-                        }
-#else
-                      fprintf (stderr,
-                               _("%s: option '--%s' requires an argument\n"),
-                               argv[0], pfound->name);
-#endif
-                    }
-                  d->__nextchar += strlen (d->__nextchar);
-                  d->optopt = pfound->val;
-                  return optstring[0] == ':' ? ':' : '?';
-                }
-            }
-          d->__nextchar += strlen (d->__nextchar);
-          if (longind != NULL)
-            *longind = option_index;
-          if (pfound->flag)
-            {
-              *(pfound->flag) = pfound->val;
-              return 0;
-            }
-          return pfound->val;
-        }
-
-      /* Can't find it as a long option.  If this is not getopt_long_only,
-         or the option starts with '--' or is not a valid short
-         option, then it's an error.
-         Otherwise interpret it as a short option.  */
-      if (!long_only || argv[d->optind][1] == '-'
-          || strchr (optstring, *d->__nextchar) == NULL)
-        {
-          if (print_errors)
-            {
-#if defined _LIBC && defined USE_IN_LIBIO
-              char *buf;
-              int n;
-#endif
-
-              if (argv[d->optind][1] == '-')
-                {
-                  /* --option */
-#if defined _LIBC && defined USE_IN_LIBIO
-                  n = __asprintf (&buf, _("%s: unrecognized option '--%s'\n"),
-                                  argv[0], d->__nextchar);
-#else
-                  fprintf (stderr, _("%s: unrecognized option '--%s'\n"),
-                           argv[0], d->__nextchar);
-#endif
-                }
-              else
-                {
-                  /* +option or -option */
-#if defined _LIBC && defined USE_IN_LIBIO
-                  n = __asprintf (&buf, _("%s: unrecognized option '%c%s'\n"),
-                                  argv[0], argv[d->optind][0], d->__nextchar);
-#else
-                  fprintf (stderr, _("%s: unrecognized option '%c%s'\n"),
-                           argv[0], argv[d->optind][0], d->__nextchar);
-#endif
-                }
-
-#if defined _LIBC && defined USE_IN_LIBIO
-              if (n >= 0)
-                {
-                  _IO_flockfile (stderr);
-
-                  int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                  ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                  __fxprintf (NULL, "%s", buf);
-
-                  ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                  _IO_funlockfile (stderr);
-
-                  free (buf);
-                }
-#endif
-            }
-          d->__nextchar = (char *) "";
-          d->optind++;
-          d->optopt = 0;
-          return '?';
-        }
+        Check whether it might be a long option.  */
+      if (longopts)
+       {
+         if (argv[d->optind][1] == '-')
+           {
+             /* "--foo" is always a long option.  The special option
+                "--" was handled above.  */
+             d->__nextchar = argv[d->optind] + 2;
+             return process_long_option (argc, argv, optstring, longopts,
+                                         longind, long_only, d,
+                                         print_errors, "--");
+           }
+
+         /* If long_only and the ARGV-element has the form "-f",
+            where f is a valid short option, don't consider it an
+            abbreviated form of a long option that starts with f.
+            Otherwise there would be no way to give the -f short
+            option.
+
+            On the other hand, if there's a long option "fubar" and
+            the ARGV-element is "-fu", do consider that an
+            abbreviation of the long option, just like "--fu", and
+            not "-f" with arg "u".
+
+            This distinction seems to be the most useful approach.  */
+         if (long_only && (argv[d->optind][2]
+                           || !strchr (optstring, argv[d->optind][1])))
+           {
+             int code;
+             d->__nextchar = argv[d->optind] + 1;
+             code = process_long_option (argc, argv, optstring, longopts,
+                                         longind, long_only, d,
+                                         print_errors, "-");
+             if (code != -1)
+               return code;
+           }
+       }
+
+      /* It is not a long option.  Skip the initial punctuation.  */
+      d->__nextchar = argv[d->optind] + 1;
     }
 
   /* Look at and handle the next short option-character.  */
@@ -794,331 +617,83 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
 
     if (temp == NULL || c == ':' || c == ';')
       {
-        if (print_errors)
-          {
-#if defined _LIBC && defined USE_IN_LIBIO
-              char *buf;
-              int n;
-#endif
-
-#if defined _LIBC && defined USE_IN_LIBIO
-              n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"),
-                              argv[0], c);
-#else
-              fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c);
-#endif
-
-#if defined _LIBC && defined USE_IN_LIBIO
-            if (n >= 0)
-              {
-                _IO_flockfile (stderr);
-
-                int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                __fxprintf (NULL, "%s", buf);
-
-                ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                _IO_funlockfile (stderr);
-
-                free (buf);
-              }
-#endif
-          }
-        d->optopt = c;
-        return '?';
+       if (print_errors)
+         fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c);
+       d->optopt = c;
+       return '?';
       }
+
     /* Convenience. Treat POSIX -W foo same as long option --foo */
-    if (temp[0] == 'W' && temp[1] == ';')
+    if (temp[0] == 'W' && temp[1] == ';' && longopts != NULL)
       {
-        char *nameend;
-        const struct option *p;
-        const struct option *pfound = NULL;
-        int exact = 0;
-        int ambig = 0;
-        int indfound = 0;
-        int option_index;
-
-        if (longopts == NULL)
-          goto no_longs;
-
-        /* This is an option that requires an argument.  */
-        if (*d->__nextchar != '\0')
-          {
-            d->optarg = d->__nextchar;
-            /* If we end this ARGV-element by taking the rest as an arg,
-               we must advance to the next element now.  */
-            d->optind++;
-          }
-        else if (d->optind == argc)
-          {
-            if (print_errors)
-              {
-#if defined _LIBC && defined USE_IN_LIBIO
-                char *buf;
-
-                if (__asprintf (&buf,
-                                _("%s: option requires an argument -- '%c'\n"),
-                                argv[0], c) >= 0)
-                  {
-                    _IO_flockfile (stderr);
-
-                    int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                    ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                    __fxprintf (NULL, "%s", buf);
-
-                    ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                    _IO_funlockfile (stderr);
-
-                    free (buf);
-                  }
-#else
-                fprintf (stderr,
-                         _("%s: option requires an argument -- '%c'\n"),
-                         argv[0], c);
-#endif
-              }
-            d->optopt = c;
-            if (optstring[0] == ':')
-              c = ':';
-            else
-              c = '?';
-            return c;
-          }
-        else
-          /* We already incremented 'd->optind' once;
-             increment it again when taking next ARGV-elt as argument.  */
-          d->optarg = argv[d->optind++];
-
-        /* optarg is now the argument, see if it's in the
-           table of longopts.  */
-
-        for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '=';
-             nameend++)
-          /* Do nothing.  */ ;
-
-        /* Test all long options for either exact match
-           or abbreviated matches.  */
-        for (p = longopts, option_index = 0; p->name; p++, option_index++)
-          if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
-            {
-              if ((unsigned int) (nameend - d->__nextchar) == strlen (p->name))
-                {
-                  /* Exact match found.  */
-                  pfound = p;
-                  indfound = option_index;
-                  exact = 1;
-                  break;
-                }
-              else if (pfound == NULL)
-                {
-                  /* First nonexact match found.  */
-                  pfound = p;
-                  indfound = option_index;
-                }
-              else if (long_only
-                       || pfound->has_arg != p->has_arg
-                       || pfound->flag != p->flag
-                       || pfound->val != p->val)
-                /* Second or later nonexact match found.  */
-                ambig = 1;
-            }
-        if (ambig && !exact)
-          {
-            if (print_errors)
-              {
-#if defined _LIBC && defined USE_IN_LIBIO
-                char *buf;
-
-                if (__asprintf (&buf, _("%s: option '-W %s' is ambiguous\n"),
-                                argv[0], d->optarg) >= 0)
-                  {
-                    _IO_flockfile (stderr);
-
-                    int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                    ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                    __fxprintf (NULL, "%s", buf);
-
-                    ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                    _IO_funlockfile (stderr);
-
-                    free (buf);
-                  }
-#else
-                fprintf (stderr, _("%s: option '-W %s' is ambiguous\n"),
-                         argv[0], d->optarg);
-#endif
-              }
-            d->__nextchar += strlen (d->__nextchar);
-            d->optind++;
-            return '?';
-          }
-        if (pfound != NULL)
-          {
-            option_index = indfound;
-            if (*nameend)
-              {
-                /* Don't test has_arg with >, because some C compilers don't
-                   allow it to be used on enums.  */
-                if (pfound->has_arg)
-                  d->optarg = nameend + 1;
-                else
-                  {
-                    if (print_errors)
-                      {
-#if defined _LIBC && defined USE_IN_LIBIO
-                        char *buf;
-
-                        if (__asprintf (&buf, _("\
-%s: option '-W %s' doesn't allow an argument\n"),
-                                        argv[0], pfound->name) >= 0)
-                          {
-                            _IO_flockfile (stderr);
-
-                            int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                            ((_IO_FILE *) stderr)->_flags2
-                              |= _IO_FLAGS2_NOTCANCEL;
-
-                            __fxprintf (NULL, "%s", buf);
-
-                            ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                            _IO_funlockfile (stderr);
-
-                            free (buf);
-                          }
-#else
-                        fprintf (stderr, _("\
-%s: option '-W %s' doesn't allow an argument\n"),
-                                 argv[0], pfound->name);
-#endif
-                      }
-
-                    d->__nextchar += strlen (d->__nextchar);
-                    return '?';
-                  }
-              }
-            else if (pfound->has_arg == 1)
-              {
-                if (d->optind < argc)
-                  d->optarg = argv[d->optind++];
-                else
-                  {
-                    if (print_errors)
-                      {
-#if defined _LIBC && defined USE_IN_LIBIO
-                        char *buf;
-
-                        if (__asprintf (&buf, _("\
-%s: option '-W %s' requires an argument\n"),
-                                        argv[0], pfound->name) >= 0)
-                          {
-                            _IO_flockfile (stderr);
-
-                            int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                            ((_IO_FILE *) stderr)->_flags2
-                              |= _IO_FLAGS2_NOTCANCEL;
-
-                            __fxprintf (NULL, "%s", buf);
-
-                            ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                            _IO_funlockfile (stderr);
-
-                            free (buf);
-                          }
-#else
-                        fprintf (stderr, _("\
-%s: option '-W %s' requires an argument\n"),
-                                 argv[0], pfound->name);
-#endif
-                      }
-                    d->__nextchar += strlen (d->__nextchar);
-                    return optstring[0] == ':' ? ':' : '?';
-                  }
-              }
-            else
-              d->optarg = NULL;
-            d->__nextchar += strlen (d->__nextchar);
-            if (longind != NULL)
-              *longind = option_index;
-            if (pfound->flag)
-              {
-                *(pfound->flag) = pfound->val;
-                return 0;
-              }
-            return pfound->val;
-          }
-
-      no_longs:
-        d->__nextchar = NULL;
-        return 'W';   /* Let the application handle it.   */
+       /* This is an option that requires an argument.  */
+       if (*d->__nextchar != '\0')
+         d->optarg = d->__nextchar;
+       else if (d->optind == argc)
+         {
+           if (print_errors)
+             fprintf (stderr,
+                      _("%s: option requires an argument -- '%c'\n"),
+                      argv[0], c);
+
+           d->optopt = c;
+           if (optstring[0] == ':')
+             c = ':';
+           else
+             c = '?';
+           return c;
+         }
+       else
+         d->optarg = argv[d->optind];
+
+       d->__nextchar = d->optarg;
+       d->optarg = NULL;
+       return process_long_option (argc, argv, optstring, longopts, longind,
+                                   0 /* long_only */, d, print_errors, "-W ");
       }
     if (temp[1] == ':')
       {
-        if (temp[2] == ':')
-          {
-            /* This is an option that accepts an argument optionally.  */
-            if (*d->__nextchar != '\0')
-              {
-                d->optarg = d->__nextchar;
-                d->optind++;
-              }
-            else
-              d->optarg = NULL;
-            d->__nextchar = NULL;
-          }
-        else
-          {
-            /* This is an option that requires an argument.  */
-            if (*d->__nextchar != '\0')
-              {
-                d->optarg = d->__nextchar;
-                /* If we end this ARGV-element by taking the rest as an arg,
-                   we must advance to the next element now.  */
-                d->optind++;
-              }
-            else if (d->optind == argc)
-              {
-                if (print_errors)
-                  {
-#if defined _LIBC && defined USE_IN_LIBIO
-                    char *buf;
-
-                    if (__asprintf (&buf, _("\
-%s: option requires an argument -- '%c'\n"),
-                                    argv[0], c) >= 0)
-                      {
-                        _IO_flockfile (stderr);
-
-                        int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                        ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                        __fxprintf (NULL, "%s", buf);
-
-                        ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                        _IO_funlockfile (stderr);
-
-                        free (buf);
-                      }
-#else
-                    fprintf (stderr,
-                             _("%s: option requires an argument -- '%c'\n"),
-                             argv[0], c);
-#endif
-                  }
-                d->optopt = c;
-                if (optstring[0] == ':')
-                  c = ':';
-                else
-                  c = '?';
-              }
-            else
-              /* We already incremented 'optind' once;
-                 increment it again when taking next ARGV-elt as argument.  */
-              d->optarg = argv[d->optind++];
-            d->__nextchar = NULL;
-          }
+       if (temp[2] == ':')
+         {
+           /* This is an option that accepts an argument optionally.  */
+           if (*d->__nextchar != '\0')
+             {
+               d->optarg = d->__nextchar;
+               d->optind++;
+             }
+           else
+             d->optarg = NULL;
+           d->__nextchar = NULL;
+         }
+       else
+         {
+           /* This is an option that requires an argument.  */
+           if (*d->__nextchar != '\0')
+             {
+               d->optarg = d->__nextchar;
+               /* If we end this ARGV-element by taking the rest as an arg,
+                  we must advance to the next element now.  */
+               d->optind++;
+             }
+           else if (d->optind == argc)
+             {
+               if (print_errors)
+                 fprintf (stderr,
+                          _("%s: option requires an argument -- '%c'\n"),
+                          argv[0], c);
+
+               d->optopt = c;
+               if (optstring[0] == ':')
+                 c = ':';
+               else
+                 c = '?';
+             }
+           else
+             /* We already incremented 'optind' once;
+                increment it again when taking next ARGV-elt as argument.  */
+             d->optarg = argv[d->optind++];
+           d->__nextchar = NULL;
+         }
       }
     return c;
   }
@@ -1126,8 +701,8 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
 
 int
 _getopt_internal (int argc, char **argv, const char *optstring,
-                  const struct option *longopts, int *longind, int long_only,
-                  int posixly_correct)
+                 const struct option *longopts, int *longind, int long_only,
+                 int posixly_correct)
 {
   int result;
 
@@ -1135,8 +710,8 @@ _getopt_internal (int argc, char **argv, const char *optstring,
   getopt_data.opterr = opterr;
 
   result = _getopt_internal_r (argc, argv, optstring, longopts,
-                               longind, long_only, &getopt_data,
-                               posixly_correct);
+                              longind, long_only, &getopt_data,
+                              posixly_correct);
 
   optind = getopt_data.optind;
   optarg = getopt_data.optarg;
@@ -1145,32 +720,23 @@ _getopt_internal (int argc, char **argv, const char *optstring,
   return result;
 }
 
-/* glibc gets a LSB-compliant getopt.
-   Standalone applications get a POSIX-compliant getopt.  */
-#if _LIBC
-enum { POSIXLY_CORRECT = 0 };
-#else
-enum { POSIXLY_CORRECT = 1 };
-#endif
-
-int
-getopt (int argc, char *const *argv, const char *optstring)
-{
-  return _getopt_internal (argc, (char **) argv, optstring,
-                           (const struct option *) 0,
-                           (int *) 0,
-                           0, POSIXLY_CORRECT);
-}
+/* glibc gets a LSB-compliant getopt and a POSIX-complaint __posix_getopt.
+   Standalone applications just get a POSIX-compliant getopt.
+   POSIX and LSB both require these functions to take 'char *const *argv'
+   even though this is incorrect (because of the permutation).  */
+#define GETOPT_ENTRY(NAME, POSIXLY_CORRECT)                    \
+  int                                                          \
+  NAME (int argc, char *const *argv, const char *optstring)    \
+  {                                                            \
+    return _getopt_internal (argc, (char **)argv, optstring,   \
+                            0, 0, 0, POSIXLY_CORRECT);         \
+  }
 
 #ifdef _LIBC
-int
-__posix_getopt (int argc, char *const *argv, const char *optstring)
-{
-  return _getopt_internal (argc, argv, optstring,
-                           (const struct option *) 0,
-                           (int *) 0,
-                           0, 1);
-}
+GETOPT_ENTRY(getopt, 0)
+GETOPT_ENTRY(__posix_getopt, 1)
+#else
+GETOPT_ENTRY(getopt, 1)
 #endif
 
 \f
@@ -1191,51 +757,51 @@ main (int argc, char **argv)
 
       c = getopt (argc, argv, "abc:d:0123456789");
       if (c == -1)
-        break;
+       break;
 
       switch (c)
-        {
-        case '0':
-        case '1':
-        case '2':
-        case '3':
-        case '4':
-        case '5':
-        case '6':
-        case '7':
-        case '8':
-        case '9':
-          if (digit_optind != 0 && digit_optind != this_option_optind)
-            printf ("digits occur in two different argv-elements.\n");
-          digit_optind = this_option_optind;
-          printf ("option %c\n", c);
-          break;
-
-        case 'a':
-          printf ("option a\n");
-          break;
-
-        case 'b':
-          printf ("option b\n");
-          break;
-
-        case 'c':
-          printf ("option c with value '%s'\n", optarg);
-          break;
-
-        case '?':
-          break;
-
-        default:
-          printf ("?? getopt returned character code 0%o ??\n", c);
-        }
+       {
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+         if (digit_optind != 0 && digit_optind != this_option_optind)
+           printf ("digits occur in two different argv-elements.\n");
+         digit_optind = this_option_optind;
+         printf ("option %c\n", c);
+         break;
+
+       case 'a':
+         printf ("option a\n");
+         break;
+
+       case 'b':
+         printf ("option b\n");
+         break;
+
+       case 'c':
+         printf ("option c with value '%s'\n", optarg);
+         break;
+
+       case '?':
+         break;
+
+       default:
+         printf ("?? getopt returned character code 0%o ??\n", c);
+       }
     }
 
   if (optind < argc)
     {
       printf ("non-option ARGV-elements: ");
       while (optind < argc)
-        printf ("%s ", argv[optind++]);
+       printf ("%s ", argv[optind++]);
       printf ("\n");
     }
 
index 7ab99fb83236da963b2efb53c0baeaa9f99acd62..c77f34ce587a24dc6c64662b2fe654e497939a1a 100644 (file)
@@ -1,20 +1,22 @@
 /* Declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2014 Free Software
-   Foundation, Inc.
-   This file is part of the GNU C Library.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
+   This file is part of gnulib.
+   Unlike most of the getopt implementation, it is NOT shared
+   with the GNU C Library, which supplies a different version of
+   this file.
 
-   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 file 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.
+   This file 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 <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU General Public
+   License along with gnulib; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_GETOPT_H
 
 # undef _GL_SYSTEM_GETOPT
 #endif
 
-#ifndef _@GUARD_PREFIX@_GETOPT_H
-
-#ifndef __need_getopt
-# define _@GUARD_PREFIX@_GETOPT_H 1
-#endif
+#define _@GUARD_PREFIX@_GETOPT_H 1
 
 /* Standalone applications should #define __GETOPT_PREFIX to an
    identifier that prefixes the external functions and variables
-   defined in this header.  When this happens, include the
-   headers that might declare getopt so that they will not cause
-   confusion if included after this file (if the system had <getopt.h>,
-   we have already included it).  Then systematically rename
-   identifiers so that they do not collide with the system functions
-   and variables.  Renaming avoids problems with some compilers and
-   linkers.  */
-#if defined __GETOPT_PREFIX && !defined __need_getopt
+   defined in getopt-core.h and getopt-ext.h.  When this happens,
+   include the headers that might declare getopt so that they will not
+   cause confusion if included after this file (if the system had
+   <getopt.h>, we have already included it).  */
+#if defined __GETOPT_PREFIX
 # if !@HAVE_GETOPT_H@
 #  define __need_system_stdlib_h
 #  include <stdlib.h>
 #  include <stdio.h>
 #  include <unistd.h>
 # endif
-# undef __need_getopt
-# undef getopt
-# undef getopt_long
-# undef getopt_long_only
-# undef optarg
-# undef opterr
-# undef optind
-# undef optopt
-# undef option
-# define __GETOPT_CONCAT(x, y) x ## y
-# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
-# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
-# define getopt __GETOPT_ID (getopt)
-# define getopt_long __GETOPT_ID (getopt_long)
-# define getopt_long_only __GETOPT_ID (getopt_long_only)
-# define optarg __GETOPT_ID (optarg)
-# define opterr __GETOPT_ID (opterr)
-# define optind __GETOPT_ID (optind)
-# define optopt __GETOPT_ID (optopt)
-# define option __GETOPT_ID (option)
-# define _getopt_internal __GETOPT_ID (getopt_internal)
-#endif
-
-/* Standalone applications get correct prototypes for getopt_long and
-   getopt_long_only; they declare "char **argv".  libc uses prototypes
-   with "char *const *argv" that are incorrect because getopt_long and
-   getopt_long_only can permute argv; this is required for backward
-   compatibility (e.g., for LSB 2.0.1).
-
-   This used to be '#if defined __GETOPT_PREFIX && !defined __need_getopt',
-   but it caused redefinition warnings if both unistd.h and getopt.h were
-   included, since unistd.h includes getopt.h having previously defined
-   __need_getopt.
-
-   The only place where __getopt_argv_const is used is in definitions
-   of getopt_long and getopt_long_only below, but these are visible
-   only if __need_getopt is not defined, so it is quite safe to rewrite
-   the conditional as follows:
-*/
-#if !defined __need_getopt
-# if defined __GETOPT_PREFIX
-#  define __getopt_argv_const /* empty */
-# else
-#  define __getopt_argv_const const
-# endif
-#endif
-
-/* If __GNU_LIBRARY__ is not already defined, either we are being used
-   standalone, or this is the first header included in the source file.
-   If we are being used with glibc, we need to include <features.h>, but
-   that does not exist if we are standalone.  So: if __GNU_LIBRARY__ is
-   not defined, include <ctype.h>, which will pull in <features.h> for us
-   if it's from glibc.  (Why ctype.h?  It's guaranteed to exist and it
-   doesn't flood the namespace with stuff the way some other headers do.)  */
-#if !defined __GNU_LIBRARY__
-# include <ctype.h>
-#endif
-
-#ifndef __THROW
-# ifndef __GNUC_PREREQ
-#  define __GNUC_PREREQ(maj, min) (0)
-# endif
-# if defined __cplusplus && __GNUC_PREREQ (2,8)
-#  define __THROW       throw ()
-# else
-#  define __THROW
-# endif
 #endif
 
 /* The definition of _GL_ARG_NONNULL is copied here.  */
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* For communication from 'getopt' to the caller.
-   When 'getopt' finds an option that takes an argument,
-   the argument value is returned here.
-   Also, when 'ordering' is RETURN_IN_ORDER,
-   each non-option ARGV-element is returned here.  */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
-   This is used for communication to and from the caller
-   and for communication between successive calls to 'getopt'.
-
-   On entry to 'getopt', zero means this is the first call; initialize.
-
-   When 'getopt' returns -1, this is the index of the first of the
-   non-option elements that the caller should itself scan.
-
-   Otherwise, 'optind' communicates from one call to the next
-   how much of ARGV has been scanned so far.  */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message 'getopt' prints
-   for unrecognized options.  */
-
-extern int opterr;
-
-/* Set to an option character which was unrecognized.  */
+#include <getopt-cdefs.h>
+#include <getopt-pfx-core.h>
+#include <getopt-pfx-ext.h>
 
-extern int optopt;
-
-#ifndef __need_getopt
-/* Describe the long-named options requested by the application.
-   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
-   of 'struct option' terminated by an element containing a name which is
-   zero.
-
-   The field 'has_arg' is:
-   no_argument          (or 0) if the option does not take an argument,
-   required_argument    (or 1) if the option requires an argument,
-   optional_argument    (or 2) if the option takes an optional argument.
-
-   If the field 'flag' is not NULL, it points to a variable that is set
-   to the value given in the field 'val' when the option is found, but
-   left unchanged if the option is not found.
-
-   To have a long-named option do something other than set an 'int' to
-   a compiled-in constant, such as set a value from 'optarg', set the
-   option's 'flag' field to zero and its 'val' field to a nonzero
-   value (the equivalent single-letter option character, if there is
-   one).  For long options that have a zero 'flag' field, 'getopt'
-   returns the contents of the 'val' field.  */
-
-# if !GNULIB_defined_struct_option
-struct option
-{
-  const char *name;
-  /* has_arg can't be an enum because some compilers complain about
-     type mismatches in all the code that assumes it is an int.  */
-  int has_arg;
-  int *flag;
-  int val;
-};
-#  define GNULIB_defined_struct_option 1
-# endif
-
-/* Names for the values of the 'has_arg' field of 'struct option'.  */
-
-# define no_argument            0
-# define required_argument      1
-# define optional_argument      2
-#endif  /* need getopt */
-
-
-/* Get definitions and prototypes for functions to process the
-   arguments in ARGV (ARGC of them, minus the program name) for
-   options given in OPTS.
-
-   Return the option character from OPTS just read.  Return -1 when
-   there are no more options.  For unrecognized options, or options
-   missing arguments, 'optopt' is set to the option letter, and '?' is
-   returned.
-
-   The OPTS string is a list of characters which are recognized option
-   letters, optionally followed by colons, specifying that that letter
-   takes an argument, to be placed in 'optarg'.
-
-   If a letter in OPTS is followed by two colons, its argument is
-   optional.  This behavior is specific to the GNU 'getopt'.
-
-   The argument '--' causes premature termination of argument
-   scanning, explicitly telling 'getopt' that there are no more
-   options.
-
-   If OPTS begins with '-', then non-option arguments are treated as
-   arguments to the option '\1'.  This behavior is specific to the GNU
-   'getopt'.  If OPTS begins with '+', or POSIXLY_CORRECT is set in
-   the environment, then do not permute arguments.  */
-
-extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
-       __THROW _GL_ARG_NONNULL ((2, 3));
-
-#ifndef __need_getopt
-extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
-                        const char *__shortopts,
-                        const struct option *__longopts, int *__longind)
-       __THROW _GL_ARG_NONNULL ((2, 3));
-extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
-                             const char *__shortopts,
-                             const struct option *__longopts, int *__longind)
-       __THROW _GL_ARG_NONNULL ((2, 3));
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-/* Make sure we later can get all the definitions and declarations.  */
-#undef __need_getopt
-
-#endif /* _@GUARD_PREFIX@_GETOPT_H */
 #endif /* _@GUARD_PREFIX@_GETOPT_H */
index a184865ea6373354e719bf03842b0ad2bb039a5b..883aa6bbc91694b789d9a46996a611c2123aa8c0 100644 (file)
@@ -1,56 +1,44 @@
 /* getopt_long and getopt_long_only entry points for GNU getopt.
-   Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2014 Free Software
-   Foundation, Inc.
-   This file is part of the GNU C Library.
+   Copyright (C) 1987-2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
 
-   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.
+   The GNU C Library 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,
+   The GNU C 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 General Public License for more details.
+   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 <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
 \f
-#ifdef _LIBC
-# include <getopt.h>
-#else
+#ifndef _LIBC
 # include <config.h>
-# include "getopt.h"
 #endif
-#include "getopt_int.h"
-
-#include <stdio.h>
 
-/* This needs to come after some library #include
-   to get __GNU_LIBRARY__ defined.  */
-#ifdef __GNU_LIBRARY__
-#include <stdlib.h>
-#endif
-
-#ifndef NULL
-#define NULL 0
-#endif
+#include "getopt.h"
+#include "getopt_int.h"
 
 int
 getopt_long (int argc, char *__getopt_argv_const *argv, const char *options,
-             const struct option *long_options, int *opt_index)
+            const struct option *long_options, int *opt_index)
 {
   return _getopt_internal (argc, (char **) argv, options, long_options,
-                           opt_index, 0, 0);
+                          opt_index, 0, 0);
 }
 
 int
 _getopt_long_r (int argc, char **argv, const char *options,
-                const struct option *long_options, int *opt_index,
-                struct _getopt_data *d)
+               const struct option *long_options, int *opt_index,
+               struct _getopt_data *d)
 {
   return _getopt_internal_r (argc, argv, options, long_options, opt_index,
-                             0, d, 0);
+                            0, d, 0);
 }
 
 /* Like getopt_long, but '-' as well as '--' can indicate a long option.
@@ -60,26 +48,27 @@ _getopt_long_r (int argc, char **argv, const char *options,
 
 int
 getopt_long_only (int argc, char *__getopt_argv_const *argv,
-                  const char *options,
-                  const struct option *long_options, int *opt_index)
+                 const char *options,
+                 const struct option *long_options, int *opt_index)
 {
   return _getopt_internal (argc, (char **) argv, options, long_options,
-                           opt_index, 1, 0);
+                          opt_index, 1, 0);
 }
 
 int
 _getopt_long_only_r (int argc, char **argv, const char *options,
-                     const struct option *long_options, int *opt_index,
-                     struct _getopt_data *d)
+                    const struct option *long_options, int *opt_index,
+                    struct _getopt_data *d)
 {
   return _getopt_internal_r (argc, argv, options, long_options, opt_index,
-                             1, d, 0);
+                            1, d, 0);
 }
 
 \f
 #ifdef TEST
 
 #include <stdio.h>
+#include <stdlib.h>
 
 int
 main (int argc, char **argv)
@@ -93,74 +82,74 @@ main (int argc, char **argv)
       int option_index = 0;
       static const struct option long_options[] =
       {
-        {"add", 1, 0, 0},
-        {"append", 0, 0, 0},
-        {"delete", 1, 0, 0},
-        {"verbose", 0, 0, 0},
-        {"create", 0, 0, 0},
-        {"file", 1, 0, 0},
-        {0, 0, 0, 0}
+       {"add", 1, 0, 0},
+       {"append", 0, 0, 0},
+       {"delete", 1, 0, 0},
+       {"verbose", 0, 0, 0},
+       {"create", 0, 0, 0},
+       {"file", 1, 0, 0},
+       {0, 0, 0, 0}
       };
 
       c = getopt_long (argc, argv, "abc:d:0123456789",
-                       long_options, &option_index);
+                      long_options, &option_index);
       if (c == -1)
-        break;
+       break;
 
       switch (c)
-        {
-        case 0:
-          printf ("option %s", long_options[option_index].name);
-          if (optarg)
-            printf (" with arg %s", optarg);
-          printf ("\n");
-          break;
-
-        case '0':
-        case '1':
-        case '2':
-        case '3':
-        case '4':
-        case '5':
-        case '6':
-        case '7':
-        case '8':
-        case '9':
-          if (digit_optind != 0 && digit_optind != this_option_optind)
-            printf ("digits occur in two different argv-elements.\n");
-          digit_optind = this_option_optind;
-          printf ("option %c\n", c);
-          break;
-
-        case 'a':
-          printf ("option a\n");
-          break;
-
-        case 'b':
-          printf ("option b\n");
-          break;
-
-        case 'c':
-          printf ("option c with value '%s'\n", optarg);
-          break;
-
-        case 'd':
-          printf ("option d with value '%s'\n", optarg);
-          break;
-
-        case '?':
-          break;
-
-        default:
-          printf ("?? getopt returned character code 0%o ??\n", c);
-        }
+       {
+       case 0:
+         printf ("option %s", long_options[option_index].name);
+         if (optarg)
+           printf (" with arg %s", optarg);
+         printf ("\n");
+         break;
+
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+         if (digit_optind != 0 && digit_optind != this_option_optind)
+           printf ("digits occur in two different argv-elements.\n");
+         digit_optind = this_option_optind;
+         printf ("option %c\n", c);
+         break;
+
+       case 'a':
+         printf ("option a\n");
+         break;
+
+       case 'b':
+         printf ("option b\n");
+         break;
+
+       case 'c':
+         printf ("option c with value '%s'\n", optarg);
+         break;
+
+       case 'd':
+         printf ("option d with value '%s'\n", optarg);
+         break;
+
+       case '?':
+         break;
+
+       default:
+         printf ("?? getopt returned character code 0%o ??\n", c);
+       }
     }
 
   if (optind < argc)
     {
       printf ("non-option ARGV-elements: ");
       while (optind < argc)
-        printf ("%s ", argv[optind++]);
+       printf ("%s ", argv[optind++]);
       printf ("\n");
     }
 
index 24ed672e2eb72e560df84b526a80b8709950013d..e63706f60ea3eaec4fcce644ebb2b005a6d75e97 100644 (file)
@@ -1,30 +1,31 @@
 /* Internal declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2014 Free Software
-   Foundation, Inc.
-   This file is part of the GNU C Library.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
 
-   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.
+   The GNU C Library 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,
+   The GNU C 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 General Public License for more details.
+   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 <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
 
 #ifndef _GETOPT_INT_H
-#define _GETOPT_INT_H   1
+#define _GETOPT_INT_H  1
 
 #include <getopt.h>
 
 extern int _getopt_internal (int ___argc, char **___argv,
-                             const char *__shortopts,
-                             const struct option *__longopts, int *__longind,
-                             int __long_only, int __posixly_correct);
+                            const char *__shortopts,
+                            const struct option *__longopts, int *__longind,
+                            int __long_only, int __posixly_correct);
 
 \f
 /* Reentrant versions which can handle parsing multiple argument
@@ -32,28 +33,20 @@ extern int _getopt_internal (int ___argc, char **___argv,
 
 /* Describe how to deal with options that follow non-option ARGV-elements.
 
-   If the caller did not specify anything,
-   the default is REQUIRE_ORDER if the environment variable
-   POSIXLY_CORRECT is defined, PERMUTE otherwise.
+   REQUIRE_ORDER means don't recognize them as options; stop option
+   processing when the first non-option is seen.  This is what POSIX
+   specifies should happen.
 
-   REQUIRE_ORDER means don't recognize them as options;
-   stop option processing when the first non-option is seen.
-   This is what Unix does.
-   This mode of operation is selected by either setting the environment
-   variable POSIXLY_CORRECT, or using '+' as the first character
-   of the list of option characters, or by calling getopt.
-
-   PERMUTE is the default.  We permute the contents of ARGV as we
-   scan, so that eventually all the non-options are at the end.
-   This allows options to be given in any order, even with programs
-   that were not written to expect this.
+   PERMUTE means permute the contents of ARGV as we scan, so that
+   eventually all the non-options are at the end.  This allows options
+   to be given in any order, even with programs that were not written
+   to expect this.
 
    RETURN_IN_ORDER is an option available to programs that were
    written to expect options and other ARGV-elements in any order
    and that care about the ordering of the two.  We describe each
    non-option ARGV-element as if it were the argument of an option
-   with character code 1.  Using '-' as the first character of the
-   list of option characters selects this mode of operation.
+   with character code 1.
 
    The special argument '--' forces an end of option-scanning regardless
    of the value of 'ordering'.  In the case of RETURN_IN_ORDER, only
@@ -91,11 +84,6 @@ struct _getopt_data
   /* See __ord above.  */
   enum __ord __ordering;
 
-  /* If the POSIXLY_CORRECT environment variable is set
-     or getopt was called.  */
-  int __posixly_correct;
-
-
   /* Handle permutation of arguments.  */
 
   /* Describe the part of ARGV that contains non-options that have
@@ -104,32 +92,27 @@ struct _getopt_data
 
   int __first_nonopt;
   int __last_nonopt;
-
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
-  int __nonoption_flags_max_len;
-  int __nonoption_flags_len;
-#endif
 };
 
 /* The initializer is necessary to set OPTIND and OPTERR to their
    default values and to clear the initialization flag.  */
-#define _GETOPT_DATA_INITIALIZER        { 1, 1 }
+#define _GETOPT_DATA_INITIALIZER       { 1, 1 }
 
 extern int _getopt_internal_r (int ___argc, char **___argv,
-                               const char *__shortopts,
-                               const struct option *__longopts, int *__longind,
-                               int __long_only, struct _getopt_data *__data,
-                               int __posixly_correct);
+                              const char *__shortopts,
+                              const struct option *__longopts, int *__longind,
+                              int __long_only, struct _getopt_data *__data,
+                              int __posixly_correct);
 
 extern int _getopt_long_r (int ___argc, char **___argv,
-                           const char *__shortopts,
-                           const struct option *__longopts, int *__longind,
-                           struct _getopt_data *__data);
+                          const char *__shortopts,
+                          const struct option *__longopts, int *__longind,
+                          struct _getopt_data *__data);
 
 extern int _getopt_long_only_r (int ___argc, char **___argv,
-                                const char *__shortopts,
-                                const struct option *__longopts,
-                                int *__longind,
-                                struct _getopt_data *__data);
+                               const char *__shortopts,
+                               const struct option *__longopts,
+                               int *__longind,
+                               struct _getopt_data *__data);
 
 #endif /* getopt_int.h */
diff --git a/lib/getprogname.c b/lib/getprogname.c
new file mode 100644 (file)
index 0000000..22d71eb
--- /dev/null
@@ -0,0 +1,259 @@
+/* Program name management.
+   Copyright (C) 2016-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/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "getprogname.h"
+
+#include <errno.h> /* get program_invocation_name declaration */
+#include <stdlib.h> /* get __argv declaration */
+
+#ifdef _AIX
+# include <unistd.h>
+# include <procinfo.h>
+# include <string.h>
+#endif
+
+#ifdef __MVS__
+# ifndef _OPEN_SYS
+#  define _OPEN_SYS
+# endif
+# include <string.h>
+# include <sys/ps.h>
+#endif
+
+#ifdef __hpux
+# include <unistd.h>
+# include <sys/param.h>
+# include <sys/pstat.h>
+# include <string.h>
+#endif
+
+#ifdef __sgi
+# include <string.h>
+# include <unistd.h>
+# include <stdio.h>
+# include <fcntl.h>
+# include <sys/procfs.h>
+#endif
+
+#include "dirname.h"
+
+#ifndef HAVE_GETPROGNAME             /* not Mac OS X, FreeBSD, NetBSD, OpenBSD >= 5.4, Cygwin */
+char const *
+getprogname (void)
+{
+# if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME                /* glibc, BeOS */
+  /* https://www.gnu.org/software/libc/manual/html_node/Error-Messages.html */
+  return program_invocation_short_name;
+# elif HAVE_DECL_PROGRAM_INVOCATION_NAME                    /* glibc, BeOS */
+  /* https://www.gnu.org/software/libc/manual/html_node/Error-Messages.html */
+  return last_component (program_invocation_name);
+# elif HAVE_GETEXECNAME                                     /* Solaris */
+  /* https://docs.oracle.com/cd/E19253-01/816-5168/6mbb3hrb1/index.html */
+  const char *p = getexecname ();
+  if (!p)
+    p = "?";
+  return last_component (p);
+# elif HAVE_DECL___ARGV                                     /* mingw, MSVC */
+  /* 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, 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
+     (OpenBSD 5.1), rather than when it's available.  Otherwise,
+     its mere declaration makes program_invocation_short_name
+     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
+     Reference: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/getprocs.htm
+  */
+  static char *p;
+  static int first = 1;
+  if (first)
+    {
+      first = 0;
+      pid_t pid = getpid ();
+      struct procentry64 procs;
+      p = (0 < getprocs64 (&procs, sizeof procs, NULL, 0, &pid, 1)
+           ? strdup (procs.pi_comm)
+           : NULL);
+      if (!p)
+        p = "?";
+    }
+  return p;
+# elif defined __hpux
+  static char *p;
+  static int first = 1;
+  if (first)
+    {
+      first = 0;
+      pid_t pid = getpid ();
+      struct pst_status status;
+      if (pstat_getproc (&status, sizeof status, 0, pid) > 0)
+        {
+          char *ucomm = status.pst_ucomm;
+          char *cmd = status.pst_cmd;
+          if (strlen (ucomm) < PST_UCOMMLEN - 1)
+            p = ucomm;
+          else
+            {
+              /* ucomm is truncated to length PST_UCOMMLEN - 1.
+                 Look at cmd instead.  */
+              char *space = strchr (cmd, ' ');
+              if (space != NULL)
+                *space = '\0';
+              p = strrchr (cmd, '/');
+              if (p != NULL)
+                p++;
+              else
+                p = cmd;
+              if (strlen (p) > PST_UCOMMLEN - 1
+                  && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0)
+                /* p is less truncated than ucomm.  */
+                ;
+              else
+                p = ucomm;
+            }
+          p = strdup (p);
+        }
+      else
+        {
+#  if !defined __LP64__
+          /* Support for 32-bit programs running in 64-bit HP-UX.
+             The documented way to do this is to use the same source code
+             as above, but in a compilation unit where '#define _PSTAT64 1'
+             is in effect.  I prefer a single compilation unit; the struct
+             size and the offsets are not going to change.  */
+          char status64[1216];
+          if (__pstat_getproc64 (status64, sizeof status64, 0, pid) > 0)
+            {
+              char *ucomm = status64 + 288;
+              char *cmd = status64 + 168;
+              if (strlen (ucomm) < PST_UCOMMLEN - 1)
+                p = ucomm;
+              else
+                {
+                  /* ucomm is truncated to length PST_UCOMMLEN - 1.
+                     Look at cmd instead.  */
+                  char *space = strchr (cmd, ' ');
+                  if (space != NULL)
+                    *space = '\0';
+                  p = strrchr (cmd, '/');
+                  if (p != NULL)
+                    p++;
+                  else
+                    p = cmd;
+                  if (strlen (p) > PST_UCOMMLEN - 1
+                      && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0)
+                    /* p is less truncated than ucomm.  */
+                    ;
+                  else
+                    p = ucomm;
+                }
+              p = strdup (p);
+            }
+          else
+#  endif
+            p = NULL;
+        }
+      if (!p)
+        p = "?";
+    }
+  return p;
+# elif __MVS__                                              /* z/OS */
+  /* https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxbd00/rtwgetp.htm */
+  static char *p = "?";
+  static int first = 1;
+  if (first)
+    {
+      pid_t pid = getpid ();
+      int token;
+      W_PSPROC buf;
+      first = 0;
+      memset (&buf, 0, sizeof(buf));
+      buf.ps_cmdptr    = (char *) malloc (buf.ps_cmdlen    = PS_CMDBLEN_LONG);
+      buf.ps_conttyptr = (char *) malloc (buf.ps_conttylen = PS_CONTTYBLEN);
+      buf.ps_pathptr   = (char *) malloc (buf.ps_pathlen   = PS_PATHBLEN);
+      if (buf.ps_cmdptr && buf.ps_conttyptr && buf.ps_pathptr)
+        {
+          for (token = 0; token >= 0;
+               token = w_getpsent (token, &buf, sizeof(buf)))
+            {
+              if (token > 0 && buf.ps_pid == pid)
+                {
+                  char *s = strdup (last_component (buf.ps_pathptr));
+                  if (s)
+                    p = s;
+                  break;
+                }
+            }
+        }
+      free (buf.ps_cmdptr);
+      free (buf.ps_conttyptr);
+      free (buf.ps_pathptr);
+    }
+  return p;
+# elif defined __sgi                                        /* IRIX */
+  char filename[50];
+  int fd;
+
+  sprintf (filename, "/proc/pinfo/%d", (int) getpid ());
+  fd = open (filename, O_RDONLY);
+  if (0 <= fd)
+    {
+      prpsinfo_t buf;
+      int ioctl_ok = 0 <= ioctl (fd, PIOCPSINFO, &buf);
+      close (fd);
+      if (ioctl_ok)
+        {
+          char *name = buf.pr_fname;
+          size_t namesize = sizeof buf.pr_fname;
+          char *namenul = memchr (name, '\0', namesize);
+          size_t namelen = namenul ? namenul - name : namesize;
+          char *namecopy = malloc (namelen + 1);
+          if (namecopy)
+            {
+              namecopy[namelen] = 0;
+              return memcpy (namecopy, name, namelen);
+            }
+        }
+    }
+  return NULL;
+# else
+#  error "getprogname module not ported to this OS"
+# endif
+}
+
+#endif
+
+/*
+ * Hey Emacs!
+ * Local Variables:
+ * coding: utf-8
+ * End:
+ */
diff --git a/lib/getprogname.h b/lib/getprogname.h
new file mode 100644 (file)
index 0000000..1590b38
--- /dev/null
@@ -0,0 +1,40 @@
+/* Program name management.
+   Copyright (C) 2016-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 _GL_GETPROGNAME_H
+#define _GL_GETPROGNAME_H
+
+#include <stdlib.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Return the base name of the executing program.
+   On native Windows this will usually end in ".exe" or ".EXE". */
+#ifndef HAVE_GETPROGNAME
+extern char const *getprogname (void)
+# ifdef HAVE_DECL_PROGRAM_INVOCATION_NAME
+  _GL_ATTRIBUTE_PURE
+# endif
+  ;
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
index c7d6fd345ceac949162abe03a8727f0935948eee..c7c0fdb531169e8ddc7d6ea3a3cfc4e3075cf8c5 100644 (file)
@@ -1,5 +1,5 @@
 /* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2014 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    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 <http://www.gnu.org/licenses/>.  */
+   with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _LIBGETTEXT_H
 #define _LIBGETTEXT_H 1
 
-/* NLS can be disabled through the configure --disable-nls option.  */
-#if ENABLE_NLS
+/* NLS can be disabled through the configure --disable-nls option
+   or through "#define ENABLE NLS 0" before including this file.  */
+#if defined ENABLE_NLS && ENABLE_NLS
 
 /* Get declarations of GNU message catalog functions.  */
 # include <libintl.h>
@@ -183,8 +184,16 @@ npgettext_aux (const char *domain,
 
 #include <string.h>
 
-#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
-     /* || __STDC_VERSION__ >= 199901L */ )
+/* GNULIB_NO_VLA can be defined to disable use of VLAs even if supported.
+   This relates to the -Wvla and -Wvla-larger-than warnings, enabled in
+   the default GCC many warnings set.  This allows programs to disable use
+   of VLAs, which may be unintended, or may be awkward to support portably,
+   or may have security implications due to non-deterministic stack usage.  */
+
+#if (!defined GNULIB_NO_VLA \
+     && (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
+     /*  || (__STDC_VERSION__ == 199901L && !defined __HP_cc)
+         || (__STDC_VERSION__ >= 201112L && !defined __STDC_NO_VLA__) */ ))
 # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
 #else
 # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0
@@ -225,15 +234,17 @@ dcpgettext_expr (const char *domain,
   if (msg_ctxt_id != NULL)
 #endif
     {
+      int found_translation;
       memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
       msg_ctxt_id[msgctxt_len - 1] = '\004';
       memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
       translation = dcgettext (domain, msg_ctxt_id, category);
+      found_translation = (translation != msg_ctxt_id);
 #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
       if (msg_ctxt_id != buf)
         free (msg_ctxt_id);
 #endif
-      if (translation != msg_ctxt_id)
+      if (found_translation)
         return translation;
     }
   return msgid;
@@ -271,15 +282,17 @@ dcnpgettext_expr (const char *domain,
   if (msg_ctxt_id != NULL)
 #endif
     {
+      int found_translation;
       memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
       msg_ctxt_id[msgctxt_len - 1] = '\004';
       memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
       translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+      found_translation = !(translation == msg_ctxt_id || translation == msgid_plural);
 #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
       if (msg_ctxt_id != buf)
         free (msg_ctxt_id);
 #endif
-      if (!(translation == msg_ctxt_id || translation == msgid_plural))
+      if (found_translation)
         return translation;
     }
   return (n == 1 ? msgid : msgid_plural);
index 8b2058e8c87fc4b6bcb82039b04c9293d8b64fe0..e728bf47355df2801c4c81bd133eeb2dbafc9ffb 100644 (file)
@@ -1,6 +1,6 @@
 /* Provide gettimeofday for systems that don't have it or for which it's broken.
 
-   Copyright (C) 2001-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2007, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /* written by Jim Meyering */
 
 
 #include <time.h>
 
-#if HAVE_SYS_TIMEB_H
-# include <sys/timeb.h>
+#if defined _WIN32 && ! defined __CYGWIN__
+# define WINDOWS_NATIVE
+# include <windows.h>
 #endif
 
-#if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME
+#include "localtime-buffer.h"
 
-/* Work around the bug in some systems whereby gettimeofday clobbers
-   the static buffer that localtime uses for its return value.  The
-   gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has
-   this problem.  The tzset replacement is necessary for at least
-   Solaris 2.5, 2.5.1, and 2.6.  */
-
-static struct tm tm_zero_buffer;
-static struct tm *localtime_buffer_addr = &tm_zero_buffer;
+#ifdef WINDOWS_NATIVE
 
-# undef localtime
-extern struct tm *localtime (time_t const *);
+/* Avoid warnings from gcc -Wcast-function-type.  */
+# define GetProcAddress \
+   (void *) GetProcAddress
 
-# undef gmtime
-extern struct tm *gmtime (time_t const *);
+/* GetSystemTimePreciseAsFileTime was introduced only in Windows 8.  */
+typedef void (WINAPI * GetSystemTimePreciseAsFileTimeFuncType) (FILETIME *lpTime);
+static GetSystemTimePreciseAsFileTimeFuncType GetSystemTimePreciseAsFileTimeFunc = NULL;
+static BOOL initialized = FALSE;
 
-/* This is a wrapper for localtime.  It is used only on systems for which
-   gettimeofday clobbers the static buffer used for localtime's result.
-
-   On the first call, record the address of the static buffer that
-   localtime uses for its result.  */
-
-struct tm *
-rpl_localtime (time_t const *timep)
+static void
+initialize (void)
 {
-  struct tm *tm = localtime (timep);
-
-  if (localtime_buffer_addr == &tm_zero_buffer)
-    localtime_buffer_addr = tm;
-
-  return tm;
-}
-
-/* Same as above, since gmtime and localtime use the same buffer.  */
-struct tm *
-rpl_gmtime (time_t const *timep)
-{
-  struct tm *tm = gmtime (timep);
-
-  if (localtime_buffer_addr == &tm_zero_buffer)
-    localtime_buffer_addr = tm;
-
-  return tm;
+  HMODULE kernel32 = LoadLibrary ("kernel32.dll");
+  if (kernel32 != NULL)
+    {
+      GetSystemTimePreciseAsFileTimeFunc =
+        (GetSystemTimePreciseAsFileTimeFuncType) GetProcAddress (kernel32, "GetSystemTimePreciseAsFileTime");
+    }
+  initialized = TRUE;
 }
 
-#endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */
-
-#if TZSET_CLOBBERS_LOCALTIME
-
-# undef tzset
-extern void tzset (void);
-
-/* This is a wrapper for tzset, for systems on which tzset may clobber
-   the static buffer used for localtime's result.  */
-void
-rpl_tzset (void)
-{
-  /* Save and restore the contents of the buffer used for localtime's
-     result around the call to tzset.  */
-  struct tm save = *localtime_buffer_addr;
-  tzset ();
-  *localtime_buffer_addr = save;
-}
 #endif
 
 /* This is a wrapper for gettimeofday.  It is used only on systems
    that lack this function, or whose implementation of this function
-   causes problems.  */
+   causes problems.
+   Work around the bug in some systems whereby gettimeofday clobbers
+   the static buffer that localtime uses for its return value.  The
+   gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has
+   this problem.  */
 
 int
 gettimeofday (struct timeval *restrict tv, void *restrict tz)
 {
 #undef gettimeofday
-#if HAVE_GETTIMEOFDAY
-# if GETTIMEOFDAY_CLOBBERS_LOCALTIME
+#ifdef WINDOWS_NATIVE
+
+  /* On native Windows, there are two ways to get the current time:
+     GetSystemTimeAsFileTime
+     <https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemtimeasfiletime>
+     or
+     GetSystemTimePreciseAsFileTime
+     <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
+     microseconds.
+     More discussion on this topic:
+     <http://www.windowstimestamp.com/description>.  */
+  FILETIME current_time;
+
+  if (!initialized)
+    initialize ();
+  if (GetSystemTimePreciseAsFileTimeFunc != NULL)
+    GetSystemTimePreciseAsFileTimeFunc (&current_time);
+  else
+    GetSystemTimeAsFileTime (&current_time);
+
+  /* Convert from FILETIME to 'struct timeval'.  */
+  /* 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;
+  /* Between 1601-01-01 and 1970-01-01 there were 280 normal years and 89 leap
+     years, in total 134774 days.  */
+  ULONGLONG since_1970 =
+    since_1601 - (ULONGLONG) 134774 * (ULONGLONG) 86400 * (ULONGLONG) 10000000;
+  ULONGLONG microseconds_since_1970 = since_1970 / (ULONGLONG) 10;
+  tv->tv_sec = microseconds_since_1970 / (ULONGLONG) 1000000;
+  tv->tv_usec = microseconds_since_1970 % (ULONGLONG) 1000000;
+
+  return 0;
+
+#else
+
+# if HAVE_GETTIMEOFDAY
+#  if GETTIMEOFDAY_CLOBBERS_LOCALTIME
   /* Save and restore the contents of the buffer used for localtime's
      result around the call to gettimeofday.  */
   struct tm save = *localtime_buffer_addr;
-# endif
+#  endif
 
-# if defined timeval /* 'struct timeval' overridden by gnulib?  */
-#  undef timeval
+#  if defined timeval /* 'struct timeval' overridden by gnulib?  */
+#   undef timeval
   struct timeval otv;
   int result = gettimeofday (&otv, (struct timezone *) tz);
   if (result == 0)
@@ -118,25 +124,16 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz)
       tv->tv_sec = otv.tv_sec;
       tv->tv_usec = otv.tv_usec;
     }
-# else
+#  else
   int result = gettimeofday (tv, (struct timezone *) tz);
-# endif
+#  endif
 
-# if GETTIMEOFDAY_CLOBBERS_LOCALTIME
+#  if GETTIMEOFDAY_CLOBBERS_LOCALTIME
   *localtime_buffer_addr = save;
-# endif
+#  endif
 
   return result;
 
-#else
-
-# if HAVE__FTIME
-
-  struct _timeb timebuf;
-  _ftime (&timebuf);
-  tv->tv_sec = timebuf.time;
-  tv->tv_usec = timebuf.millitm * 1000;
-
 # else
 
 #  if !defined OK_TO_USE_1S_CLOCK
@@ -146,9 +143,8 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz)
   tv->tv_sec = time (NULL);
   tv->tv_usec = 0;
 
-# endif
-
   return 0;
 
+# endif
 #endif
 }
index 33c15a0d7fa38e50ec737b07e3f971f4c3e0b36a..fefcd596f6d2dbf6389b0305376083ec236b2420 100644 (file)
@@ -1,5 +1,5 @@
 /* Locking in multithreaded situations.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   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
    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 <http://www.gnu.org/licenses/>.  */
+   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>
 
 
 /* ------------------------- gl_rwlock_t datatype ------------------------- */
 
-# if HAVE_PTHREAD_RWLOCK
+# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (defined PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP && (__GNU_LIBRARY__ > 1)))
 
-#  if !defined PTHREAD_RWLOCK_INITIALIZER
+#  ifdef PTHREAD_RWLOCK_INITIALIZER
+
+#   if !HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER
+     /* glibc with bug https://sourceware.org/bugzilla/show_bug.cgi?id=13701 */
+
+int
+glthread_rwlock_init_for_glibc (pthread_rwlock_t *lock)
+{
+  pthread_rwlockattr_t attributes;
+  int err;
+
+  err = pthread_rwlockattr_init (&attributes);
+  if (err != 0)
+    return err;
+  /* Note: PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP is the only value that
+     causes the writer to be preferred. PTHREAD_RWLOCK_PREFER_WRITER_NP does not
+     do this; see
+     http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html */
+  err = pthread_rwlockattr_setkind_np (&attributes,
+                                       PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+  if (err == 0)
+    err = pthread_rwlock_init(lock, &attributes);
+  /* pthread_rwlockattr_destroy always returns 0.  It cannot influence the
+     return value.  */
+  pthread_rwlockattr_destroy (&attributes);
+  return err;
+}
+
+#   endif
+#  else
 
 int
 glthread_rwlock_init_multithreaded (gl_rwlock_t *lock)
@@ -152,11 +180,9 @@ glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock)
   if (err != 0)
     return err;
   /* Test whether only readers are currently running, and whether the runcount
-     field will not overflow.  */
-  /* POSIX says: "It is implementation-defined whether the calling thread
-     acquires the lock when a writer does not hold the lock and there are
-     writers blocked on the lock."  Let's say, no: give the writers a higher
-     priority.  */
+     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
@@ -473,585 +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 ------------------------- */
-
-/* --------------------- 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.  */
-  if (!(lock->runcount + 1 > 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
 
 /* ========================================================================= */
index 36096c4b6ad643d3a3fa4f54c69f7ba8ef067748..a92c2a83455aad6c56be19fcad8d015e332b6d7a 100644 (file)
@@ -1,5 +1,5 @@
 /* Locking in multithreaded situations.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   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
    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 <http://www.gnu.org/licenses/>.  */
+   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
 #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
@@ -139,13 +148,25 @@ extern int glthread_in_use (void);
 #  pragma weak pthread_mutexattr_init
 #  pragma weak pthread_mutexattr_settype
 #  pragma weak pthread_mutexattr_destroy
+#  pragma weak pthread_rwlockattr_init
+#  if __GNU_LIBRARY__ > 1
+#   pragma weak pthread_rwlockattr_setkind_np
+#  endif
+#  pragma weak pthread_rwlockattr_destroy
 #  ifndef pthread_self
 #   pragma weak pthread_self
 #  endif
 
 #  if !PTHREAD_IN_USE_DETECTION_HARD
-#   pragma weak pthread_cancel
-#   define pthread_in_use() (pthread_cancel != NULL)
+    /* Considering all platforms with USE_POSIX_THREADS_WEAK, only few symbols
+       can be used to determine whether libpthread is in use.  These are:
+         pthread_mutexattr_gettype
+         pthread_rwlockattr_destroy
+         pthread_rwlockattr_init
+     */
+#   pragma weak pthread_mutexattr_gettype
+#   define pthread_in_use() \
+      (pthread_mutexattr_gettype != NULL || c11_threads_in_use ())
 #  endif
 
 # else
@@ -176,7 +197,7 @@ typedef pthread_mutex_t gl_lock_t;
 
 /* ------------------------- gl_rwlock_t datatype ------------------------- */
 
-# if HAVE_PTHREAD_RWLOCK
+# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (defined PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP && (__GNU_LIBRARY__ > 1)))
 
 #  ifdef PTHREAD_RWLOCK_INITIALIZER
 
@@ -185,10 +206,18 @@ typedef pthread_rwlock_t gl_rwlock_t;
       STORAGECLASS pthread_rwlock_t NAME;
 #   define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
       STORAGECLASS pthread_rwlock_t NAME = gl_rwlock_initializer;
-#   define gl_rwlock_initializer \
-      PTHREAD_RWLOCK_INITIALIZER
-#   define glthread_rwlock_init(LOCK) \
-      (pthread_in_use () ? pthread_rwlock_init (LOCK, NULL) : 0)
+#   if HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER
+#    define gl_rwlock_initializer \
+       PTHREAD_RWLOCK_INITIALIZER
+#    define glthread_rwlock_init(LOCK) \
+       (pthread_in_use () ? pthread_rwlock_init (LOCK, NULL) : 0)
+#   else /* glibc with bug https://sourceware.org/bugzilla/show_bug.cgi?id=13701 */
+#    define gl_rwlock_initializer \
+       PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
+#    define glthread_rwlock_init(LOCK) \
+       (pthread_in_use () ? glthread_rwlock_init_for_glibc (LOCK) : 0)
+extern int glthread_rwlock_init_for_glibc (pthread_rwlock_t *lock);
+#   endif
 #   define glthread_rwlock_rdlock(LOCK) \
       (pthread_in_use () ? pthread_rwlock_rdlock (LOCK) : 0)
 #   define glthread_rwlock_wrlock(LOCK) \
@@ -376,248 +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_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 ------------------------- */
-
-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)
-
-/* --------------------- 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
@@ -633,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
 }
@@ -763,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.  */
 
index 26870de2412f59884fb7faca23d5247e6f7b1e5c..a5ebd9bfe14aac0a8ecfec7b35387b4c714a76bf 100644 (file)
@@ -1,5 +1,5 @@
 /* Multithreading primitives.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2005.  */
 
index bbc592a6db1962dae96786f5df8d38ca9bfa87aa..3fa83a78128466bbe3e2947c934fe828fc1821c8 100644 (file)
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2019 Free Software Foundation, Inc.
 #
 # 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
@@ -13,7 +13,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License,
 # this file may be distributed as part of a program that
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnulib --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=dummy --makefile-name=gnulib.mk --no-conditional-dependencies --libtool --macro-prefix=gl alloca announce-gen argmatch assert c-ctype c-strcase calloc-gnu canonicalize-lgpl close closeout config-h configmake dirname do-release-commit-and-tag fdl fsync gettext-h git-version-gen gitlog-to-changelog gnu-web-doc-update gnumakefile gnupload inttypes lib-ignore long-options lseek maintainer-makefile malloc-gnu manywarnings mkstemp mktempd progname realloc-gnu rpmatch safe-read stdbool strdup-posix unlink update-copyright useless-if-before-free usleep vc-list-files version-etc-fsf warnings xstrtol xstrtoll
+# Reproduce by:
+# gnulib-tool --import --local-dir=gl \
+#  --lib=libgnulib \
+#  --source-base=lib \
+#  --m4-base=m4 \
+#  --doc-base=doc \
+#  --tests-base=gnulib-tests \
+#  --aux-dir=build-aux \
+#  --with-tests \
+#  --makefile-name=gnulib.mk \
+#  --no-conditional-dependencies \
+#  --libtool \
+#  --macro-prefix=gl \
+#  --avoid=dummy \
+#  alloca \
+#  announce-gen \
+#  argmatch \
+#  assert \
+#  c-ctype \
+#  c-strcase \
+#  calloc-gnu \
+#  canonicalize-lgpl \
+#  close \
+#  closeout \
+#  config-h \
+#  configmake \
+#  dirname \
+#  do-release-commit-and-tag \
+#  fdl \
+#  fsync \
+#  gettext-h \
+#  git-version-gen \
+#  gitlog-to-changelog \
+#  gnu-web-doc-update \
+#  gnumakefile \
+#  gnupload \
+#  inttypes \
+#  lib-ignore \
+#  long-options \
+#  lseek \
+#  maintainer-makefile \
+#  malloc-gnu \
+#  manywarnings \
+#  mkstemp \
+#  mktempd \
+#  progname \
+#  realloc-gnu \
+#  rpmatch \
+#  safe-read \
+#  stdbool \
+#  strdup-posix \
+#  unlink \
+#  update-copyright \
+#  useless-if-before-free \
+#  usleep \
+#  vc-list-files \
+#  version-etc-fsf \
+#  warnings \
+#  xstrtol \
+#  xstrtoll
 
 
 MOSTLYCLEANFILES += core *.stackdump
+# No GNU Make output.
 
 noinst_LTLIBRARIES += libgnulib.la
 
@@ -67,7 +127,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
@@ -95,6 +155,13 @@ EXTRA_DIST += argmatch.h
 
 ## end   gnulib module argmatch
 
+## begin gnulib module assure
+
+
+EXTRA_DIST += assure.h
+
+## end   gnulib module assure
+
 ## begin gnulib module btowc
 
 
@@ -184,6 +251,9 @@ EXTRA_DIST += closeout.h
 configmake.h: Makefile
        $(AM_V_GEN)rm -f $@-t && \
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         echo '#if HAVE_WINSOCK2_H'; \
+         echo '# include <winsock2.h> /* avoid mingw pollution on DATADIR */'; \
+         echo '#endif'; \
          echo '#define PREFIX "$(prefix)"'; \
          echo '#define EXEC_PREFIX "$(exec_prefix)"'; \
          echo '#define BINDIR "$(bindir)"'; \
@@ -346,10 +416,17 @@ EXTRA_DIST += fd-hook.h
 
 ## end   gnulib module fd-hook
 
+## begin gnulib module filename
+
+
+EXTRA_DIST += filename.h
+
+## end   gnulib module filename
+
 ## begin gnulib module fpending
 
 
-EXTRA_DIST += fpending.c fpending.h
+EXTRA_DIST += fpending.c fpending.h stdio-impl.h
 
 EXTRA_libgnulib_la_SOURCES += fpending.c
 
@@ -358,9 +435,9 @@ EXTRA_libgnulib_la_SOURCES += fpending.c
 ## begin gnulib module fstat
 
 
-EXTRA_DIST += fstat.c
+EXTRA_DIST += fstat.c stat-w32.c stat-w32.h
 
-EXTRA_libgnulib_la_SOURCES += fstat.c
+EXTRA_libgnulib_la_SOURCES += fstat.c stat-w32.c
 
 ## end   gnulib module fstat
 
@@ -382,7 +459,7 @@ EXTRA_DIST += $(top_srcdir)/build-aux/gendocs.sh
 
 ## begin gnulib module getopt-posix
 
-BUILT_SOURCES += $(GETOPT_H)
+BUILT_SOURCES += $(GETOPT_H) $(GETOPT_CDEFS_H)
 
 # We need the following in order to create <getopt.h> when the system
 # doesn't have one that works with the given compiler.
@@ -399,14 +476,29 @@ getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
              < $(srcdir)/getopt.in.h; \
        } > $@-t && \
        mv -f $@-t $@
-MOSTLYCLEANFILES += getopt.h getopt.h-t
 
-EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h
+getopt-cdefs.h: getopt-cdefs.in.h $(top_builddir)/config.status
+       $(AM_V_GEN)rm -f $@-t $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+          sed -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \
+             < $(srcdir)/getopt-cdefs.in.h; \
+       } > $@-t && \
+       mv -f $@-t $@
+
+MOSTLYCLEANFILES += getopt.h getopt.h-t getopt-cdefs.h getopt-cdefs.h-t
+
+EXTRA_DIST += getopt-cdefs.in.h getopt-core.h getopt-ext.h getopt-pfx-core.h getopt-pfx-ext.h getopt.c getopt.in.h getopt1.c getopt_int.h
 
 EXTRA_libgnulib_la_SOURCES += getopt.c getopt1.c
 
 ## end   gnulib module getopt-posix
 
+## begin gnulib module getprogname
+
+libgnulib_la_SOURCES += getprogname.h getprogname.c
+
+## end   gnulib module getprogname
+
 ## begin gnulib module gettext-h
 
 libgnulib_la_SOURCES += gettext.h
@@ -445,12 +537,11 @@ EXTRA_DIST += $(top_srcdir)/build-aux/gnu-web-doc-update
 
 ## begin gnulib module gnumakefile
 
+EXTRA_DIST += $(top_srcdir)/GNUmakefile
 distclean-local: clean-GNUmakefile
 clean-GNUmakefile:
        test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile
 
-EXTRA_DIST += $(top_srcdir)/GNUmakefile
-
 ## end   gnulib module gnumakefile
 
 ## begin gnulib module gnupload
@@ -460,6 +551,14 @@ EXTRA_DIST += $(top_srcdir)/build-aux/gnupload
 
 ## end   gnulib module gnupload
 
+## begin gnulib module hard-locale
+
+libgnulib_la_SOURCES += hard-locale.c
+
+EXTRA_DIST += hard-locale.h
+
+## end   gnulib module hard-locale
+
 ## begin gnulib module havelib
 
 
@@ -501,6 +600,7 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
              -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
              -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
              -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+             -e 's/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \
              -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
              -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
              -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
@@ -537,6 +637,7 @@ langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
              -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \
              -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \
              -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \
+             -e 's|@''HAVE_LANGINFO_ALTMON''@|$(HAVE_LANGINFO_ALTMON)|g' \
              -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \
              -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \
              -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \
@@ -552,77 +653,46 @@ EXTRA_DIST += langinfo.in.h
 
 ## end   gnulib module langinfo
 
-## begin gnulib module localcharset
+## begin gnulib module libc-config
 
-libgnulib_la_SOURCES += localcharset.h localcharset.c
-
-# We need the following in order to install a simple file in $(libdir)
-# which is shared with other installed packages. We use a list of referencing
-# packages so that "make uninstall" will remove the file if and only if it
-# is not used by another installed package.
-# On systems with glibc-2.1 or newer, the file is redundant, therefore we
-# avoid installing it.
-
-all-local: charset.alias ref-add.sed ref-del.sed
-
-charset_alias = $(DESTDIR)$(libdir)/charset.alias
-charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
-install-exec-local: install-exec-localcharset
-install-exec-localcharset: all-local
-       if test $(GLIBC21) = no; then \
-         case '$(host_os)' in \
-           darwin[56]*) \
-             need_charset_alias=true ;; \
-           darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-             need_charset_alias=false ;; \
-           *) \
-             need_charset_alias=true ;; \
-         esac ; \
-       else \
-         need_charset_alias=false ; \
-       fi ; \
-       if $$need_charset_alias; then \
-         $(mkinstalldirs) $(DESTDIR)$(libdir) ; \
-       fi ; \
-       if test -f $(charset_alias); then \
-         sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
-         $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
-         rm -f $(charset_tmp) ; \
-       else \
-         if $$need_charset_alias; then \
-           sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
-           $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
-           rm -f $(charset_tmp) ; \
-         fi ; \
-       fi
-
-uninstall-local: uninstall-localcharset
-uninstall-localcharset: all-local
-       if test -f $(charset_alias); then \
-         sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
-         if grep '^# Packages using this file: $$' $(charset_tmp) \
-             > /dev/null; then \
-           rm -f $(charset_alias); \
-         else \
-           $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
-         fi; \
-         rm -f $(charset_tmp); \
-       fi
 
-charset.alias: config.charset
-       $(AM_V_GEN)rm -f t-$@ $@ && \
-       $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \
-       mv t-$@ $@
+EXTRA_DIST += cdefs.h libc-config.h
 
-SUFFIXES += .sed .sin
-.sin.sed:
-       $(AM_V_GEN)rm -f t-$@ $@ && \
-       sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \
-       mv t-$@ $@
+## end   gnulib module libc-config
 
-CLEANFILES += charset.alias ref-add.sed ref-del.sed
+## begin gnulib module limits-h
 
-EXTRA_DIST += config.charset ref-add.sin ref-del.sin
+BUILT_SOURCES += $(LIMITS_H)
+
+# We need the following in order to create <limits.h> when the system
+# doesn't have one that is compatible with GNU.
+if GL_GENERATE_LIMITS_H
+limits.h: limits.in.h $(top_builddir)/config.status
+       $(AM_V_GEN)rm -f $@-t $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
+             < $(srcdir)/limits.in.h; \
+       } > $@-t && \
+       mv $@-t $@
+else
+limits.h: $(top_builddir)/config.status
+       rm -f $@
+endif
+MOSTLYCLEANFILES += limits.h limits.h-t
+
+EXTRA_DIST += limits.in.h
+
+## end   gnulib module limits-h
+
+## begin gnulib module localcharset
+
+libgnulib_la_SOURCES += localcharset.c
+
+EXTRA_DIST += localcharset.h
 
 ## end   gnulib module localcharset
 
@@ -643,11 +713,16 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \
              -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
              -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
+             -e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \
+             -e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \
              -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
+             -e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \
              -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
              -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \
              -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
+             -e 's|@''REPLACE_NEWLOCALE''@|$(REPLACE_NEWLOCALE)|g' \
              -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
+             -e 's|@''REPLACE_FREELOCALE''@|$(REPLACE_FREELOCALE)|g' \
              -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
@@ -670,6 +745,15 @@ EXTRA_libgnulib_la_SOURCES += localeconv.c
 
 ## end   gnulib module localeconv
 
+## begin gnulib module localtime-buffer
+
+
+EXTRA_DIST += localtime-buffer.c localtime-buffer.h
+
+EXTRA_libgnulib_la_SOURCES += localtime-buffer.c
+
+## end   gnulib module localtime-buffer
+
 ## begin gnulib module lock
 
 libgnulib_la_SOURCES += glthread/lock.h glthread/lock.c
@@ -730,7 +814,7 @@ EXTRA_libgnulib_la_SOURCES += malloc.c
 
 libgnulib_la_SOURCES += malloca.c
 
-EXTRA_DIST += malloca.h malloca.valgrind
+EXTRA_DIST += malloca.h
 
 ## end   gnulib module malloca
 
@@ -761,6 +845,21 @@ EXTRA_libgnulib_la_SOURCES += mbtowc.c
 
 ## end   gnulib module mbtowc
 
+## begin gnulib module minmax
+
+libgnulib_la_SOURCES += minmax.h
+
+## end   gnulib module minmax
+
+## begin gnulib module mkdir
+
+
+EXTRA_DIST += mkdir.c
+
+EXTRA_libgnulib_la_SOURCES += mkdir.c
+
+## end   gnulib module mkdir
+
 ## begin gnulib module mkstemp
 
 
@@ -890,19 +989,10 @@ EXTRA_libgnulib_la_SOURCES += rpmatch.c
 
 libgnulib_la_SOURCES += safe-read.c
 
-EXTRA_DIST += safe-read.h
+EXTRA_DIST += safe-read.h sys-limits.h
 
 ## end   gnulib module safe-read
 
-## begin gnulib module secure_getenv
-
-
-EXTRA_DIST += secure_getenv.c
-
-EXTRA_libgnulib_la_SOURCES += secure_getenv.c
-
-## end   gnulib module secure_getenv
-
 ## begin gnulib module sleep
 
 
@@ -915,93 +1005,68 @@ EXTRA_libgnulib_la_SOURCES += sleep.c
 ## begin gnulib module snippet/_Noreturn
 
 # Because this Makefile snippet defines a variable used by other
-# gnulib Makefile snippets, it must be present in all Makefile.am that
+# gnulib Makefile snippets, it must be present in all makefiles that
 # need it. This is ensured by the applicability 'all' defined above.
 
-_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h
+_NORETURN_H=$(srcdir)/_Noreturn.h
 
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h
+EXTRA_DIST += _Noreturn.h
 
 ## end   gnulib module snippet/_Noreturn
 
 ## begin gnulib module snippet/arg-nonnull
 
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-BUILT_SOURCES += arg-nonnull.h
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
-# off.
-arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_ARG_NONNULL/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
 
-ARG_NONNULL_H=arg-nonnull.h
+ARG_NONNULL_H=$(srcdir)/arg-nonnull.h
 
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+EXTRA_DIST += arg-nonnull.h
 
 ## end   gnulib module snippet/arg-nonnull
 
 ## begin gnulib module snippet/c++defs
 
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-BUILT_SOURCES += c++defs.h
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/_GL_CXXDEFS/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/c++defs.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += c++defs.h c++defs.h-t
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
 
-CXXDEFS_H=c++defs.h
+CXXDEFS_H=$(srcdir)/c++defs.h
 
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
+EXTRA_DIST += c++defs.h
 
 ## end   gnulib module snippet/c++defs
 
 ## begin gnulib module snippet/warn-on-use
 
-BUILT_SOURCES += warn-on-use.h
-# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
-# off.
-warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/^.ifndef/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
 
-WARN_ON_USE_H=warn-on-use.h
+WARN_ON_USE_H=$(srcdir)/warn-on-use.h
 
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
+EXTRA_DIST += warn-on-use.h
 
 ## end   gnulib module snippet/warn-on-use
 
 ## begin gnulib module stat
 
 
-EXTRA_DIST += stat.c
+EXTRA_DIST += stat-w32.c stat-w32.h stat.c
 
-EXTRA_libgnulib_la_SOURCES += stat.c
+EXTRA_libgnulib_la_SOURCES += stat-w32.c stat.c
 
 ## end   gnulib module stat
 
+## begin gnulib module stat-time
+
+libgnulib_la_SOURCES += stat-time.c
+
+EXTRA_DIST += stat-time.h
+
+## end   gnulib module stat-time
+
 ## begin gnulib module stdarg
 
 BUILT_SOURCES += $(STDARG_H)
@@ -1068,6 +1133,7 @@ stddef.h: stddef.in.h $(top_builddir)/config.status
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+             -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
              -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
              -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
              < $(srcdir)/stddef.in.h; \
@@ -1099,6 +1165,7 @@ stdint.h: stdint.in.h $(top_builddir)/config.status
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+             -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
              -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
              -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
              -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
@@ -1120,6 +1187,7 @@ stdint.h: stdint.in.h $(top_builddir)/config.status
              -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
              -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
              -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
+             -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
              < $(srcdir)/stdint.in.h; \
        } > $@-t && \
        mv $@-t $@
@@ -1294,14 +1362,17 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
              -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
              -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+             -e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \
              -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
              -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
              -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_REALLOCARRAY''@/$(GNULIB_REALLOCARRAY)/g' \
              -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
              -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
              -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' \
@@ -1315,6 +1386,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' \
@@ -1323,14 +1397,19 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
              -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
              -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+             -e 's|@''HAVE_QSORT_R''@|$(HAVE_QSORT_R)|g' \
              -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
              -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
              -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+             -e 's|@''HAVE_REALLOCARRAY''@|$(HAVE_REALLOCARRAY)|g' \
              -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
              -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' \
@@ -1339,17 +1418,22 @@ 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' \
              -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
              -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)' \
@@ -1412,6 +1496,7 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
+             -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GNULIB_EXPLICIT_BZERO)/g' \
              -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
              -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
              -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
@@ -1450,7 +1535,8 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
              -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
              < $(srcdir)/string.in.h | \
-         sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+         sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
+             -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
              -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
              -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
              -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
@@ -1471,20 +1557,20 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
              -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
              -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
-             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
              -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
              -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
-             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
              -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
              -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
-             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
-             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
-             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
              -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
              -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
              -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
-             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
+             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
+             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
              -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
+             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
+             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
              -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
@@ -1550,6 +1636,7 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
              -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \
+             -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \
              -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
              -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \
              -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
@@ -1563,6 +1650,7 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
              -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \
              -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \
              -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \
+             -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GNULIB_OVERRIDES_STRUCT_STAT)/g' \
              -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
              -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
              -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
@@ -1646,6 +1734,7 @@ sys/types.h: sys_types.in.h $(top_builddir)/config.status
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
              -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \
              < $(srcdir)/sys_types.in.h; \
        } > $@-t && \
        mv $@-t $@
@@ -1685,25 +1774,35 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
-             -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
+             -e 's/@''GNULIB_CTIME''@/$(GNULIB_CTIME)/g' \
+             -e 's/@''GNULIB_LOCALTIME''@/$(GNULIB_LOCALTIME)/g' \
              -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
              -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
+             -e 's/@''GNULIB_STRFTIME''@/$(GNULIB_STRFTIME)/g' \
              -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
              -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
              -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
+             -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \
+             -e 's/@''GNULIB_TZSET''@/$(GNULIB_TZSET)/g' \
              -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
              -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
              -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
              -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+             -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
+             -e 's|@''HAVE_TZSET''@|$(HAVE_TZSET)|g' \
+             -e 's|@''REPLACE_CTIME''@|$(REPLACE_CTIME)|g' \
              -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
              -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
              -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
              -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
              -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
+             -e 's|@''REPLACE_STRFTIME''@|$(REPLACE_STRFTIME)|g' \
              -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
+             -e 's|@''REPLACE_TZSET''@|$(REPLACE_TZSET)|g' \
              -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
              -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
              -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+             -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@@ -1736,6 +1835,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' \
@@ -1755,6 +1855,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
              -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
              -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
+             -e 's/@''GNULIB_GETPASS''@/$(GNULIB_GETPASS)/g' \
              -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
              -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
              -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
@@ -1774,6 +1875,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
              -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
              -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
+             -e 's/@''GNULIB_TRUNCATE''@/$(GNULIB_TRUNCATE)/g' \
              -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
              -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \
              -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
@@ -1784,6 +1886,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' \
@@ -1796,8 +1899,8 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
              -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
              -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
-             -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
              -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+             -e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \
              -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
              -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
              -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
@@ -1818,10 +1921,12 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
              -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
              -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
+             -e 's|@''HAVE_DECL_GETLOGIN''@|$(HAVE_DECL_GETLOGIN)|g' \
              -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
              -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
              -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
              -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
+             -e 's|@''HAVE_DECL_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|g' \
              -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
              -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
              -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
@@ -1830,6 +1935,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
              -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
              -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+             -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \
              -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
              -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
              -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
@@ -1838,6 +1944,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
              -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
              -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+             -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \
              -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
              -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
              -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
@@ -1847,9 +1954,12 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
              -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
              -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
+             -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \
              -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
              -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
              -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+             -e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \
+             -e 's|@''REPLACE_TRUNCATE''@|$(REPLACE_TRUNCATE)|g' \
              -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
              -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
              -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
@@ -1942,6 +2052,8 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
              -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
              -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
+             -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \
+             -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
              -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
              -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
              -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
@@ -1981,6 +2093,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
              -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
              -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
+             -e 's/@''GNULIB_WCSFTIME''@/$(GNULIB_WCSFTIME)/g' \
              < $(srcdir)/wchar.in.h | \
          sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
              -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
@@ -2020,6 +2133,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
              -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
              -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
+             -e 's|@''HAVE_WCSFTIME''@|$(HAVE_WCSFTIME)|g' \
              -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
              -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
          | \
@@ -2036,6 +2150,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
              -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
              -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
+             -e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
@@ -2072,6 +2187,8 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \
+             -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \
+             -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
              -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \
              -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \
              -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \
@@ -2096,6 +2213,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_libgnulib_la_SOURCES += windows-mutex.c
+
+## end   gnulib module windows-mutex
+
+## begin gnulib module windows-once
+
+
+EXTRA_DIST += windows-once.c windows-once.h
+
+EXTRA_libgnulib_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_libgnulib_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_libgnulib_la_SOURCES += windows-rwlock.c
+
+## end   gnulib module windows-rwlock
+
 ## begin gnulib module xalloc
 
 libgnulib_la_SOURCES += xmalloc.c
diff --git a/lib/hard-locale.c b/lib/hard-locale.c
new file mode 100644 (file)
index 0000000..dcfcad6
--- /dev/null
@@ -0,0 +1,72 @@
+/* hard-locale.c -- Determine whether a locale is hard.
+
+   Copyright (C) 1997-1999, 2002-2004, 2006-2007, 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/>.  */
+
+#include <config.h>
+
+#include "hard-locale.h"
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef __GLIBC__
+# define GLIBC_VERSION __GLIBC__
+#elif defined __UCLIBC__
+# define GLIBC_VERSION 2
+#else
+# define GLIBC_VERSION 0
+#endif
+
+/* Return true if the current CATEGORY locale is hard, i.e. if you
+   can't get away with assuming traditional C or POSIX behavior.  */
+bool
+hard_locale (int category)
+{
+  bool hard = true;
+  char const *p = setlocale (category, NULL);
+
+  if (p)
+    {
+      if (2 <= GLIBC_VERSION)
+        {
+          if (strcmp (p, "C") == 0 || strcmp (p, "POSIX") == 0)
+            hard = false;
+        }
+      else
+        {
+          char *locale = strdup (p);
+          if (locale)
+            {
+              /* Temporarily set the locale to the "C" and "POSIX" locales
+                 to find their names, so that we can determine whether one
+                 or the other is the caller's locale.  */
+              if (((p = setlocale (category, "C"))
+                   && strcmp (p, locale) == 0)
+                  || ((p = setlocale (category, "POSIX"))
+                      && strcmp (p, locale) == 0))
+                hard = false;
+
+              /* Restore the caller's locale.  */
+              setlocale (category, locale);
+              free (locale);
+            }
+        }
+    }
+
+  return hard;
+}
diff --git a/lib/hard-locale.h b/lib/hard-locale.h
new file mode 100644 (file)
index 0000000..8f1da96
--- /dev/null
@@ -0,0 +1,25 @@
+/* Determine whether a locale is hard.
+
+   Copyright (C) 1999, 2003-2004, 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/>.  */
+
+#ifndef HARD_LOCALE_H_
+# define HARD_LOCALE_H_ 1
+
+# include <stdbool.h>
+
+bool hard_locale (int);
+
+#endif /* HARD_LOCALE_H_ */
index d0bb7a6f57734e15e535cfc6b287a555dc6ccbb3..1a44ae5565373cabbbd2fd032f4c0ccff4265e78 100644 (file)
@@ -1,10 +1,10 @@
 /* intprops.h -- properties of integer types
 
-   Copyright (C) 2001-2005, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-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
+   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,
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Paul Eggert.  */
 
 
 #include <limits.h>
 
-/* Return an integer value, converted to the same type as the integer
-   expression E after integer type promotion.  V is the unconverted value.  */
-#define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
+/* Return a value with the common real type of E and V and the value of V.
+   Do not evaluate E.  */
+#define _GL_INT_CONVERT(e, v) ((1 ? 0 : (e)) + (v))
 
 /* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
-   <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.  */
-#define _GL_INT_NEGATE_CONVERT(e, v) (0 * (e) - (v))
+   <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.  */
+#define _GL_INT_NEGATE_CONVERT(e, v) ((1 ? 0 : (e)) - (v))
 
 /* The extra casts in the following macros work around compiler bugs,
    e.g., in Cray C 5.0.3.0.  */
    an integer.  */
 #define TYPE_IS_INTEGER(t) ((t) 1.5 == 1)
 
-/* True if negative values of the signed integer type T use two's
-   complement, ones' complement, or signed magnitude representation,
-   respectively.  Much GNU code assumes two's complement, but some
-   people like to be portable to all possible C hosts.  */
-#define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1)
-#define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0)
-#define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1)
-
-/* True if the signed integer expression E uses two's complement.  */
-#define _GL_INT_TWOS_COMPLEMENT(e) (~ _GL_INT_CONVERT (e, 0) == -1)
-
-/* True if the arithmetic type T is signed.  */
+/* True if the real type T is signed.  */
 #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
 
-/* Return 1 if the integer expression E, after integer promotion, has
-   a signed type.  */
-#define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
+/* Return 1 if the real expression E, after promotion, has a
+   signed or floating type.  Do not evaluate E.  */
+#define EXPR_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
 
 
-/* Minimum and maximum values for integer types and expressions.  These
-   macros have undefined behavior if T is signed and has padding bits.
-   If this is a problem for you, please let us know how to fix it for
-   your host.  */
+/* Minimum and maximum values for integer types and expressions.  */
+
+/* The width in bits of the integer type or expression T.
+   Do not evaluate T.
+   Padding bits are not supported; this is checked at compile-time below.  */
+#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
 
 /* The maximum and minimum values for the integer type T.  */
-#define TYPE_MINIMUM(t)                                                 \
-  ((t) (! TYPE_SIGNED (t)                                               \
-        ? (t) 0                                                         \
-        : TYPE_SIGNED_MAGNITUDE (t)                                     \
-        ? ~ (t) 0                                                       \
-        : ~ TYPE_MAXIMUM (t)))
+#define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
 #define TYPE_MAXIMUM(t)                                                 \
   ((t) (! TYPE_SIGNED (t)                                               \
         ? (t) -1                                                        \
-        : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+        : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
 
 /* The maximum and minimum values for the type of the expression E,
-   after integer promotion.  E should not have side effects.  */
+   after integer promotion.  E is not evaluated.  */
 #define _GL_INT_MINIMUM(e)                                              \
-  (_GL_INT_SIGNED (e)                                                   \
-   ? - _GL_INT_TWOS_COMPLEMENT (e) - _GL_SIGNED_INT_MAXIMUM (e)         \
+  (EXPR_SIGNED (e)                                                      \
+   ? ~ _GL_SIGNED_INT_MAXIMUM (e)                                       \
    : _GL_INT_CONVERT (e, 0))
 #define _GL_INT_MAXIMUM(e)                                              \
-  (_GL_INT_SIGNED (e)                                                   \
+  (EXPR_SIGNED (e)                                                      \
    ? _GL_SIGNED_INT_MAXIMUM (e)                                         \
    : _GL_INT_NEGATE_CONVERT (e, 1))
 #define _GL_SIGNED_INT_MAXIMUM(e)                                       \
-  (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
+  (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
 
+/* Work around OpenVMS incompatibility with C99.  */
+#if !defined LLONG_MAX && defined __INT64_MAX
+# define LLONG_MAX __INT64_MAX
+# define LLONG_MIN __INT64_MIN
+#endif
+
+/* This include file assumes that signed types are two's complement without
+   padding bits; the above macros have undefined behavior otherwise.
+   If this is a problem for you, please let us know how to fix it for your host.
+   This assumption is tested by the intprops-tests module.  */
 
-/* Return 1 if the __typeof__ keyword works.  This could be done by
+/* Does the __typeof__ keyword work?  This could be done by
    'configure', but for now it's easier to do it by hand.  */
-#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
+#if (2 <= __GNUC__ \
+     || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
      || (0x5110 <= __SUNPRO_C && !__STDC__))
 # define _GL_HAVE___TYPEOF__ 1
 #else
    signed, 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 (sizeof (t) * CHAR_BIT                 \
-                          - _GL_SIGNED_TYPE_OR_EXPR (t))        \
+  (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
    + _GL_SIGNED_TYPE_OR_EXPR (t))
 
 /* Bound on buffer size needed to represent an integer type or expression T,
 /* Return 1 if A * B would overflow in [MIN,MAX] arithmetic.
    See above for restrictions.  Avoid && and || as they tickle
    bugs in Sun C 5.11 2010/08/13 and other compilers; see
-   <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.  */
+   <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.  */
 #define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max)     \
   ((b) < 0                                              \
    ? ((a) < 0                                           \
    ? (a) < (min) >> (b)                                 \
    : (max) >> (b) < (a))
 
+/* True if __builtin_add_overflow (A, B, P) works when P is non-null.  */
+#if 5 <= __GNUC__ && !defined __ICC
+# define _GL_HAS_BUILTIN_OVERFLOW 1
+#else
+# define _GL_HAS_BUILTIN_OVERFLOW 0
+#endif
+
+/* True if __builtin_add_overflow_p (A, B, C) works.  */
+#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
 
 /* The _GL*_OVERFLOW macros have the same restrictions as the
    *_RANGE_OVERFLOW macros, except that they do not assume that operands
    (e.g., A and B) have the same type as MIN and MAX.  Instead, they assume
    that the result (e.g., A + B) has that type.  */
-#define _GL_ADD_OVERFLOW(a, b, min, max)                                \
-  ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max)                  \
-   : (a) < 0 ? (b) <= (a) + (b)                                         \
-   : (b) < 0 ? (a) <= (a) + (b)                                         \
-   : (a) + (b) < (b))
-#define _GL_SUBTRACT_OVERFLOW(a, b, min, max)                           \
-  ((min) < 0 ? INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max)             \
-   : (a) < 0 ? 1                                                        \
-   : (b) < 0 ? (a) - (b) <= (a)                                         \
-   : (a) < (b))
-#define _GL_MULTIPLY_OVERFLOW(a, b, min, max)                           \
-  (((min) == 0 && (((a) < 0 && 0 < (b)) || ((b) < 0 && 0 < (a))))       \
-   || INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max))
+#if _GL_HAS_BUILTIN_OVERFLOW_P
+# define _GL_ADD_OVERFLOW(a, b, min, max)                               \
+   __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)                          \
+   __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)                          \
+   __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
+#else
+# define _GL_ADD_OVERFLOW(a, b, min, max)                                \
+   ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max)                  \
+    : (a) < 0 ? (b) <= (a) + (b)                                         \
+    : (b) < 0 ? (a) <= (a) + (b)                                         \
+    : (a) + (b) < (b))
+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)                           \
+   ((min) < 0 ? INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max)             \
+    : (a) < 0 ? 1                                                        \
+    : (b) < 0 ? (a) - (b) <= (a)                                         \
+    : (a) < (b))
+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)                           \
+   (((min) == 0 && (((a) < 0 && 0 < (b)) || ((b) < 0 && 0 < (a))))       \
+    || INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max))
+#endif
 #define _GL_DIVIDE_OVERFLOW(a, b, min, max)                             \
   ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max)  \
    : (a) < 0 ? (b) <= (a) + (b) - 1                                     \
     : (a) % - (b))                                                      \
    == 0)
 
-
-/* Integer overflow checks.
+/* Check for integer overflow, and report low order bits of answer.
 
    The INT_<op>_OVERFLOW macros return 1 if the corresponding C operators
    might not yield numerically correct answers due to arithmetic overflow.
-   They work correctly on all known practical hosts, and do not rely
+   The INT_<op>_WRAPV macros also store the low-order bits of the answer.
+   These macros work correctly on all known practical hosts, and do not rely
    on undefined behavior due to signed arithmetic overflow.
 
-   Example usage:
+   Example usage, assuming A and B are long int:
 
-     long int i = ...;
-     long int j = ...;
-     if (INT_MULTIPLY_OVERFLOW (i, j))
-       printf ("multiply would overflow");
+     if (INT_MULTIPLY_OVERFLOW (a, b))
+       printf ("result would overflow\n");
      else
-       printf ("product is %ld", i * j);
+       printf ("result is %ld (no overflow)\n", a * b);
+
+   Example usage with WRAPV flavor:
+
+     long int result;
+     bool overflow = INT_MULTIPLY_WRAPV (a, b, &result);
+     printf ("result is %ld (%s)\n", result,
+             overflow ? "after overflow" : "no overflow");
+
+   Restrictions on these macros:
 
    These macros do not check for all possible numerical problems or
    undefined or unspecified behavior: they do not check for division
    These macros may evaluate their arguments zero or multiple times, so the
    arguments should not have side effects.
 
+   The WRAPV macros are not constant expressions.  They support only
+   +, binary -, and *.  The result type must be signed.
+
    These macros are tuned for their last argument being a constant.
 
    Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B,
   _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
 #define INT_SUBTRACT_OVERFLOW(a, b) \
   _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
-#define INT_NEGATE_OVERFLOW(a) \
-  INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))
+#if _GL_HAS_BUILTIN_OVERFLOW_P
+# define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
+#else
+# define INT_NEGATE_OVERFLOW(a) \
+   INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))
+#endif
 #define INT_MULTIPLY_OVERFLOW(a, b) \
   _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW)
 #define INT_DIVIDE_OVERFLOW(a, b) \
    Arguments should be free of side effects.  */
 #define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow)        \
   op_result_overflow (a, b,                                     \
-                      _GL_INT_MINIMUM (0 * (b) + (a)),          \
-                      _GL_INT_MAXIMUM (0 * (b) + (a)))
+                      _GL_INT_MINIMUM (_GL_INT_CONVERT (a, b)), \
+                      _GL_INT_MAXIMUM (_GL_INT_CONVERT (a, b)))
+
+/* 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)
+#define INT_SUBTRACT_WRAPV(a, b, r) \
+  _GL_INT_OP_WRAPV (a, b, r, -, __builtin_sub_overflow, INT_SUBTRACT_OVERFLOW)
+#define INT_MULTIPLY_WRAPV(a, b, r) \
+  _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
+
+/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390.  See:
+   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
+   https://llvm.org/bugs/show_bug.cgi?id=25390
+   For now, assume all versions of GCC-like compilers generate bogus
+   warnings for _Generic.  This matters only for older compilers that
+   lack __builtin_add_overflow.  */
+#if __GNUC__
+# define _GL__GENERIC_BOGUS 1
+#else
+# define _GL__GENERIC_BOGUS 0
+#endif
+
+/* Store the low-order bits of A <op> B into *R, where OP specifies
+   the operation.  BUILTIN is the builtin operation, and OVERFLOW the
+   overflow predicate.  Return 1 if the result overflows.  See above
+   for restrictions.  */
+#if _GL_HAS_BUILTIN_OVERFLOW
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
+#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+   (_Generic \
+    (*(r), \
+     signed char: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        signed char, SCHAR_MIN, SCHAR_MAX), \
+     short int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        short int, SHRT_MIN, SHRT_MAX), \
+     int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        int, INT_MIN, INT_MAX), \
+     long int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                        long int, LONG_MIN, LONG_MAX), \
+     long long int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+                        long long int, LLONG_MIN, LLONG_MAX)))
+#else
+# 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) \
+    : sizeof *(r) == sizeof (short int) \
+    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                       short int, SHRT_MIN, SHRT_MAX) \
+    : sizeof *(r) == sizeof (int) \
+    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                       int, INT_MIN, INT_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))
+# 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)
+# endif
+#endif
+
+/* Store the low-order bits of A <op> B into *R, where the operation
+   is given by OP.  Use the unsigned type UT for calculation to avoid
+   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))) \
+   ? (*(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))
+
+/* Return the low-order bits of A <op> B, where the operation is given
+   by OP.  Use the unsigned type UT for calculation to avoid undefined
+   behavior on signed integer overflow, and convert the result to type T.
+   UT is at least as wide as T and is no narrower than unsigned int,
+   T is two's complement, and there is no padding or trap representations.
+   Assume that converting UT to T yields the low-order bits, as is
+   done in all known two's-complement C compilers.  E.g., see:
+   https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html
+
+   According to the C standard, converting UT to T yields an
+   implementation-defined result or signal for values outside T's
+   range.  However, code that works around this theoretical problem
+   runs afoul of a compiler bug in Oracle Studio 12.3 x86.  See:
+   https://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
+   As the compiler bug is real, don't try to work around the
+   theoretical problem.  */
+
+#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t) \
+  ((t) ((ut) (a) op (ut) (b)))
 
 #endif /* _GL_INTPROPS_H */
index 4b2a13be1dad1fc21d0777fb8286ab2dc27f822a..d3c735c12ce2b1ec1afdb15d2a9dd6ce6d8f6d93 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2019 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Derek Price.
    This file is part of gnulib.
 
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /*
  * ISO C 99 <inttypes.h> for platforms that lack it.
 #endif
 /* Get CHAR_BIT.  */
 #include <limits.h>
+/* On mingw, __USE_MINGW_ANSI_STDIO only works if <stdio.h> is also included */
+#if defined _WIN32 && ! defined __CYGWIN__
+# include <stdio.h>
+#endif
 
 #if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
 # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
@@ -1063,11 +1067,13 @@ _GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - "
 #endif
 
 #if @GNULIB_IMAXDIV@
-# if !@HAVE_DECL_IMAXDIV@
+# if !@HAVE_IMAXDIV_T@
 #  if !GNULIB_defined_imaxdiv_t
 typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
 #   define GNULIB_defined_imaxdiv_t 1
 #  endif
+# endif
+# if !@HAVE_DECL_IMAXDIV@
 extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
 # endif
 #elif defined GNULIB_POSIXCHECK
index 6f0e093b10d01f142bfc250de4cac9d541041955..6d4063506d7db210d2b92ca2d93c09a78b193a61 100644 (file)
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <langinfo.h>.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /*
  * POSIX <langinfo.h> for platforms that lack it or have an incomplete one.
@@ -49,7 +49,10 @@ typedef int nl_item;
 # define CODESET     10000
 /* nl_langinfo items of the LC_NUMERIC category */
 # define RADIXCHAR   10001
+# define DECIMAL_POINT RADIXCHAR
 # define THOUSEP     10002
+# define THOUSANDS_SEP THOUSEP
+# define GROUPING    10114
 /* nl_langinfo items of the LC_TIME category */
 # define D_T_FMT     10003
 # define D_FMT       10004
@@ -83,6 +86,18 @@ typedef int nl_item;
 # define MON_10      (MON_1 + 9)
 # define MON_11      (MON_1 + 10)
 # define MON_12      (MON_1 + 11)
+# define ALTMON_1    10200
+# define ALTMON_2    (ALTMON_1 + 1)
+# define ALTMON_3    (ALTMON_1 + 2)
+# define ALTMON_4    (ALTMON_1 + 3)
+# define ALTMON_5    (ALTMON_1 + 4)
+# define ALTMON_6    (ALTMON_1 + 5)
+# define ALTMON_7    (ALTMON_1 + 6)
+# define ALTMON_8    (ALTMON_1 + 7)
+# define ALTMON_9    (ALTMON_1 + 8)
+# define ALTMON_10   (ALTMON_1 + 9)
+# define ALTMON_11   (ALTMON_1 + 10)
+# define ALTMON_12   (ALTMON_1 + 11)
 # define ABMON_1     10035
 # define ABMON_2     (ABMON_1 + 1)
 # define ABMON_3     (ABMON_1 + 2)
@@ -102,6 +117,21 @@ typedef int nl_item;
 # define ALT_DIGITS  10051
 /* nl_langinfo items of the LC_MONETARY category */
 # define CRNCYSTR    10052
+# define CURRENCY_SYMBOL   CRNCYSTR
+# define INT_CURR_SYMBOL   10100
+# define MON_DECIMAL_POINT 10101
+# define MON_THOUSANDS_SEP 10102
+# define MON_GROUPING      10103
+# define POSITIVE_SIGN     10104
+# define NEGATIVE_SIGN     10105
+# define FRAC_DIGITS       10106
+# define INT_FRAC_DIGITS   10107
+# define P_CS_PRECEDES     10108
+# define N_CS_PRECEDES     10109
+# define P_SEP_BY_SPACE    10110
+# define N_SEP_BY_SPACE    10111
+# define P_SIGN_POSN       10112
+# define N_SIGN_POSN       10113
 /* nl_langinfo items of the LC_MESSAGES category */
 # define YESEXPR     10053
 # define NOEXPR      10054
@@ -120,6 +150,22 @@ typedef int nl_item;
 #  define GNULIB_defined_T_FMT_AMPM 1
 # endif
 
+# if !@HAVE_LANGINFO_ALTMON@
+#  define ALTMON_1    10200
+#  define ALTMON_2    (ALTMON_1 + 1)
+#  define ALTMON_3    (ALTMON_1 + 2)
+#  define ALTMON_4    (ALTMON_1 + 3)
+#  define ALTMON_5    (ALTMON_1 + 4)
+#  define ALTMON_6    (ALTMON_1 + 5)
+#  define ALTMON_7    (ALTMON_1 + 6)
+#  define ALTMON_8    (ALTMON_1 + 7)
+#  define ALTMON_9    (ALTMON_1 + 8)
+#  define ALTMON_10   (ALTMON_1 + 9)
+#  define ALTMON_11   (ALTMON_1 + 10)
+#  define ALTMON_12   (ALTMON_1 + 11)
+#  define GNULIB_defined_ALTMON 1
+# endif
+
 # if !@HAVE_LANGINFO_ERA@
 #  define ERA         10047
 #  define ERA_D_FMT   10048
diff --git a/lib/libc-config.h b/lib/libc-config.h
new file mode 100644 (file)
index 0000000..57c6966
--- /dev/null
@@ -0,0 +1,174 @@
+/* System definitions for code taken from the GNU C Library
+
+   Copyright 2017-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 Paul Eggert.  */
+
+/* This is intended to be a good-enough substitute for glibc system
+   macros like those defined in <sys/cdefs.h>, so that Gnulib code
+   shared with glibc can do this as the first #include:
+
+     #ifndef _LIBC
+     # include <libc-config.h>
+     #endif
+
+   When compiled as part of glibc this is a no-op; when compiled as
+   part of Gnulib this includes Gnulib's <config.h> and defines macros
+   that glibc library code would normally assume.  */
+
+#include <config.h>
+
+/* On glibc this includes <features.h> and <sys/cdefs.h> and #defines
+   _FEATURES_H, __WORDSIZE, and __set_errno.  On FreeBSD 11 it
+   includes <sys/cdefs.h> which defines __nonnull.  Elsewhere it
+   is harmless.  */
+#include <errno.h>
+
+/* From glibc <errno.h>.  */
+#ifndef __set_errno
+# define __set_errno(val) (errno = (val))
+#endif
+
+/* From glibc <features.h>.  */
+
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_MINOR__
+#  define __GNUC_PREREQ(maj, min) ((maj) < __GNUC__ + ((min) <= __GNUC_MINOR__))
+# else
+#  define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#ifndef __glibc_clang_prereq
+# if defined __clang_major__ && defined __clang_minor__
+#  define __glibc_clang_prereq(maj, min) \
+     ((maj) < __clang_major__ + ((min) <= __clang_minor__))
+# else
+#  define __glibc_clang_prereq(maj, min) 0
+# endif
+#endif
+
+
+/* Prepare to include <cdefs.h>, which is our copy of glibc
+   <sys/cdefs.h>.  */
+
+/* Define _FEATURES_H so that <cdefs.h> does not include <features.h>.  */
+#ifndef _FEATURES_H
+# define _FEATURES_H 1
+#endif
+/* Define __WORDSIZE so that <cdefs.h> does not attempt to include
+   nonexistent files.  Make it a syntax error, since Gnulib does not
+   use __WORDSIZE now, and if Gnulib uses it later the syntax error
+   will let us know that __WORDSIZE needs configuring.  */
+#ifndef __WORDSIZE
+# define __WORDSIZE %%%
+#endif
+/* Undef the macros unconditionally defined by our copy of glibc
+   <sys/cdefs.h>, so that they do not clash with any system-defined
+   versions.  */
+#undef _SYS_CDEFS_H
+#undef __ASMNAME
+#undef __ASMNAME2
+#undef __BEGIN_DECLS
+#undef __CONCAT
+#undef __END_DECLS
+#undef __HAVE_GENERIC_SELECTION
+#undef __LDBL_COMPAT
+#undef __LDBL_REDIR
+#undef __LDBL_REDIR1
+#undef __LDBL_REDIR1_DECL
+#undef __LDBL_REDIR1_NTH
+#undef __LDBL_REDIR_DECL
+#undef __LDBL_REDIR_NTH
+#undef __LEAF
+#undef __LEAF_ATTR
+#undef __NTH
+#undef __NTHNL
+#undef __P
+#undef __PMT
+#undef __REDIRECT
+#undef __REDIRECT_LDBL
+#undef __REDIRECT_NTH
+#undef __REDIRECT_NTHNL
+#undef __REDIRECT_NTH_LDBL
+#undef __STRING
+#undef __THROW
+#undef __THROWNL
+#undef __always_inline
+#undef __attribute__
+#undef __attribute_alloc_size__
+#undef __attribute_artificial__
+#undef __attribute_const__
+#undef __attribute_deprecated__
+#undef __attribute_deprecated_msg__
+#undef __attribute_format_arg__
+#undef __attribute_format_strfmon__
+#undef __attribute_malloc__
+#undef __attribute_noinline__
+#undef __attribute_nonstring__
+#undef __attribute_pure__
+#undef __attribute_used__
+#undef __attribute_warn_unused_result__
+#undef __bos
+#undef __bos0
+#undef __errordecl
+#undef __extension__
+#undef __extern_always_inline
+#undef __extern_inline
+#undef __flexarr
+#undef __fortify_function
+#undef __glibc_c99_flexarr_available
+#undef __glibc_clang_has_extension
+#undef __glibc_likely
+#undef __glibc_macro_warning
+#undef __glibc_macro_warning1
+#undef __glibc_unlikely
+#undef __inline
+#undef __ptr_t
+#undef __restrict
+#undef __restrict_arr
+#undef __va_arg_pack
+#undef __va_arg_pack_len
+#undef __warnattr
+#undef __warndecl
+
+/* Include our copy of glibc <sys/cdefs.h>.  */
+#include <cdefs.h>
+
+/* <cdefs.h> __inline is too pessimistic for non-GCC.  */
+#undef __inline
+#ifndef HAVE___INLINE
+# if 199901 <= __STDC_VERSION__ || defined inline
+#  define __inline inline
+# else
+#  define __inline
+# endif
+#endif
+
+
+/* A substitute for glibc <libc-symbols.h>, good enough for Gnulib.  */
+#define attribute_hidden
+#define libc_hidden_proto(name, ...)
+#define libc_hidden_def(name)
+#define libc_hidden_weak(name)
+#define libc_hidden_ver(local, name)
+#define strong_alias(name, aliasname)
+#define weak_alias(name, aliasname)
+
+/* A substitute for glibc <shlib-compat.h>, good enough for Gnulib.  */
+#define SHLIB_COMPAT(lib, introduced, obsoleted) 0
+#define versioned_symbol(lib, local, symbol, version)
diff --git a/lib/limits.in.h b/lib/limits.in.h
new file mode 100644 (file)
index 0000000..39750b3
--- /dev/null
@@ -0,0 +1,104 @@
+/* A GNU-like <limits.h>.
+
+   Copyright 2016-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/>.  */
+
+#ifndef _@GUARD_PREFIX@_LIMITS_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* The include_next requires a split double-inclusion guard.  */
+#@INCLUDE_NEXT@ @NEXT_LIMITS_H@
+
+#ifndef _@GUARD_PREFIX@_LIMITS_H
+#define _@GUARD_PREFIX@_LIMITS_H
+
+#ifndef LLONG_MIN
+# if defined LONG_LONG_MIN /* HP-UX 11.31 */
+#  define LLONG_MIN LONG_LONG_MIN
+# elif defined LONGLONG_MIN /* IRIX 6.5 */
+#  define LLONG_MIN LONGLONG_MIN
+# elif defined __GNUC__
+#  define LLONG_MIN (- __LONG_LONG_MAX__ - 1LL)
+# endif
+#endif
+#ifndef LLONG_MAX
+# if defined LONG_LONG_MAX /* HP-UX 11.31 */
+#  define LLONG_MAX LONG_LONG_MAX
+# elif defined LONGLONG_MAX /* IRIX 6.5 */
+#  define LLONG_MAX LONGLONG_MAX
+# elif defined __GNUC__
+#  define LLONG_MAX __LONG_LONG_MAX__
+# endif
+#endif
+#ifndef ULLONG_MAX
+# if defined ULONG_LONG_MAX /* HP-UX 11.31 */
+#  define ULLONG_MAX ULONG_LONG_MAX
+# elif defined ULONGLONG_MAX /* IRIX 6.5 */
+#  define ULLONG_MAX ULONGLONG_MAX
+# elif defined __GNUC__
+#  define ULLONG_MAX (__LONG_LONG_MAX__ * 2ULL + 1ULL)
+# endif
+#endif
+
+/* The number of usable bits in an unsigned or signed integer type
+   with minimum value MIN and maximum value MAX, as an int expression
+   suitable in #if.  Cover all known practical hosts.  This
+   implementation exploits the fact that MAX is 1 less than a power of
+   2, and merely counts the number of 1 bits in MAX; "COBn" means
+   "count the number of 1 bits in the low-order n bits").  */
+#define _GL_INTEGER_WIDTH(min, max) (((min) < 0) + _GL_COB128 (max))
+#define _GL_COB128(n) (_GL_COB64 ((n) >> 31 >> 31 >> 2) + _GL_COB64 (n))
+#define _GL_COB64(n) (_GL_COB32 ((n) >> 31 >> 1) + _GL_COB32 (n))
+#define _GL_COB32(n) (_GL_COB16 ((n) >> 16) + _GL_COB16 (n))
+#define _GL_COB16(n) (_GL_COB8 ((n) >> 8) + _GL_COB8 (n))
+#define _GL_COB8(n) (_GL_COB4 ((n) >> 4) + _GL_COB4 (n))
+#define _GL_COB4(n) (!!((n) & 8) + !!((n) & 4) + !!((n) & 2) + !!((n) & 1))
+
+#ifndef WORD_BIT
+/* Assume 'int' is 32 bits wide.  */
+# define WORD_BIT 32
+#endif
+#ifndef LONG_BIT
+/* Assume 'long' is 32 or 64 bits wide.  */
+# if LONG_MAX == INT_MAX
+#  define LONG_BIT 32
+# else
+#  define LONG_BIT 64
+# endif
+#endif
+
+/* Macros specified by ISO/IEC TS 18661-1:2014.  */
+
+#if (! defined ULLONG_WIDTH                                             \
+     && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__))
+# define CHAR_WIDTH _GL_INTEGER_WIDTH (CHAR_MIN, CHAR_MAX)
+# define SCHAR_WIDTH _GL_INTEGER_WIDTH (SCHAR_MIN, SCHAR_MAX)
+# define UCHAR_WIDTH _GL_INTEGER_WIDTH (0, UCHAR_MAX)
+# define SHRT_WIDTH _GL_INTEGER_WIDTH (SHRT_MIN, SHRT_MAX)
+# define USHRT_WIDTH _GL_INTEGER_WIDTH (0, USHRT_MAX)
+# define INT_WIDTH _GL_INTEGER_WIDTH (INT_MIN, INT_MAX)
+# define UINT_WIDTH _GL_INTEGER_WIDTH (0, UINT_MAX)
+# define LONG_WIDTH _GL_INTEGER_WIDTH (LONG_MIN, LONG_MAX)
+# define ULONG_WIDTH _GL_INTEGER_WIDTH (0, ULONG_MAX)
+# define LLONG_WIDTH _GL_INTEGER_WIDTH (LLONG_MIN, LLONG_MAX)
+# define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX)
+#endif /* !ULLONG_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */
+
+#endif /* _@GUARD_PREFIX@_LIMITS_H */
+#endif /* _@GUARD_PREFIX@_LIMITS_H */
index a9288673b7a18f1b29bad834cf12332305dab9ea..dabef94848da809fdcabe15ea709ef3de918fdd1 100644 (file)
@@ -1,6 +1,6 @@
 /* Determine a canonical name for the current locale's character encoding.
 
-   Copyright (C) 2000-2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2006, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Bruno Haible <bruno@clisp.org>.  */
 
@@ -22,7 +22,6 @@
 /* Specification.  */
 #include "localcharset.h"
 
-#include <fcntl.h>
 #include <stddef.h>
 #include <stdio.h>
 #include <string.h>
@@ -32,8 +31,9 @@
 # define DARWIN7 /* Darwin 7 or newer, i.e. Mac OS X 10.3 or newer */
 #endif
 
-#if defined _WIN32 || defined __WIN32__
+#if defined _WIN32 && !defined __CYGWIN__
 # define WINDOWS_NATIVE
+# include <locale.h>
 #endif
 
 #if defined __EMX__
 #endif
 
 #if !defined WINDOWS_NATIVE
-# include <unistd.h>
 # if HAVE_LANGINFO_CODESET
 #  include <langinfo.h>
 # else
-#  if 0 /* see comment below */
+#  if 0 /* see comment regarding use of setlocale(), below */
 #   include <locale.h>
 #  endif
 # endif
 # include <xlocale.h>
 #endif
 
-#if ENABLE_RELOCATABLE
-# include "relocatable.h"
-#else
-# define relocate(pathname) (pathname)
-#endif
 
-/* Get LIBDIR.  */
-#ifndef LIBDIR
-# include "configmake.h"
-#endif
+#if HAVE_LANGINFO_CODESET || defined WINDOWS_NATIVE || defined OS2
 
-/* Define O_NOFOLLOW to 0 on platforms where it does not exist.  */
-#ifndef O_NOFOLLOW
-# define O_NOFOLLOW 0
-#endif
+/* On these platforms, we use a mapping from non-canonical encoding name
+   to GNU canonical encoding name.  */
 
-#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
-  /* Native Windows, Cygwin, OS/2, DOS */
-# define ISSLASH(C) ((C) == '/' || (C) == '\\')
-#endif
-
-#ifndef DIRECTORY_SEPARATOR
-# define DIRECTORY_SEPARATOR '/'
-#endif
-
-#ifndef ISSLASH
-# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
-#endif
+/* With glibc-2.1 or newer, we don't need any canonicalization,
+   because glibc has iconv and both glibc and libiconv support all
+   GNU canonical names directly.  */
+# if !((defined __GNU_LIBRARY__ && __GLIBC__ >= 2) || defined __UCLIBC__)
 
-#if HAVE_DECL_GETC_UNLOCKED
-# undef getc
-# define getc getc_unlocked
-#endif
-
-/* The following static variable is declared 'volatile' to avoid a
-   possible multithread problem in the function get_charset_aliases. If we
-   are running in a threaded environment, and if two threads initialize
-   'charset_aliases' simultaneously, both will produce the same value,
-   and everything will be ok if the two assignments to 'charset_aliases'
-   are atomic. But I don't know what will happen if the two assignments mix.  */
-#if __STDC__ != 1
-# define volatile /* empty */
-#endif
-/* Pointer to the contents of the charset.alias file, if it has already been
-   read, else NULL.  Its format is:
-   ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0'  */
-static const char * volatile charset_aliases;
-
-/* Return a pointer to the contents of the charset.alias file.  */
-static const char *
-get_charset_aliases (void)
+struct table_entry
 {
-  const char *cp;
-
-  cp = charset_aliases;
-  if (cp == NULL)
-    {
-#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__)
-      const char *dir;
-      const char *base = "charset.alias";
-      char *file_name;
-
-      /* Make it possible to override the charset.alias location.  This is
-         necessary for running the testsuite before "make install".  */
-      dir = getenv ("CHARSETALIASDIR");
-      if (dir == NULL || dir[0] == '\0')
-        dir = relocate (LIBDIR);
-
-      /* Concatenate dir and base into freshly allocated file_name.  */
-      {
-        size_t dir_len = strlen (dir);
-        size_t base_len = strlen (base);
-        int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1]));
-        file_name = (char *) malloc (dir_len + add_slash + base_len + 1);
-        if (file_name != NULL)
-          {
-            memcpy (file_name, dir, dir_len);
-            if (add_slash)
-              file_name[dir_len] = DIRECTORY_SEPARATOR;
-            memcpy (file_name + dir_len + add_slash, base, base_len + 1);
-          }
-      }
-
-      if (file_name == NULL)
-        /* Out of memory.  Treat the file as empty.  */
-        cp = "";
-      else
-        {
-          int fd;
-
-          /* Open the file.  Reject symbolic links on platforms that support
-             O_NOFOLLOW.  This is a security feature.  Without it, an attacker
-             could retrieve parts of the contents (namely, the tail of the
-             first line that starts with "* ") of an arbitrary file by placing
-             a symbolic link to that file under the name "charset.alias" in
-             some writable directory and defining the environment variable
-             CHARSETALIASDIR to point to that directory.  */
-          fd = open (file_name,
-                     O_RDONLY | (HAVE_WORKING_O_NOFOLLOW ? O_NOFOLLOW : 0));
-          if (fd < 0)
-            /* File not found.  Treat it as empty.  */
-            cp = "";
-          else
-            {
-              FILE *fp;
-
-              fp = fdopen (fd, "r");
-              if (fp == NULL)
-                {
-                  /* Out of memory.  Treat the file as empty.  */
-                  close (fd);
-                  cp = "";
-                }
-              else
-                {
-                  /* Parse the file's contents.  */
-                  char *res_ptr = NULL;
-                  size_t res_size = 0;
-
-                  for (;;)
-                    {
-                      int c;
-                      char buf1[50+1];
-                      char buf2[50+1];
-                      size_t l1, l2;
-                      char *old_res_ptr;
-
-                      c = getc (fp);
-                      if (c == EOF)
-                        break;
-                      if (c == '\n' || c == ' ' || c == '\t')
-                        continue;
-                      if (c == '#')
-                        {
-                          /* Skip comment, to end of line.  */
-                          do
-                            c = getc (fp);
-                          while (!(c == EOF || c == '\n'));
-                          if (c == EOF)
-                            break;
-                          continue;
-                        }
-                      ungetc (c, fp);
-                      if (fscanf (fp, "%50s %50s", buf1, buf2) < 2)
-                        break;
-                      l1 = strlen (buf1);
-                      l2 = strlen (buf2);
-                      old_res_ptr = res_ptr;
-                      if (res_size == 0)
-                        {
-                          res_size = l1 + 1 + l2 + 1;
-                          res_ptr = (char *) malloc (res_size + 1);
-                        }
-                      else
-                        {
-                          res_size += l1 + 1 + l2 + 1;
-                          res_ptr = (char *) realloc (res_ptr, res_size + 1);
-                        }
-                      if (res_ptr == NULL)
-                        {
-                          /* Out of memory. */
-                          res_size = 0;
-                          free (old_res_ptr);
-                          break;
-                        }
-                      strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
-                      strcpy (res_ptr + res_size - (l2 + 1), buf2);
-                    }
-                  fclose (fp);
-                  if (res_size == 0)
-                    cp = "";
-                  else
-                    {
-                      *(res_ptr + res_size) = '\0';
-                      cp = res_ptr;
-                    }
-                }
-            }
+  const char alias[11+1];
+  const char canonical[11+1];
+};
+
+/* Table of platform-dependent mappings, sorted in ascending order.  */
+static const struct table_entry alias_table[] =
+  {
+#  if defined __FreeBSD__                                   /* FreeBSD */
+  /*{ "ARMSCII-8",  "ARMSCII-8" },*/
+    { "Big5",       "BIG5" },
+    { "C",          "ASCII" },
+  /*{ "CP1131",     "CP1131" },*/
+  /*{ "CP1251",     "CP1251" },*/
+  /*{ "CP866",      "CP866" },*/
+  /*{ "GB18030",    "GB18030" },*/
+  /*{ "GB2312",     "GB2312" },*/
+  /*{ "GBK",        "GBK" },*/
+  /*{ "ISCII-DEV",  "?" },*/
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-13", "ISO-8859-13" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" },
+    { "ISO8859-9",  "ISO-8859-9" },
+  /*{ "KOI8-R",     "KOI8-R" },*/
+  /*{ "KOI8-U",     "KOI8-U" },*/
+    { "SJIS",       "SHIFT_JIS" },
+    { "US-ASCII",   "ASCII" },
+    { "eucCN",      "GB2312" },
+    { "eucJP",      "EUC-JP" },
+    { "eucKR",      "EUC-KR" }
+#   define alias_table_defined
+#  endif
+#  if defined __NetBSD__                                    /* NetBSD */
+    { "646",        "ASCII" },
+  /*{ "ARMSCII-8",  "ARMSCII-8" },*/
+  /*{ "BIG5",       "BIG5" },*/
+    { "Big5-HKSCS", "BIG5-HKSCS" },
+  /*{ "CP1251",     "CP1251" },*/
+  /*{ "CP866",      "CP866" },*/
+  /*{ "GB18030",    "GB18030" },*/
+  /*{ "GB2312",     "GB2312" },*/
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-13", "ISO-8859-13" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-4",  "ISO-8859-4" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" },
+  /*{ "KOI8-R",     "KOI8-R" },*/
+  /*{ "KOI8-U",     "KOI8-U" },*/
+  /*{ "PT154",      "PT154" },*/
+    { "SJIS",       "SHIFT_JIS" },
+    { "eucCN",      "GB2312" },
+    { "eucJP",      "EUC-JP" },
+    { "eucKR",      "EUC-KR" },
+    { "eucTW",      "EUC-TW" }
+#   define alias_table_defined
+#  endif
+#  if defined __OpenBSD__                                   /* OpenBSD */
+    { "646",        "ASCII" },
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-13", "ISO-8859-13" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-4",  "ISO-8859-4" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" }
+#   define alias_table_defined
+#  endif
+#  if defined __APPLE__ && defined __MACH__                 /* Mac OS X */
+    /* Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is
+       useless:
+       - It returns the empty string when LANG is set to a locale of the
+         form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
+         LC_CTYPE file.
+       - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
+         the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
+       - The documentation says:
+           "... all code that calls BSD system routines should ensure
+            that the const *char parameters of these routines are in UTF-8
+            encoding. All BSD system functions expect their string
+            parameters to be in UTF-8 encoding and nothing else."
+         It also says
+           "An additional caveat is that string parameters for files,
+            paths, and other file-system entities must be in canonical
+            UTF-8. In a canonical UTF-8 Unicode string, all decomposable
+            characters are decomposed ..."
+         but this is not true: You can pass non-decomposed UTF-8 strings
+         to file system functions, and it is the OS which will convert
+         them to decomposed UTF-8 before accessing the file system.
+       - The Apple Terminal application displays UTF-8 by default.
+       - However, other applications are free to use different encodings:
+         - xterm uses ISO-8859-1 by default.
+         - TextEdit uses MacRoman by default.
+       We prefer UTF-8 over decomposed UTF-8-MAC because one should
+       minimize the use of decomposed Unicode. Unfortunately, through the
+       Darwin file system, decomposed UTF-8 strings are leaked into user
+       space nevertheless.
+       Then there are also the locales with encodings other than US-ASCII
+       and UTF-8. These locales can be occasionally useful to users (e.g.
+       when grepping through ISO-8859-1 encoded text files), when all their
+       file names are in US-ASCII.
+     */
+    { "ARMSCII-8",  "ARMSCII-8" },
+    { "Big5",       "BIG5" },
+    { "Big5HKSCS",  "BIG5-HKSCS" },
+    { "CP1131",     "CP1131" },
+    { "CP1251",     "CP1251" },
+    { "CP866",      "CP866" },
+    { "CP949",      "CP949" },
+    { "GB18030",    "GB18030" },
+    { "GB2312",     "GB2312" },
+    { "GBK",        "GBK" },
+  /*{ "ISCII-DEV",  "?" },*/
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-13", "ISO-8859-13" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-4",  "ISO-8859-4" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" },
+    { "ISO8859-9",  "ISO-8859-9" },
+    { "KOI8-R",     "KOI8-R" },
+    { "KOI8-U",     "KOI8-U" },
+    { "PT154",      "PT154" },
+    { "SJIS",       "SHIFT_JIS" },
+    { "eucCN",      "GB2312" },
+    { "eucJP",      "EUC-JP" },
+    { "eucKR",      "EUC-KR" }
+#   define alias_table_defined
+#  endif
+#  if defined _AIX                                          /* AIX */
+  /*{ "GBK",        "GBK" },*/
+    { "IBM-1046",   "CP1046" },
+    { "IBM-1124",   "CP1124" },
+    { "IBM-1129",   "CP1129" },
+    { "IBM-1252",   "CP1252" },
+    { "IBM-850",    "CP850" },
+    { "IBM-856",    "CP856" },
+    { "IBM-921",    "ISO-8859-13" },
+    { "IBM-922",    "CP922" },
+    { "IBM-932",    "CP932" },
+    { "IBM-943",    "CP943" },
+    { "IBM-eucCN",  "GB2312" },
+    { "IBM-eucJP",  "EUC-JP" },
+    { "IBM-eucKR",  "EUC-KR" },
+    { "IBM-eucTW",  "EUC-TW" },
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "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" },
+    { "TIS-620",    "TIS-620" },
+  /*{ "UTF-8",      "UTF-8" },*/
+    { "big5",       "BIG5" }
+#   define alias_table_defined
+#  endif
+#  if defined __hpux                                        /* HP-UX */
+    { "SJIS",      "SHIFT_JIS" },
+    { "arabic8",   "HP-ARABIC8" },
+    { "big5",      "BIG5" },
+    { "cp1251",    "CP1251" },
+    { "eucJP",     "EUC-JP" },
+    { "eucKR",     "EUC-KR" },
+    { "eucTW",     "EUC-TW" },
+    { "gb18030",   "GB18030" },
+    { "greek8",    "HP-GREEK8" },
+    { "hebrew8",   "HP-HEBREW8" },
+    { "hkbig5",    "BIG5-HKSCS" },
+    { "hp15CN",    "GB2312" },
+    { "iso88591",  "ISO-8859-1" },
+    { "iso885913", "ISO-8859-13" },
+    { "iso885915", "ISO-8859-15" },
+    { "iso88592",  "ISO-8859-2" },
+    { "iso88594",  "ISO-8859-4" },
+    { "iso88595",  "ISO-8859-5" },
+    { "iso88596",  "ISO-8859-6" },
+    { "iso88597",  "ISO-8859-7" },
+    { "iso88598",  "ISO-8859-8" },
+    { "iso88599",  "ISO-8859-9" },
+    { "kana8",     "HP-KANA8" },
+    { "koi8r",     "KOI8-R" },
+    { "roman8",    "HP-ROMAN8" },
+    { "tis620",    "TIS-620" },
+    { "turkish8",  "HP-TURKISH8" },
+    { "utf8",      "UTF-8" }
+#   define alias_table_defined
+#  endif
+#  if defined __sgi                                         /* IRIX */
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" },
+    { "ISO8859-9",  "ISO-8859-9" },
+    { "eucCN",      "GB2312" },
+    { "eucJP",      "EUC-JP" },
+    { "eucKR",      "EUC-KR" },
+    { "eucTW",      "EUC-TW" }
+#   define alias_table_defined
+#  endif
+#  if defined __osf__                                       /* OSF/1 */
+  /*{ "GBK",        "GBK" },*/
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-4",  "ISO-8859-4" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" },
+    { "ISO8859-8",  "ISO-8859-8" },
+    { "ISO8859-9",  "ISO-8859-9" },
+    { "KSC5601",    "CP949" },
+    { "SJIS",       "SHIFT_JIS" },
+    { "TACTIS",     "TIS-620" },
+  /*{ "UTF-8",      "UTF-8" },*/
+    { "big5",       "BIG5" },
+    { "cp850",      "CP850" },
+    { "dechanyu",   "DEC-HANYU" },
+    { "dechanzi",   "GB2312" },
+    { "deckanji",   "DEC-KANJI" },
+    { "deckorean",  "EUC-KR" },
+    { "eucJP",      "EUC-JP" },
+    { "eucKR",      "EUC-KR" },
+    { "eucTW",      "EUC-TW" },
+    { "sdeckanji",  "EUC-JP" }
+#   define alias_table_defined
+#  endif
+#  if defined __sun                                         /* Solaris */
+    { "5601",        "EUC-KR" },
+    { "646",         "ASCII" },
+  /*{ "BIG5",        "BIG5" },*/
+    { "Big5-HKSCS",  "BIG5-HKSCS" },
+    { "GB18030",     "GB18030" },
+  /*{ "GBK",         "GBK" },*/
+    { "ISO8859-1",   "ISO-8859-1" },
+    { "ISO8859-11",  "TIS-620" },
+    { "ISO8859-13",  "ISO-8859-13" },
+    { "ISO8859-15",  "ISO-8859-15" },
+    { "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" },
+    { "PCK",         "SHIFT_JIS" },
+    { "TIS620.2533", "TIS-620" },
+  /*{ "UTF-8",       "UTF-8" },*/
+    { "ansi-1251",   "CP1251" },
+    { "cns11643",    "EUC-TW" },
+    { "eucJP",       "EUC-JP" },
+    { "gb2312",      "GB2312" },
+    { "koi8-r",      "KOI8-R" }
+#   define alias_table_defined
+#  endif
+#  if defined __minix                                       /* Minix */
+    { "646", "ASCII" }
+#   define alias_table_defined
+#  endif
+#  if defined WINDOWS_NATIVE || defined __CYGWIN__          /* Windows */
+    { "CP1361",  "JOHAB" },
+    { "CP20127", "ASCII" },
+    { "CP20866", "KOI8-R" },
+    { "CP20936", "GB2312" },
+    { "CP21866", "KOI8-RU" },
+    { "CP28591", "ISO-8859-1" },
+    { "CP28592", "ISO-8859-2" },
+    { "CP28593", "ISO-8859-3" },
+    { "CP28594", "ISO-8859-4" },
+    { "CP28595", "ISO-8859-5" },
+    { "CP28596", "ISO-8859-6" },
+    { "CP28597", "ISO-8859-7" },
+    { "CP28598", "ISO-8859-8" },
+    { "CP28599", "ISO-8859-9" },
+    { "CP28605", "ISO-8859-15" },
+    { "CP38598", "ISO-8859-8" },
+    { "CP51932", "EUC-JP" },
+    { "CP51936", "GB2312" },
+    { "CP51949", "EUC-KR" },
+    { "CP51950", "EUC-TW" },
+    { "CP54936", "GB18030" },
+    { "CP65001", "UTF-8" },
+    { "CP936",   "GBK" }
+#   define alias_table_defined
+#  endif
+#  if defined OS2                                           /* OS/2 */
+    /* 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 "__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 */
+    /* The list of encodings is taken from the OpenVMS 7.3-1 documentation
+       "Compaq C Run-Time Library Reference Manual for OpenVMS systems"
+       section 10.7 "Handling Different Character Sets".  */
+    { "DECHANYU",  "DEC-HANYU" },
+    { "DECHANZI",  "GB2312" },
+    { "DECKANJI",  "DEC-KANJI" },
+    { "DECKOREAN", "EUC-KR" },
+    { "ISO8859-1", "ISO-8859-1" },
+    { "ISO8859-2", "ISO-8859-2" },
+    { "ISO8859-5", "ISO-8859-5" },
+    { "ISO8859-7", "ISO-8859-7" },
+    { "ISO8859-8", "ISO-8859-8" },
+    { "ISO8859-9", "ISO-8859-9" },
+    { "SDECKANJI", "EUC-JP" },
+    { "SJIS",      "SHIFT_JIS" },
+    { "eucJP",     "EUC-JP" },
+    { "eucTW",     "EUC-TW" }
+#   define alias_table_defined
+#  endif
+#  ifndef alias_table_defined
+    /* Just a dummy entry, to avoid a C syntax error.  */
+    { "", "" }
+#  endif
+  };
 
-          free (file_name);
-        }
+# endif
 
 #else
 
-# if defined DARWIN7
-      /* To avoid the trouble of installing a file that is shared by many
-         GNU packages -- many packaging systems have problems with this --,
-         simply inline the aliases here.  */
-      cp = "ISO8859-1" "\0" "ISO-8859-1" "\0"
-           "ISO8859-2" "\0" "ISO-8859-2" "\0"
-           "ISO8859-4" "\0" "ISO-8859-4" "\0"
-           "ISO8859-5" "\0" "ISO-8859-5" "\0"
-           "ISO8859-7" "\0" "ISO-8859-7" "\0"
-           "ISO8859-9" "\0" "ISO-8859-9" "\0"
-           "ISO8859-13" "\0" "ISO-8859-13" "\0"
-           "ISO8859-15" "\0" "ISO-8859-15" "\0"
-           "KOI8-R" "\0" "KOI8-R" "\0"
-           "KOI8-U" "\0" "KOI8-U" "\0"
-           "CP866" "\0" "CP866" "\0"
-           "CP949" "\0" "CP949" "\0"
-           "CP1131" "\0" "CP1131" "\0"
-           "CP1251" "\0" "CP1251" "\0"
-           "eucCN" "\0" "GB2312" "\0"
-           "GB2312" "\0" "GB2312" "\0"
-           "eucJP" "\0" "EUC-JP" "\0"
-           "eucKR" "\0" "EUC-KR" "\0"
-           "Big5" "\0" "BIG5" "\0"
-           "Big5HKSCS" "\0" "BIG5-HKSCS" "\0"
-           "GBK" "\0" "GBK" "\0"
-           "GB18030" "\0" "GB18030" "\0"
-           "SJIS" "\0" "SHIFT_JIS" "\0"
-           "ARMSCII-8" "\0" "ARMSCII-8" "\0"
-           "PT154" "\0" "PT154" "\0"
-         /*"ISCII-DEV" "\0" "?" "\0"*/
-           "*" "\0" "UTF-8" "\0";
-# endif
+/* On these platforms, we use a mapping from locale name to GNU canonical
+   encoding name.  */
 
-# if defined VMS
-      /* To avoid the troubles of an extra file charset.alias_vms in the
-         sources of many GNU packages, simply inline the aliases here.  */
-      /* The list of encodings is taken from the OpenVMS 7.3-1 documentation
-         "Compaq C Run-Time Library Reference Manual for OpenVMS systems"
-         section 10.7 "Handling Different Character Sets".  */
-      cp = "ISO8859-1" "\0" "ISO-8859-1" "\0"
-           "ISO8859-2" "\0" "ISO-8859-2" "\0"
-           "ISO8859-5" "\0" "ISO-8859-5" "\0"
-           "ISO8859-7" "\0" "ISO-8859-7" "\0"
-           "ISO8859-8" "\0" "ISO-8859-8" "\0"
-           "ISO8859-9" "\0" "ISO-8859-9" "\0"
-           /* Japanese */
-           "eucJP" "\0" "EUC-JP" "\0"
-           "SJIS" "\0" "SHIFT_JIS" "\0"
-           "DECKANJI" "\0" "DEC-KANJI" "\0"
-           "SDECKANJI" "\0" "EUC-JP" "\0"
-           /* Chinese */
-           "eucTW" "\0" "EUC-TW" "\0"
-           "DECHANYU" "\0" "DEC-HANYU" "\0"
-           "DECHANZI" "\0" "GB2312" "\0"
-           /* Korean */
-           "DECKOREAN" "\0" "EUC-KR" "\0";
+struct table_entry
+{
+  const char locale[17+1];
+  const char canonical[11+1];
+};
+
+/* Table of platform-dependent mappings, sorted in ascending order.  */
+static const struct table_entry locale_table[] =
+  {
+# if defined __FreeBSD__                                    /* FreeBSD 4.2 */
+    { "cs_CZ.ISO_8859-2",  "ISO-8859-2" },
+    { "da_DK.DIS_8859-15", "ISO-8859-15" },
+    { "da_DK.ISO_8859-1",  "ISO-8859-1" },
+    { "de_AT.DIS_8859-15", "ISO-8859-15" },
+    { "de_AT.ISO_8859-1",  "ISO-8859-1" },
+    { "de_CH.DIS_8859-15", "ISO-8859-15" },
+    { "de_CH.ISO_8859-1",  "ISO-8859-1" },
+    { "de_DE.DIS_8859-15", "ISO-8859-15" },
+    { "de_DE.ISO_8859-1",  "ISO-8859-1" },
+    { "en_AU.DIS_8859-15", "ISO-8859-15" },
+    { "en_AU.ISO_8859-1",  "ISO-8859-1" },
+    { "en_CA.DIS_8859-15", "ISO-8859-15" },
+    { "en_CA.ISO_8859-1",  "ISO-8859-1" },
+    { "en_GB.DIS_8859-15", "ISO-8859-15" },
+    { "en_GB.ISO_8859-1",  "ISO-8859-1" },
+    { "en_US.DIS_8859-15", "ISO-8859-15" },
+    { "en_US.ISO_8859-1",  "ISO-8859-1" },
+    { "es_ES.DIS_8859-15", "ISO-8859-15" },
+    { "es_ES.ISO_8859-1",  "ISO-8859-1" },
+    { "fi_FI.DIS_8859-15", "ISO-8859-15" },
+    { "fi_FI.ISO_8859-1",  "ISO-8859-1" },
+    { "fr_BE.DIS_8859-15", "ISO-8859-15" },
+    { "fr_BE.ISO_8859-1",  "ISO-8859-1" },
+    { "fr_CA.DIS_8859-15", "ISO-8859-15" },
+    { "fr_CA.ISO_8859-1",  "ISO-8859-1" },
+    { "fr_CH.DIS_8859-15", "ISO-8859-15" },
+    { "fr_CH.ISO_8859-1",  "ISO-8859-1" },
+    { "fr_FR.DIS_8859-15", "ISO-8859-15" },
+    { "fr_FR.ISO_8859-1",  "ISO-8859-1" },
+    { "hr_HR.ISO_8859-2",  "ISO-8859-2" },
+    { "hu_HU.ISO_8859-2",  "ISO-8859-2" },
+    { "is_IS.DIS_8859-15", "ISO-8859-15" },
+    { "is_IS.ISO_8859-1",  "ISO-8859-1" },
+    { "it_CH.DIS_8859-15", "ISO-8859-15" },
+    { "it_CH.ISO_8859-1",  "ISO-8859-1" },
+    { "it_IT.DIS_8859-15", "ISO-8859-15" },
+    { "it_IT.ISO_8859-1",  "ISO-8859-1" },
+    { "ja_JP.EUC",         "EUC-JP" },
+    { "ja_JP.SJIS",        "SHIFT_JIS" },
+    { "ja_JP.Shift_JIS",   "SHIFT_JIS" },
+    { "ko_KR.EUC",         "EUC-KR" },
+    { "la_LN.ASCII",       "ASCII" },
+    { "la_LN.DIS_8859-15", "ISO-8859-15" },
+    { "la_LN.ISO_8859-1",  "ISO-8859-1" },
+    { "la_LN.ISO_8859-2",  "ISO-8859-2" },
+    { "la_LN.ISO_8859-4",  "ISO-8859-4" },
+    { "lt_LN.ASCII",       "ASCII" },
+    { "lt_LN.DIS_8859-15", "ISO-8859-15" },
+    { "lt_LN.ISO_8859-1",  "ISO-8859-1" },
+    { "lt_LN.ISO_8859-2",  "ISO-8859-2" },
+    { "lt_LT.ISO_8859-4",  "ISO-8859-4" },
+    { "nl_BE.DIS_8859-15", "ISO-8859-15" },
+    { "nl_BE.ISO_8859-1",  "ISO-8859-1" },
+    { "nl_NL.DIS_8859-15", "ISO-8859-15" },
+    { "nl_NL.ISO_8859-1",  "ISO-8859-1" },
+    { "no_NO.DIS_8859-15", "ISO-8859-15" },
+    { "no_NO.ISO_8859-1",  "ISO-8859-1" },
+    { "pl_PL.ISO_8859-2",  "ISO-8859-2" },
+    { "pt_PT.DIS_8859-15", "ISO-8859-15" },
+    { "pt_PT.ISO_8859-1",  "ISO-8859-1" },
+    { "ru_RU.CP866",       "CP866" },
+    { "ru_RU.ISO_8859-5",  "ISO-8859-5" },
+    { "ru_RU.KOI8-R",      "KOI8-R" },
+    { "ru_SU.CP866",       "CP866" },
+    { "ru_SU.ISO_8859-5",  "ISO-8859-5" },
+    { "ru_SU.KOI8-R",      "KOI8-R" },
+    { "sl_SI.ISO_8859-2",  "ISO-8859-2" },
+    { "sv_SE.DIS_8859-15", "ISO-8859-15" },
+    { "sv_SE.ISO_8859-1",  "ISO-8859-1" },
+    { "uk_UA.KOI8-U",      "KOI8-U" },
+    { "zh_CN.EUC",         "GB2312" },
+    { "zh_TW.BIG5",        "BIG5" },
+    { "zh_TW.Big5",        "BIG5" }
+#  define locale_table_defined
 # endif
-
-# if defined WINDOWS_NATIVE || defined __CYGWIN__
-      /* To avoid the troubles of installing a separate file in the same
-         directory as the DLL and of retrieving the DLL's directory at
-         runtime, simply inline the aliases here.  */
-
-      cp = "CP936" "\0" "GBK" "\0"
-           "CP1361" "\0" "JOHAB" "\0"
-           "CP20127" "\0" "ASCII" "\0"
-           "CP20866" "\0" "KOI8-R" "\0"
-           "CP20936" "\0" "GB2312" "\0"
-           "CP21866" "\0" "KOI8-RU" "\0"
-           "CP28591" "\0" "ISO-8859-1" "\0"
-           "CP28592" "\0" "ISO-8859-2" "\0"
-           "CP28593" "\0" "ISO-8859-3" "\0"
-           "CP28594" "\0" "ISO-8859-4" "\0"
-           "CP28595" "\0" "ISO-8859-5" "\0"
-           "CP28596" "\0" "ISO-8859-6" "\0"
-           "CP28597" "\0" "ISO-8859-7" "\0"
-           "CP28598" "\0" "ISO-8859-8" "\0"
-           "CP28599" "\0" "ISO-8859-9" "\0"
-           "CP28605" "\0" "ISO-8859-15" "\0"
-           "CP38598" "\0" "ISO-8859-8" "\0"
-           "CP51932" "\0" "EUC-JP" "\0"
-           "CP51936" "\0" "GB2312" "\0"
-           "CP51949" "\0" "EUC-KR" "\0"
-           "CP51950" "\0" "EUC-TW" "\0"
-           "CP54936" "\0" "GB18030" "\0"
-           "CP65001" "\0" "UTF-8" "\0";
+# if defined __DJGPP__                                      /* DOS / DJGPP 2.03 */
+    /* The encodings given here may not all be correct.
+       If you find that the encoding given for your language and
+       country is not the one your DOS machine actually uses, just
+       correct it in this file, and send a mail to
+       Juan Manuel Guerrero <juan.guerrero@gmx.de>
+       and <bug-gnulib@gnu.org>.  */
+    { "C",     "ASCII" },
+    { "ar",    "CP864" },
+    { "ar_AE", "CP864" },
+    { "ar_DZ", "CP864" },
+    { "ar_EG", "CP864" },
+    { "ar_IQ", "CP864" },
+    { "ar_IR", "CP864" },
+    { "ar_JO", "CP864" },
+    { "ar_KW", "CP864" },
+    { "ar_MA", "CP864" },
+    { "ar_OM", "CP864" },
+    { "ar_QA", "CP864" },
+    { "ar_SA", "CP864" },
+    { "ar_SY", "CP864" },
+    { "be",    "CP866" },
+    { "be_BE", "CP866" },
+    { "bg",    "CP866" }, /* not CP855 ?? */
+    { "bg_BG", "CP866" }, /* not CP855 ?? */
+    { "ca",    "CP850" },
+    { "ca_ES", "CP850" },
+    { "cs",    "CP852" },
+    { "cs_CZ", "CP852" },
+    { "da",    "CP865" }, /* not CP850 ?? */
+    { "da_DK", "CP865" }, /* not CP850 ?? */
+    { "de",    "CP850" },
+    { "de_AT", "CP850" },
+    { "de_CH", "CP850" },
+    { "de_DE", "CP850" },
+    { "el",    "CP869" },
+    { "el_GR", "CP869" },
+    { "en",    "CP850" },
+    { "en_AU", "CP850" }, /* not CP437 ?? */
+    { "en_CA", "CP850" },
+    { "en_GB", "CP850" },
+    { "en_NZ", "CP437" },
+    { "en_US", "CP437" },
+    { "en_ZA", "CP850" }, /* not CP437 ?? */
+    { "eo",    "CP850" },
+    { "eo_EO", "CP850" },
+    { "es",    "CP850" },
+    { "es_AR", "CP850" },
+    { "es_BO", "CP850" },
+    { "es_CL", "CP850" },
+    { "es_CO", "CP850" },
+    { "es_CR", "CP850" },
+    { "es_CU", "CP850" },
+    { "es_DO", "CP850" },
+    { "es_EC", "CP850" },
+    { "es_ES", "CP850" },
+    { "es_GT", "CP850" },
+    { "es_HN", "CP850" },
+    { "es_MX", "CP850" },
+    { "es_NI", "CP850" },
+    { "es_PA", "CP850" },
+    { "es_PE", "CP850" },
+    { "es_PY", "CP850" },
+    { "es_SV", "CP850" },
+    { "es_UY", "CP850" },
+    { "es_VE", "CP850" },
+    { "et",    "CP850" },
+    { "et_EE", "CP850" },
+    { "eu",    "CP850" },
+    { "eu_ES", "CP850" },
+    { "fi",    "CP850" },
+    { "fi_FI", "CP850" },
+    { "fr",    "CP850" },
+    { "fr_BE", "CP850" },
+    { "fr_CA", "CP850" },
+    { "fr_CH", "CP850" },
+    { "fr_FR", "CP850" },
+    { "ga",    "CP850" },
+    { "ga_IE", "CP850" },
+    { "gd",    "CP850" },
+    { "gd_GB", "CP850" },
+    { "gl",    "CP850" },
+    { "gl_ES", "CP850" },
+    { "he",    "CP862" },
+    { "he_IL", "CP862" },
+    { "hr",    "CP852" },
+    { "hr_HR", "CP852" },
+    { "hu",    "CP852" },
+    { "hu_HU", "CP852" },
+    { "id",    "CP850" }, /* not CP437 ?? */
+    { "id_ID", "CP850" }, /* not CP437 ?? */
+    { "is",    "CP861" }, /* not CP850 ?? */
+    { "is_IS", "CP861" }, /* not CP850 ?? */
+    { "it",    "CP850" },
+    { "it_CH", "CP850" },
+    { "it_IT", "CP850" },
+    { "ja",    "CP932" },
+    { "ja_JP", "CP932" },
+    { "kr",    "CP949" }, /* not CP934 ?? */
+    { "kr_KR", "CP949" }, /* not CP934 ?? */
+    { "lt",    "CP775" },
+    { "lt_LT", "CP775" },
+    { "lv",    "CP775" },
+    { "lv_LV", "CP775" },
+    { "mk",    "CP866" }, /* not CP855 ?? */
+    { "mk_MK", "CP866" }, /* not CP855 ?? */
+    { "mt",    "CP850" },
+    { "mt_MT", "CP850" },
+    { "nb",    "CP865" }, /* not CP850 ?? */
+    { "nb_NO", "CP865" }, /* not CP850 ?? */
+    { "nl",    "CP850" },
+    { "nl_BE", "CP850" },
+    { "nl_NL", "CP850" },
+    { "nn",    "CP865" }, /* not CP850 ?? */
+    { "nn_NO", "CP865" }, /* not CP850 ?? */
+    { "no",    "CP865" }, /* not CP850 ?? */
+    { "no_NO", "CP865" }, /* not CP850 ?? */
+    { "pl",    "CP852" },
+    { "pl_PL", "CP852" },
+    { "pt",    "CP850" },
+    { "pt_BR", "CP850" },
+    { "pt_PT", "CP850" },
+    { "ro",    "CP852" },
+    { "ro_RO", "CP852" },
+    { "ru",    "CP866" },
+    { "ru_RU", "CP866" },
+    { "sk",    "CP852" },
+    { "sk_SK", "CP852" },
+    { "sl",    "CP852" },
+    { "sl_SI", "CP852" },
+    { "sq",    "CP852" },
+    { "sq_AL", "CP852" },
+    { "sr",    "CP852" }, /* CP852 or CP866 or CP855 ?? */
+    { "sr_CS", "CP852" }, /* CP852 or CP866 or CP855 ?? */
+    { "sr_YU", "CP852" }, /* CP852 or CP866 or CP855 ?? */
+    { "sv",    "CP850" },
+    { "sv_SE", "CP850" },
+    { "th",    "CP874" },
+    { "th_TH", "CP874" },
+    { "tr",    "CP857" },
+    { "tr_TR", "CP857" },
+    { "uk",    "CP1125" },
+    { "uk_UA", "CP1125" },
+    { "zh_CN", "GBK" },
+    { "zh_TW", "CP950" } /* not CP938 ?? */
+#  define locale_table_defined
 # endif
+# ifndef locale_table_defined
+    /* Just a dummy entry, to avoid a C syntax error.  */
+    { "", "" }
+# endif
+  };
+
 #endif
 
-      charset_aliases = cp;
-    }
-
-  return cp;
-}
 
 /* Determine the current locale's character encoding, and canonicalize it
-   into one of the canonical names listed in config.charset.
+   into one of the canonical names listed in localcharset.h.
    The result must not be freed; it is statically allocated.
    If the canonical name cannot be determined, the result is a non-canonical
    name.  */
@@ -362,9 +826,8 @@ const char *
 locale_charset (void)
 {
   const char *codeset;
-  const char *aliases;
 
-#if !(defined WINDOWS_NATIVE || defined OS2)
+#if HAVE_LANGINFO_CODESET || defined WINDOWS_NATIVE || defined OS2
 
 # if HAVE_LANGINFO_CODESET
 
@@ -427,57 +890,58 @@ locale_charset (void)
     }
 #  endif
 
-# else
-
-  /* On old systems which lack it, use setlocale or getenv.  */
-  const char *locale = NULL;
-
-  /* But most old systems don't have a complete set of locales.  Some
-     (like SunOS 4 or DJGPP) have only the C locale.  Therefore we don't
-     use setlocale here; it would return "C" when it doesn't support the
-     locale name the user has set.  */
-#  if 0
-  locale = setlocale (LC_CTYPE, NULL);
-#  endif
-  if (locale == NULL || locale[0] == '\0')
-    {
-      locale = getenv ("LC_ALL");
-      if (locale == NULL || locale[0] == '\0')
-        {
-          locale = getenv ("LC_CTYPE");
-          if (locale == NULL || locale[0] == '\0')
-            locale = getenv ("LANG");
-        }
-    }
-
-  /* On some old systems, one used to set locale = "iso8859_1". On others,
-     you set it to "language_COUNTRY.charset". In any case, we resolve it
-     through the charset.alias file.  */
-  codeset = locale;
+  if (codeset == NULL)
+    /* The canonical name cannot be determined.  */
+    codeset = "";
 
-# endif
-
-#elif defined WINDOWS_NATIVE
+# elif defined WINDOWS_NATIVE
 
   static char buf[2 + 10 + 1];
 
-  /* The Windows API has a function returning the locale's codepage as a
-     number: GetACP().
-     When the output goes to a console window, it needs to be provided in
-     GetOEMCP() encoding if the console is using a raster font, or in
-     GetConsoleOutputCP() encoding if it is using a TrueType font.
-     But in GUI programs and for output sent to files and pipes, GetACP()
-     encoding is the best bet.  */
-  sprintf (buf, "CP%u", GetACP ());
-  codeset = buf;
+  /* The Windows API has a function returning the locale's codepage as
+     a number, but the value doesn't change according to what the
+     'setlocale' call specified.  So we use it as a last resort, in
+     case the string returned by 'setlocale' doesn't specify the
+     codepage.  */
+  char *current_locale = setlocale (LC_ALL, NULL);
+  char *pdot;
+
+  /* If they set different locales for different categories,
+     'setlocale' will return a semi-colon separated list of locale
+     values.  To make sure we use the correct one, we choose LC_CTYPE.  */
+  if (strchr (current_locale, ';'))
+    current_locale = setlocale (LC_CTYPE, NULL);
+
+  pdot = strrchr (current_locale, '.');
+  if (pdot && 2 + strlen (pdot + 1) + 1 <= sizeof (buf))
+    sprintf (buf, "CP%s", pdot + 1);
+  else
+    {
+      /* The Windows API has a function returning the locale's codepage as a
+        number: GetACP().
+        When the output goes to a console window, it needs to be provided in
+        GetOEMCP() encoding if the console is using a raster font, or in
+        GetConsoleOutputCP() encoding if it is using a TrueType font.
+        But in GUI programs and for output sent to files and pipes, GetACP()
+        encoding is the best bet.  */
+      sprintf (buf, "CP%u", GetACP ());
+    }
+  /* 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
+# elif defined OS2
 
   const char *locale;
   static char buf[2 + 10 + 1];
   ULONG cp[3];
   ULONG cplen;
 
+  codeset = NULL;
+
   /* Allow user to override the codeset, as set in the operating system,
      with standard language environment variables.  */
   locale = getenv ("LC_ALL");
@@ -509,10 +973,12 @@ locale_charset (void)
             }
         }
 
-      /* Resolve through the charset.alias file.  */
-      codeset = locale;
+      /* For the POSIX locale, don't use the system's codepage.  */
+      if (strcmp (locale, "C") == 0 || strcmp (locale, "POSIX") == 0)
+        codeset = "";
     }
-  else
+
+  if (codeset == NULL)
     {
       /* OS/2 has a function returning the locale's codepage as a number.  */
       if (DosQueryCp (sizeof (cp), cp, &cplen))
@@ -524,28 +990,144 @@ locale_charset (void)
         }
     }
 
-#endif
+# else
 
-  if (codeset == NULL)
-    /* The canonical name cannot be determined.  */
-    codeset = "";
+#  error "Add code for other platforms here."
 
-  /* Resolve alias. */
-  for (aliases = get_charset_aliases ();
-       *aliases != '\0';
-       aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)
-    if (strcmp (codeset, aliases) == 0
-        || (aliases[0] == '*' && aliases[1] == '\0'))
+# endif
+
+  /* Resolve alias.  */
+  {
+# ifdef alias_table_defined
+    /* On some platforms, UTF-8 locales are the most frequently used ones.
+       Speed up the common case and slow down the less common cases by
+       testing for this case first.  */
+#  if defined __OpenBSD__ || (defined __APPLE__ && defined __MACH__) || defined __sun || defined __CYGWIN__
+    if (strcmp (codeset, "UTF-8") == 0)
+      goto done_table_lookup;
+    else
+#  endif
       {
-        codeset = aliases + strlen (aliases) + 1;
-        break;
+        const struct table_entry * const table = alias_table;
+        size_t const table_size =
+          sizeof (alias_table) / sizeof (struct table_entry);
+        /* The table is sorted.  Perform a binary search.  */
+        size_t hi = table_size;
+        size_t lo = 0;
+        while (lo < hi)
+          {
+            /* Invariant:
+               for i < lo, strcmp (table[i].alias, codeset) < 0,
+               for i >= hi, strcmp (table[i].alias, codeset) > 0.  */
+            size_t mid = (hi + lo) >> 1; /* >= lo, < hi */
+            int cmp = strcmp (table[mid].alias, codeset);
+            if (cmp < 0)
+              lo = mid + 1;
+            else if (cmp > 0)
+              hi = mid;
+            else
+              {
+                /* Found an i with
+                     strcmp (table[i].alias, codeset) == 0.  */
+                codeset = table[mid].canonical;
+                goto done_table_lookup;
+              }
+          }
       }
+    if (0)
+      done_table_lookup: ;
+    else
+# endif
+      {
+        /* Did not find it in the table.  */
+        /* On Mac OS X, all modern locales use the UTF-8 encoding.
+           BeOS and Haiku have a single locale, and it has UTF-8 encoding.  */
+# if (defined __APPLE__ && defined __MACH__) || defined __BEOS__ || defined __HAIKU__
+        codeset = "UTF-8";
+# else
+        /* Don't return an empty string.  GNU libc and GNU libiconv interpret
+           the empty string as denoting "the locale's character encoding",
+           thus GNU libiconv would call this function a second time.  */
+        if (codeset[0] == '\0')
+          codeset = "ASCII";
+# endif
+      }
+  }
 
-  /* Don't return an empty string.  GNU libc and GNU libiconv interpret
-     the empty string as denoting "the locale's character encoding",
-     thus GNU libiconv would call this function a second time.  */
-  if (codeset[0] == '\0')
-    codeset = "ASCII";
+#else
+
+  /* On old systems which lack it, use setlocale or getenv.  */
+  const char *locale = NULL;
+
+  /* But most old systems don't have a complete set of locales.  Some
+     (like DJGPP) have only the C locale.  Therefore we don't use setlocale
+     here; it would return "C" when it doesn't support the locale name the
+     user has set.  */
+# if 0
+  locale = setlocale (LC_CTYPE, NULL);
+# endif
+  if (locale == NULL || locale[0] == '\0')
+    {
+      locale = getenv ("LC_ALL");
+      if (locale == NULL || locale[0] == '\0')
+        {
+          locale = getenv ("LC_CTYPE");
+          if (locale == NULL || locale[0] == '\0')
+            locale = getenv ("LANG");
+            if (locale == NULL)
+              locale = "";
+        }
+    }
+
+  /* Map locale name to canonical encoding name.  */
+  {
+# ifdef locale_table_defined
+    const struct table_entry * const table = locale_table;
+    size_t const table_size =
+      sizeof (locale_table) / sizeof (struct table_entry);
+    /* The table is sorted.  Perform a binary search.  */
+    size_t hi = table_size;
+    size_t lo = 0;
+    while (lo < hi)
+      {
+        /* Invariant:
+           for i < lo, strcmp (table[i].locale, locale) < 0,
+           for i >= hi, strcmp (table[i].locale, locale) > 0.  */
+        size_t mid = (hi + lo) >> 1; /* >= lo, < hi */
+        int cmp = strcmp (table[mid].locale, locale);
+        if (cmp < 0)
+          lo = mid + 1;
+        else if (cmp > 0)
+          hi = mid;
+        else
+          {
+            /* Found an i with
+                 strcmp (table[i].locale, locale) == 0.  */
+            codeset = table[mid].canonical;
+            goto done_table_lookup;
+          }
+      }
+    if (0)
+      done_table_lookup: ;
+    else
+# endif
+      {
+        /* Did not find it in the table.  */
+        /* On Mac OS X, all modern locales use the UTF-8 encoding.
+           BeOS and Haiku have a single locale, and it has UTF-8 encoding.  */
+# if (defined __APPLE__ && defined __MACH__) || defined __BEOS__ || defined __HAIKU__
+        codeset = "UTF-8";
+# else
+        /* The canonical name cannot be determined.  */
+        /* Don't return an empty string.  GNU libc and GNU libiconv interpret
+           the empty string as denoting "the locale's character encoding",
+           thus GNU libiconv would call this function a second time.  */
+        codeset = "ASCII";
+# endif
+      }
+  }
+
+#endif
 
 #ifdef DARWIN7
   /* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8"
index 9011d5805d5de2dd6d4145efa5678e26a45a6c5b..7d0d7711dbe40776da92a9b6e501818116d5b38e 100644 (file)
@@ -1,5 +1,5 @@
 /* Determine a canonical name for the current locale's character encoding.
-   Copyright (C) 2000-2003, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2009-2019 Free Software Foundation, Inc.
    This file is part of the GNU CHARSET Library.
 
    This program is free software; you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _LOCALCHARSET_H
 #define _LOCALCHARSET_H
@@ -25,12 +25,106 @@ extern "C" {
 
 
 /* Determine the current locale's character encoding, and canonicalize it
-   into one of the canonical names listed in config.charset.
+   into one of the canonical names listed below.
    The result must not be freed; it is statically allocated.
    If the canonical name cannot be determined, the result is a non-canonical
    name.  */
 extern const char * locale_charset (void);
 
+/* About GNU canonical names for character encodings:
+
+   Every canonical name must be supported by GNU libiconv.  Support by GNU libc
+   is also desirable.
+
+   The name is case insensitive.  Usually an upper case MIME charset name is
+   preferred.
+
+   The current list of these GNU canonical names is:
+
+       name              MIME?             used by which systems
+                                    (darwin = Mac OS X, windows = native Windows)
+
+   ASCII, ANSI_X3.4-1968       glibc solaris freebsd netbsd darwin minix cygwin
+   ISO-8859-1              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
+   ISO-8859-2              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
+   ISO-8859-3              Y   glibc solaris cygwin
+   ISO-8859-4              Y   hpux osf solaris freebsd netbsd openbsd darwin
+   ISO-8859-5              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
+   ISO-8859-6              Y   glibc aix hpux solaris cygwin
+   ISO-8859-7              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
+   ISO-8859-8              Y   glibc aix hpux osf solaris cygwin
+   ISO-8859-9              Y   glibc aix hpux irix osf solaris freebsd darwin cygwin
+   ISO-8859-13                 glibc hpux solaris freebsd netbsd openbsd darwin cygwin
+   ISO-8859-14                 glibc cygwin
+   ISO-8859-15                 glibc aix irix osf solaris freebsd netbsd openbsd darwin cygwin
+   KOI8-R                  Y   glibc hpux solaris freebsd netbsd openbsd darwin
+   KOI8-U                  Y   glibc freebsd netbsd openbsd darwin cygwin
+   KOI8-T                      glibc
+   CP437                       dos
+   CP775                       dos
+   CP850                       aix osf dos
+   CP852                       dos
+   CP855                       dos
+   CP856                       aix
+   CP857                       dos
+   CP861                       dos
+   CP862                       dos
+   CP864                       dos
+   CP865                       dos
+   CP866                       freebsd netbsd openbsd darwin dos
+   CP869                       dos
+   CP874                       windows dos
+   CP922                       aix
+   CP932                       aix cygwin windows dos
+   CP943                       aix
+   CP949                       osf darwin windows dos
+   CP950                       windows dos
+   CP1046                      aix
+   CP1124                      aix
+   CP1125                      dos
+   CP1129                      aix
+   CP1131                      freebsd darwin
+   CP1250                      windows
+   CP1251                      glibc hpux solaris freebsd netbsd openbsd darwin cygwin windows
+   CP1252                      aix windows
+   CP1253                      windows
+   CP1254                      windows
+   CP1255                      glibc windows
+   CP1256                      windows
+   CP1257                      windows
+   GB2312                  Y   glibc aix hpux irix solaris freebsd netbsd darwin cygwin
+   EUC-JP                  Y   glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin
+   EUC-KR                  Y   glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin
+   EUC-TW                      glibc aix hpux irix osf solaris netbsd
+   BIG5                    Y   glibc aix hpux osf solaris freebsd netbsd darwin cygwin
+   BIG5-HKSCS                  glibc hpux solaris netbsd darwin
+   GBK                         glibc aix osf solaris freebsd darwin cygwin windows dos
+   GB18030                     glibc hpux solaris freebsd netbsd darwin
+   SHIFT_JIS               Y   hpux osf solaris freebsd netbsd darwin
+   JOHAB                       glibc solaris windows
+   TIS-620                     glibc aix hpux osf solaris cygwin
+   VISCII                  Y   glibc
+   TCVN5712-1                  glibc
+   ARMSCII-8                   glibc freebsd netbsd darwin
+   GEORGIAN-PS                 glibc cygwin
+   PT154                       glibc netbsd cygwin
+   HP-ROMAN8                   hpux
+   HP-ARABIC8                  hpux
+   HP-GREEK8                   hpux
+   HP-HEBREW8                  hpux
+   HP-TURKISH8                 hpux
+   HP-KANA8                    hpux
+   DEC-KANJI                   osf
+   DEC-HANYU                   osf
+   UTF-8                   Y   glibc aix hpux osf solaris netbsd darwin cygwin
+
+   Note: Names which are not marked as being a MIME name should not be used in
+   Internet protocols for information interchange (mail, news, etc.).
+
+   Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names.  Applications
+   must understand both names and treat them as equivalent.
+ */
+
 
 #ifdef __cplusplus
 }
index 10cc44b17173fbbdb60945864cb50aa058f7d392..5f33ed17cccb37174f393e351be1bcd3b0d99a54 100644 (file)
@@ -1,5 +1,5 @@
 /* A POSIX <locale.h>.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-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
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
-#ifdef _GL_ALREADY_INCLUDING_LOCALE_H
+#if (defined _WIN32 && !defined __CYGWIN__ && defined __need_locale_t) \
+    || defined _GL_ALREADY_INCLUDING_LOCALE_H
 
-/* Special invocation conventions to handle Solaris header files
-   (through Solaris 10) when combined with gettext's libintl.h.  */
+/* Special invocation convention:
+   - Inside mingw header files,
+   - To handle Solaris header files (through Solaris 10) when combined
+     with gettext's libintl.h.  */
 
 #@INCLUDE_NEXT@ @NEXT_LOCALE_H@
 
@@ -187,11 +190,40 @@ _GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
 # endif
 #endif
 
-#if @GNULIB_DUPLOCALE@
+#if /*@GNULIB_NEWLOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @HAVE_NEWLOCALE@)
+# if @REPLACE_NEWLOCALE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef newlocale
+#   define newlocale rpl_newlocale
+#   define GNULIB_defined_newlocale 1
+#  endif
+_GL_FUNCDECL_RPL (newlocale, locale_t,
+                  (int category_mask, const char *name, locale_t base)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (newlocale, locale_t,
+                  (int category_mask, const char *name, locale_t base));
+# else
+#  if @HAVE_NEWLOCALE@
+_GL_CXXALIAS_SYS (newlocale, locale_t,
+                  (int category_mask, const char *name, locale_t base));
+#  endif
+# endif
+# if @HAVE_NEWLOCALE@
+_GL_CXXALIASWARN (newlocale);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef newlocale
+# if HAVE_RAW_DECL_NEWLOCALE
+_GL_WARN_ON_USE (newlocale, "newlocale is not portable");
+# endif
+#endif
+
+#if @GNULIB_DUPLOCALE@ || (@GNULIB_LOCALENAME@ && @HAVE_DUPLOCALE@)
 # if @REPLACE_DUPLOCALE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef duplocale
 #   define duplocale rpl_duplocale
+#   define GNULIB_defined_duplocale 1
 #  endif
 _GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale));
@@ -211,6 +243,30 @@ _GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - "
 # endif
 #endif
 
+#if /*@GNULIB_FREELOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @HAVE_FREELOCALE@)
+# if @REPLACE_FREELOCALE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef freelocale
+#   define freelocale rpl_freelocale
+#   define GNULIB_defined_freelocale 1
+#  endif
+_GL_FUNCDECL_RPL (freelocale, void, (locale_t locale) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (freelocale, void, (locale_t locale));
+# else
+#  if @HAVE_FREELOCALE@
+_GL_CXXALIAS_SYS (freelocale, void, (locale_t locale));
+#  endif
+# endif
+# if @HAVE_FREELOCALE@
+_GL_CXXALIASWARN (freelocale);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef freelocale
+# if HAVE_RAW_DECL_FREELOCALE
+_GL_WARN_ON_USE (freelocale, "freelocale is not portable");
+# endif
+#endif
+
 #endif /* _@GUARD_PREFIX@_LOCALE_H */
-#endif /* ! _GL_ALREADY_INCLUDING_LOCALE_H */
 #endif /* _@GUARD_PREFIX@_LOCALE_H */
+#endif /* !(__need_locale_t || _GL_ALREADY_INCLUDING_LOCALE_H) */
index 014e739c613d4c7fc09d5e8191944458ed698a01..b5a965f3e033e62d6ab11e129d1c62da1bdaedb7 100644 (file)
@@ -1,5 +1,5 @@
 /* Query locale dependent information for formatting numbers.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/lib/localtime-buffer.c b/lib/localtime-buffer.c
new file mode 100644 (file)
index 0000000..b65ea45
--- /dev/null
@@ -0,0 +1,60 @@
+/* Provide access to the last buffer returned by localtime() or gmtime().
+
+   Copyright (C) 2001-2003, 2005-2007, 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, 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 */
+
+#include <config.h>
+
+/* Specification.  */
+#include "localtime-buffer.h"
+
+#if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME
+
+static struct tm tm_zero_buffer;
+struct tm *localtime_buffer_addr = &tm_zero_buffer;
+
+/* This is a wrapper for localtime.
+
+   On the first call, record the address of the static buffer that
+   localtime uses for its result.  */
+
+struct tm *
+rpl_localtime (time_t const *timep)
+#undef localtime
+{
+  struct tm *tm = localtime (timep);
+
+  if (localtime_buffer_addr == &tm_zero_buffer)
+    localtime_buffer_addr = tm;
+
+  return tm;
+}
+
+/* Same as above, since gmtime and localtime use the same buffer.  */
+struct tm *
+rpl_gmtime (time_t const *timep)
+#undef gmtime
+{
+  struct tm *tm = gmtime (timep);
+
+  if (localtime_buffer_addr == &tm_zero_buffer)
+    localtime_buffer_addr = tm;
+
+  return tm;
+}
+
+#endif
diff --git a/lib/localtime-buffer.h b/lib/localtime-buffer.h
new file mode 100644 (file)
index 0000000..031111a
--- /dev/null
@@ -0,0 +1,27 @@
+/* Provide access to the last buffer returned by localtime() or gmtime().
+
+   Copyright (C) 2001-2003, 2005-2007, 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, 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 */
+
+#include <time.h>
+
+#if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME
+
+/* The address of the last buffer returned by localtime() or gmtime().  */
+extern struct tm *localtime_buffer_addr;
+
+#endif
index fa7d1cd74cd3893e71147b34dc93013c3447027f..cbdc6a98bcc3af04b85a23cd3446e5f798238b30 100644 (file)
@@ -1,6 +1,6 @@
 /* Utility to accept --help and --version options as unobtrusively as possible.
 
-   Copyright (C) 1993-1994, 1998-2000, 2002-2006, 2009-2014 Free Software
+   Copyright (C) 1993-1994, 1998-2000, 2002-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Jim Meyering.  */
 
@@ -29,6 +29,7 @@
 #include <getopt.h>
 
 #include "version-etc.h"
+#include "exitfail.h"
 
 static struct option const long_options[] =
 {
@@ -64,13 +65,14 @@ parse_long_options (int argc,
         {
         case 'h':
           (*usage_func) (EXIT_SUCCESS);
+          break;
 
         case 'v':
           {
             va_list authors;
             va_start (authors, usage_func);
             version_etc_va (stdout, command_name, package, version, authors);
-            exit (0);
+            exit (EXIT_SUCCESS);
           }
 
         default:
@@ -86,3 +88,52 @@ parse_long_options (int argc,
      the probably-new parameters when/if getopt is called later.  */
   optind = 0;
 }
+
+/* Process the GNU default long options --help and --version (see also
+   https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html),
+   and fail for any other unknown long or short option.
+   Use with SCAN_ALL=true to scan until "--", or with SCAN_ALL=false to stop
+   at the first non-option argument (or "--", whichever comes first).  */
+void
+parse_gnu_standard_options_only (int argc,
+                                 char **argv,
+                                 const char *command_name,
+                                 const char *package,
+                                 const char *version,
+                                 bool scan_all,
+                                 void (*usage_func) (int),
+                                 /* const char *author1, ...*/ ...)
+{
+  int c;
+  int saved_opterr = opterr;
+
+  /* Print an error message for unrecognized options.  */
+  opterr = 1;
+
+  const char *optstring = scan_all ? "" : "+";
+
+  if ((c = getopt_long (argc, argv, optstring, long_options, NULL)) != -1)
+    {
+      switch (c)
+        {
+        case 'h':
+          (*usage_func) (EXIT_SUCCESS);
+          break;
+
+        case 'v':
+          {
+            va_list authors;
+            va_start (authors, usage_func);
+            version_etc_va (stdout, command_name, package, version, authors);
+            exit (EXIT_SUCCESS);
+          }
+
+        default:
+          (*usage_func) (exit_failure);
+          break;
+        }
+    }
+
+  /* Restore previous value.  */
+  opterr = saved_opterr;
+}
index a44ae2e83cf64c4a0ce26b30dbdff09112866a19..13f17eccc28693a4fc68445e13f8e3c8a22bd548 100644 (file)
@@ -1,5 +1,5 @@
 /* long-options.h -- declaration for --help- and --version-handling function.
-   Copyright (C) 1993-1994, 1998-1999, 2003, 2009-2014 Free Software
+   Copyright (C) 1993-1994, 1998-1999, 2003, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Jim Meyering.  */
 
+#ifndef LONG_OPTIONS_H_
+# define LONG_OPTIONS_H_ 1
+
+# include <stdbool.h>
+
 void parse_long_options (int _argc,
                          char **_argv,
                          const char *_command_name,
@@ -24,3 +29,14 @@ void parse_long_options (int _argc,
                          const char *_version,
                          void (*_usage) (int),
                          /* const char *author1, ...*/ ...);
+
+void parse_gnu_standard_options_only (int argc,
+                                      char **argv,
+                                      const char *command_name,
+                                      const char *package,
+                                      const char *version,
+                                      bool scan_all,
+                                      void (*usage_func) (int),
+                                      /* const char *author1, ...*/ ...);
+
+#endif /* LONG_OPTIONS_H_ */
index f19b41b154e5230302865763947dc9e8c64f0dc5..46f7a3fa4e35bbbd44bed9b77da9d551a289acc0 100644 (file)
@@ -1,5 +1,5 @@
 /* An lseek() function that detects pipes.
-   Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007, 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
    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 <http://www.gnu.org/licenses/>.  */
+   with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
 /* Specification.  */
 #include <unistd.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 /* Windows platforms.  */
 /* Get GetFileType.  */
 # include <windows.h>
 /* Get _get_osfhandle.  */
-# include "msvc-nothrow.h"
+# if GNULIB_MSVC_NOTHROW
+#  include "msvc-nothrow.h"
+# else
+#  include <io.h>
+# endif
 #else
 # include <sys/stat.h>
 #endif
@@ -35,7 +39,7 @@
 off_t
 rpl_lseek (int fd, off_t offset, int whence)
 {
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
   /* mingw lseek mistakenly succeeds on pipes, sockets, and terminals.  */
   HANDLE h = (HANDLE) _get_osfhandle (fd);
   if (h == INVALID_HANDLE_VALUE)
index f70fd435c03047f2f52e53d8900c2a4cf1b56f78..a3e40d826f08a8f1dc1e5b51153d0e62a7dc61ef 100644 (file)
@@ -1,6 +1,6 @@
 /* Work around a bug of lstat on some systems
 
-   Copyright (C) 1997-2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2006, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* written by Jim Meyering */
 
@@ -42,10 +42,16 @@ 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"
 
 # include <string.h>
 # include <errno.h>
@@ -66,32 +72,33 @@ orig_lstat (const char *filename, struct stat *buf)
 int
 rpl_lstat (const char *file, struct stat *sbuf)
 {
-  size_t len;
-  int lstat_result = orig_lstat (file, sbuf);
-
-  if (lstat_result != 0)
-    return lstat_result;
+  int result = orig_lstat (file, sbuf);
 
   /* This replacement file can blindly check against '/' rather than
      using the ISSLASH macro, because all platforms with '\\' either
      lack symlinks (mingw) or have working lstat (cygwin) and thus do
      not compile this file.  0 len should have already been filtered
      out above, with a failure return of ENOENT.  */
-  len = strlen (file);
-  if (file[len - 1] != '/' || S_ISDIR (sbuf->st_mode))
-    return 0;
-
-  /* At this point, a trailing slash is only permitted on
-     symlink-to-dir; but it should have found information on the
-     directory, not the symlink.  Call stat() to get info about the
-     link's referent.  Our replacement stat guarantees valid results,
-     even if the symlink is not pointing to a directory.  */
-  if (!S_ISLNK (sbuf->st_mode))
+  if (result == 0)
     {
-      errno = ENOTDIR;
-      return -1;
+      if (S_ISDIR (sbuf->st_mode) || file[strlen (file) - 1] != '/')
+        result = stat_time_normalize (result, sbuf);
+      else
+        {
+          /* At this point, a trailing slash is permitted only on
+             symlink-to-dir; but it should have found information on the
+             directory, not the symlink.  Call 'stat' to get info about the
+             link's referent.  Our replacement stat guarantees valid results,
+             even if the symlink is not pointing to a directory.  */
+          if (!S_ISLNK (sbuf->st_mode))
+            {
+              errno = ENOTDIR;
+              return -1;
+            }
+          result = stat (file, sbuf);
+        }
     }
-  return stat (file, sbuf);
+  return result;
 }
 
 #endif /* HAVE_LSTAT */
index bc81c54dcc67f3aa4ad04b3b7f8886402ddee35e..76e6ff764b7bbaca05904cad345651f04cece40a 100644 (file)
@@ -1,6 +1,6 @@
 /* malloc() function that is glibc compatible.
 
-   Copyright (C) 1997-1998, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2006-2007, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /* written by Jim Meyering and Bruno Haible */
 
index 370551c534cbd79e51bcb9778c9230d2bda0c421..f60c5fb5d9353a3e10dafeee9ae8a3519e9f8d65 100644 (file)
@@ -1,6 +1,6 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
-   Written by Bruno Haible <bruno@clisp.org>, 2003.
+   Copyright (C) 2003, 2006-2007, 2009-2019 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2003, 2018.
 
    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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #define _GL_USE_STDLIB_ALLOC 1
 #include <config.h>
 /* Specification.  */
 #include "malloca.h"
 
-#include <stdint.h>
-
 #include "verify.h"
 
 /* The speed critical point in this file is freea() applied to an alloca()
    result: it must be fast, to match the speed of alloca().  The speed of
    mmalloca() and freea() in the other case are not critical, because they
-   are only invoked for big memory sizes.  */
-
-#if HAVE_ALLOCA
-
-/* Store the mmalloca() results in a hash table.  This is needed to reliably
-   distinguish a mmalloca() result and an alloca() result.
-
-   Although it is possible that the same pointer is returned by alloca() and
-   by mmalloca() at different times in the same application, it does not lead
-   to a bug in freea(), because:
-     - Before a pointer returned by alloca() can point into malloc()ed memory,
-       the function must return, and once this has happened the programmer must
-       not call freea() on it anyway.
-     - Before a pointer returned by mmalloca() can point into the stack, it
-       must be freed.  The only function that can free it is freea(), and
-       when freea() frees it, it also removes it from the hash table.  */
-
-#define MAGIC_NUMBER 0x1415fb4a
-#define MAGIC_SIZE sizeof (int)
-/* This is how the header info would look like without any alignment
-   considerations.  */
-struct preliminary_header { void *next; int magic; };
-/* But the header's size must be a multiple of sa_alignment_max.  */
-#define HEADER_SIZE \
-  (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max)
-union header {
-  void *next;
-  struct {
-    char room[HEADER_SIZE - MAGIC_SIZE];
-    int word;
-  } magic;
-};
-verify (HEADER_SIZE == sizeof (union header));
-/* We make the hash table quite big, so that during lookups the probability
-   of empty hash buckets is quite high.  There is no need to make the hash
-   table resizable, because when the hash table gets filled so much that the
-   lookup becomes slow, it means that the application has memory leaks.  */
-#define HASH_TABLE_SIZE 257
-static void * mmalloca_results[HASH_TABLE_SIZE];
-
-#endif
+   are only invoked for big memory sizes.
+   Here we use a bit in the address as an indicator, an idea by Ondřej Bílka.
+   malloca() can return three types of pointers:
+     - Pointers ≡ 0 mod 2*sa_alignment_max come from stack allocation.
+     - Pointers ≡ sa_alignment_max mod 2*sa_alignment_max come from heap
+       allocation.
+     - NULL comes from a failed heap allocation.  */
+
+/* Type for holding very small pointer differences.  */
+typedef unsigned char small_t;
+/* Verify that it is wide enough.  */
+verify (2 * sa_alignment_max - 1 <= (small_t) -1);
 
 void *
 mmalloca (size_t n)
 {
 #if HAVE_ALLOCA
-  /* Allocate one more word, that serves as an indicator for malloc()ed
-     memory, so that freea() of an alloca() result is fast.  */
-  size_t nplus = n + HEADER_SIZE;
+  /* Allocate one more word, used to determine the address to pass to freea(),
+     and room for the alignment ≡ sa_alignment_max mod 2*sa_alignment_max.  */
+  size_t nplus = n + sizeof (small_t) + 2 * sa_alignment_max - 1;
 
   if (nplus >= n)
     {
-      void *p = malloc (nplus);
+      char *mem = (char *) malloc (nplus);
 
-      if (p != NULL)
+      if (mem != NULL)
         {
-          size_t slot;
-          union header *h = p;
-
-          p = h + 1;
-
-          /* Put a magic number into the indicator word.  */
-          h->magic.word = MAGIC_NUMBER;
-
-          /* Enter p into the hash table.  */
-          slot = (uintptr_t) p % HASH_TABLE_SIZE;
-          h->next = mmalloca_results[slot];
-          mmalloca_results[slot] = p;
-
+          char *p =
+            (char *)((((uintptr_t)mem + sizeof (small_t) + sa_alignment_max - 1)
+                      & ~(uintptr_t)(2 * sa_alignment_max - 1))
+                     + sa_alignment_max);
+          /* Here p >= mem + sizeof (small_t),
+             and p <= mem + sizeof (small_t) + 2 * sa_alignment_max - 1
+             hence p + n <= mem + nplus.
+             So, the memory range [p, p+n) lies in the allocated memory range
+             [mem, mem + nplus).  */
+          ((small_t *) p)[-1] = p - mem;
+          /* p ≡ sa_alignment_max mod 2*sa_alignment_max.  */
           return p;
         }
     }
@@ -115,35 +82,24 @@ mmalloca (size_t n)
 void
 freea (void *p)
 {
-  /* mmalloca() may have returned NULL.  */
-  if (p != NULL)
+  /* Check argument.  */
+  if ((uintptr_t) p & (sa_alignment_max - 1))
     {
-      /* Attempt to quickly distinguish the mmalloca() result - which has
-         a magic indicator word - and the alloca() result - which has an
-         uninitialized indicator word.  It is for this test that sa_increment
-         additional bytes are allocated in the alloca() case.  */
-      if (((int *) p)[-1] == MAGIC_NUMBER)
-        {
-          /* Looks like a mmalloca() result.  To see whether it really is one,
-             perform a lookup in the hash table.  */
-          size_t slot = (uintptr_t) p % HASH_TABLE_SIZE;
-          void **chain = &mmalloca_results[slot];
-          for (; *chain != NULL;)
-            {
-              union header *h = p;
-              if (*chain == p)
-                {
-                  /* Found it.  Remove it from the hash table and free it.  */
-                  union header *p_begin = h - 1;
-                  *chain = p_begin->next;
-                  free (p_begin);
-                  return;
-                }
-              h = *chain;
-              chain = &h[-1].next;
-            }
-        }
-      /* At this point, we know it was not a mmalloca() result.  */
+      /* p was not the result of a malloca() call.  Invalid argument.  */
+      abort ();
+    }
+  /* Determine whether p was a non-NULL pointer returned by mmalloca().  */
+  if ((uintptr_t) p & sa_alignment_max)
+    {
+      void *mem = (char *) p - ((small_t *) p)[-1];
+      free (mem);
     }
 }
 #endif
+
+/*
+ * Hey Emacs!
+ * Local Variables:
+ * coding: utf-8
+ * End:
+ */
index 5071e46f9ee1cc79f160620eb8c794a5716bbc17..d80c316caa9434238801b61f20d905cad3300fdb 100644 (file)
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003.
 
    This program is free software; you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _MALLOCA_H
 #define _MALLOCA_H
@@ -21,6 +21,9 @@
 #include <alloca.h>
 #include <stddef.h>
 #include <stdlib.h>
+#include <stdint.h>
+
+#include "xalloc-oversized.h"
 
 
 #ifdef __cplusplus
@@ -53,8 +56,10 @@ extern "C" {
    the function returns.  Upon failure, it returns NULL.  */
 #if HAVE_ALLOCA
 # define malloca(N) \
-  ((N) < 4032 - sa_increment                                        \
-   ? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \
+  ((N) < 4032 - (2 * sa_alignment_max - 1)                                   \
+   ? (void *) (((uintptr_t) (char *) alloca ((N) + 2 * sa_alignment_max - 1) \
+                + (2 * sa_alignment_max - 1))                                \
+               & ~(uintptr_t)(2 * sa_alignment_max - 1))                     \
    : mmalloca (N))
 #else
 # define malloca(N) \
@@ -73,15 +78,7 @@ extern void freea (void *p);
    It allocates an array of N objects, each with S bytes of memory,
    on the stack.  S must be positive and N must be nonnegative.
    The array must be freed using freea() before the function returns.  */
-#if 1
-/* Cf. the definition of xalloc_oversized.  */
-# define nmalloca(n, s) \
-    ((n) > (size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) \
-     ? NULL \
-     : malloca ((n) * (s)))
-#else
-extern void * nmalloca (size_t n, size_t s);
-#endif
+#define nmalloca(n, s) (xalloc_oversized (n, s) ? NULL : malloca ((n) * (s)))
 
 
 #ifdef __cplusplus
@@ -124,10 +121,7 @@ enum
                       | (sa_alignment_longlong - 1)
 #endif
                       | (sa_alignment_longdouble - 1)
-                     ) + 1,
-/* The increment that guarantees room for a magic word must be >= sizeof (int)
-   and a multiple of sa_alignment_max.  */
-  sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max
+                     ) + 1
 };
 
 #endif /* _MALLOCA_H */
diff --git a/lib/malloca.valgrind b/lib/malloca.valgrind
deleted file mode 100644 (file)
index 52f0a50..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# Suppress a valgrind message about use of uninitialized memory in freea().
-# This use is OK because it provides only a speedup.
-{
-    freea
-    Memcheck:Cond
-    fun:freea
-}
index 5743f437f6a2585670d078f51689f442f6344e9b..1aad22cd5a5a9f9201dcf29ef75d8c4212f2eeff 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert multibyte character to wide character.
-   Copyright (C) 1999-2002, 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2005-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
 /* Specification.  */
 #include <wchar.h>
 
+#if C_LOCALE_MAYBE_EILSEQ
+# include "hard-locale.h"
+# include <locale.h>
+#endif
+
 #if GNULIB_defined_mbstate_t
 /* Implement mbrtowc() on top of mbtowc().  */
 
 # include "localcharset.h"
 # include "streq.h"
 # include "verify.h"
+# include "glthread/lock.h"
+
+# ifndef FALLTHROUGH
+#  if __GNUC__ < 7
+#   define FALLTHROUGH ((void) 0)
+#  else
+#   define FALLTHROUGH __attribute__ ((__fallthrough__))
+#  endif
+# endif
 
+/* Returns a classification of special values of the encoding of the current
+   locale.  */
+typedef enum {
+  enc_other,      /* other */
+  enc_utf8,       /* UTF-8 */
+  enc_eucjp,      /* EUC-JP */
+  enc_94,         /* EUC-KR, GB2312, BIG5 */
+  enc_euctw,      /* EUC-TW */
+  enc_gb18030,    /* GB18030 */
+  enc_sjis        /* SJIS */
+} enc_t;
+static inline enc_t
+locale_enc (void)
+{
+  const char *encoding = locale_charset ();
+  if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
+    return enc_utf8;
+  if (STREQ_OPT (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0))
+    return enc_eucjp;
+  if (STREQ_OPT (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
+      || STREQ_OPT (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0)
+      || STREQ_OPT (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0))
+    return enc_94;
+  if (STREQ_OPT (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0))
+    return enc_euctw;
+  if (STREQ_OPT (encoding, "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0))
+    return enc_gb18030;
+  if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0))
+    return enc_sjis;
+  return enc_other;
+}
+
+# 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;
+static inline enc_t
+locale_enc_cached (void)
+{
+  if (cached_locale_enc < 0)
+    cached_locale_enc = locale_enc ();
+  return cached_locale_enc;
+}
+# else
+/* By default, don't make assumptions, hence no caching.  */
+#  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);
 
@@ -60,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)
       {
@@ -69,10 +136,10 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
         break;
       case 3:
         buf[2] = pstate[3];
-        /*FALLTHROUGH*/
+        FALLTHROUGH;
       case 2:
         buf[1] = pstate[2];
-        /*FALLTHROUGH*/
+        FALLTHROUGH;
       case 1:
         buf[0] = pstate[1];
         p = buf;
@@ -92,231 +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 <http://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;
-        }
-
-      /* 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.  */
+    if (enc == enc_utf8) /* UTF-8 */
       {
-        const char *encoding = locale_charset ();
+        /* Achieve multi-thread safety by not calling mbtowc() at all.  */
+        /* Cf. unistr/u8-mbtouc.c.  */
+        unsigned char c = (unsigned char) p[0];
 
-        if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
+        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.  */
-
-        if (STREQ_OPT (encoding,
-                       "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0))
+        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;
-          }
-        if (STREQ_OPT (encoding,
-                       "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
-            || STREQ_OPT (encoding,
-                          "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0)
-            || STREQ_OPT (encoding,
-                          "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0))
-          {
-            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;
-          }
-        if (STREQ_OPT (encoding,
-                       "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0))
-          {
-            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;
-          }
-        if (STREQ_OPT (encoding,
-                       "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0))
-          {
-            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;
           }
-        if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0))
-          {
-            if (m == 1)
-              {
-                unsigned char c = (unsigned char) p[0];
+        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);
 
-                if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xea)
-                    || (c >= 0xf0 && c <= 0xf9))
-                  goto incomplete;
-              }
-            goto invalid;
-          }
+        /* 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);
 
-        /* An unknown multibyte encoding.  */
-        goto incomplete;
-      }
+        res = mbtowc (pwc, p, m);
 
-     incomplete:
-      {
-        size_t k = nstate;
-        /* Here 0 <= k < m < 4.  */
-        pstate[++k] = s[0];
-        if (k < m)
+        gl_lock_unlock (mbtowc_lock);
+
+        if (res >= 0)
           {
-            pstate[++k] = s[1];
-            if (k < m)
-              pstate[++k] = s[2];
+            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)
+          {
+          /* 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);
   }
 }
 
@@ -328,6 +460,9 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
 size_t
 rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
 {
+  size_t ret;
+  wchar_t wc;
+
 # if MBRTOWC_NULL_ARG2_BUG || MBRTOWC_RETVAL_BUG || MBRTOWC_EMPTY_INPUT_BUG
   if (s == NULL)
     {
@@ -342,6 +477,9 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
     return (size_t) -2;
 # endif
 
+  if (! pwc)
+    pwc = &wc;
+
 # if MBRTOWC_RETVAL_BUG
   {
     static mbstate_t internal_state;
@@ -357,8 +495,7 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
         size_t count = 0;
         for (; n > 0; s++, n--)
           {
-            wchar_t wc;
-            size_t ret = mbrtowc (&wc, s, 1, ps);
+            ret = mbrtowc (&wc, s, 1, ps);
 
             if (ret == (size_t)(-1))
               return (size_t)(-1);
@@ -366,8 +503,7 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
             if (ret != (size_t)(-2))
               {
                 /* The multibyte character has been completed.  */
-                if (pwc != NULL)
-                  *pwc = wc;
+                *pwc = wc;
                 return (wc == 0 ? 0 : count);
               }
           }
@@ -376,32 +512,23 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
   }
 # endif
 
-# if MBRTOWC_NUL_RETVAL_BUG
-  {
-    wchar_t wc;
-    size_t ret = mbrtowc (&wc, s, n, ps);
-
-    if (ret != (size_t)(-1) && ret != (size_t)(-2))
-      {
-        if (pwc != NULL)
-          *pwc = wc;
-        if (wc == 0)
-          ret = 0;
-      }
-    return ret;
-  }
-# else
-  {
-#   if MBRTOWC_NULL_ARG1_BUG
-    wchar_t dummy;
+  ret = mbrtowc (pwc, s, n, ps);
 
-    if (pwc == NULL)
-      pwc = &dummy;
-#   endif
+# if MBRTOWC_NUL_RETVAL_BUG
+  if (ret < (size_t) -2 && !*pwc)
+    return 0;
+# endif
 
-    return mbrtowc (pwc, s, n, ps);
-  }
+# if C_LOCALE_MAYBE_EILSEQ
+  if ((size_t) -2 <= ret && n != 0 && ! hard_locale (LC_CTYPE))
+    {
+      unsigned char uc = *s;
+      *pwc = uc;
+      return 1;
+    }
 # endif
+
+  return ret;
 }
 
 #endif
index df4bcd182ac98961845bf6bd2acd6f25d1f699e3..5ecaef77c72cbcb3b0cbc3774c96d3935d1bb370 100644 (file)
@@ -1,5 +1,5 @@
 /* Test for initial conversion state.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
 
 #include "verify.h"
 
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-
-/* On native Windows, 'mbstate_t' is defined as 'int'.  */
-
-int
-mbsinit (const mbstate_t *ps)
-{
-  return ps == NULL || *ps == 0;
-}
-
-#else
+#if GNULIB_defined_mbstate_t
 
 /* Platforms that lack mbsinit() also lack mbrlen(), mbrtowc(), mbsrtowcs()
    and wcrtomb(), wcsrtombs().
@@ -45,6 +35,7 @@ mbsinit (const mbstate_t *ps)
    We define the meaning of mbstate_t as follows:
      - In mb -> wc direction, mbstate_t's first byte contains the number of
        buffered bytes (in the range 0..3), followed by up to 3 buffered bytes.
+       See mbrtowc.c.
      - In wc -> mb direction, mbstate_t contains no information. In other
        words, it is always in the initial state.  */
 
@@ -58,4 +49,25 @@ mbsinit (const mbstate_t *ps)
   return pstate == NULL || pstate[0] == 0;
 }
 
+#else
+
+int
+mbsinit (const mbstate_t *ps)
+{
+# if defined _WIN32 && !defined __CYGWIN__
+  /* Native Windows.  */
+#  ifdef __MINGW32__
+  /* On mingw, 'mbstate_t' is defined as 'int'.  */
+  return ps == NULL || *ps == 0;
+#  else
+  /* MSVC defines 'mbstate_t' as an 8-byte struct; the first 4-bytes matter.  */
+  return ps == NULL || *(const unsigned int *)ps == 0;
+#  endif
+# else
+  /* Minix, HP-UX 11.00, Solaris 2.6, Interix, ...  */
+  /* Maybe this definition works, maybe not...  */
+  return ps == NULL || *(const char *)ps == 0;
+# endif
+}
+
 #endif
index 3cc70b0e2d7a22faf45a642039a239e9f0225ec4..f4ab98181ff1b1bd8118ef9207eac1257165808d 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert multibyte character to wide character.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* We don't need a static internal state, because the encoding is not state
    dependent, and when mbrtowc returns (size_t)(-2). we throw the result
index 93a7445440fe14836e03ee510787852d4ffcda22..77a847241ea0553fccdbb5589ad1c9a7665eb703 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert multibyte character to wide character.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/lib/minmax.h b/lib/minmax.h
new file mode 100644 (file)
index 0000000..d7f6bea
--- /dev/null
@@ -0,0 +1,60 @@
+/* MIN, MAX macros.
+   Copyright (C) 1995, 1998, 2001, 2003, 2005, 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, 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 _MINMAX_H
+#define _MINMAX_H
+
+/* Note: MIN, MAX are also defined in <sys/param.h> on some systems
+   (glibc, IRIX, HP-UX, OSF/1).  Therefore you might get warnings about
+   MIN, MAX macro redefinitions on some systems; the workaround is to
+   #include this file as the last one among the #include list.  */
+
+/* Before we define the following symbols we get the <limits.h> file
+   since otherwise we get redefinitions on some systems if <limits.h> is
+   included after this file.  Likewise for <sys/param.h>.
+   If more than one of these system headers define MIN and MAX, pick just
+   one of the headers (because the definitions most likely are the same).  */
+#if HAVE_MINMAX_IN_LIMITS_H
+# include <limits.h>
+#elif HAVE_MINMAX_IN_SYS_PARAM_H
+# include <sys/param.h>
+#endif
+
+/* Note: MIN and MAX should be used with two arguments of the
+   same type.  They might not return the minimum and maximum of their two
+   arguments, if the arguments have different types or have unusual
+   floating-point values.  For example, on a typical host with 32-bit 'int',
+   64-bit 'long long', and 64-bit IEEE 754 'double' types:
+
+     MAX (-1, 2147483648) returns 4294967295.
+     MAX (9007199254740992.0, 9007199254740993) returns 9007199254740992.0.
+     MAX (NaN, 0.0) returns 0.0.
+     MAX (+0.0, -0.0) returns -0.0.
+
+   and in each case the answer is in some sense bogus.  */
+
+/* MAX(a,b) returns the maximum of A and B.  */
+#ifndef MAX
+# define MAX(a,b) ((a) > (b) ? (a) : (b))
+#endif
+
+/* MIN(a,b) returns the minimum of A and B.  */
+#ifndef MIN
+# define MIN(a,b) ((a) < (b) ? (a) : (b))
+#endif
+
+#endif /* _MINMAX_H */
diff --git a/lib/mkdir.c b/lib/mkdir.c
new file mode 100644 (file)
index 0000000..b8320d0
--- /dev/null
@@ -0,0 +1,93 @@
+/* On some systems, mkdir ("foo/", 0700) fails because of the trailing
+   slash.  On those systems, this wrapper removes the trailing slash.
+
+   Copyright (C) 2001, 2003, 2006, 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 */
+
+#include <config.h>
+
+/* Specification.  */
+#include <sys/stat.h>
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "dirname.h"
+
+/* Disable the definition of mkdir to rpl_mkdir (from the <sys/stat.h>
+   substitute) in this file.  Otherwise, we'd get an endless recursion.  */
+#undef mkdir
+
+/* mingw's _mkdir() function has 1 argument, but we pass 2 arguments.
+   Additionally, it declares _mkdir (and depending on compile flags, an
+   alias mkdir), only in the nonstandard includes <direct.h> and <io.h>,
+   which are included in the <sys/stat.h> override.  */
+#if defined _WIN32 && ! defined __CYGWIN__
+# define mkdir(name,mode) _mkdir (name)
+# define maybe_unused _GL_UNUSED
+#else
+# define maybe_unused /* empty */
+#endif
+
+/* This function is required at least for NetBSD 1.5.2.  */
+
+int
+rpl_mkdir (char const *dir, mode_t mode maybe_unused)
+{
+  int ret_val;
+  char *tmp_dir;
+  size_t len = strlen (dir);
+
+  if (len && dir[len - 1] == '/')
+    {
+      tmp_dir = strdup (dir);
+      if (!tmp_dir)
+        {
+          /* Rather than rely on strdup-posix, we set errno ourselves.  */
+          errno = ENOMEM;
+          return -1;
+        }
+      strip_trailing_slashes (tmp_dir);
+    }
+  else
+    {
+      tmp_dir = (char *) dir;
+    }
+#if FUNC_MKDIR_DOT_BUG
+  /* Additionally, cygwin 1.5 mistakenly creates a directory "d/./".  */
+  {
+    char *last = last_component (tmp_dir);
+    if (*last == '.' && (last[1] == '\0'
+                         || (last[1] == '.' && last[2] == '\0')))
+      {
+        struct stat st;
+        if (stat (tmp_dir, &st) == 0)
+          errno = EEXIST;
+        return -1;
+      }
+  }
+#endif /* FUNC_MKDIR_DOT_BUG */
+
+  ret_val = mkdir (tmp_dir, mode);
+
+  if (tmp_dir != dir)
+    free (tmp_dir);
+
+  return ret_val;
+}
index ce9c6db8b4c8de2ff5cf691465c9f7a9991b3a84..7ef0420cabc55680e86ae3474e5db37cbe73050c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2014 Free Software
+/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2019 Free Software
    Foundation, Inc.
    This file is derived from the one in the GNU C Library.
 
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #if !_LIBC
 # include <config.h>
index f83827fb4d92ccb5bd61214f5dccafc626d6e7fc..75b5a070ab5962b2c9e8749ca1f55dd22c8f0fa3 100644 (file)
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index a0ef540fc50f2a6112877788be622fe15b2665a5..9d3aa1f7a15ab156ddf47b0817ac29eff45be33f 100644 (file)
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _MSVC_INVAL_H
 #define _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
-   <http://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
-   <http://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
index b1e5f0c97f4c6103a0a118414ed10c45538fc868..49b709ca4aa03e6c53dd1f9db58b3afa5b1a9274 100644 (file)
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -24,7 +24,9 @@
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
-#include "msvc-inval.h"
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
 
 #undef _get_osfhandle
 
index 0d4dea584b83582762b83f7bc771995db953c0ec..8d3ca7892e89d24016636bf1c8ffdf8d8ae2349b 100644 (file)
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _MSVC_NOTHROW_H
 #define _MSVC_NOTHROW_H
@@ -25,7 +25,7 @@
    This file defines wrappers that turn such an invalid parameter notification
    into an error code.  */
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 /* Get original declaration of _get_osfhandle.  */
 # include <io.h>
index 287abfd0362b7b65b4640e48dab67b097155d8cc..76579a8ad40016505798c54680d84ce420f1dfb0 100644 (file)
@@ -1,6 +1,6 @@
 /* nl_langinfo() replacement: query locale dependent information.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-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
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
 /* Specification.  */
 #include <langinfo.h>
 
+#include <locale.h>
+#include <string.h>
+#if defined _WIN32 && ! defined __CYGWIN__
+# define WIN32_LEAN_AND_MEAN  /* avoid including junk */
+# include <windows.h>
+# include <stdio.h>
+#endif
+
+#if !REPLACE_NL_LANGINFO || GNULIB_defined_CODESET
+/* Return the codeset of the current locale, if this is easily deducible.
+   Otherwise, return "".  */
+static char *
+ctype_codeset (void)
+{
+  static char buf[2 + 10 + 1];
+  char const *locale = setlocale (LC_CTYPE, NULL);
+  char *codeset = buf;
+  size_t codesetlen;
+  codeset[0] = '\0';
+
+  if (locale && locale[0])
+    {
+      /* If the locale name contains an encoding after the dot, return it.  */
+      char *dot = strchr (locale, '.');
+
+      if (dot)
+        {
+          /* Look for the possible @... trailer and remove it, if any.  */
+          char *codeset_start = dot + 1;
+          char const *modifier = strchr (codeset_start, '@');
+
+          if (! modifier)
+            codeset = codeset_start;
+          else
+            {
+              codesetlen = modifier - codeset_start;
+              if (codesetlen < sizeof buf)
+                {
+                  codeset = memcpy (buf, codeset_start, codesetlen);
+                  codeset[codesetlen] = '\0';
+                }
+            }
+        }
+    }
+
+# if defined _WIN32 && ! defined __CYGWIN__
+  /* If setlocale is successful, it returns the number of the
+     codepage, as a string.  Otherwise, fall back on Windows API
+     GetACP, which returns the locale's codepage as a number (although
+     this doesn't change according to what the 'setlocale' call specified).
+     Either way, prepend "CP" to make it a valid codeset name.  */
+  codesetlen = strlen (codeset);
+  if (0 < codesetlen && codesetlen < sizeof buf - 2)
+    memmove (buf + 2, codeset, codesetlen + 1);
+  else
+    sprintf (buf + 2, "%u", GetACP ());
+  /* 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
+
+
 #if REPLACE_NL_LANGINFO
 
 /* Override nl_langinfo with support for added nl_item values.  */
 
-# include <locale.h>
-# include <string.h>
-
 # undef nl_langinfo
 
 char *
@@ -36,47 +102,36 @@ rpl_nl_langinfo (nl_item item)
     {
 # if GNULIB_defined_CODESET
     case CODESET:
-      {
-        const char *locale;
-        static char buf[2 + 10 + 1];
-
-        locale = setlocale (LC_CTYPE, NULL);
-        if (locale != NULL && locale[0] != '\0')
-          {
-            /* If the locale name contains an encoding after the dot, return
-               it.  */
-            const char *dot = strchr (locale, '.');
-
-            if (dot != NULL)
-              {
-                const char *modifier;
-
-                dot++;
-                /* Look for the possible @... trailer and remove it, if any.  */
-                modifier = strchr (dot, '@');
-                if (modifier == NULL)
-                  return dot;
-                if (modifier - dot < sizeof (buf))
-                  {
-                    memcpy (buf, dot, modifier - dot);
-                    buf [modifier - dot] = '\0';
-                    return buf;
-                  }
-              }
-          }
-        return "";
-      }
+      return ctype_codeset ();
 # endif
 # if GNULIB_defined_T_FMT_AMPM
     case T_FMT_AMPM:
-      return "%I:%M:%S %p";
+      return (char *) "%I:%M:%S %p";
+# endif
+# if GNULIB_defined_ALTMON
+    case ALTMON_1:
+    case ALTMON_2:
+    case ALTMON_3:
+    case ALTMON_4:
+    case ALTMON_5:
+    case ALTMON_6:
+    case ALTMON_7:
+    case ALTMON_8:
+    case ALTMON_9:
+    case ALTMON_10:
+    case ALTMON_11:
+    case ALTMON_12:
+      /* We don't ship the appropriate localizations with gnulib.  Therefore,
+         treat ALTMON_i like MON_i.  */
+      item = item - ALTMON_1 + MON_1;
+      break;
 # endif
 # if GNULIB_defined_ERA
     case ERA:
       /* The format is not standardized.  In glibc it is a sequence of strings
          of the form "direction:offset:start_date:end_date:era_name:era_format"
          with an empty string at the end.  */
-      return "";
+      return (char *) "";
     case ERA_D_FMT:
       /* The %Ex conversion in strftime behaves like %x if the locale does not
          have an alternative time format.  */
@@ -95,13 +150,13 @@ rpl_nl_langinfo (nl_item item)
     case ALT_DIGITS:
       /* The format is not standardized.  In glibc it is a sequence of 10
          strings, appended in memory.  */
-      return "\0\0\0\0\0\0\0\0\0\0";
+      return (char *) "\0\0\0\0\0\0\0\0\0\0";
 # endif
 # if GNULIB_defined_YESEXPR || !FUNC_NL_LANGINFO_YESEXPR_WORKS
     case YESEXPR:
-      return "^[yY]";
+      return (char *) "^[yY]";
     case NOEXPR:
-      return "^[nN]";
+      return (char *) "^[nN]";
 # endif
     default:
       break;
@@ -111,160 +166,206 @@ rpl_nl_langinfo (nl_item item)
 
 #else
 
-/* Provide nl_langinfo from scratch.  */
+/* Provide nl_langinfo from scratch, either for native MS-Windows, or
+   for old Unix platforms without locales, such as Linux libc5 or
+   BeOS.  */
 
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-
-/* Native Windows platforms.  */
-
-#  define WIN32_LEAN_AND_MEAN  /* avoid including junk */
-#  include <windows.h>
-
-#  include <stdio.h>
-
-# else
-
-/* An old Unix platform without locales, such as Linux libc5 or BeOS.  */
-
-# endif
-
-# include <locale.h>
+# include <time.h>
 
 char *
 nl_langinfo (nl_item item)
 {
+  static char nlbuf[100];
+  struct tm tmm = { 0 };
+
   switch (item)
     {
     /* nl_langinfo items of the LC_CTYPE category */
     case CODESET:
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
       {
-        static char buf[2 + 10 + 1];
-
-        /* The Windows API has a function returning the locale's codepage as
-           a number.  */
-        sprintf (buf, "CP%u", GetACP ());
-        return buf;
+        char *codeset = ctype_codeset ();
+        if (*codeset)
+          return codeset;
       }
-# elif defined __BEOS__
-      return "UTF-8";
+# ifdef __BEOS__
+      return (char *) "UTF-8";
 # else
-      return "ISO-8859-1";
+      return (char *) "ISO-8859-1";
 # endif
     /* nl_langinfo items of the LC_NUMERIC category */
     case RADIXCHAR:
       return localeconv () ->decimal_point;
     case THOUSEP:
       return localeconv () ->thousands_sep;
+# ifdef GROUPING
+    case GROUPING:
+      return localeconv () ->grouping;
+# endif
     /* nl_langinfo items of the LC_TIME category.
        TODO: Really use the locale.  */
     case D_T_FMT:
     case ERA_D_T_FMT:
-      return "%a %b %e %H:%M:%S %Y";
+      return (char *) "%a %b %e %H:%M:%S %Y";
     case D_FMT:
     case ERA_D_FMT:
-      return "%m/%d/%y";
+      return (char *) "%m/%d/%y";
     case T_FMT:
     case ERA_T_FMT:
-      return "%H:%M:%S";
+      return (char *) "%H:%M:%S";
     case T_FMT_AMPM:
-      return "%I:%M:%S %p";
+      return (char *) "%I:%M:%S %p";
     case AM_STR:
-      return "AM";
+      if (!strftime (nlbuf, sizeof nlbuf, "%p", &tmm))
+        return (char *) "AM";
+      return nlbuf;
     case PM_STR:
-      return "PM";
+      tmm.tm_hour = 12;
+      if (!strftime (nlbuf, sizeof nlbuf, "%p", &tmm))
+        return (char *) "PM";
+      return nlbuf;
     case DAY_1:
-      return "Sunday";
     case DAY_2:
-      return "Monday";
     case DAY_3:
-      return "Tuesday";
     case DAY_4:
-      return "Wednesday";
     case DAY_5:
-      return "Thursday";
     case DAY_6:
-      return "Friday";
     case DAY_7:
-      return "Saturday";
+      {
+        static char const days[][sizeof "Wednesday"] = {
+          "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
+          "Friday", "Saturday"
+        };
+        tmm.tm_wday = item - DAY_1;
+        if (!strftime (nlbuf, sizeof nlbuf, "%A", &tmm))
+          return (char *) days[item - DAY_1];
+        return nlbuf;
+      }
     case ABDAY_1:
-      return "Sun";
     case ABDAY_2:
-      return "Mon";
     case ABDAY_3:
-      return "Tue";
     case ABDAY_4:
-      return "Wed";
     case ABDAY_5:
-      return "Thu";
     case ABDAY_6:
-      return "Fri";
     case ABDAY_7:
-      return "Sat";
-    case MON_1:
-      return "January";
-    case MON_2:
-      return "February";
-    case MON_3:
-      return "March";
-    case MON_4:
-      return "April";
-    case MON_5:
-      return "May";
-    case MON_6:
-      return "June";
-    case MON_7:
-      return "July";
-    case MON_8:
-      return "August";
-    case MON_9:
-      return "September";
-    case MON_10:
-      return "October";
-    case MON_11:
-      return "November";
-    case MON_12:
-      return "December";
+      {
+        static char const abdays[][sizeof "Sun"] = {
+          "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+        };
+        tmm.tm_wday = item - ABDAY_1;
+        if (!strftime (nlbuf, sizeof nlbuf, "%a", &tmm))
+          return (char *) abdays[item - ABDAY_1];
+        return nlbuf;
+      }
+    {
+      static char const months[][sizeof "September"] = {
+        "January", "February", "March", "April", "May", "June", "July",
+        "September", "October", "November", "December"
+      };
+      case MON_1:
+      case MON_2:
+      case MON_3:
+      case MON_4:
+      case MON_5:
+      case MON_6:
+      case MON_7:
+      case MON_8:
+      case MON_9:
+      case MON_10:
+      case MON_11:
+      case MON_12:
+        tmm.tm_mon = item - MON_1;
+        if (!strftime (nlbuf, sizeof nlbuf, "%B", &tmm))
+          return (char *) months[item - MON_1];
+        return nlbuf;
+      case ALTMON_1:
+      case ALTMON_2:
+      case ALTMON_3:
+      case ALTMON_4:
+      case ALTMON_5:
+      case ALTMON_6:
+      case ALTMON_7:
+      case ALTMON_8:
+      case ALTMON_9:
+      case ALTMON_10:
+      case ALTMON_11:
+      case ALTMON_12:
+        tmm.tm_mon = item - ALTMON_1;
+        /* The platforms without nl_langinfo() don't support strftime with %OB.
+           We don't even need to try.  */
+        #if 0
+        if (!strftime (nlbuf, sizeof nlbuf, "%OB", &tmm))
+        #endif
+          if (!strftime (nlbuf, sizeof nlbuf, "%B", &tmm))
+            return (char *) months[item - ALTMON_1];
+        return nlbuf;
+    }
     case ABMON_1:
-      return "Jan";
     case ABMON_2:
-      return "Feb";
     case ABMON_3:
-      return "Mar";
     case ABMON_4:
-      return "Apr";
     case ABMON_5:
-      return "May";
     case ABMON_6:
-      return "Jun";
     case ABMON_7:
-      return "Jul";
     case ABMON_8:
-      return "Aug";
     case ABMON_9:
-      return "Sep";
     case ABMON_10:
-      return "Oct";
     case ABMON_11:
-      return "Nov";
     case ABMON_12:
-      return "Dec";
+      {
+        static char const abmonths[][sizeof "Jan"] = {
+          "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
+          "Sep", "Oct", "Nov", "Dec"
+        };
+        tmm.tm_mon = item - ABMON_1;
+        if (!strftime (nlbuf, sizeof nlbuf, "%b", &tmm))
+          return (char *) abmonths[item - ABMON_1];
+        return nlbuf;
+      }
     case ERA:
-      return "";
+      return (char *) "";
     case ALT_DIGITS:
-      return "\0\0\0\0\0\0\0\0\0\0";
-    /* nl_langinfo items of the LC_MONETARY category
-       TODO: Really use the locale. */
+      return (char *) "\0\0\0\0\0\0\0\0\0\0";
+    /* nl_langinfo items of the LC_MONETARY category.  */
     case CRNCYSTR:
-      return "-";
+      return localeconv () ->currency_symbol;
+# ifdef INT_CURR_SYMBOL
+    case INT_CURR_SYMBOL:
+      return localeconv () ->int_curr_symbol;
+    case MON_DECIMAL_POINT:
+      return localeconv () ->mon_decimal_point;
+    case MON_THOUSANDS_SEP:
+      return localeconv () ->mon_thousands_sep;
+    case MON_GROUPING:
+      return localeconv () ->mon_grouping;
+    case POSITIVE_SIGN:
+      return localeconv () ->positive_sign;
+    case NEGATIVE_SIGN:
+      return localeconv () ->negative_sign;
+    case FRAC_DIGITS:
+      return & localeconv () ->frac_digits;
+    case INT_FRAC_DIGITS:
+      return & localeconv () ->int_frac_digits;
+    case P_CS_PRECEDES:
+      return & localeconv () ->p_cs_precedes;
+    case N_CS_PRECEDES:
+      return & localeconv () ->n_cs_precedes;
+    case P_SEP_BY_SPACE:
+      return & localeconv () ->p_sep_by_space;
+    case N_SEP_BY_SPACE:
+      return & localeconv () ->n_sep_by_space;
+    case P_SIGN_POSN:
+      return & localeconv () ->p_sign_posn;
+    case N_SIGN_POSN:
+      return & localeconv () ->n_sign_posn;
+# endif
     /* nl_langinfo items of the LC_MESSAGES category
        TODO: Really use the locale. */
     case YESEXPR:
-      return "^[yY]";
+      return (char *) "^[yY]";
     case NOEXPR:
-      return "^[nN]";
+      return (char *) "^[nN]";
     default:
-      return "";
+      return (char *) "";
     }
 }
 
index 33fc3553d7563f4529fff97ece10d96c84a66546..9463a1fb2c6d6fe9fbc7a688f9c41f5565399bdb 100644 (file)
@@ -1,5 +1,5 @@
 /* Define PATH_MAX somehow.  Requires sys/types.h.
-   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2014 Free Software
+   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _PATHMAX_H
 # define _PATHMAX_H
 #  define PATH_MAX 1024
 # endif
 
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 /* The page "Naming Files, Paths, and Namespaces" on msdn.microsoft.com,
    section "Maximum Path Length Limitation",
-   <http://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).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
index 2919be999a9e85f6627dcb54de62d1c1f335d12f..a42b7fa2f7003c13ef1434c308d2492a6af874a6 100644 (file)
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 
 #include <config.h>
index fa15871df55872f32042606e41d58b608591d858..c726e97e905e54535d7c63ebd15d0026c44e8fa6 100644 (file)
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2009-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _PROGNAME_H
 #define _PROGNAME_H
index fb338a77a10491ddaca61a7eb5951a3a1a3d18ff..5cef8ff1e0937ed37a4d2f2956ec8f2667b38898 100644 (file)
@@ -1,6 +1,6 @@
 /* quote.h - prototypes for quote.c
 
-   Copyright (C) 1998-2001, 2003, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2001, 2003, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef QUOTE_H_
 # define QUOTE_H_ 1
index bef7b98b8be8418835cb30ff4878a2ad39cdb3a9..773d53f11549b81a33d650085ed2642c0e200795 100644 (file)
@@ -1,6 +1,6 @@
 /* quotearg.c - quote arguments for output
 
-   Copyright (C) 1998-2002, 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2002, 2004-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Paul Eggert <eggert@twinsun.com> */
 
@@ -29,6 +29,7 @@
 #include "quotearg.h"
 #include "quote.h"
 
+#include "minmax.h"
 #include "xalloc.h"
 #include "c-strcaseeq.h"
 #include "localcharset.h"
@@ -37,6 +38,7 @@
 #include <errno.h>
 #include <limits.h>
 #include <stdbool.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <wchar.h>
 
 #define INT_BITS (sizeof (int) * CHAR_BIT)
 
+#ifndef FALLTHROUGH
+# if __GNUC__ < 7
+#  define FALLTHROUGH ((void) 0)
+# else
+#  define FALLTHROUGH __attribute__ ((__fallthrough__))
+# endif
+#endif
+
 struct quoting_options
 {
   /* Basic quoting style.  */
@@ -77,6 +87,8 @@ char const *const quoting_style_args[] =
   "literal",
   "shell",
   "shell-always",
+  "shell-escape",
+  "shell-escape-always",
   "c",
   "c-maybe",
   "escape",
@@ -91,6 +103,8 @@ enum quoting_style const quoting_style_vals[] =
   literal_quoting_style,
   shell_quoting_style,
   shell_always_quoting_style,
+  shell_escape_quoting_style,
+  shell_escape_always_quoting_style,
   c_quoting_style,
   c_maybe_quoting_style,
   escape_quoting_style,
@@ -116,7 +130,7 @@ clone_quoting_options (struct quoting_options *o)
 
 /* Get the value of O's quoting style.  If O is null, use the default.  */
 enum quoting_style
-get_quoting_style (struct quoting_options *o)
+get_quoting_style (struct quoting_options const *o)
 {
   return (o ? o : &default_quoting_options)->style;
 }
@@ -248,11 +262,15 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
 {
   size_t i;
   size_t len = 0;
+  size_t orig_buffersize = 0;
   char const *quote_string = 0;
   size_t quote_string_len = 0;
   bool backslash_escapes = false;
   bool unibyte_locale = MB_CUR_MAX == 1;
   bool elide_outer_quotes = (flags & QA_ELIDE_OUTER_QUOTES) != 0;
+  bool pending_shell_escape_end = false;
+  bool encountered_single_quote = false;
+  bool all_c_and_shell_quote_compat = true;
 
 #define STORE(c) \
     do \
@@ -263,12 +281,44 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
       } \
     while (0)
 
+#define START_ESC() \
+    do \
+      { \
+        if (elide_outer_quotes) \
+          goto force_outer_quoting_style; \
+        escaping = true; \
+        if (quoting_style == shell_always_quoting_style \
+            && ! pending_shell_escape_end) \
+          { \
+            STORE ('\''); \
+            STORE ('$'); \
+            STORE ('\''); \
+            pending_shell_escape_end = true; \
+          } \
+        STORE ('\\'); \
+      } \
+    while (0)
+
+#define END_ESC() \
+    do \
+      { \
+        if (pending_shell_escape_end && ! escaping) \
+          { \
+            STORE ('\''); \
+            STORE ('\''); \
+            pending_shell_escape_end = false; \
+          } \
+      } \
+    while (0)
+
+ process_input:
+
   switch (quoting_style)
     {
     case c_maybe_quoting_style:
       quoting_style = c_quoting_style;
       elide_outer_quotes = true;
-      /* Fall through.  */
+      FALLTHROUGH;
     case c_quoting_style:
       if (!elide_outer_quotes)
         STORE ('"');
@@ -307,7 +357,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
                for your locale.
 
                If you don't know what to put here, please see
-               <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+               <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
                and use glyphs suitable for your language.  */
             left_quote = gettext_quote (N_("`"), quoting_style);
             right_quote = gettext_quote (N_("'"), quoting_style);
@@ -321,11 +371,18 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
       }
       break;
 
+    case shell_escape_quoting_style:
+      backslash_escapes = true;
+      FALLTHROUGH;
     case shell_quoting_style:
-      quoting_style = shell_always_quoting_style;
       elide_outer_quotes = true;
-      /* Fall through.  */
+      FALLTHROUGH;
+    case shell_escape_always_quoting_style:
+      if (!elide_outer_quotes)
+        backslash_escapes = true;
+      FALLTHROUGH;
     case shell_always_quoting_style:
+      quoting_style = shell_always_quoting_style;
       if (!elide_outer_quotes)
         STORE ('\'');
       quote_string = "'";
@@ -345,8 +402,11 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
       unsigned char c;
       unsigned char esc;
       bool is_right_quote = false;
+      bool escaping = false;
+      bool c_and_shell_quote_compat = false;
 
       if (backslash_escapes
+          && quoting_style != shell_always_quoting_style
           && quote_string_len
           && (i + quote_string_len
               <= (argsize == SIZE_MAX && 1 < quote_string_len
@@ -367,15 +427,15 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
         case '\0':
           if (backslash_escapes)
             {
-              if (elide_outer_quotes)
-                goto force_outer_quoting_style;
-              STORE ('\\');
+              START_ESC ();
               /* If quote_string were to begin with digits, we'd need to
                  test for the end of the arg as well.  However, it's
                  hard to imagine any locale that would use digits in
                  quotes, and set_custom_quoting is documented not to
-                 accept them.  */
-              if (i + 1 < argsize && '0' <= arg[i + 1] && arg[i + 1] <= '9')
+                 accept them.  Use only a single \0 with shell-escape
+                 as currently digits are not printed within $'...'  */
+              if (quoting_style != shell_always_quoting_style
+                  && i + 1 < argsize && '0' <= arg[i + 1] && arg[i + 1] <= '9')
                 {
                   STORE ('0');
                   STORE ('0');
@@ -436,6 +496,14 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
         case '\t': esc = 't'; goto c_and_shell_escape;
         case '\v': esc = 'v'; goto c_escape;
         case '\\': esc = c;
+          /* Never need to escape '\' in shell case.  */
+          if (quoting_style == shell_always_quoting_style)
+            {
+              if (elide_outer_quotes)
+                goto force_outer_quoting_style;
+              goto store_c;
+            }
+
           /* No need to escape the escape if we are trying to elide
              outer quotes and nothing else is problematic.  */
           if (backslash_escapes && elide_outer_quotes && quote_string_len)
@@ -445,7 +513,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
           if (quoting_style == shell_always_quoting_style
               && elide_outer_quotes)
             goto force_outer_quoting_style;
-          /* Fall through.  */
+          /* fall through */
         c_escape:
           if (backslash_escapes)
             {
@@ -457,12 +525,14 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
         case '{': case '}': /* sometimes special if isolated */
           if (! (argsize == SIZE_MAX ? arg[1] == '\0' : argsize == 1))
             break;
-          /* Fall through.  */
+          FALLTHROUGH;
         case '#': case '~':
           if (i != 0)
             break;
-          /* Fall through.  */
+          FALLTHROUGH;
         case ' ':
+          c_and_shell_quote_compat = true;
+          FALLTHROUGH;
         case '!': /* special in bash */
         case '"': case '$': case '&':
         case '(': case ')': case '*': case ';':
@@ -481,13 +551,26 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
           break;
 
         case '\'':
+          encountered_single_quote = true;
+          c_and_shell_quote_compat = true;
           if (quoting_style == shell_always_quoting_style)
             {
               if (elide_outer_quotes)
                 goto force_outer_quoting_style;
+
+              if (buffersize && ! orig_buffersize)
+                {
+                  /* Just scan string to see if supports a more concise
+                     representation, rather than writing a longer string
+                     but returning the length of the more concise form.  */
+                  orig_buffersize = buffersize;
+                  buffersize = 0;
+                }
+
               STORE ('\'');
               STORE ('\\');
               STORE ('\'');
+              pending_shell_escape_end = false;
             }
           break;
 
@@ -513,6 +596,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
              them.  Also, a digit or a special letter would cause
              trouble if it appeared in quote_these_too, but that's also
              documented as not accepting them.  */
+          c_and_shell_quote_compat = true;
           break;
 
         default:
@@ -591,6 +675,8 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
                 while (! mbsinit (&mbstate));
               }
 
+            c_and_shell_quote_compat = printable;
+
             if (1 < m || (backslash_escapes && ! printable))
               {
                 /* Output a multibyte sequence, or an escaped
@@ -601,9 +687,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
                   {
                     if (backslash_escapes && ! printable)
                       {
-                        if (elide_outer_quotes)
-                          goto force_outer_quoting_style;
-                        STORE ('\\');
+                        START_ESC ();
                         STORE ('0' + (c >> 6));
                         STORE ('0' + ((c >> 3) & 7));
                         c = '0' + (c & 7);
@@ -615,6 +699,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
                       }
                     if (ilim <= i + 1)
                       break;
+                    END_ESC ();
                     STORE (c);
                     c = arg[++i];
                   }
@@ -624,25 +709,49 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
           }
         }
 
-      if (! ((backslash_escapes || elide_outer_quotes)
+      if (! (((backslash_escapes && quoting_style != shell_always_quoting_style)
+              || elide_outer_quotes)
              && quote_these_too
              && quote_these_too[c / INT_BITS] >> (c % INT_BITS) & 1)
           && !is_right_quote)
         goto store_c;
 
     store_escape:
-      if (elide_outer_quotes)
-        goto force_outer_quoting_style;
-      STORE ('\\');
+      START_ESC ();
 
     store_c:
+      END_ESC ();
       STORE (c);
+
+      if (! c_and_shell_quote_compat)
+        all_c_and_shell_quote_compat = false;
     }
 
   if (len == 0 && quoting_style == shell_always_quoting_style
       && elide_outer_quotes)
     goto force_outer_quoting_style;
 
+  /* Single shell quotes (') are commonly enough used as an apostrophe,
+     that we attempt to minimize the quoting in this case.  Note itʼs
+     better to use the apostrophe modifier "\u02BC" if possible, as that
+     renders better and works with the word match regex \W+ etc.  */
+  if (quoting_style == shell_always_quoting_style && ! elide_outer_quotes
+      && encountered_single_quote)
+    {
+      if (all_c_and_shell_quote_compat)
+        return quotearg_buffer_restyled (buffer, orig_buffersize, arg, argsize,
+                                         c_quoting_style,
+                                         flags, quote_these_too,
+                                         left_quote, right_quote);
+      else if (! buffersize && orig_buffersize)
+        {
+          /* Disable read-only scan, and reprocess to write quoted string.  */
+          buffersize = orig_buffersize;
+          len = 0;
+          goto process_input;
+        }
+    }
+
   if (quote_string && !elide_outer_quotes)
     for (; *quote_string; quote_string++)
       STORE (*quote_string);
@@ -654,6 +763,8 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
  force_outer_quoting_style:
   /* Don't reuse quote_these_too, since the addition of outer quotes
      sufficiently quotes the specified characters.  */
+  if (quoting_style == shell_always_quoting_style && backslash_escapes)
+    quoting_style = shell_escape_always_quoting_style;
   return quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
                                    quoting_style,
                                    flags & ~QA_ELIDE_OUTER_QUOTES, NULL,
@@ -729,7 +840,7 @@ struct slotvec
 /* Preallocate a slot 0 buffer, so that the caller can always quote
    one small component of a "memory exhausted" message in slot 0.  */
 static char slot0[256];
-static unsigned int nslots = 1;
+static int nslots = 1;
 static struct slotvec slotvec0 = {sizeof slot0, slot0};
 static struct slotvec *slotvec = &slotvec0;
 
@@ -737,7 +848,7 @@ void
 quotearg_free (void)
 {
   struct slotvec *sv = slotvec;
-  unsigned int i;
+  int i;
   for (i = 1; i < nslots; i++)
     free (sv[i].val);
   if (sv[0].val != slot0)
@@ -768,30 +879,24 @@ quotearg_n_options (int n, char const *arg, size_t argsize,
 {
   int e = errno;
 
-  unsigned int n0 = n;
   struct slotvec *sv = slotvec;
 
   if (n < 0)
     abort ();
 
-  if (nslots <= n0)
+  if (nslots <= n)
     {
-      /* FIXME: technically, the type of n1 should be 'unsigned int',
-         but that evokes an unsuppressible warning from gcc-4.0.1 and
-         older.  If gcc ever provides an option to suppress that warning,
-         revert to the original type, so that the test in xalloc_oversized
-         is once again performed only at compile time.  */
-      size_t n1 = n0 + 1;
       bool preallocated = (sv == &slotvec0);
+      int nmax = MIN (INT_MAX, MIN (PTRDIFF_MAX, SIZE_MAX) / sizeof *sv) - 1;
 
-      if (xalloc_oversized (n1, sizeof *sv))
+      if (nmax < n)
         xalloc_die ();
 
-      slotvec = sv = xrealloc (preallocated ? NULL : sv, n1 * sizeof *sv);
+      slotvec = sv = xrealloc (preallocated ? NULL : sv, (n + 1) * sizeof *sv);
       if (preallocated)
         *sv = slotvec0;
-      memset (sv + nslots, 0, (n1 - nslots) * sizeof *sv);
-      nslots = n1;
+      memset (sv + nslots, 0, (n + 1 - nslots) * sizeof *sv);
+      nslots = n + 1;
     }
 
   {
@@ -900,6 +1005,15 @@ quotearg_colon_mem (char const *arg, size_t argsize)
   return quotearg_char_mem (arg, argsize, ':');
 }
 
+char *
+quotearg_n_style_colon (int n, enum quoting_style s, char const *arg)
+{
+  struct quoting_options options;
+  options = quoting_options_from_style (s);
+  set_char_quoting (&options, ':', 1);
+  return quotearg_n_options (n, arg, SIZE_MAX, &options);
+}
+
 char *
 quotearg_n_custom (int n, char const *left_quote,
                    char const *right_quote, char const *arg)
@@ -966,3 +1080,10 @@ quote (char const *arg)
 {
   return quote_n (0, arg);
 }
+
+/*
+ * Hey Emacs!
+ * Local Variables:
+ * coding: utf-8
+ * End:
+ */
index da29d7b5fc2fa38300b19c2cfb0c7d56f8ce9e05..0f07e0211e29ba8d15a0623ca6844a21f3d060ca 100644 (file)
@@ -1,6 +1,6 @@
 /* quotearg.h - quote arguments for output
 
-   Copyright (C) 1998-2002, 2004, 2006, 2008-2014 Free Software Foundation,
+   Copyright (C) 1998-2002, 2004, 2006, 2008-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Paul Eggert <eggert@twinsun.com> */
 
@@ -73,6 +73,37 @@ enum quoting_style
     */
     shell_always_quoting_style,
 
+    /* Quote names for the shell if they contain shell metacharacters
+       or other problematic characters (ls --quoting-style=shell-escape).
+       Non printable characters are quoted using the $'...' syntax,
+       which originated in ksh93 and is widely supported by most shells,
+       and proposed for inclusion in POSIX.
+
+       quotearg_buffer:
+       "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\\'", "a:b"
+       quotearg:
+       "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\\'", "a:b"
+       quotearg_colon:
+       "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\\'", "'a:b'"
+    */
+    shell_escape_quoting_style,
+
+    /* Quote names for the shell even if they would normally not
+       require quoting (ls --quoting-style=shell-escape).
+       Non printable characters are quoted using the $'...' syntax,
+       which originated in ksh93 and is widely supported by most shells,
+       and proposed for inclusion in POSIX.  Behaves like
+       shell_escape_quoting_style if QA_ELIDE_OUTER_QUOTES is in effect.
+
+       quotearg_buffer:
+       "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\'", "a:b"
+       quotearg:
+       "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\'", "a:b"
+       quotearg_colon:
+       "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\'", "'a:b'"
+    */
+    shell_escape_always_quoting_style,
+
     /* Quote names as for a C language string (ls --quoting-style=c).
        Behaves like c_maybe_quoting_style if QA_ELIDE_OUTER_QUOTES is
        in effect.  Split into consecutive strings if
@@ -247,7 +278,7 @@ struct quoting_options;
 struct quoting_options *clone_quoting_options (struct quoting_options *o);
 
 /* Get the value of O's quoting style.  If O is null, use the default.  */
-enum quoting_style get_quoting_style (struct quoting_options *o);
+enum quoting_style get_quoting_style (struct quoting_options const *o);
 
 /* In O (or in the default if O is null),
    set the value of the quoting style to S.  */
@@ -362,6 +393,9 @@ char *quotearg_colon (char const *arg);
 /* Like quotearg_colon (ARG), except it can quote null bytes.  */
 char *quotearg_colon_mem (char const *arg, size_t argsize);
 
+/* Like quotearg_n_style, except with ':' quoting enabled.  */
+char *quotearg_n_style_colon (int n, enum quoting_style s, char const *arg);
+
 /* Like quotearg_n_style (N, S, ARG) but with S as custom_quoting_style
    with left quote as LEFT_QUOTE and right quote as RIGHT_QUOTE.  See
    set_custom_quoting for a description of acceptable LEFT_QUOTE and
index d125b51a5e39584f11c845656b82e3a9a5ed9bc9..52df1b06eb05b2d9f9ae7c3beab870c43767de19 100644 (file)
@@ -1,5 +1,5 @@
 /* POSIX compatible read() function.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
 /* Specification.  */
 #include <unistd.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 # include <errno.h>
 # include <io.h>
 # define WIN32_LEAN_AND_MEAN  /* avoid including junk */
 # include <windows.h>
 
-# include "msvc-inval.h"
-# include "msvc-nothrow.h"
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+#  include "msvc-inval.h"
+# endif
+# if GNULIB_MSVC_NOTHROW
+#  include "msvc-nothrow.h"
+# else
+#  include <io.h>
+# endif
 
 # undef read
 
index 4c49639517640a30dcfc4c57795f95287cf0f103..bf71109350215c965fc039de94e8e63c301d0fe9 100644 (file)
@@ -1,5 +1,5 @@
 /* Stub for readlink().
-   Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 8dfcfbe5a58360fccb53184080b36c908e1f1f58..a81ce3b55dcd54b8370fbf4aefd1ab22526e9f94 100644 (file)
@@ -1,6 +1,6 @@
 /* realloc() function that is glibc compatible.
 
-   Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2014 Free Software
+   Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* written by Jim Meyering and Bruno Haible */
 
diff --git a/lib/ref-add.sin b/lib/ref-add.sin
deleted file mode 100644 (file)
index 0e14022..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# Add this package to a list of references stored in a text file.
-#
-#   Copyright (C) 2000, 2009-2014 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 <http://www.gnu.org/licenses/>.
-#
-# Written by Bruno Haible <haible@clisp.cons.org>.
-#
-/^# Packages using this file: / {
-  s/# Packages using this file://
-  ta
-  :a
-  s/ @PACKAGE@ / @PACKAGE@ /
-  tb
-  s/ $/ @PACKAGE@ /
-  :b
-  s/^/# Packages using this file:/
-}
diff --git a/lib/ref-del.sin b/lib/ref-del.sin
deleted file mode 100644 (file)
index 2dbcf7b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# Remove this package from a list of references stored in a text file.
-#
-#   Copyright (C) 2000, 2009-2014 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 <http://www.gnu.org/licenses/>.
-#
-# Written by Bruno Haible <haible@clisp.cons.org>.
-#
-/^# Packages using this file: / {
-  s/# Packages using this file://
-  s/ @PACKAGE@ / /
-  s/^/# Packages using this file:/
-}
index 249d757a870445432539d4f580f68743da933b5a..892139a02afb69037d3367fd2e2c473c20322764 100644 (file)
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
 
    You should have received a copy of the GNU General Public
    License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
+   <https://www.gnu.org/licenses/>.  */
+
+#ifdef _LIBC
+# include <locale/weight.h>
+#endif
 
 static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern,
                                          size_t length, reg_syntax_t syntax);
@@ -55,7 +59,7 @@ static reg_errcode_t calc_inveclosure (re_dfa_t *dfa);
 static Idx fetch_number (re_string_t *input, re_token_t *token,
                         reg_syntax_t syntax);
 static int peek_token (re_token_t *token, re_string_t *input,
-                       reg_syntax_t syntax) internal_function;
+                       reg_syntax_t syntax);
 static bin_tree_t *parse (re_string_t *regexp, regex_t *preg,
                          reg_syntax_t syntax, reg_errcode_t *err);
 static bin_tree_t *parse_reg_exp (re_string_t *regexp, regex_t *preg,
@@ -149,9 +153,9 @@ static const char __re_error_msgid[] =
     gettext_noop ("Invalid back reference") /* REG_ESUBREG */
     "\0"
 #define REG_EBRACK_IDX (REG_ESUBREG_IDX + sizeof "Invalid back reference")
-    gettext_noop ("Unmatched [ or [^") /* REG_EBRACK */
+    gettext_noop ("Unmatched [, [^, [:, [., or [=")    /* REG_EBRACK */
     "\0"
-#define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [ or [^")
+#define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [, [^, [:, [., or [=")
     gettext_noop ("Unmatched ( or \\(") /* REG_EPAREN */
     "\0"
 #define REG_EBRACE_IDX (REG_EPAREN_IDX + sizeof "Unmatched ( or \\(")
@@ -209,17 +213,9 @@ static const size_t __re_error_msgid_idx[] =
    Assumes the 'allocated' (and perhaps 'buffer') and 'translate' fields
    are set in BUFP on entry.  */
 
-#ifdef _LIBC
-const char *
-re_compile_pattern (pattern, length, bufp)
-    const char *pattern;
-    size_t length;
-    struct re_pattern_buffer *bufp;
-#else /* size_t might promote */
 const char *
 re_compile_pattern (const char *pattern, size_t length,
                    struct re_pattern_buffer *bufp)
-#endif
 {
   reg_errcode_t ret;
 
@@ -237,9 +233,7 @@ re_compile_pattern (const char *pattern, size_t length,
     return NULL;
   return gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]);
 }
-#ifdef _LIBC
 weak_alias (__re_compile_pattern, re_compile_pattern)
-#endif
 
 /* Set by 're_set_syntax' to the current regexp syntax to recognize.  Can
    also be assigned to arbitrarily: each pattern buffer stores its own
@@ -257,21 +251,17 @@ reg_syntax_t re_syntax_options;
    defined in regex.h.  We return the old syntax.  */
 
 reg_syntax_t
-re_set_syntax (syntax)
-    reg_syntax_t syntax;
+re_set_syntax (reg_syntax_t syntax)
 {
   reg_syntax_t ret = re_syntax_options;
 
   re_syntax_options = syntax;
   return ret;
 }
-#ifdef _LIBC
 weak_alias (__re_set_syntax, re_set_syntax)
-#endif
 
 int
-re_compile_fastmap (bufp)
-    struct re_pattern_buffer *bufp;
+re_compile_fastmap (struct re_pattern_buffer *bufp)
 {
   re_dfa_t *dfa = bufp->buffer;
   char *fastmap = bufp->fastmap;
@@ -287,9 +277,7 @@ re_compile_fastmap (bufp)
   bufp->fastmap_accurate = 1;
   return 0;
 }
-#ifdef _LIBC
 weak_alias (__re_compile_fastmap, re_compile_fastmap)
-#endif
 
 static inline void
 __attribute__ ((always_inline))
@@ -335,7 +323,7 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
              memset (&state, '\0', sizeof (state));
              if (__mbrtowc (&wc, (const char *) buf, p - buf,
                             &state) == p - buf
-                 && (__wcrtomb ((char *) buf, towlower (wc), &state)
+                 && (__wcrtomb ((char *) buf, __towlower (wc), &state)
                      != (size_t) -1))
                re_set_fastmap (fastmap, false, buf[0]);
            }
@@ -411,7 +399,7 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
                    re_set_fastmap (fastmap, icase, *(unsigned char *) buf);
                  if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1)
                    {
-                     if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state)
+                     if (__wcrtomb (buf, __towlower (cset->mbchars[i]), &state)
                          != (size_t) -1)
                        re_set_fastmap (fastmap, false, *(unsigned char *) buf);
                    }
@@ -470,10 +458,7 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
    the return codes and their meanings.)  */
 
 int
-regcomp (preg, pattern, cflags)
-    regex_t *_Restrict_ preg;
-    const char *_Restrict_ pattern;
-    int cflags;
+regcomp (regex_t *__restrict preg, const char *__restrict pattern, int cflags)
 {
   reg_errcode_t ret;
   reg_syntax_t syntax = ((cflags & REG_EXTENDED) ? RE_SYNTAX_POSIX_EXTENDED
@@ -485,7 +470,7 @@ regcomp (preg, pattern, cflags)
 
   /* Try to allocate space for the fastmap.  */
   preg->fastmap = re_malloc (char, SBC_MAX);
-  if (BE (preg->fastmap == NULL, 0))
+  if (__glibc_unlikely (preg->fastmap == NULL))
     return REG_ESPACE;
 
   syntax |= (cflags & REG_ICASE) ? RE_ICASE : 0;
@@ -511,7 +496,7 @@ regcomp (preg, pattern, cflags)
     ret = REG_EPAREN;
 
   /* We have already checked preg->fastmap != NULL.  */
-  if (BE (ret == REG_NOERROR, 1))
+  if (__glibc_likely (ret == REG_NOERROR))
     /* Compute the fastmap now, since regexec cannot modify the pattern
        buffer.  This function never fails in this implementation.  */
     (void) re_compile_fastmap (preg);
@@ -524,32 +509,21 @@ regcomp (preg, pattern, cflags)
 
   return (int) ret;
 }
-#ifdef _LIBC
+libc_hidden_def (__regcomp)
 weak_alias (__regcomp, regcomp)
-#endif
 
 /* Returns a message corresponding to an error code, ERRCODE, returned
    from either regcomp or regexec.   We don't use PREG here.  */
 
-#ifdef _LIBC
 size_t
-regerror (errcode, preg, errbuf, errbuf_size)
-    int errcode;
-    const regex_t *_Restrict_ preg;
-    char *_Restrict_ errbuf;
-    size_t errbuf_size;
-#else /* size_t might promote */
-size_t
-regerror (int errcode, const regex_t *_Restrict_ preg,
-         char *_Restrict_ errbuf, size_t errbuf_size)
-#endif
+regerror (int errcode, const regex_t *__restrict preg, char *__restrict errbuf,
+         size_t errbuf_size)
 {
   const char *msg;
   size_t msg_size;
+  int nerrcodes = sizeof __re_error_msgid_idx / sizeof __re_error_msgid_idx[0];
 
-  if (BE (errcode < 0
-         || errcode >= (int) (sizeof (__re_error_msgid_idx)
-                              / sizeof (__re_error_msgid_idx[0])), 0))
+  if (__glibc_unlikely (errcode < 0 || errcode >= nerrcodes))
     /* Only error codes returned by the rest of the code should be passed
        to this routine.  If we are given anything else, or if other regex
        code generates an invalid error code, then the program has a bug.
@@ -560,10 +534,10 @@ regerror (int errcode, const regex_t *_Restrict_ preg,
 
   msg_size = strlen (msg) + 1; /* Includes the null.  */
 
-  if (BE (errbuf_size != 0, 1))
+  if (__glibc_likely (errbuf_size != 0))
     {
       size_t cpy_size = msg_size;
-      if (BE (msg_size > errbuf_size, 0))
+      if (__glibc_unlikely (msg_size > errbuf_size))
        {
          cpy_size = errbuf_size - 1;
          errbuf[cpy_size] = '\0';
@@ -573,9 +547,7 @@ regerror (int errcode, const regex_t *_Restrict_ preg,
 
   return msg_size;
 }
-#ifdef _LIBC
 weak_alias (__regerror, regerror)
-#endif
 
 
 #ifdef RE_ENABLE_I18N
@@ -658,11 +630,10 @@ free_dfa_content (re_dfa_t *dfa)
 /* Free dynamically allocated space used by PREG.  */
 
 void
-regfree (preg)
-    regex_t *preg;
+regfree (regex_t *preg)
 {
   re_dfa_t *dfa = preg->buffer;
-  if (BE (dfa != NULL, 1))
+  if (__glibc_likely (dfa != NULL))
     {
       lock_fini (dfa->lock);
       free_dfa_content (dfa);
@@ -676,9 +647,8 @@ regfree (preg)
   re_free (preg->translate);
   preg->translate = NULL;
 }
-#ifdef _LIBC
+libc_hidden_def (__regfree)
 weak_alias (__regfree, regfree)
-#endif
 \f
 /* Entry points compatible with 4.2 BSD regex library.  We don't define
    them unless specifically requested.  */
@@ -695,8 +665,7 @@ char *
    regcomp/regexec above without link errors.  */
 weak_function
 # endif
-re_comp (s)
-     const char *s;
+re_comp (const char *s)
 {
   reg_errcode_t ret;
   char *fastmap;
@@ -719,7 +688,7 @@ re_comp (s)
 
   if (re_comp_buf.fastmap == NULL)
     {
-      re_comp_buf.fastmap = (char *) malloc (SBC_MAX);
+      re_comp_buf.fastmap = re_malloc (char, SBC_MAX);
       if (re_comp_buf.fastmap == NULL)
        return (char *) gettext (__re_error_msgid
                                 + __re_error_msgid_idx[(int) REG_ESPACE]);
@@ -772,7 +741,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
 
   /* Initialize the dfa.  */
   dfa = preg->buffer;
-  if (BE (preg->allocated < sizeof (re_dfa_t), 0))
+  if (__glibc_unlikely (preg->allocated < sizeof (re_dfa_t)))
     {
       /* If zero allocated, but buffer is non-null, try to realloc
         enough space.  This loses if buffer's address is bogus, but
@@ -787,9 +756,9 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
   preg->used = sizeof (re_dfa_t);
 
   err = init_dfa (dfa, length);
-  if (BE (err == REG_NOERROR && lock_init (dfa->lock) != 0, 0))
+  if (__glibc_unlikely (err == REG_NOERROR && lock_init (dfa->lock) != 0))
     err = REG_ESPACE;
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       free_dfa_content (dfa);
       preg->buffer = NULL;
@@ -804,7 +773,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
 
   err = re_string_construct (&regexp, pattern, length, preg->translate,
                             (syntax & RE_ICASE) != 0, dfa);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
     re_compile_internal_free_return:
       free_workarea_compile (preg);
@@ -819,12 +788,12 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
   /* Parse the regular expression, and build a structure tree.  */
   preg->re_nsub = 0;
   dfa->str_tree = parse (&regexp, preg, syntax, &err);
-  if (BE (dfa->str_tree == NULL, 0))
+  if (__glibc_unlikely (dfa->str_tree == NULL))
     goto re_compile_internal_free_return;
 
   /* Analyze the tree and create the nfa.  */
   err = analyze (preg);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     goto re_compile_internal_free_return;
 
 #ifdef RE_ENABLE_I18N
@@ -840,7 +809,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
   free_workarea_compile (preg);
   re_string_destruct (&regexp);
 
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       lock_fini (dfa->lock);
       free_dfa_content (dfa);
@@ -882,7 +851,8 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
      calculation below, and for similar doubling calculations
      elsewhere.  And it's <= rather than <, because some of the
      doubling calculations add 1 afterwards.  */
-  if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) / 2 <= pat_len, 0))
+  if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size) / 2
+                       <= pat_len))
     return REG_ESPACE;
 
   dfa->nodes_alloc = pat_len + 1;
@@ -926,7 +896,7 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
          int i, j, ch;
 
          dfa->sb_char = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
-         if (BE (dfa->sb_char == NULL, 0))
+         if (__glibc_unlikely (dfa->sb_char == NULL))
            return REG_ESPACE;
 
          /* Set the bits corresponding to single byte chars.  */
@@ -945,7 +915,7 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
     }
 #endif
 
-  if (BE (dfa->nodes == NULL || dfa->state_table == NULL, 0))
+  if (__glibc_unlikely (dfa->nodes == NULL || dfa->state_table == NULL))
     return REG_ESPACE;
   return REG_NOERROR;
 }
@@ -955,21 +925,23 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
    character used by some operators like "\<", "\>", etc.  */
 
 static void
-internal_function
 init_word_char (re_dfa_t *dfa)
 {
   int i = 0;
   int j;
   int ch = 0;
   dfa->word_ops_used = 1;
-  if (BE (dfa->map_notascii == 0, 1))
+  if (__glibc_likely (dfa->map_notascii == 0))
     {
+      /* Avoid uint32_t and uint64_t as some non-GCC platforms lack
+        them, an issue when this code is used in Gnulib.  */
       bitset_word_t bits0 = 0x00000000;
       bitset_word_t bits1 = 0x03ff0000;
       bitset_word_t bits2 = 0x87fffffe;
       bitset_word_t bits3 = 0x07fffffe;
       if (BITSET_WORD_BITS == 64)
        {
+         /* Pacify gcc -Woverflow on 32-bit platformns.  */
          dfa->word_char[0] = bits1 << 31 << 1 | bits0;
          dfa->word_char[1] = bits3 << 31 << 1 | bits2;
          i = 2;
@@ -986,7 +958,7 @@ init_word_char (re_dfa_t *dfa)
         goto general_case;
       ch = 128;
 
-      if (BE (dfa->is_utf8, 1))
+      if (__glibc_likely (dfa->is_utf8))
        {
          memset (&dfa->word_char[i], '\0', (SBC_MAX - ch) / 8);
          return;
@@ -1033,7 +1005,7 @@ create_initial_state (re_dfa_t *dfa)
   first = dfa->str_tree->first->node_idx;
   dfa->init_node = first;
   err = re_node_set_init_copy (&init_nodes, dfa->eclosures + first);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
 
   /* The back-references which are in initial states can epsilon transit,
@@ -1077,7 +1049,7 @@ create_initial_state (re_dfa_t *dfa)
   /* It must be the first time to invoke acquire_state.  */
   dfa->init_state = re_acquire_state_context (&err, dfa, &init_nodes, 0);
   /* We don't check ERR here, since the initial state must not be NULL.  */
-  if (BE (dfa->init_state == NULL, 0))
+  if (__glibc_unlikely (dfa->init_state == NULL))
     return err;
   if (dfa->init_state->has_constraint)
     {
@@ -1089,8 +1061,9 @@ create_initial_state (re_dfa_t *dfa)
                                                         &init_nodes,
                                                         CONTEXT_NEWLINE
                                                         | CONTEXT_BEGBUF);
-      if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL
-             || dfa->init_state_begbuf == NULL, 0))
+      if (__glibc_unlikely (dfa->init_state_word == NULL
+                           || dfa->init_state_nl == NULL
+                           || dfa->init_state_begbuf == NULL))
        return err;
     }
   else
@@ -1197,8 +1170,8 @@ analyze (regex_t *preg)
   dfa->org_indices = re_malloc (Idx, dfa->nodes_alloc);
   dfa->edests = re_malloc (re_node_set, dfa->nodes_alloc);
   dfa->eclosures = re_malloc (re_node_set, dfa->nodes_alloc);
-  if (BE (dfa->nexts == NULL || dfa->org_indices == NULL || dfa->edests == NULL
-         || dfa->eclosures == NULL, 0))
+  if (__glibc_unlikely (dfa->nexts == NULL || dfa->org_indices == NULL
+                       || dfa->edests == NULL || dfa->eclosures == NULL))
     return REG_ESPACE;
 
   dfa->subexp_map = re_malloc (Idx, preg->re_nsub);
@@ -1213,23 +1186,23 @@ analyze (regex_t *preg)
          break;
       if (i == preg->re_nsub)
        {
-         free (dfa->subexp_map);
+         re_free (dfa->subexp_map);
          dfa->subexp_map = NULL;
        }
     }
 
   ret = postorder (dfa->str_tree, lower_subexps, preg);
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
   ret = postorder (dfa->str_tree, calc_first, dfa);
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
   preorder (dfa->str_tree, calc_next, dfa);
   ret = preorder (dfa->str_tree, link_nfa_nodes, dfa);
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
   ret = calc_eclosure (dfa);
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
 
   /* We only need this during the prune_impossible_nodes pass in regexec.c;
@@ -1238,7 +1211,7 @@ analyze (regex_t *preg)
       || dfa->nbackref)
     {
       dfa->inveclosures = re_malloc (re_node_set, dfa->nodes_len);
-      if (BE (dfa->inveclosures == NULL, 0))
+      if (__glibc_unlikely (dfa->inveclosures == NULL))
        return REG_ESPACE;
       ret = calc_inveclosure (dfa);
     }
@@ -1268,7 +1241,7 @@ postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)),
       do
        {
          reg_errcode_t err = fn (extra, node);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            return err;
          if (node->parent == NULL)
            return REG_NOERROR;
@@ -1290,7 +1263,7 @@ preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)),
   for (node = root; ; )
     {
       reg_errcode_t err = fn (extra, node);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        return err;
 
       /* Go to the left node, or up and to the right.  */
@@ -1391,7 +1364,8 @@ lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node)
   cls = create_tree (dfa, NULL, NULL, OP_CLOSE_SUBEXP);
   tree1 = body ? create_tree (dfa, body, cls, CONCAT) : cls;
   tree = create_tree (dfa, op, tree1, CONCAT);
-  if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0))
+  if (__glibc_unlikely (tree == NULL || tree1 == NULL
+                       || op == NULL || cls == NULL))
     {
       *err = REG_ESPACE;
       return NULL;
@@ -1417,7 +1391,7 @@ calc_first (void *extra, bin_tree_t *node)
     {
       node->first = node;
       node->node_idx = re_dfa_add_node (dfa, node->token);
-      if (BE (node->node_idx == REG_MISSING, 0))
+      if (__glibc_unlikely (node->node_idx == -1))
        return REG_ESPACE;
       if (node->token.type == ANCHOR)
        dfa->nodes[node->node_idx].constraint = node->token.opr.ctx_type;
@@ -1478,8 +1452,8 @@ link_nfa_nodes (void *extra, bin_tree_t *node)
          right = node->right->first->node_idx;
        else
          right = node->next->node_idx;
-       assert (REG_VALID_INDEX (left));
-       assert (REG_VALID_INDEX (right));
+       assert (left > -1);
+       assert (right > -1);
        err = re_node_set_init_2 (dfa->edests + idx, left, right);
       }
       break;
@@ -1510,7 +1484,6 @@ link_nfa_nodes (void *extra, bin_tree_t *node)
    to their own constraint.  */
 
 static reg_errcode_t
-internal_function
 duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
                        Idx root_node, unsigned int init_constraint)
 {
@@ -1529,11 +1502,11 @@ duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
          org_dest = dfa->nexts[org_node];
          re_node_set_empty (dfa->edests + clone_node);
          clone_dest = duplicate_node (dfa, org_dest, constraint);
-         if (BE (clone_dest == REG_MISSING, 0))
+         if (__glibc_unlikely (clone_dest == -1))
            return REG_ESPACE;
          dfa->nexts[clone_node] = dfa->nexts[org_node];
          ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
-         if (BE (! ok, 0))
+         if (__glibc_unlikely (! ok))
            return REG_ESPACE;
        }
       else if (dfa->edests[org_node].nelem == 0)
@@ -1555,17 +1528,17 @@ duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
          if (org_node == root_node && clone_node != org_node)
            {
              ok = re_node_set_insert (dfa->edests + clone_node, org_dest);
-             if (BE (! ok, 0))
+             if (__glibc_unlikely (! ok))
                return REG_ESPACE;
              break;
            }
          /* In case the node has another constraint, append it.  */
          constraint |= dfa->nodes[org_node].constraint;
          clone_dest = duplicate_node (dfa, org_dest, constraint);
-         if (BE (clone_dest == REG_MISSING, 0))
+         if (__glibc_unlikely (clone_dest == -1))
            return REG_ESPACE;
          ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
-         if (BE (! ok, 0))
+         if (__glibc_unlikely (! ok))
            return REG_ESPACE;
        }
       else /* dfa->edests[org_node].nelem == 2 */
@@ -1576,19 +1549,19 @@ duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
          re_node_set_empty (dfa->edests + clone_node);
          /* Search for a duplicated node which satisfies the constraint.  */
          clone_dest = search_duplicated_node (dfa, org_dest, constraint);
-         if (clone_dest == REG_MISSING)
+         if (clone_dest == -1)
            {
              /* There is no such duplicated node, create a new one.  */
              reg_errcode_t err;
              clone_dest = duplicate_node (dfa, org_dest, constraint);
-             if (BE (clone_dest == REG_MISSING, 0))
+             if (__glibc_unlikely (clone_dest == -1))
                return REG_ESPACE;
              ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
-             if (BE (! ok, 0))
+             if (__glibc_unlikely (! ok))
                return REG_ESPACE;
              err = duplicate_node_closure (dfa, org_dest, clone_dest,
                                            root_node, constraint);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                return err;
            }
          else
@@ -1596,16 +1569,16 @@ duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
              /* There is a duplicated node which satisfies the constraint,
                 use it to avoid infinite loop.  */
              ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
-             if (BE (! ok, 0))
+             if (__glibc_unlikely (! ok))
                return REG_ESPACE;
            }
 
          org_dest = dfa->edests[org_node].elems[1];
          clone_dest = duplicate_node (dfa, org_dest, constraint);
-         if (BE (clone_dest == REG_MISSING, 0))
+         if (__glibc_unlikely (clone_dest == -1))
            return REG_ESPACE;
          ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
-         if (BE (! ok, 0))
+         if (__glibc_unlikely (! ok))
            return REG_ESPACE;
        }
       org_node = org_dest;
@@ -1628,18 +1601,18 @@ search_duplicated_node (const re_dfa_t *dfa, Idx org_node,
          && constraint == dfa->nodes[idx].constraint)
        return idx; /* Found.  */
     }
-  return REG_MISSING; /* Not found.  */
+  return -1; /* Not found.  */
 }
 
 /* Duplicate the node whose index is ORG_IDX and set the constraint CONSTRAINT.
-   Return the index of the new node, or REG_MISSING if insufficient storage is
+   Return the index of the new node, or -1 if insufficient storage is
    available.  */
 
 static Idx
 duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint)
 {
   Idx dup_idx = re_dfa_add_node (dfa, dfa->nodes[org_idx]);
-  if (BE (dup_idx != REG_MISSING, 1))
+  if (__glibc_likely (dup_idx != -1))
     {
       dfa->nodes[dup_idx].constraint = constraint;
       dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].constraint;
@@ -1665,7 +1638,7 @@ calc_inveclosure (re_dfa_t *dfa)
       for (idx = 0; idx < dfa->eclosures[src].nelem; ++idx)
        {
          ok = re_node_set_insert_last (dfa->inveclosures + elems[idx], src);
-         if (BE (! ok, 0))
+         if (__glibc_unlikely (! ok))
            return REG_ESPACE;
        }
     }
@@ -1698,7 +1671,7 @@ calc_eclosure (re_dfa_t *dfa)
        }
 
 #ifdef DEBUG
-      assert (dfa->eclosures[node_idx].nelem != REG_MISSING);
+      assert (dfa->eclosures[node_idx].nelem != -1);
 #endif
 
       /* If we have already calculated, skip it.  */
@@ -1706,7 +1679,7 @@ calc_eclosure (re_dfa_t *dfa)
        continue;
       /* Calculate epsilon closure of 'node_idx'.  */
       err = calc_eclosure_iter (&eclosure_elem, dfa, node_idx, true);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        return err;
 
       if (dfa->eclosures[node_idx].nelem == 0)
@@ -1729,12 +1702,12 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
   bool ok;
   bool incomplete = false;
   err = re_node_set_alloc (&eclosure, dfa->edests[node].nelem + 1);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
 
   /* This indicates that we are calculating this node now.
      We reference this value to avoid infinite loop.  */
-  dfa->eclosures[node].nelem = REG_MISSING;
+  dfa->eclosures[node].nelem = -1;
 
   /* If the current node has constraints, duplicate all nodes
      since they must inherit the constraints.  */
@@ -1744,7 +1717,7 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
     {
       err = duplicate_node_closure (dfa, node, node, node,
                                    dfa->nodes[node].constraint);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        return err;
     }
 
@@ -1756,7 +1729,7 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
        Idx edest = dfa->edests[node].elems[i];
        /* If calculating the epsilon closure of 'edest' is in progress,
           return intermediate result.  */
-       if (dfa->eclosures[edest].nelem == REG_MISSING)
+       if (dfa->eclosures[edest].nelem == -1)
          {
            incomplete = true;
            continue;
@@ -1766,14 +1739,14 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
        if (dfa->eclosures[edest].nelem == 0)
          {
            err = calc_eclosure_iter (&eclosure_elem, dfa, edest, false);
-           if (BE (err != REG_NOERROR, 0))
+           if (__glibc_unlikely (err != REG_NOERROR))
              return err;
          }
        else
          eclosure_elem = dfa->eclosures[edest];
        /* Merge the epsilon closure of 'edest'.  */
        err = re_node_set_merge (&eclosure, &eclosure_elem);
-       if (BE (err != REG_NOERROR, 0))
+       if (__glibc_unlikely (err != REG_NOERROR))
          return err;
        /* If the epsilon closure of 'edest' is incomplete,
           the epsilon closure of this node is also incomplete.  */
@@ -1786,7 +1759,7 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
 
   /* An epsilon closure includes itself.  */
   ok = re_node_set_insert (&eclosure, node);
-  if (BE (! ok, 0))
+  if (__glibc_unlikely (! ok))
     return REG_ESPACE;
   if (incomplete && !root)
     dfa->eclosures[node].nelem = 0;
@@ -1802,7 +1775,6 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
    We must not use this function inside bracket expressions.  */
 
 static void
-internal_function
 fetch_token (re_token_t *result, re_string_t *input, reg_syntax_t syntax)
 {
   re_string_skip_bytes (input, peek_token (result, input, syntax));
@@ -1812,7 +1784,6 @@ fetch_token (re_token_t *result, re_string_t *input, reg_syntax_t syntax)
    We must not use this function inside bracket expressions.  */
 
 static int
-internal_function
 peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
 {
   unsigned char c;
@@ -1829,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;
@@ -2017,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')
@@ -2028,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);
@@ -2051,7 +2022,6 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
    We must not use this function out of bracket expressions.  */
 
 static int
-internal_function
 peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
 {
   unsigned char c;
@@ -2064,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;
@@ -2098,16 +2068,18 @@ peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
        case '.':
          token->type = OP_OPEN_COLL_ELEM;
          break;
+
        case '=':
          token->type = OP_OPEN_EQUIV_CLASS;
          break;
+
        case ':':
          if (syntax & RE_CHAR_CLASSES)
            {
              token->type = OP_OPEN_CHAR_CLASS;
              break;
            }
-         /* else fall through.  */
+         FALLTHROUGH;
        default:
          token->type = CHARACTER;
          token->opr.c = c;
@@ -2157,14 +2129,14 @@ parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax,
   dfa->syntax = syntax;
   fetch_token (&current_token, regexp, syntax | RE_CARET_ANCHORS_HERE);
   tree = parse_reg_exp (regexp, preg, &current_token, syntax, 0, err);
-  if (BE (*err != REG_NOERROR && tree == NULL, 0))
+  if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
     return NULL;
   eor = create_tree (dfa, NULL, NULL, END_OF_RE);
   if (tree != NULL)
     root = create_tree (dfa, tree, eor, CONCAT);
   else
     root = eor;
-  if (BE (eor == NULL || root == NULL, 0))
+  if (__glibc_unlikely (eor == NULL || root == NULL))
     {
       *err = REG_ESPACE;
       return NULL;
@@ -2187,8 +2159,9 @@ parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
 {
   re_dfa_t *dfa = preg->buffer;
   bin_tree_t *tree, *branch = NULL;
+  bitset_word_t initial_bkref_map = dfa->completed_bkref_map;
   tree = parse_branch (regexp, preg, token, syntax, nest, err);
-  if (BE (*err != REG_NOERROR && tree == NULL, 0))
+  if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
     return NULL;
 
   while (token->type == OP_ALT)
@@ -2197,14 +2170,21 @@ parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
       if (token->type != OP_ALT && token->type != END_OF_RE
          && (nest == 0 || token->type != OP_CLOSE_SUBEXP))
        {
+         bitset_word_t accumulated_bkref_map = dfa->completed_bkref_map;
+         dfa->completed_bkref_map = initial_bkref_map;
          branch = parse_branch (regexp, preg, token, syntax, nest, err);
-         if (BE (*err != REG_NOERROR && branch == NULL, 0))
-           return NULL;
+         if (__glibc_unlikely (*err != REG_NOERROR && branch == NULL))
+           {
+             if (tree != NULL)
+               postorder (tree, free_tree, NULL);
+             return NULL;
+           }
+         dfa->completed_bkref_map |= accumulated_bkref_map;
        }
       else
        branch = NULL;
       tree = create_tree (dfa, tree, branch, OP_ALT);
-      if (BE (tree == NULL, 0))
+      if (__glibc_unlikely (tree == NULL))
        {
          *err = REG_ESPACE;
          return NULL;
@@ -2229,14 +2209,14 @@ parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token,
   bin_tree_t *tree, *expr;
   re_dfa_t *dfa = preg->buffer;
   tree = parse_expression (regexp, preg, token, syntax, nest, err);
-  if (BE (*err != REG_NOERROR && tree == NULL, 0))
+  if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
     return NULL;
 
   while (token->type != OP_ALT && token->type != END_OF_RE
         && (nest == 0 || token->type != OP_CLOSE_SUBEXP))
     {
       expr = parse_expression (regexp, preg, token, syntax, nest, err);
-      if (BE (*err != REG_NOERROR && expr == NULL, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR && expr == NULL))
        {
          if (tree != NULL)
            postorder (tree, free_tree, NULL);
@@ -2277,7 +2257,7 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
     {
     case CHARACTER:
       tree = create_token_tree (dfa, NULL, NULL, token);
-      if (BE (tree == NULL, 0))
+      if (__glibc_unlikely (tree == NULL))
        {
          *err = REG_ESPACE;
          return NULL;
@@ -2292,7 +2272,7 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
              fetch_token (token, regexp, syntax);
              mbc_remain = create_token_tree (dfa, NULL, NULL, token);
              tree = create_tree (dfa, tree, mbc_remain, CONCAT);
-             if (BE (mbc_remain == NULL || tree == NULL, 0))
+             if (__glibc_unlikely (mbc_remain == NULL || tree == NULL))
                {
                  *err = REG_ESPACE;
                  return NULL;
@@ -2301,25 +2281,28 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
        }
 #endif
       break;
+
     case OP_OPEN_SUBEXP:
       tree = parse_sub_exp (regexp, preg, token, syntax, nest + 1, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
        return NULL;
       break;
+
     case OP_OPEN_BRACKET:
       tree = parse_bracket_exp (regexp, dfa, token, syntax, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
        return NULL;
       break;
+
     case OP_BACK_REF:
-      if (!BE (dfa->completed_bkref_map & (1 << token->opr.idx), 1))
+      if (!__glibc_likely (dfa->completed_bkref_map & (1 << token->opr.idx)))
        {
          *err = REG_ESUBREG;
          return NULL;
        }
       dfa->used_bkref_map |= 1 << token->opr.idx;
       tree = create_token_tree (dfa, NULL, NULL, token);
-      if (BE (tree == NULL, 0))
+      if (__glibc_unlikely (tree == NULL))
        {
          *err = REG_ESPACE;
          return NULL;
@@ -2327,13 +2310,14 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
       ++dfa->nbackref;
       dfa->has_mb_node = 1;
       break;
+
     case OP_OPEN_DUP_NUM:
       if (syntax & RE_CONTEXT_INVALID_DUP)
        {
          *err = REG_BADRPT;
          return NULL;
        }
-      /* FALLTHROUGH */
+      FALLTHROUGH;
     case OP_DUP_ASTERISK:
     case OP_DUP_PLUS:
     case OP_DUP_QUESTION:
@@ -2347,15 +2331,15 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
          fetch_token (token, regexp, syntax);
          return parse_expression (regexp, preg, token, syntax, nest, err);
        }
-      /* else fall through  */
+      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;
        }
-      /* else fall through  */
+      FALLTHROUGH;
     case OP_CLOSE_DUP_NUM:
       /* We treat it as a normal character.  */
 
@@ -2364,12 +2348,13 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
       /* mb_partial and word_char bits should be initialized already
         by peek_token.  */
       tree = create_token_tree (dfa, NULL, NULL, token);
-      if (BE (tree == NULL, 0))
+      if (__glibc_unlikely (tree == NULL))
        {
          *err = REG_ESPACE;
          return NULL;
        }
       break;
+
     case ANCHOR:
       if ((token->opr.ctx_type
           & (WORD_DELIM | NOT_WORD_DELIM | WORD_FIRST | WORD_LAST))
@@ -2393,7 +2378,8 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
            }
          tree_last = create_token_tree (dfa, NULL, NULL, token);
          tree = create_tree (dfa, tree_first, tree_last, OP_ALT);
-         if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0))
+         if (__glibc_unlikely (tree_first == NULL || tree_last == NULL
+                               || tree == NULL))
            {
              *err = REG_ESPACE;
              return NULL;
@@ -2402,7 +2388,7 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
       else
        {
          tree = create_token_tree (dfa, NULL, NULL, token);
-         if (BE (tree == NULL, 0))
+         if (__glibc_unlikely (tree == NULL))
            {
              *err = REG_ESPACE;
              return NULL;
@@ -2414,9 +2400,10 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
             it must not be "<ANCHOR(^)><REPEAT(*)>".  */
       fetch_token (token, regexp, syntax);
       return tree;
+
     case OP_PERIOD:
       tree = create_token_tree (dfa, NULL, NULL, token);
-      if (BE (tree == NULL, 0))
+      if (__glibc_unlikely (tree == NULL))
        {
          *err = REG_ESPACE;
          return NULL;
@@ -2424,30 +2411,35 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
       if (dfa->mb_cur_max > 1)
        dfa->has_mb_node = 1;
       break;
+
     case OP_WORD:
     case OP_NOTWORD:
       tree = build_charclass_op (dfa, regexp->trans,
                                 "alnum",
                                 "_",
                                 token->type == OP_NOTWORD, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
        return NULL;
       break;
+
     case OP_SPACE:
     case OP_NOTSPACE:
       tree = build_charclass_op (dfa, regexp->trans,
                                 "space",
                                 "",
                                 token->type == OP_NOTSPACE, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
        return NULL;
       break;
+
     case OP_ALT:
     case END_OF_RE:
       return NULL;
+
     case BACK_SLASH:
       *err = REG_EESCAPE;
       return NULL;
+
     default:
       /* Must not happen?  */
 #ifdef DEBUG
@@ -2460,14 +2452,22 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
   while (token->type == OP_DUP_ASTERISK || token->type == OP_DUP_PLUS
         || token->type == OP_DUP_QUESTION || token->type == OP_OPEN_DUP_NUM)
     {
-      tree = parse_dup_op (tree, regexp, dfa, token, syntax, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
-       return NULL;
+      bin_tree_t *dup_tree = parse_dup_op (tree, regexp, dfa, token,
+                                          syntax, err);
+      if (__glibc_unlikely (*err != REG_NOERROR && dup_tree == NULL))
+       {
+         if (tree != NULL)
+           postorder (tree, free_tree, NULL);
+         return NULL;
+       }
+      tree = dup_tree;
       /* In BRE consecutive duplications are not allowed.  */
       if ((syntax & RE_CONTEXT_INVALID_DUP)
          && (token->type == OP_DUP_ASTERISK
              || token->type == OP_OPEN_DUP_NUM))
        {
+         if (tree != NULL)
+           postorder (tree, free_tree, NULL);
          *err = REG_BADRPT;
          return NULL;
        }
@@ -2500,13 +2500,14 @@ parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
   else
     {
       tree = parse_reg_exp (regexp, preg, token, syntax, nest, err);
-      if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0))
+      if (__glibc_unlikely (*err == REG_NOERROR
+                           && token->type != OP_CLOSE_SUBEXP))
        {
          if (tree != NULL)
            postorder (tree, free_tree, NULL);
          *err = REG_EPAREN;
        }
-      if (BE (*err != REG_NOERROR, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR))
        return NULL;
     }
 
@@ -2514,7 +2515,7 @@ parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
     dfa->completed_bkref_map |= 1 << cur_nsub;
 
   tree = create_tree (dfa, tree, NULL, SUBEXP);
-  if (BE (tree == NULL, 0))
+  if (__glibc_unlikely (tree == NULL))
     {
       *err = REG_ESPACE;
       return NULL;
@@ -2537,7 +2538,7 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
     {
       end = 0;
       start = fetch_number (regexp, token, syntax);
-      if (start == REG_MISSING)
+      if (start == -1)
        {
          if (token->type == CHARACTER && token->opr.c == ',')
            start = 0; /* We treat "{,m}" as "{0,m}".  */
@@ -2547,17 +2548,17 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
              return NULL;
            }
        }
-      if (BE (start != REG_ERROR, 1))
+      if (__glibc_likely (start != -2))
        {
          /* We treat "{n}" as "{n,n}".  */
          end = ((token->type == OP_CLOSE_DUP_NUM) ? start
                 : ((token->type == CHARACTER && token->opr.c == ',')
-                   ? fetch_number (regexp, token, syntax) : REG_ERROR));
+                   ? fetch_number (regexp, token, syntax) : -2));
        }
-      if (BE (start == REG_ERROR || end == REG_ERROR, 0))
+      if (__glibc_unlikely (start == -2 || end == -2))
        {
          /* Invalid sequence.  */
-         if (BE (!(syntax & RE_INVALID_INTERVAL_ORD), 0))
+         if (__glibc_unlikely (!(syntax & RE_INVALID_INTERVAL_ORD)))
            {
              if (token->type == END_OF_RE)
                *err = REG_EBRACE;
@@ -2576,15 +2577,15 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
          return elem;
        }
 
-      if (BE ((end != REG_MISSING && start > end)
-             || token->type != OP_CLOSE_DUP_NUM, 0))
+      if (__glibc_unlikely ((end != -1 && start > end)
+                           || token->type != OP_CLOSE_DUP_NUM))
        {
          /* First number greater than second.  */
          *err = REG_BADBR;
          return NULL;
        }
 
-      if (BE (RE_DUP_MAX < (end == REG_MISSING ? start : end), 0))
+      if (__glibc_unlikely (RE_DUP_MAX < (end == -1 ? start : end)))
        {
          *err = REG_ESIZE;
          return NULL;
@@ -2593,28 +2594,28 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
   else
     {
       start = (token->type == OP_DUP_PLUS) ? 1 : 0;
-      end = (token->type == OP_DUP_QUESTION) ? 1 : REG_MISSING;
+      end = (token->type == OP_DUP_QUESTION) ? 1 : -1;
     }
 
   fetch_token (token, regexp, syntax);
 
-  if (BE (elem == NULL, 0))
+  if (__glibc_unlikely (elem == NULL))
     return NULL;
-  if (BE (start == 0 && end == 0, 0))
+  if (__glibc_unlikely (start == 0 && end == 0))
     {
       postorder (elem, free_tree, NULL);
       return NULL;
     }
 
   /* Extract "<re>{n,m}" to "<re><re>...<re><re>{0,<m-n>}".  */
-  if (BE (start > 0, 0))
+  if (__glibc_unlikely (start > 0))
     {
       tree = elem;
       for (i = 2; i <= start; ++i)
        {
          elem = duplicate_tree (elem, dfa);
          tree = create_tree (dfa, tree, elem, CONCAT);
-         if (BE (elem == NULL || tree == NULL, 0))
+         if (__glibc_unlikely (elem == NULL || tree == NULL))
            goto parse_dup_op_espace;
        }
 
@@ -2623,6 +2624,8 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
 
       /* Duplicate ELEM before it is marked optional.  */
       elem = duplicate_tree (elem, dfa);
+      if (__glibc_unlikely (elem == NULL))
+        goto parse_dup_op_espace;
       old_tree = tree;
     }
   else
@@ -2635,27 +2638,23 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
     }
 
   tree = create_tree (dfa, elem, NULL,
-                     (end == REG_MISSING ? OP_DUP_ASTERISK : OP_ALT));
-  if (BE (tree == NULL, 0))
+                     (end == -1 ? OP_DUP_ASTERISK : OP_ALT));
+  if (__glibc_unlikely (tree == NULL))
     goto parse_dup_op_espace;
 
-/* From gnulib's "intprops.h":
-   True if the arithmetic type T is signed.  */
-#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-
-  /* This loop is actually executed only when end != REG_MISSING,
+  /* This loop is actually executed only when end != -1,
      to rewrite <re>{0,n} as (<re>(<re>...<re>?)?)?...  We have
      already created the start+1-th copy.  */
-  if (TYPE_SIGNED (Idx) || end != REG_MISSING)
+  if (TYPE_SIGNED (Idx) || end != -1)
     for (i = start + 2; i <= end; ++i)
       {
        elem = duplicate_tree (elem, dfa);
        tree = create_tree (dfa, tree, elem, CONCAT);
-       if (BE (elem == NULL || tree == NULL, 0))
+       if (__glibc_unlikely (elem == NULL || tree == NULL))
          goto parse_dup_op_espace;
 
        tree = create_tree (dfa, tree, NULL, OP_ALT);
-       if (BE (tree == NULL, 0))
+       if (__glibc_unlikely (tree == NULL))
          goto parse_dup_op_espace;
       }
 
@@ -2674,6 +2673,18 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
 #define BRACKET_NAME_BUF_SIZE 32
 
 #ifndef _LIBC
+
+# ifdef RE_ENABLE_I18N
+/* Convert the byte B to the corresponding wide character.  In a
+   unibyte locale, treat B as itself.  In a multibyte locale, return
+   WEOF if B is an encoding error.  */
+static wint_t
+parse_byte (unsigned char b, re_charset_t *mbcset)
+{
+  return mbcset == NULL ? b : __btowc (b);
+}
+# endif
+
   /* Local function for parse_bracket_exp only used in case of NOT _LIBC.
      Build the range expression which starts from START_ELEM, and ends
      at END_ELEM.  The result are written to MBCSET and SBCSET.
@@ -2682,7 +2693,6 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
      update it.  */
 
 static reg_errcode_t
-internal_function
 # ifdef RE_ENABLE_I18N
 build_range_exp (const reg_syntax_t syntax,
                  bitset_t sbcset,
@@ -2699,17 +2709,18 @@ build_range_exp (const reg_syntax_t syntax,
 {
   unsigned int start_ch, end_ch;
   /* Equivalence Classes and Character Classes can't be a range start/end.  */
-  if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS
-         || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS,
-         0))
+  if (__glibc_unlikely (start_elem->type == EQUIV_CLASS
+                       || start_elem->type == CHAR_CLASS
+                       || end_elem->type == EQUIV_CLASS
+                       || end_elem->type == CHAR_CLASS))
     return REG_ERANGE;
 
   /* We can handle no multi character collating elements without libc
      support.  */
-  if (BE ((start_elem->type == COLL_SYM
-          && strlen ((char *) start_elem->opr.name) > 1)
-         || (end_elem->type == COLL_SYM
-             && strlen ((char *) end_elem->opr.name) > 1), 0))
+  if (__glibc_unlikely ((start_elem->type == COLL_SYM
+                        && strlen ((char *) start_elem->opr.name) > 1)
+                       || (end_elem->type == COLL_SYM
+                           && strlen ((char *) end_elem->opr.name) > 1)))
     return REG_ECOLLATE;
 
 # ifdef RE_ENABLE_I18N
@@ -2725,12 +2736,13 @@ build_range_exp (const reg_syntax_t syntax,
              : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0]
                 : 0));
     start_wc = ((start_elem->type == SB_CHAR || start_elem->type == COLL_SYM)
-               ? __btowc (start_ch) : start_elem->opr.wch);
+               ? parse_byte (start_ch, mbcset) : start_elem->opr.wch);
     end_wc = ((end_elem->type == SB_CHAR || end_elem->type == COLL_SYM)
-             ? __btowc (end_ch) : end_elem->opr.wch);
+             ? parse_byte (end_ch, mbcset) : end_elem->opr.wch);
     if (start_wc == WEOF || end_wc == WEOF)
       return REG_ECOLLATE;
-    else if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_wc > end_wc, 0))
+    else if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES)
+                              && start_wc > end_wc))
       return REG_ERANGE;
 
     /* Got valid collation sequence values, add them as a new entry.
@@ -2741,7 +2753,7 @@ build_range_exp (const reg_syntax_t syntax,
     if (mbcset)
       {
        /* Check the space of the arrays.  */
-       if (BE (*range_alloc == mbcset->nranges, 0))
+       if (__glibc_unlikely (*range_alloc == mbcset->nranges))
          {
            /* There is not enough space, need realloc.  */
            wchar_t *new_array_start, *new_array_end;
@@ -2756,8 +2768,13 @@ build_range_exp (const reg_syntax_t syntax,
            new_array_end = re_realloc (mbcset->range_ends, wchar_t,
                                        new_nranges);
 
-           if (BE (new_array_start == NULL || new_array_end == NULL, 0))
-             return REG_ESPACE;
+           if (__glibc_unlikely (new_array_start == NULL
+                                 || new_array_end == NULL))
+             {
+               re_free (new_array_start);
+               re_free (new_array_end);
+               return REG_ESPACE;
+             }
 
            mbcset->range_starts = new_array_start;
            mbcset->range_ends = new_array_end;
@@ -2804,7 +2821,6 @@ build_range_exp (const reg_syntax_t syntax,
    pointer argument since we may update it.  */
 
 static reg_errcode_t
-internal_function
 # ifdef RE_ENABLE_I18N
 build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset,
                        Idx *coll_sym_alloc, const unsigned char *name)
@@ -2813,7 +2829,7 @@ build_collating_symbol (bitset_t sbcset, const unsigned char *name)
 # endif /* not RE_ENABLE_I18N */
 {
   size_t name_len = strlen ((const char *) name);
-  if (BE (name_len != 1, 0))
+  if (__glibc_unlikely (name_len != 1))
     return REG_ECOLLATE;
   else
     {
@@ -2948,18 +2964,21 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 
       /* Equivalence Classes and Character Classes can't be a range
         start/end.  */
-      if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS
-             || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS,
-             0))
+      if (__glibc_unlikely (start_elem->type == EQUIV_CLASS
+                           || start_elem->type == CHAR_CLASS
+                           || end_elem->type == EQUIV_CLASS
+                           || end_elem->type == CHAR_CLASS))
        return REG_ERANGE;
 
       /* FIXME: Implement rational ranges here, too.  */
       start_collseq = lookup_collation_sequence_value (start_elem);
       end_collseq = lookup_collation_sequence_value (end_elem);
       /* Check start/end collation sequence values.  */
-      if (BE (start_collseq == UINT_MAX || end_collseq == UINT_MAX, 0))
+      if (__glibc_unlikely (start_collseq == UINT_MAX
+                           || end_collseq == UINT_MAX))
        return REG_ECOLLATE;
-      if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_collseq > end_collseq, 0))
+      if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES)
+                           && start_collseq > end_collseq))
        return REG_ERANGE;
 
       /* Got valid collation sequence values, add them as a new entry.
@@ -2969,7 +2988,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       if (nrules > 0 || dfa->mb_cur_max > 1)
        {
          /* Check the space of the arrays.  */
-         if (BE (*range_alloc == mbcset->nranges, 0))
+         if (__glibc_unlikely (*range_alloc == mbcset->nranges))
            {
              /* There is not enough space, need realloc.  */
              uint32_t *new_array_start;
@@ -2983,7 +3002,8 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
              new_array_end = re_realloc (mbcset->range_ends, uint32_t,
                                          new_nranges);
 
-             if (BE (new_array_start == NULL || new_array_end == NULL, 0))
+             if (__glibc_unlikely (new_array_start == NULL
+                                   || new_array_end == NULL))
                return REG_ESPACE;
 
              mbcset->range_starts = new_array_start;
@@ -3047,7 +3067,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 
          /* Got valid collation sequence, add it as a new entry.  */
          /* Check the space of the arrays.  */
-         if (BE (*coll_sym_alloc == mbcset->ncoll_syms, 0))
+         if (__glibc_unlikely (*coll_sym_alloc == mbcset->ncoll_syms))
            {
              /* Not enough, realloc it.  */
              /* +1 in case of mbcset->ncoll_syms is 0.  */
@@ -3056,7 +3076,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
                 if *alloc == 0.  */
              int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t,
                                                   new_coll_sym_alloc);
-             if (BE (new_coll_syms == NULL, 0))
+             if (__glibc_unlikely (new_coll_syms == NULL))
                return REG_ESPACE;
              mbcset->coll_syms = new_coll_syms;
              *coll_sym_alloc = new_coll_sym_alloc;
@@ -3066,7 +3086,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
        }
       else
        {
-         if (BE (name_len != 1, 0))
+         if (__glibc_unlikely (name_len != 1))
            return REG_ECOLLATE;
          else
            {
@@ -3110,9 +3130,9 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
   mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1);
 #endif /* RE_ENABLE_I18N */
 #ifdef RE_ENABLE_I18N
-  if (BE (sbcset == NULL || mbcset == NULL, 0))
+  if (__glibc_unlikely (sbcset == NULL || mbcset == NULL))
 #else
-  if (BE (sbcset == NULL, 0))
+  if (__glibc_unlikely (sbcset == NULL))
 #endif /* RE_ENABLE_I18N */
     {
       re_free (sbcset);
@@ -3124,7 +3144,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
     }
 
   token_len = peek_token_bracket (token, regexp, syntax);
-  if (BE (token->type == END_OF_RE, 0))
+  if (__glibc_unlikely (token->type == END_OF_RE))
     {
       *err = REG_BADPAT;
       goto parse_bracket_exp_free_return;
@@ -3139,7 +3159,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
        bitset_set (sbcset, '\n');
       re_string_skip_bytes (regexp, token_len); /* Skip a token.  */
       token_len = peek_token_bracket (token, regexp, syntax);
-      if (BE (token->type == END_OF_RE, 0))
+      if (__glibc_unlikely (token->type == END_OF_RE))
        {
          *err = REG_BADPAT;
          goto parse_bracket_exp_free_return;
@@ -3161,9 +3181,10 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       re_token_t token2;
 
       start_elem.opr.name = start_name_buf;
+      start_elem.type = COLL_SYM;
       ret = parse_bracket_element (&start_elem, regexp, token, token_len, dfa,
                                   syntax, first_round);
-      if (BE (ret != REG_NOERROR, 0))
+      if (__glibc_unlikely (ret != REG_NOERROR))
        {
          *err = ret;
          goto parse_bracket_exp_free_return;
@@ -3176,7 +3197,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       /* Do not check for ranges if we know they are not allowed.  */
       if (start_elem.type != CHAR_CLASS && start_elem.type != EQUIV_CLASS)
        {
-         if (BE (token->type == END_OF_RE, 0))
+         if (__glibc_unlikely (token->type == END_OF_RE))
            {
              *err = REG_EBRACK;
              goto parse_bracket_exp_free_return;
@@ -3185,7 +3206,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
            {
              re_string_skip_bytes (regexp, token_len); /* Skip '-'.  */
              token_len2 = peek_token_bracket (&token2, regexp, syntax);
-             if (BE (token2.type == END_OF_RE, 0))
+             if (__glibc_unlikely (token2.type == END_OF_RE))
                {
                  *err = REG_EBRACK;
                  goto parse_bracket_exp_free_return;
@@ -3204,9 +3225,10 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       if (is_range_exp == true)
        {
          end_elem.opr.name = end_name_buf;
+         end_elem.type = COLL_SYM;
          ret = parse_bracket_element (&end_elem, regexp, &token2, token_len2,
                                       dfa, syntax, true);
-         if (BE (ret != REG_NOERROR, 0))
+         if (__glibc_unlikely (ret != REG_NOERROR))
            {
              *err = ret;
              goto parse_bracket_exp_free_return;
@@ -3226,7 +3248,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
          *err = build_range_exp (syntax, sbcset, &start_elem, &end_elem);
 # endif
 #endif /* RE_ENABLE_I18N */
-         if (BE (*err != REG_NOERROR, 0))
+         if (__glibc_unlikely (*err != REG_NOERROR))
            goto parse_bracket_exp_free_return;
        }
       else
@@ -3239,7 +3261,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 #ifdef RE_ENABLE_I18N
            case MB_CHAR:
              /* Check whether the array has enough space.  */
-             if (BE (mbchar_alloc == mbcset->nmbchars, 0))
+             if (__glibc_unlikely (mbchar_alloc == mbcset->nmbchars))
                {
                  wchar_t *new_mbchars;
                  /* Not enough, realloc it.  */
@@ -3248,7 +3270,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
                  /* Use realloc since array is NULL if *alloc == 0.  */
                  new_mbchars = re_realloc (mbcset->mbchars, wchar_t,
                                            mbchar_alloc);
-                 if (BE (new_mbchars == NULL, 0))
+                 if (__glibc_unlikely (new_mbchars == NULL))
                    goto parse_bracket_exp_espace;
                  mbcset->mbchars = new_mbchars;
                }
@@ -3261,7 +3283,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
                                        mbcset, &equiv_class_alloc,
 #endif /* RE_ENABLE_I18N */
                                        start_elem.opr.name);
-             if (BE (*err != REG_NOERROR, 0))
+             if (__glibc_unlikely (*err != REG_NOERROR))
                goto parse_bracket_exp_free_return;
              break;
            case COLL_SYM:
@@ -3270,7 +3292,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
                                             mbcset, &coll_sym_alloc,
 #endif /* RE_ENABLE_I18N */
                                             start_elem.opr.name);
-             if (BE (*err != REG_NOERROR, 0))
+             if (__glibc_unlikely (*err != REG_NOERROR))
                goto parse_bracket_exp_free_return;
              break;
            case CHAR_CLASS:
@@ -3280,7 +3302,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 #endif /* RE_ENABLE_I18N */
                                      (const char *) start_elem.opr.name,
                                      syntax);
-             if (BE (*err != REG_NOERROR, 0))
+             if (__glibc_unlikely (*err != REG_NOERROR))
               goto parse_bracket_exp_free_return;
              break;
            default:
@@ -3288,7 +3310,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
              break;
            }
        }
-      if (BE (token->type == END_OF_RE, 0))
+      if (__glibc_unlikely (token->type == END_OF_RE))
        {
          *err = REG_EBRACK;
          goto parse_bracket_exp_free_return;
@@ -3319,7 +3341,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       br_token.type = COMPLEX_BRACKET;
       br_token.opr.mbcset = mbcset;
       mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token);
-      if (BE (mbc_tree == NULL, 0))
+      if (__glibc_unlikely (mbc_tree == NULL))
        goto parse_bracket_exp_espace;
       for (sbc_idx = 0; sbc_idx < BITSET_WORDS; ++sbc_idx)
        if (sbcset[sbc_idx])
@@ -3332,12 +3354,12 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
          br_token.type = SIMPLE_BRACKET;
          br_token.opr.sbcset = sbcset;
          work_tree = create_token_tree (dfa, NULL, NULL, &br_token);
-         if (BE (work_tree == NULL, 0))
+         if (__glibc_unlikely (work_tree == NULL))
            goto parse_bracket_exp_espace;
 
          /* Then join them by ALT node.  */
          work_tree = create_tree (dfa, work_tree, mbc_tree, OP_ALT);
-         if (BE (work_tree == NULL, 0))
+         if (__glibc_unlikely (work_tree == NULL))
            goto parse_bracket_exp_espace;
        }
       else
@@ -3356,7 +3378,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       br_token.type = SIMPLE_BRACKET;
       br_token.opr.sbcset = sbcset;
       work_tree = create_token_tree (dfa, NULL, NULL, &br_token);
-      if (BE (work_tree == NULL, 0))
+      if (__glibc_unlikely (work_tree == NULL))
        goto parse_bracket_exp_espace;
     }
   return work_tree;
@@ -3393,7 +3415,7 @@ parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp,
   if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS
       || token->type == OP_OPEN_EQUIV_CLASS)
     return parse_bracket_symbol (elem, regexp, token);
-  if (BE (token->type == OP_CHARSET_RANGE, 0) && !accept_hyphen)
+  if (__glibc_unlikely (token->type == OP_CHARSET_RANGE) && !accept_hyphen)
     {
       /* A '-' must only appear as anything but a range indicator before
         the closing bracket.  Everything else is an error.  */
@@ -3478,8 +3500,6 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
       int32_t idx1, idx2;
       unsigned int ch;
       size_t len;
-      /* This #include defines a local function!  */
-# include <locale/weight.h>
       /* Calculate the index for equivalence class.  */
       cp = name;
       table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB);
@@ -3489,8 +3509,8 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
                                                   _NL_COLLATE_EXTRAMB);
       indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
                                                _NL_COLLATE_INDIRECTMB);
-      idx1 = findidx (&cp, -1);
-      if (BE (idx1 == 0 || *cp != '\0', 0))
+      idx1 = findidx (table, indirect, extra, &cp, -1);
+      if (__glibc_unlikely (idx1 == 0 || *cp != '\0'))
        /* This isn't a valid character.  */
        return REG_ECOLLATE;
 
@@ -3500,7 +3520,7 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
        {
          char_buf[0] = ch;
          cp = char_buf;
-         idx2 = findidx (&cp, 1);
+         idx2 = findidx (table, indirect, extra, &cp, 1);
 /*
          idx2 = table[ch];
 */
@@ -3509,21 +3529,13 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
            continue;
          /* Compare only if the length matches and the collation rule
             index is the same.  */
-         if (len == weights[idx2 & 0xffffff] && (idx1 >> 24) == (idx2 >> 24))
-           {
-             int cnt = 0;
-
-             while (cnt <= len &&
-                    weights[(idx1 & 0xffffff) + 1 + cnt]
-                    == weights[(idx2 & 0xffffff) + 1 + cnt])
-               ++cnt;
-
-             if (cnt > len)
-               bitset_set (sbcset, ch);
-           }
+         if (len == weights[idx2 & 0xffffff] && (idx1 >> 24) == (idx2 >> 24)
+             && memcmp (weights + (idx1 & 0xffffff) + 1,
+                        weights + (idx2 & 0xffffff) + 1, len) == 0)
+           bitset_set (sbcset, ch);
        }
       /* Check whether the array has enough space.  */
-      if (BE (*equiv_class_alloc == mbcset->nequiv_classes, 0))
+      if (__glibc_unlikely (*equiv_class_alloc == mbcset->nequiv_classes))
        {
          /* Not enough, realloc it.  */
          /* +1 in case of mbcset->nequiv_classes is 0.  */
@@ -3532,7 +3544,7 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
          int32_t *new_equiv_classes = re_realloc (mbcset->equiv_classes,
                                                   int32_t,
                                                   new_equiv_class_alloc);
-         if (BE (new_equiv_classes == NULL, 0))
+         if (__glibc_unlikely (new_equiv_classes == NULL))
            return REG_ESPACE;
          mbcset->equiv_classes = new_equiv_classes;
          *equiv_class_alloc = new_equiv_class_alloc;
@@ -3542,7 +3554,7 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
   else
 #endif /* _LIBC */
     {
-      if (BE (strlen ((const char *) name) != 1, 0))
+      if (__glibc_unlikely (strlen ((const char *) name) != 1))
        return REG_ECOLLATE;
       bitset_set (sbcset, *name);
     }
@@ -3576,7 +3588,7 @@ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
 
 #ifdef RE_ENABLE_I18N
   /* Check the space of the arrays.  */
-  if (BE (*char_class_alloc == mbcset->nchar_classes, 0))
+  if (__glibc_unlikely (*char_class_alloc == mbcset->nchar_classes))
     {
       /* Not enough, realloc it.  */
       /* +1 in case of mbcset->nchar_classes is 0.  */
@@ -3584,7 +3596,7 @@ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
       /* Use realloc since array is NULL if *alloc == 0.  */
       wctype_t *new_char_classes = re_realloc (mbcset->char_classes, wctype_t,
                                               new_char_class_alloc);
-      if (BE (new_char_classes == NULL, 0))
+      if (__glibc_unlikely (new_char_classes == NULL))
        return REG_ESPACE;
       mbcset->char_classes = new_char_classes;
       *char_class_alloc = new_char_class_alloc;
@@ -3594,7 +3606,7 @@ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
 
 #define BUILD_CHARCLASS_LOOP(ctype_func)       \
   do {                                         \
-    if (BE (trans != NULL, 0))                 \
+    if (__glibc_unlikely (trans != NULL))                      \
       {                                                \
        for (i = 0; i < SBC_MAX; ++i)           \
          if (ctype_func (i))                   \
@@ -3654,26 +3666,21 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
   bin_tree_t *tree;
 
   sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
-#ifdef RE_ENABLE_I18N
-  mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1);
-#endif /* RE_ENABLE_I18N */
-
-#ifdef RE_ENABLE_I18N
-  if (BE (sbcset == NULL || mbcset == NULL, 0))
-#else /* not RE_ENABLE_I18N */
-  if (BE (sbcset == NULL, 0))
-#endif /* not RE_ENABLE_I18N */
+  if (__glibc_unlikely (sbcset == NULL))
     {
       *err = REG_ESPACE;
       return NULL;
     }
-
-  if (non_match)
-    {
 #ifdef RE_ENABLE_I18N
-      mbcset->non_match = 1;
-#endif /* not RE_ENABLE_I18N */
+  mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1);
+  if (__glibc_unlikely (mbcset == NULL))
+    {
+      re_free (sbcset);
+      *err = REG_ESPACE;
+      return NULL;
     }
+  mbcset->non_match = non_match;
+#endif /* RE_ENABLE_I18N */
 
   /* We don't care the syntax in this case.  */
   ret = build_charclass (trans, sbcset,
@@ -3682,7 +3689,7 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
 #endif /* RE_ENABLE_I18N */
                         class_name, 0);
 
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     {
       re_free (sbcset);
 #ifdef RE_ENABLE_I18N
@@ -3706,10 +3713,13 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
 #endif
 
   /* Build a tree for simple bracket.  */
+#if defined GCC_LINT || defined lint
+  memset (&br_token, 0, sizeof br_token);
+#endif
   br_token.type = SIMPLE_BRACKET;
   br_token.opr.sbcset = sbcset;
   tree = create_token_tree (dfa, NULL, NULL, &br_token);
-  if (BE (tree == NULL, 0))
+  if (__glibc_unlikely (tree == NULL))
     goto build_word_op_espace;
 
 #ifdef RE_ENABLE_I18N
@@ -3721,11 +3731,11 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
       br_token.opr.mbcset = mbcset;
       dfa->has_mb_node = 1;
       mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token);
-      if (BE (mbc_tree == NULL, 0))
+      if (__glibc_unlikely (mbc_tree == NULL))
        goto build_word_op_espace;
       /* Then join them by ALT node.  */
       tree = create_tree (dfa, tree, mbc_tree, OP_ALT);
-      if (BE (mbc_tree != NULL, 1))
+      if (__glibc_likely (mbc_tree != NULL))
        return tree;
     }
   else
@@ -3748,27 +3758,26 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
 
 /* This is intended for the expressions like "a{1,3}".
    Fetch a number from 'input', and return the number.
-   Return REG_MISSING if the number field is empty like "{,1}".
+   Return -1 if the number field is empty like "{,1}".
    Return RE_DUP_MAX + 1 if the number field is too large.
-   Return REG_ERROR if an error occurred.  */
+   Return -2 if an error occurred.  */
 
 static Idx
 fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax)
 {
-  Idx num = REG_MISSING;
+  Idx num = -1;
   unsigned char c;
   while (1)
     {
       fetch_token (token, input, syntax);
       c = token->opr.c;
-      if (BE (token->type == END_OF_RE, 0))
-       return REG_ERROR;
+      if (__glibc_unlikely (token->type == END_OF_RE))
+       return -2;
       if (token->type == OP_CLOSE_DUP_NUM || c == ',')
        break;
-      num = ((token->type != CHARACTER || c < '0' || '9' < c
-             || num == REG_ERROR)
-            ? REG_ERROR
-            : num == REG_MISSING
+      num = ((token->type != CHARACTER || c < '0' || '9' < c || num == -2)
+            ? -2
+            : num == -1
             ? c - '0'
             : MIN (RE_DUP_MAX + 1, num * 10 + c - '0'));
     }
@@ -3783,9 +3792,9 @@ free_charset (re_charset_t *cset)
 # ifdef _LIBC
   re_free (cset->coll_syms);
   re_free (cset->equiv_classes);
+# endif
   re_free (cset->range_starts);
   re_free (cset->range_ends);
-# endif
   re_free (cset->char_classes);
   re_free (cset);
 }
@@ -3800,6 +3809,9 @@ create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
             re_token_type_t type)
 {
   re_token_t t;
+#if defined GCC_LINT || defined lint
+  memset (&t, 0, sizeof t);
+#endif
   t.type = type;
   return create_token_tree (dfa, left, right, &t);
 }
@@ -3809,7 +3821,7 @@ create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
                   const re_token_t *token)
 {
   bin_tree_t *tree;
-  if (BE (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE, 0))
+  if (__glibc_unlikely (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE))
     {
       bin_tree_storage_t *storage = re_malloc (bin_tree_storage_t, 1);
 
@@ -3829,7 +3841,7 @@ create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
   tree->token.opt_subexp = 0;
   tree->first = NULL;
   tree->next = NULL;
-  tree->node_idx = REG_MISSING;
+  tree->node_idx = -1;
 
   if (left != NULL)
     left->parent = tree;
index 95beb6fba3b5ff123c5aec32ed57a95e113ff3c8..eab7a48b24008c72c6ef63697401b4916605e93e 100644 (file)
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
 
    You should have received a copy of the GNU General Public
    License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
+   <https://www.gnu.org/licenses/>.  */
 
 #ifndef _LIBC
-# include <config.h>
+# include <libc-config.h>
 
-# if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__
+# if __GNUC_PREREQ (4, 6)
 #  pragma GCC diagnostic ignored "-Wsuggest-attribute=pure"
 # endif
-# if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
+# if __GNUC_PREREQ (4, 3)
 #  pragma GCC diagnostic ignored "-Wold-style-definition"
 #  pragma GCC diagnostic ignored "-Wtype-limits"
 # endif
index a3ac7a9e9eefb0b56092300230bb3c15c9dc9c5e..77ac1a559c4d84d2915f91e4736839e97a409fbd 100644 (file)
@@ -1,7 +1,6 @@
 /* Definitions for data structures and routines for the regular
    expression library.
-   Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2014 Free Software
-   Foundation, Inc.
+   Copyright (C) 1985, 1989-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +15,7 @@
 
    You should have received a copy of the GNU General Public
    License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
+   <https://www.gnu.org/licenses/>.  */
 
 #ifndef _REGEX_H
 #define _REGEX_H 1
@@ -42,11 +41,6 @@ extern "C" {
    supported within glibc itself, and glibc users should not define
    _REGEX_LARGE_OFFSETS.  */
 
-/* The type of nonnegative object indexes.  Traditionally, GNU regex
-   uses 'int' for these.  Code that uses __re_idx_t should work
-   regardless of whether the type is signed.  */
-typedef size_t __re_idx_t;
-
 /* The type of object sizes.  */
 typedef size_t __re_size_t;
 
@@ -58,7 +52,6 @@ typedef size_t __re_long_size_t;
 
 /* The traditional GNU regex implementation mishandles strings longer
    than INT_MAX.  */
-typedef int __re_idx_t;
 typedef unsigned int __re_size_t;
 typedef unsigned long int __re_long_size_t;
 
@@ -244,19 +237,16 @@ extern reg_syntax_t re_syntax_options;
    | RE_INVALID_INTERVAL_ORD)
 
 # define RE_SYNTAX_GREP                                                        \
-  (RE_BK_PLUS_QM              | RE_CHAR_CLASSES                                \
-   | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS                           \
-   | RE_NEWLINE_ALT)
+  ((RE_SYNTAX_POSIX_BASIC | RE_NEWLINE_ALT)                            \
+   & ~(RE_CONTEXT_INVALID_DUP | RE_DOT_NOT_NULL))
 
 # define RE_SYNTAX_EGREP                                               \
-  (RE_CHAR_CLASSES        | RE_CONTEXT_INDEP_ANCHORS                   \
-   | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE                   \
-   | RE_NEWLINE_ALT       | RE_NO_BK_PARENS                            \
-   | RE_NO_BK_VBAR)
+  ((RE_SYNTAX_POSIX_EXTENDED | RE_INVALID_INTERVAL_ORD | RE_NEWLINE_ALT) \
+   & ~(RE_CONTEXT_INVALID_OPS | RE_DOT_NOT_NULL))
 
+/* POSIX grep -E behavior is no longer incompatible with GNU.  */
 # define RE_SYNTAX_POSIX_EGREP                                         \
-  (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES                    \
-   | RE_INVALID_INTERVAL_ORD)
+  RE_SYNTAX_EGREP
 
 /* P1003.2/D11.2, section 4.20.7.1, lines 5078ff.  */
 # define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
@@ -491,7 +481,8 @@ typedef struct re_pattern_buffer regex_t;
 #ifdef _REGEX_LARGE_OFFSETS
 /* POSIX 1003.1-2008 requires that regoff_t be at least as wide as
    ptrdiff_t and ssize_t.  We don't know of any hosts where ptrdiff_t
-   is wider than ssize_t, so ssize_t is safe.  */
+   is wider than ssize_t, so ssize_t is safe.  ptrdiff_t is not
+   visible here, so use ssize_t.  */
 typedef ssize_t regoff_t;
 #else
 /* The traditional GNU regex implementation mishandles strings longer
@@ -541,7 +532,7 @@ extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax);
    BUFFER.  Return NULL if successful, and an error string if not.
 
    To free the allocated storage, you must call 'regfree' on BUFFER.
-   Note that the translate table must either have been initialised by
+   Note that the translate table must either have been initialized by
    'regcomp', with a malloc'ed value, or set to NULL before calling
    'regfree'.  */
 extern const char *re_compile_pattern (const char *__pattern, size_t __length,
@@ -560,34 +551,34 @@ extern int re_compile_fastmap (struct re_pattern_buffer *__buffer);
    match, or -2 for an internal error.  Also return register
    information in REGS (if REGS and BUFFER->no_sub are nonzero).  */
 extern regoff_t re_search (struct re_pattern_buffer *__buffer,
-                          const char *__string, __re_idx_t __length,
-                          __re_idx_t __start, regoff_t __range,
+                          const char *__String, regoff_t __length,
+                          regoff_t __start, regoff_t __range,
                           struct re_registers *__regs);
 
 
 /* Like 're_search', but search in the concatenation of STRING1 and
    STRING2.  Also, stop searching at index START + STOP.  */
 extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer,
-                            const char *__string1, __re_idx_t __length1,
-                            const char *__string2, __re_idx_t __length2,
-                            __re_idx_t __start, regoff_t __range,
+                            const char *__string1, regoff_t __length1,
+                            const char *__string2, regoff_t __length2,
+                            regoff_t __start, regoff_t __range,
                             struct re_registers *__regs,
-                            __re_idx_t __stop);
+                            regoff_t __stop);
 
 
 /* Like 're_search', but return how many characters in STRING the regexp
    in BUFFER matched, starting at position START.  */
 extern regoff_t re_match (struct re_pattern_buffer *__buffer,
-                         const char *__string, __re_idx_t __length,
-                         __re_idx_t __start, struct re_registers *__regs);
+                         const char *__String, regoff_t __length,
+                         regoff_t __start, struct re_registers *__regs);
 
 
 /* Relates to 're_match' as 're_search_2' relates to 're_search'.  */
 extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer,
-                           const char *__string1, __re_idx_t __length1,
-                           const char *__string2, __re_idx_t __length2,
-                           __re_idx_t __start, struct re_registers *__regs,
-                           __re_idx_t __stop);
+                           const char *__string1, regoff_t __length1,
+                           const char *__string2, regoff_t __length2,
+                           regoff_t __start, struct re_registers *__regs,
+                           regoff_t __stop);
 
 
 /* Set REGS to hold NUM_REGS registers, storing them in STARTS and
@@ -608,7 +599,7 @@ extern void re_set_registers (struct re_pattern_buffer *__buffer,
                              regoff_t *__starts, regoff_t *__ends);
 #endif /* Use GNU */
 
-#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_BSD)
+#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_MISC)
 # ifndef _CRAY
 /* 4.2 bsd compatibility.  */
 extern char *re_comp (const char *);
@@ -616,28 +607,28 @@ extern int re_exec (const char *);
 # endif
 #endif
 
-/* GCC 2.95 and later have "__restrict"; C99 compilers have
+/* For plain 'restrict', use glibc's __restrict if defined.
+   Otherwise, GCC 2.95 and later have "__restrict"; C99 compilers have
    "restrict", and "configure" may have defined "restrict".
    Other compilers use __restrict, __restrict__, and _Restrict, and
    'configure' might #define 'restrict' to those words, so pick a
    different name.  */
 #ifndef _Restrict_
-# if 199901L <= __STDC_VERSION__
-#  define _Restrict_ restrict
-# elif 2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__)
+# if defined __restrict || 2 < __GNUC__ + (95 <= __GNUC_MINOR__)
 #  define _Restrict_ __restrict
+# elif 199901L <= __STDC_VERSION__ || defined restrict
+#  define _Restrict_ restrict
 # else
 #  define _Restrict_
 # endif
 #endif
-/* gcc 3.1 and up support the [restrict] syntax.  Don't trust
-   sys/cdefs.h's definition of __restrict_arr, though, as it
-   mishandles gcc -ansi -pedantic.  */
+/* For [restrict], use glibc's __restrict_arr if available.
+   Otherwise, GCC 3.1 (not in C++ mode) and C99 support [restrict].  */
 #ifndef _Restrict_arr_
-# if ((199901L <= __STDC_VERSION__                                     \
-       || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__))    \
-          && !defined __STRICT_ANSI__))                                        \
-      && !defined __GNUG__)
+# ifdef __restrict_arr
+#  define _Restrict_arr_ __restrict_arr
+# elif ((199901L <= __STDC_VERSION__ || 3 < __GNUC__ + (1 <= __GNUC_MINOR__)) \
+        && !defined __GNUG__)
 #  define _Restrict_arr_ _Restrict_
 # else
 #  define _Restrict_arr_
@@ -650,7 +641,7 @@ extern int regcomp (regex_t *_Restrict_ __preg,
                    int __cflags);
 
 extern int regexec (const regex_t *_Restrict_ __preg,
-                   const char *_Restrict_ __string, size_t __nmatch,
+                   const char *_Restrict_ __String, size_t __nmatch,
                    regmatch_t __pmatch[_Restrict_arr_],
                    int __eflags);
 
index c5bb0122187eb03b7acc93c1a17e892921c41cf8..b592f06725c1e1177594029e3c549229716a98b6 100644 (file)
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
 
    You should have received a copy of the GNU General Public
    License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
+   <https://www.gnu.org/licenses/>.  */
 
 static void re_string_construct_common (const char *str, Idx len,
                                        re_string_t *pstr,
                                        RE_TRANSLATE_TYPE trans, bool icase,
-                                       const re_dfa_t *dfa) internal_function;
+                                       const re_dfa_t *dfa);
 static re_dfastate_t *create_ci_newstate (const re_dfa_t *dfa,
                                          const re_node_set *nodes,
-                                         re_hashval_t hash) internal_function;
+                                         re_hashval_t hash);
 static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa,
                                          const re_node_set *nodes,
                                          unsigned int context,
-                                         re_hashval_t hash) internal_function;
+                                         re_hashval_t hash);
+static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr,
+                                               Idx new_buf_len);
+#ifdef RE_ENABLE_I18N
+static void build_wcs_buffer (re_string_t *pstr);
+static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr);
+#endif /* RE_ENABLE_I18N */
+static void build_upper_buffer (re_string_t *pstr);
+static void re_string_translate_buffer (re_string_t *pstr);
+static unsigned int re_string_context_at (const re_string_t *input, Idx idx,
+                                         int eflags) __attribute__ ((pure));
 \f
 /* Functions for string operation.  */
 
@@ -35,7 +45,7 @@ static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa,
    re_string_reconstruct before using the object.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_string_allocate (re_string_t *pstr, const char *str, Idx len, Idx init_len,
                    RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa)
 {
@@ -49,7 +59,7 @@ re_string_allocate (re_string_t *pstr, const char *str, Idx len, Idx init_len,
   re_string_construct_common (str, len, pstr, trans, icase, dfa);
 
   ret = re_string_realloc_buffers (pstr, init_buf_len);
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
 
   pstr->word_char = dfa->word_char;
@@ -63,7 +73,7 @@ re_string_allocate (re_string_t *pstr, const char *str, Idx len, Idx init_len,
 /* This function allocate the buffers, and initialize them.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_string_construct (re_string_t *pstr, const char *str, Idx len,
                     RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa)
 {
@@ -74,7 +84,7 @@ re_string_construct (re_string_t *pstr, const char *str, Idx len,
   if (len > 0)
     {
       ret = re_string_realloc_buffers (pstr, len + 1);
-      if (BE (ret != REG_NOERROR, 0))
+      if (__glibc_unlikely (ret != REG_NOERROR))
        return ret;
     }
   pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str;
@@ -87,14 +97,14 @@ re_string_construct (re_string_t *pstr, const char *str, Idx len,
          while (1)
            {
              ret = build_wcs_upper_buffer (pstr);
-             if (BE (ret != REG_NOERROR, 0))
+             if (__glibc_unlikely (ret != REG_NOERROR))
                return ret;
              if (pstr->valid_raw_len >= len)
                break;
              if (pstr->bufs_len > pstr->valid_len + dfa->mb_cur_max)
                break;
              ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2);
-             if (BE (ret != REG_NOERROR, 0))
+             if (__glibc_unlikely (ret != REG_NOERROR))
                return ret;
            }
        }
@@ -126,7 +136,7 @@ re_string_construct (re_string_t *pstr, const char *str, Idx len,
 /* Helper functions for re_string_allocate, and re_string_construct.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len)
 {
 #ifdef RE_ENABLE_I18N
@@ -136,17 +146,18 @@ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len)
 
       /* Avoid overflow in realloc.  */
       const size_t max_object_size = MAX (sizeof (wint_t), sizeof (Idx));
-      if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < new_buf_len, 0))
+      if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size)
+                           < new_buf_len))
        return REG_ESPACE;
 
       new_wcs = re_realloc (pstr->wcs, wint_t, new_buf_len);
-      if (BE (new_wcs == NULL, 0))
+      if (__glibc_unlikely (new_wcs == NULL))
        return REG_ESPACE;
       pstr->wcs = new_wcs;
       if (pstr->offsets != NULL)
        {
          Idx *new_offsets = re_realloc (pstr->offsets, Idx, new_buf_len);
-         if (BE (new_offsets == NULL, 0))
+         if (__glibc_unlikely (new_offsets == NULL))
            return REG_ESPACE;
          pstr->offsets = new_offsets;
        }
@@ -156,7 +167,7 @@ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len)
     {
       unsigned char *new_mbs = re_realloc (pstr->mbs, unsigned char,
                                           new_buf_len);
-      if (BE (new_mbs == NULL, 0))
+      if (__glibc_unlikely (new_mbs == NULL))
        return REG_ESPACE;
       pstr->mbs = new_mbs;
     }
@@ -166,7 +177,6 @@ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len)
 
 
 static void
-internal_function
 re_string_construct_common (const char *str, Idx len, re_string_t *pstr,
                            RE_TRANSLATE_TYPE trans, bool icase,
                            const re_dfa_t *dfa)
@@ -198,7 +208,6 @@ re_string_construct_common (const char *str, Idx len, re_string_t *pstr,
    built and starts from PSTR->VALID_LEN.  */
 
 static void
-internal_function
 build_wcs_buffer (re_string_t *pstr)
 {
 #ifdef _LIBC
@@ -222,7 +231,7 @@ build_wcs_buffer (re_string_t *pstr)
       remain_len = end_idx - byte_idx;
       prev_st = pstr->cur_state;
       /* Apply the translation if we need.  */
-      if (BE (pstr->trans != NULL, 0))
+      if (__glibc_unlikely (pstr->trans != NULL))
        {
          int i, ch;
 
@@ -236,17 +245,18 @@ build_wcs_buffer (re_string_t *pstr)
       else
        p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx;
       mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
-      if (BE (mbclen == (size_t) -1 || mbclen == 0
-             || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len), 0))
+      if (__glibc_unlikely (mbclen == (size_t) -1 || mbclen == 0
+                           || (mbclen == (size_t) -2
+                               && pstr->bufs_len >= pstr->len)))
        {
          /* We treat these cases as a singlebyte character.  */
          mbclen = 1;
          wc = (wchar_t) pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx];
-         if (BE (pstr->trans != NULL, 0))
+         if (__glibc_unlikely (pstr->trans != NULL))
            wc = pstr->trans[wc];
          pstr->cur_state = prev_st;
        }
-      else if (BE (mbclen == (size_t) -2, 0))
+      else if (__glibc_unlikely (mbclen == (size_t) -2))
        {
          /* The buffer doesn't have enough space, finish to build.  */
          pstr->cur_state = prev_st;
@@ -267,7 +277,7 @@ build_wcs_buffer (re_string_t *pstr)
    but for REG_ICASE.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 build_wcs_upper_buffer (re_string_t *pstr)
 {
   mbstate_t prev_st;
@@ -309,15 +319,15 @@ build_wcs_upper_buffer (re_string_t *pstr)
          mbclen = __mbrtowc (&wc,
                              ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx
                               + byte_idx), remain_len, &pstr->cur_state);
-         if (BE (mbclen < (size_t) -2, 1))
+         if (__glibc_likely (0 < mbclen && mbclen < (size_t) -2))
            {
-             wchar_t wcu = towupper (wc);
+             wchar_t wcu = __towupper (wc);
              if (wcu != wc)
                {
                  size_t mbcdlen;
 
-                 mbcdlen = wcrtomb (buf, wcu, &prev_st);
-                 if (BE (mbclen == mbcdlen, 1))
+                 mbcdlen = __wcrtomb (buf, wcu, &prev_st);
+                 if (__glibc_likely (mbclen == mbcdlen))
                    memcpy (pstr->mbs + byte_idx, buf, mbclen);
                  else
                    {
@@ -342,7 +352,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
              pstr->mbs[byte_idx] = ch;
              /* And also cast it to wide char.  */
              pstr->wcs[byte_idx++] = (wchar_t) ch;
-             if (BE (mbclen == (size_t) -1, 0))
+             if (__glibc_unlikely (mbclen == (size_t) -1))
                pstr->cur_state = prev_st;
            }
          else
@@ -364,7 +374,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
       offsets_needed:
        remain_len = end_idx - byte_idx;
        prev_st = pstr->cur_state;
-       if (BE (pstr->trans != NULL, 0))
+       if (__glibc_unlikely (pstr->trans != NULL))
          {
            int i, ch;
 
@@ -378,15 +388,15 @@ build_wcs_upper_buffer (re_string_t *pstr)
        else
          p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + src_idx;
        mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
-       if (BE (mbclen < (size_t) -2, 1))
+       if (__glibc_likely (0 < mbclen && mbclen < (size_t) -2))
          {
-           wchar_t wcu = towupper (wc);
+           wchar_t wcu = __towupper (wc);
            if (wcu != wc)
              {
                size_t mbcdlen;
 
-               mbcdlen = wcrtomb ((char *) buf, wcu, &prev_st);
-               if (BE (mbclen == mbcdlen, 1))
+               mbcdlen = __wcrtomb ((char *) buf, wcu, &prev_st);
+               if (__glibc_likely (mbclen == mbcdlen))
                  memcpy (pstr->mbs + byte_idx, buf, mbclen);
                else if (mbcdlen != (size_t) -1)
                  {
@@ -436,7 +446,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
            else
              memcpy (pstr->mbs + byte_idx, p, mbclen);
 
-           if (BE (pstr->offsets_needed != 0, 0))
+           if (__glibc_unlikely (pstr->offsets_needed != 0))
              {
                size_t i;
                for (i = 0; i < mbclen; ++i)
@@ -455,17 +465,17 @@ build_wcs_upper_buffer (re_string_t *pstr)
            /* It is an invalid character or '\0'.  Just use the byte.  */
            int ch = pstr->raw_mbs[pstr->raw_mbs_idx + src_idx];
 
-           if (BE (pstr->trans != NULL, 0))
+           if (__glibc_unlikely (pstr->trans != NULL))
              ch = pstr->trans [ch];
            pstr->mbs[byte_idx] = ch;
 
-           if (BE (pstr->offsets_needed != 0, 0))
+           if (__glibc_unlikely (pstr->offsets_needed != 0))
              pstr->offsets[byte_idx] = src_idx;
            ++src_idx;
 
            /* And also cast it to wide char.  */
            pstr->wcs[byte_idx++] = (wchar_t) ch;
-           if (BE (mbclen == (size_t) -1, 0))
+           if (__glibc_unlikely (mbclen == (size_t) -1))
              pstr->cur_state = prev_st;
          }
        else
@@ -484,7 +494,6 @@ build_wcs_upper_buffer (re_string_t *pstr)
    Return the index.  */
 
 static Idx
-internal_function
 re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc)
 {
   mbstate_t prev_st;
@@ -501,7 +510,8 @@ re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc)
       prev_st = pstr->cur_state;
       mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx,
                          remain_len, &pstr->cur_state);
-      if (BE (mbclen == (size_t) -2 || mbclen == (size_t) -1 || mbclen == 0, 0))
+      if (__glibc_unlikely (mbclen == (size_t) -2 || mbclen == (size_t) -1
+                           || mbclen == 0))
        {
          /* We treat these cases as a single byte character.  */
          if (mbclen == 0 || remain_len == 0)
@@ -525,7 +535,6 @@ re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc)
    This function is used in case of REG_ICASE.  */
 
 static void
-internal_function
 build_upper_buffer (re_string_t *pstr)
 {
   Idx char_idx, end_idx;
@@ -534,7 +543,7 @@ build_upper_buffer (re_string_t *pstr)
   for (char_idx = pstr->valid_len; char_idx < end_idx; ++char_idx)
     {
       int ch = pstr->raw_mbs[pstr->raw_mbs_idx + char_idx];
-      if (BE (pstr->trans != NULL, 0))
+      if (__glibc_unlikely (pstr->trans != NULL))
        ch = pstr->trans[ch];
       pstr->mbs[char_idx] = toupper (ch);
     }
@@ -545,7 +554,6 @@ build_upper_buffer (re_string_t *pstr)
 /* Apply TRANS to the buffer in PSTR.  */
 
 static void
-internal_function
 re_string_translate_buffer (re_string_t *pstr)
 {
   Idx buf_idx, end_idx;
@@ -566,12 +574,12 @@ re_string_translate_buffer (re_string_t *pstr)
    convert to upper case in case of REG_ICASE, apply translation.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 {
   Idx offset;
 
-  if (BE (pstr->raw_mbs_idx <= idx, 0))
+  if (__glibc_unlikely (pstr->raw_mbs_idx <= idx))
     offset = idx - pstr->raw_mbs_idx;
   else
     {
@@ -593,14 +601,14 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
       offset = idx;
     }
 
-  if (BE (offset != 0, 1))
+  if (__glibc_likely (offset != 0))
     {
       /* Should the already checked characters be kept?  */
-      if (BE (offset < pstr->valid_raw_len, 1))
+      if (__glibc_likely (offset < pstr->valid_raw_len))
        {
          /* Yes, move them to the front of the buffer.  */
 #ifdef RE_ENABLE_I18N
-         if (BE (pstr->offsets_needed, 0))
+         if (__glibc_unlikely (pstr->offsets_needed))
            {
              Idx low = 0, high = pstr->valid_len, mid;
              do
@@ -672,12 +680,12 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
                memmove (pstr->wcs, pstr->wcs + offset,
                         (pstr->valid_len - offset) * sizeof (wint_t));
 #endif /* RE_ENABLE_I18N */
-             if (BE (pstr->mbs_allocated, 0))
+             if (__glibc_unlikely (pstr->mbs_allocated))
                memmove (pstr->mbs, pstr->mbs + offset,
                         pstr->valid_len - offset);
              pstr->valid_len -= offset;
              pstr->valid_raw_len -= offset;
-#if DEBUG
+#if defined DEBUG && DEBUG
              assert (pstr->valid_len > 0);
 #endif
            }
@@ -688,7 +696,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
          /* No, skip all characters until IDX.  */
          Idx prev_valid_len = pstr->valid_len;
 
-         if (BE (pstr->offsets_needed, 0))
+         if (__glibc_unlikely (pstr->offsets_needed))
            {
              pstr->len = pstr->raw_len - idx + offset;
              pstr->stop = pstr->raw_stop - idx + offset;
@@ -716,7 +724,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 #ifdef _LIBC
                  /* We know the wchar_t encoding is UCS4, so for the simple
                     case, ASCII characters, skip the conversion step.  */
-                 if (isascii (*p) && BE (pstr->trans == NULL, 1))
+                 if (isascii (*p) && __glibc_likely (pstr->trans == NULL))
                    {
                      memset (&pstr->cur_state, '\0', sizeof (mbstate_t));
                      /* pstr->valid_len = 0; */
@@ -734,7 +742,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
                          size_t mbclen;
 
                          const unsigned char *pp = p;
-                         if (BE (pstr->trans != NULL, 0))
+                         if (__glibc_unlikely (pstr->trans != NULL))
                            {
                              int i = mlen < 6 ? mlen : 6;
                              while (--i >= 0)
@@ -764,13 +772,13 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
                pstr->tip_context
                  = re_string_context_at (pstr, prev_valid_len - 1, eflags);
              else
-               pstr->tip_context = ((BE (pstr->word_ops_used != 0, 0)
+               pstr->tip_context = ((__glibc_unlikely (pstr->word_ops_used != 0)
                                      && IS_WIDE_WORD_CHAR (wc))
                                     ? CONTEXT_WORD
                                     : ((IS_WIDE_NEWLINE (wc)
                                         && pstr->newline_anchor)
                                        ? CONTEXT_NEWLINE : 0));
-             if (BE (pstr->valid_len, 0))
+             if (__glibc_unlikely (pstr->valid_len))
                {
                  for (wcs_idx = 0; wcs_idx < pstr->valid_len; ++wcs_idx)
                    pstr->wcs[wcs_idx] = WEOF;
@@ -792,7 +800,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
                                      ? CONTEXT_NEWLINE : 0));
            }
        }
-      if (!BE (pstr->mbs_allocated, 0))
+      if (!__glibc_unlikely (pstr->mbs_allocated))
        pstr->mbs += offset;
     }
   pstr->raw_mbs_idx = idx;
@@ -806,7 +814,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
       if (pstr->icase)
        {
          reg_errcode_t ret = build_wcs_upper_buffer (pstr);
-         if (BE (ret != REG_NOERROR, 0))
+         if (__glibc_unlikely (ret != REG_NOERROR))
            return ret;
        }
       else
@@ -814,7 +822,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
     }
   else
 #endif /* RE_ENABLE_I18N */
-    if (BE (pstr->mbs_allocated, 0))
+    if (__glibc_unlikely (pstr->mbs_allocated))
       {
        if (pstr->icase)
          build_upper_buffer (pstr);
@@ -829,14 +837,14 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 }
 
 static unsigned char
-internal_function __attribute__ ((pure))
+__attribute__ ((pure))
 re_string_peek_byte_case (const re_string_t *pstr, Idx idx)
 {
   int ch;
   Idx off;
 
   /* Handle the common (easiest) cases first.  */
-  if (BE (!pstr->mbs_allocated, 1))
+  if (__glibc_likely (!pstr->mbs_allocated))
     return re_string_peek_byte (pstr, idx);
 
 #ifdef RE_ENABLE_I18N
@@ -866,10 +874,9 @@ re_string_peek_byte_case (const re_string_t *pstr, Idx idx)
 }
 
 static unsigned char
-internal_function
 re_string_fetch_byte_case (re_string_t *pstr)
 {
-  if (BE (!pstr->mbs_allocated, 1))
+  if (__glibc_likely (!pstr->mbs_allocated))
     return re_string_fetch_byte (pstr);
 
 #ifdef RE_ENABLE_I18N
@@ -904,7 +911,6 @@ re_string_fetch_byte_case (re_string_t *pstr)
 }
 
 static void
-internal_function
 re_string_destruct (re_string_t *pstr)
 {
 #ifdef RE_ENABLE_I18N
@@ -918,15 +924,14 @@ re_string_destruct (re_string_t *pstr)
 /* Return the context at IDX in INPUT.  */
 
 static unsigned int
-internal_function
 re_string_context_at (const re_string_t *input, Idx idx, int eflags)
 {
   int c;
-  if (BE (! REG_VALID_INDEX (idx), 0))
+  if (__glibc_unlikely (idx < 0))
     /* In this case, we use the value stored in input->tip_context,
        since we can't know the character in input->mbs[-1] here.  */
     return input->tip_context;
-  if (BE (idx == input->len, 0))
+  if (__glibc_unlikely (idx == input->len))
     return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF
            : CONTEXT_NEWLINE | CONTEXT_ENDBUF);
 #ifdef RE_ENABLE_I18N
@@ -936,16 +941,17 @@ re_string_context_at (const re_string_t *input, Idx idx, int eflags)
       Idx wc_idx = idx;
       while(input->wcs[wc_idx] == WEOF)
        {
-#ifdef DEBUG
+#if defined DEBUG && DEBUG
          /* It must not happen.  */
-         assert (REG_VALID_INDEX (wc_idx));
+         assert (wc_idx >= 0);
 #endif
          --wc_idx;
-         if (! REG_VALID_INDEX (wc_idx))
+         if (wc_idx < 0)
            return input->tip_context;
        }
       wc = input->wcs[wc_idx];
-      if (BE (input->word_ops_used != 0, 0) && IS_WIDE_WORD_CHAR (wc))
+      if (__glibc_unlikely (input->word_ops_used != 0)
+         && IS_WIDE_WORD_CHAR (wc))
        return CONTEXT_WORD;
       return (IS_WIDE_NEWLINE (wc) && input->newline_anchor
              ? CONTEXT_NEWLINE : 0);
@@ -963,25 +969,26 @@ re_string_context_at (const re_string_t *input, Idx idx, int eflags)
 /* Functions for set operation.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_alloc (re_node_set *set, Idx size)
 {
   set->alloc = size;
   set->nelem = 0;
   set->elems = re_malloc (Idx, size);
-  if (BE (set->elems == NULL, 0) && (MALLOC_0_IS_NONNULL || size != 0))
+  if (__glibc_unlikely (set->elems == NULL)
+      && (MALLOC_0_IS_NONNULL || size != 0))
     return REG_ESPACE;
   return REG_NOERROR;
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_init_1 (re_node_set *set, Idx elem)
 {
   set->alloc = 1;
   set->nelem = 1;
   set->elems = re_malloc (Idx, 1);
-  if (BE (set->elems == NULL, 0))
+  if (__glibc_unlikely (set->elems == NULL))
     {
       set->alloc = set->nelem = 0;
       return REG_ESPACE;
@@ -991,12 +998,12 @@ re_node_set_init_1 (re_node_set *set, Idx elem)
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2)
 {
   set->alloc = 2;
   set->elems = re_malloc (Idx, 2);
-  if (BE (set->elems == NULL, 0))
+  if (__glibc_unlikely (set->elems == NULL))
     return REG_ESPACE;
   if (elem1 == elem2)
     {
@@ -1021,7 +1028,7 @@ re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2)
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_init_copy (re_node_set *dest, const re_node_set *src)
 {
   dest->nelem = src->nelem;
@@ -1029,7 +1036,7 @@ re_node_set_init_copy (re_node_set *dest, const re_node_set *src)
     {
       dest->alloc = dest->nelem;
       dest->elems = re_malloc (Idx, dest->alloc);
-      if (BE (dest->elems == NULL, 0))
+      if (__glibc_unlikely (dest->elems == NULL))
        {
          dest->alloc = dest->nelem = 0;
          return REG_ESPACE;
@@ -1046,7 +1053,7 @@ re_node_set_init_copy (re_node_set *dest, const re_node_set *src)
    Note: We assume dest->elems is NULL, when dest->alloc is 0.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1,
                           const re_node_set *src2)
 {
@@ -1060,7 +1067,7 @@ re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1,
     {
       Idx new_alloc = src1->nelem + src2->nelem + dest->alloc;
       Idx *new_elems = re_realloc (dest->elems, Idx, new_alloc);
-      if (BE (new_elems == NULL, 0))
+      if (__glibc_unlikely (new_elems == NULL))
        return REG_ESPACE;
       dest->elems = new_elems;
       dest->alloc = new_alloc;
@@ -1077,25 +1084,25 @@ re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1,
       if (src1->elems[i1] == src2->elems[i2])
        {
          /* Try to find the item in DEST.  Maybe we could binary search?  */
-         while (REG_VALID_INDEX (id) && dest->elems[id] > src1->elems[i1])
+         while (id >= 0 && dest->elems[id] > src1->elems[i1])
            --id;
 
-          if (! REG_VALID_INDEX (id) || dest->elems[id] != src1->elems[i1])
+         if (id < 0 || dest->elems[id] != src1->elems[i1])
             dest->elems[--sbase] = src1->elems[i1];
 
-         if (! REG_VALID_INDEX (--i1) || ! REG_VALID_INDEX (--i2))
+         if (--i1 < 0 || --i2 < 0)
            break;
        }
 
       /* Lower the highest of the two items.  */
       else if (src1->elems[i1] < src2->elems[i2])
        {
-         if (! REG_VALID_INDEX (--i2))
+         if (--i2 < 0)
            break;
        }
       else
        {
-         if (! REG_VALID_INDEX (--i1))
+         if (--i1 < 0)
            break;
        }
     }
@@ -1108,7 +1115,7 @@ re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1,
      DEST elements are already in place; this is more or
      less the same loop that is in re_node_set_merge.  */
   dest->nelem += delta;
-  if (delta > 0 && REG_VALID_INDEX (id))
+  if (delta > 0 && id >= 0)
     for (;;)
       {
        if (dest->elems[is] > dest->elems[id])
@@ -1122,7 +1129,7 @@ re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1,
          {
            /* Slide from the bottom.  */
            dest->elems[id + delta] = dest->elems[id];
-           if (! REG_VALID_INDEX (--id))
+           if (--id < 0)
              break;
          }
       }
@@ -1137,7 +1144,7 @@ re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1,
    DEST. Return value indicate the error code or REG_NOERROR if succeeded.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_init_union (re_node_set *dest, const re_node_set *src1,
                        const re_node_set *src2)
 {
@@ -1146,7 +1153,7 @@ re_node_set_init_union (re_node_set *dest, const re_node_set *src1,
     {
       dest->alloc = src1->nelem + src2->nelem;
       dest->elems = re_malloc (Idx, dest->alloc);
-      if (BE (dest->elems == NULL, 0))
+      if (__glibc_unlikely (dest->elems == NULL))
        return REG_ESPACE;
     }
   else
@@ -1190,7 +1197,7 @@ re_node_set_init_union (re_node_set *dest, const re_node_set *src1,
    DEST. Return value indicate the error code or REG_NOERROR if succeeded.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_merge (re_node_set *dest, const re_node_set *src)
 {
   Idx is, id, sbase, delta;
@@ -1200,13 +1207,13 @@ re_node_set_merge (re_node_set *dest, const re_node_set *src)
     {
       Idx new_alloc = 2 * (src->nelem + dest->alloc);
       Idx *new_buffer = re_realloc (dest->elems, Idx, new_alloc);
-      if (BE (new_buffer == NULL, 0))
+      if (__glibc_unlikely (new_buffer == NULL))
        return REG_ESPACE;
       dest->elems = new_buffer;
       dest->alloc = new_alloc;
     }
 
-  if (BE (dest->nelem == 0, 0))
+  if (__glibc_unlikely (dest->nelem == 0))
     {
       dest->nelem = src->nelem;
       memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx));
@@ -1216,8 +1223,7 @@ re_node_set_merge (re_node_set *dest, const re_node_set *src)
   /* Copy into the top of DEST the items of SRC that are not
      found in DEST.  Maybe we could binary search in DEST?  */
   for (sbase = dest->nelem + 2 * src->nelem,
-       is = src->nelem - 1, id = dest->nelem - 1;
-       REG_VALID_INDEX (is) && REG_VALID_INDEX (id); )
+       is = src->nelem - 1, id = dest->nelem - 1; is >= 0 && id >= 0; )
     {
       if (dest->elems[id] == src->elems[is])
        is--, id--;
@@ -1227,7 +1233,7 @@ re_node_set_merge (re_node_set *dest, const re_node_set *src)
        --id;
     }
 
-  if (REG_VALID_INDEX (is))
+  if (is >= 0)
     {
       /* If DEST is exhausted, the remaining items of SRC must be unique.  */
       sbase -= is + 1;
@@ -1256,7 +1262,7 @@ re_node_set_merge (re_node_set *dest, const re_node_set *src)
        {
          /* Slide from the bottom.  */
          dest->elems[id + delta] = dest->elems[id];
-         if (! REG_VALID_INDEX (--id))
+         if (--id < 0)
            {
              /* Copy remaining SRC elements.  */
              memcpy (dest->elems, dest->elems + sbase,
@@ -1274,15 +1280,15 @@ re_node_set_merge (re_node_set *dest, const re_node_set *src)
    Return true if successful.  */
 
 static bool
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_insert (re_node_set *set, Idx elem)
 {
   Idx idx;
   /* In case the set is empty.  */
   if (set->alloc == 0)
-    return BE (re_node_set_init_1 (set, elem) == REG_NOERROR, 1);
+    return __glibc_likely (re_node_set_init_1 (set, elem) == REG_NOERROR);
 
-  if (BE (set->nelem, 0) == 0)
+  if (__glibc_unlikely (set->nelem) == 0)
     {
       /* We already guaranteed above that set->alloc != 0.  */
       set->elems[0] = elem;
@@ -1296,7 +1302,7 @@ re_node_set_insert (re_node_set *set, Idx elem)
       Idx *new_elems;
       set->alloc = set->alloc * 2;
       new_elems = re_realloc (set->elems, Idx, set->alloc);
-      if (BE (new_elems == NULL, 0))
+      if (__glibc_unlikely (new_elems == NULL))
        return false;
       set->elems = new_elems;
     }
@@ -1326,7 +1332,7 @@ re_node_set_insert (re_node_set *set, Idx elem)
    Return true if successful.  */
 
 static bool
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_insert_last (re_node_set *set, Idx elem)
 {
   /* Realloc if we need.  */
@@ -1335,7 +1341,7 @@ re_node_set_insert_last (re_node_set *set, Idx elem)
       Idx *new_elems;
       set->alloc = (set->alloc + 1) * 2;
       new_elems = re_realloc (set->elems, Idx, set->alloc);
-      if (BE (new_elems == NULL, 0))
+      if (__glibc_unlikely (new_elems == NULL))
        return false;
       set->elems = new_elems;
     }
@@ -1349,13 +1355,13 @@ re_node_set_insert_last (re_node_set *set, Idx elem)
    Return true if SET1 and SET2 are equivalent.  */
 
 static bool
-internal_function __attribute__ ((pure))
+__attribute__ ((pure))
 re_node_set_compare (const re_node_set *set1, const re_node_set *set2)
 {
   Idx i;
   if (set1 == NULL || set2 == NULL || set1->nelem != set2->nelem)
     return false;
-  for (i = set1->nelem ; REG_VALID_INDEX (--i) ; )
+  for (i = set1->nelem ; --i >= 0 ; )
     if (set1->elems[i] != set2->elems[i])
       return false;
   return true;
@@ -1364,11 +1370,11 @@ re_node_set_compare (const re_node_set *set1, const re_node_set *set2)
 /* Return (idx + 1) if SET contains the element ELEM, return 0 otherwise.  */
 
 static Idx
-internal_function __attribute__ ((pure))
+__attribute__ ((pure))
 re_node_set_contains (const re_node_set *set, Idx elem)
 {
   __re_size_t idx, right, mid;
-  if (! REG_VALID_NONZERO_INDEX (set->nelem))
+  if (set->nelem <= 0)
     return 0;
 
   /* Binary search the element.  */
@@ -1386,7 +1392,6 @@ re_node_set_contains (const re_node_set *set, Idx elem)
 }
 
 static void
-internal_function
 re_node_set_remove_at (re_node_set *set, Idx idx)
 {
   if (idx < 0 || idx >= set->nelem)
@@ -1398,13 +1403,12 @@ re_node_set_remove_at (re_node_set *set, Idx idx)
 \f
 
 /* Add the token TOKEN to dfa->nodes, and return the index of the token.
-   Or return REG_MISSING if an error occurred.  */
+   Or return -1 if an error occurred.  */
 
 static Idx
-internal_function
 re_dfa_add_node (re_dfa_t *dfa, re_token_t token)
 {
-  if (BE (dfa->nodes_len >= dfa->nodes_alloc, 0))
+  if (__glibc_unlikely (dfa->nodes_len >= dfa->nodes_alloc))
     {
       size_t new_nodes_alloc = dfa->nodes_alloc * 2;
       Idx *new_nexts, *new_indices;
@@ -1415,20 +1419,27 @@ re_dfa_add_node (re_dfa_t *dfa, re_token_t token)
       const size_t max_object_size = MAX (sizeof (re_token_t),
                                          MAX (sizeof (re_node_set),
                                               sizeof (Idx)));
-      if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < new_nodes_alloc, 0))
-       return REG_MISSING;
+      if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size)
+                           < new_nodes_alloc))
+       return -1;
 
       new_nodes = re_realloc (dfa->nodes, re_token_t, new_nodes_alloc);
-      if (BE (new_nodes == NULL, 0))
-       return REG_MISSING;
+      if (__glibc_unlikely (new_nodes == NULL))
+       return -1;
       dfa->nodes = new_nodes;
       new_nexts = re_realloc (dfa->nexts, Idx, new_nodes_alloc);
       new_indices = re_realloc (dfa->org_indices, Idx, new_nodes_alloc);
       new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc);
       new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc);
-      if (BE (new_nexts == NULL || new_indices == NULL
-             || new_edests == NULL || new_eclosures == NULL, 0))
-       return REG_MISSING;
+      if (__glibc_unlikely (new_nexts == NULL || new_indices == NULL
+                           || new_edests == NULL || new_eclosures == NULL))
+       {
+          re_free (new_nexts);
+          re_free (new_indices);
+          re_free (new_edests);
+          re_free (new_eclosures);
+          return -1;
+       }
       dfa->nexts = new_nexts;
       dfa->org_indices = new_indices;
       dfa->edests = new_edests;
@@ -1442,14 +1453,13 @@ re_dfa_add_node (re_dfa_t *dfa, re_token_t token)
     ((token.type == OP_PERIOD && dfa->mb_cur_max > 1)
      || token.type == COMPLEX_BRACKET);
 #endif
-  dfa->nexts[dfa->nodes_len] = REG_MISSING;
+  dfa->nexts[dfa->nodes_len] = -1;
   re_node_set_init_empty (dfa->edests + dfa->nodes_len);
   re_node_set_init_empty (dfa->eclosures + dfa->nodes_len);
   return dfa->nodes_len++;
 }
 
 static re_hashval_t
-internal_function
 calc_state_hash (const re_node_set *nodes, unsigned int context)
 {
   re_hashval_t hash = nodes->nelem + context;
@@ -1469,7 +1479,7 @@ calc_state_hash (const re_node_set *nodes, unsigned int context)
           optimization.  */
 
 static re_dfastate_t *
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa,
                  const re_node_set *nodes)
 {
@@ -1477,11 +1487,11 @@ re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa,
   re_dfastate_t *new_state;
   struct re_state_table_entry *spot;
   Idx i;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   /* Suppress bogus uninitialized-variable warnings.  */
   *err = REG_NOERROR;
 #endif
-  if (BE (nodes->nelem == 0, 0))
+  if (__glibc_unlikely (nodes->nelem == 0))
     {
       *err = REG_NOERROR;
       return NULL;
@@ -1500,7 +1510,7 @@ re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa,
 
   /* There are no appropriate state in the dfa, create the new one.  */
   new_state = create_ci_newstate (dfa, nodes, hash);
-  if (BE (new_state == NULL, 0))
+  if (__glibc_unlikely (new_state == NULL))
     *err = REG_ESPACE;
 
   return new_state;
@@ -1517,7 +1527,7 @@ re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa,
           optimization.  */
 
 static re_dfastate_t *
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa,
                          const re_node_set *nodes, unsigned int context)
 {
@@ -1525,7 +1535,7 @@ re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa,
   re_dfastate_t *new_state;
   struct re_state_table_entry *spot;
   Idx i;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   /* Suppress bogus uninitialized-variable warnings.  */
   *err = REG_NOERROR;
 #endif
@@ -1547,7 +1557,7 @@ re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa,
     }
   /* There are no appropriate state in 'dfa', create the new one.  */
   new_state = create_cd_newstate (dfa, nodes, context, hash);
-  if (BE (new_state == NULL, 0))
+  if (__glibc_unlikely (new_state == NULL))
     *err = REG_ESPACE;
 
   return new_state;
@@ -1568,7 +1578,7 @@ register_state (const re_dfa_t *dfa, re_dfastate_t *newstate,
 
   newstate->hash = hash;
   err = re_node_set_alloc (&newstate->non_eps_nodes, newstate->nodes.nelem);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return REG_ESPACE;
   for (i = 0; i < newstate->nodes.nelem; i++)
     {
@@ -1579,12 +1589,12 @@ register_state (const re_dfa_t *dfa, re_dfastate_t *newstate,
     }
 
   spot = dfa->state_table + (hash & dfa->state_hash_mask);
-  if (BE (spot->alloc <= spot->num, 0))
+  if (__glibc_unlikely (spot->alloc <= spot->num))
     {
       Idx new_alloc = 2 * spot->num + 2;
       re_dfastate_t **new_array = re_realloc (spot->array, re_dfastate_t *,
                                              new_alloc);
-      if (BE (new_array == NULL, 0))
+      if (__glibc_unlikely (new_array == NULL))
        return REG_ESPACE;
       spot->array = new_array;
       spot->alloc = new_alloc;
@@ -1613,7 +1623,7 @@ free_state (re_dfastate_t *state)
    Return the new state if succeeded, otherwise return NULL.  */
 
 static re_dfastate_t *
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
                    re_hashval_t hash)
 {
@@ -1622,10 +1632,10 @@ create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
   re_dfastate_t *newstate;
 
   newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1);
-  if (BE (newstate == NULL, 0))
+  if (__glibc_unlikely (newstate == NULL))
     return NULL;
   err = re_node_set_init_copy (&newstate->nodes, nodes);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       re_free (newstate);
       return NULL;
@@ -1651,7 +1661,7 @@ create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
        newstate->has_constraint = 1;
     }
   err = register_state (dfa, newstate, hash);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       free_state (newstate);
       newstate = NULL;
@@ -1663,7 +1673,7 @@ create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
    Return the new state if succeeded, otherwise return NULL.  */
 
 static re_dfastate_t *
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
                    unsigned int context, re_hashval_t hash)
 {
@@ -1672,10 +1682,10 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
   re_dfastate_t *newstate;
 
   newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1);
-  if (BE (newstate == NULL, 0))
+  if (__glibc_unlikely (newstate == NULL))
     return NULL;
   err = re_node_set_init_copy (&newstate->nodes, nodes);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       re_free (newstate);
       return NULL;
@@ -1707,7 +1717,7 @@ 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 (BE (newstate->entrance_nodes == NULL, 0))
+             if (__glibc_unlikely (newstate->entrance_nodes == NULL))
                {
                  free_state (newstate);
                  return NULL;
@@ -1727,7 +1737,7 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
        }
     }
   err = register_state (dfa, newstate, hash);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       free_state (newstate);
       newstate = NULL;
index f44551b6778008cf8162ec1d29ab5caee861e4c6..a3aedda891518186f1f4e6b6453aa103c1055e4a 100644 (file)
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public
    License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
+   <https://www.gnu.org/licenses/>.  */
 
 #ifndef _REGEX_INTERNAL_H
 #define _REGEX_INTERNAL_H 1
 #include <stdbool.h>
 #include <stdint.h>
 
+#include <intprops.h>
+
 #ifdef _LIBC
-# include <bits/libc-lock.h>
+# include <libc-lock.h>
 # define lock_define(name) __libc_lock_define (, name)
 # define lock_init(lock) (__libc_lock_init (lock), 0)
-# define lock_fini(lock) 0
+# define lock_fini(lock) ((void) 0)
 # define lock_lock(lock) __libc_lock_lock (lock)
 # define lock_unlock(lock) __libc_lock_unlock (lock)
-#elif defined GNULIB_LOCK
+#elif defined GNULIB_LOCK && !defined USE_UNLOCKED_IO
 # include "glthread/lock.h"
   /* Use gl_lock_define if empty macro arguments are known to work.
      Otherwise, fall back on less-portable substitutes.  */
@@ -62,7 +64,7 @@
 # define lock_fini(lock) glthread_lock_destroy (&(lock))
 # define lock_lock(lock) glthread_lock_lock (&(lock))
 # define lock_unlock(lock) glthread_lock_unlock (&(lock))
-#elif defined GNULIB_PTHREAD
+#elif defined GNULIB_PTHREAD && !defined USE_UNLOCKED_IO
 # include <pthread.h>
 # define lock_define(name) pthread_mutex_t name;
 # define lock_init(lock) pthread_mutex_init (&(lock), 0)
@@ -87,7 +89,6 @@
 # ifndef _RE_DEFINE_LOCALE_FUNCTIONS
 #  define _RE_DEFINE_LOCALE_FUNCTIONS 1
 #   include <locale/localeinfo.h>
-#   include <locale/elem-hash.h>
 #   include <locale/coll-lookup.h>
 # endif
 #endif
   __dcgettext (_libc_intl_domainname, msgid, LC_MESSAGES)
 # endif
 #else
+# undef gettext
 # define gettext(msgid) (msgid)
 #endif
 
 # define RE_ENABLE_I18N
 #endif
 
-#if __GNUC__ >= 3
-# define BE(expr, val) __builtin_expect (expr, val)
-#else
-# define BE(expr, val) (expr)
-#endif
-
 /* Number of ASCII characters.  */
 #define ASCII_CHARS 0x80
 
 /* Rename to standard API for using out of glibc.  */
 #ifndef _LIBC
 # undef __wctype
+# undef __iswalnum
 # undef __iswctype
+# undef __towlower
+# undef __towupper
 # define __wctype wctype
+# define __iswalnum iswalnum
 # define __iswctype iswctype
+# define __towlower towlower
+# define __towupper towupper
 # define __btowc btowc
 # define __mbrtowc mbrtowc
 # define __wcrtomb wcrtomb
 # define __regfree regfree
-# define attribute_hidden
 #endif /* not _LIBC */
 
-#if __GNUC__ < 3 + (__GNUC_MINOR__ < 1)
-# define __attribute__(arg)
+#ifndef SSIZE_MAX
+# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
 #endif
 
-typedef __re_idx_t Idx;
+/* The type of indexes into strings.  This is signed, not size_t,
+   since the API requires indexes to fit in regoff_t anyway, and using
+   signed integers makes the code a bit smaller and presumably faster.
+   The traditional GNU regex implementation uses int for indexes.
+   The POSIX-compatible implementation uses a possibly-wider type.
+   The name 'Idx' is three letters to minimize the hassle of
+   reindenting a lot of regex code that formerly used 'int'.  */
+typedef regoff_t Idx;
 #ifdef _REGEX_LARGE_OFFSETS
-# define IDX_MAX (SIZE_MAX - 2)
+# define IDX_MAX SSIZE_MAX
 #else
 # define IDX_MAX INT_MAX
 #endif
 
-/* Special return value for failure to match.  */
-#define REG_MISSING ((Idx) -1)
-
-/* Special return value for internal error.  */
-#define REG_ERROR ((Idx) -2)
-
-/* Test whether N is a valid index, and is not one of the above.  */
-#ifdef _REGEX_LARGE_OFFSETS
-# define REG_VALID_INDEX(n) ((Idx) (n) < REG_ERROR)
-#else
-# define REG_VALID_INDEX(n) (0 <= (n))
-#endif
-
-/* Test whether N is a valid nonzero index.  */
-#ifdef _REGEX_LARGE_OFFSETS
-# define REG_VALID_NONZERO_INDEX(n) ((Idx) ((n) - 1) < (Idx) (REG_ERROR - 1))
-#else
-# define REG_VALID_NONZERO_INDEX(n) (0 < (n))
-#endif
-
 /* A hash value, suitable for computing hash tables.  */
 typedef __re_size_t re_hashval_t;
 
@@ -446,24 +434,9 @@ struct re_dfa_t;
 typedef struct re_dfa_t re_dfa_t;
 
 #ifndef _LIBC
-# define internal_function
+# define IS_IN(libc) false
 #endif
 
-#ifndef NOT_IN_libc
-static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr,
-                                               Idx new_buf_len)
-     internal_function;
-# ifdef RE_ENABLE_I18N
-static void build_wcs_buffer (re_string_t *pstr) internal_function;
-static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr)
-  internal_function;
-# endif /* RE_ENABLE_I18N */
-static void build_upper_buffer (re_string_t *pstr) internal_function;
-static void re_string_translate_buffer (re_string_t *pstr) internal_function;
-static unsigned int re_string_context_at (const re_string_t *input, Idx idx,
-                                         int eflags)
-     internal_function __attribute__ ((pure));
-#endif
 #define re_string_peek_byte(pstr, offset) \
   ((pstr)->mbs[(pstr)->cur_idx + offset])
 #define re_string_fetch_byte(pstr) \
@@ -556,7 +529,7 @@ typedef struct bin_tree_storage_t bin_tree_storage_t;
 
 #define IS_WORD_CHAR(ch) (isalnum (ch) || (ch) == '_')
 #define IS_NEWLINE(ch) ((ch) == NEWLINE_CHAR)
-#define IS_WIDE_WORD_CHAR(ch) (iswalnum (ch) || (ch) == L'_')
+#define IS_WIDE_WORD_CHAR(ch) (__iswalnum (ch) || (ch) == L'_')
 #define IS_WIDE_NEWLINE(ch) ((ch) == WIDE_NEWLINE_CHAR)
 
 #define NOT_SATISFY_PREV_CONSTRAINT(constraint,context) \
@@ -769,31 +742,31 @@ typedef struct
 
 /* Functions for bitset_t operation.  */
 
-static void
+static inline void
 bitset_set (bitset_t set, Idx i)
 {
   set[i / BITSET_WORD_BITS] |= (bitset_word_t) 1 << i % BITSET_WORD_BITS;
 }
 
-static void
+static inline void
 bitset_clear (bitset_t set, Idx i)
 {
   set[i / BITSET_WORD_BITS] &= ~ ((bitset_word_t) 1 << i % BITSET_WORD_BITS);
 }
 
-static bool
+static inline bool
 bitset_contain (const bitset_t set, Idx i)
 {
   return (set[i / BITSET_WORD_BITS] >> i % BITSET_WORD_BITS) & 1;
 }
 
-static void
+static inline void
 bitset_empty (bitset_t set)
 {
   memset (set, '\0', sizeof (bitset_t));
 }
 
-static void
+static inline void
 bitset_set_all (bitset_t set)
 {
   memset (set, -1, sizeof (bitset_word_t) * (SBC_MAX / BITSET_WORD_BITS));
@@ -802,13 +775,13 @@ bitset_set_all (bitset_t set)
       ((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1;
 }
 
-static void
+static inline void
 bitset_copy (bitset_t dest, const bitset_t src)
 {
   memcpy (dest, src, sizeof (bitset_t));
 }
 
-static void __attribute__ ((unused))
+static inline void
 bitset_not (bitset_t set)
 {
   int bitset_i;
@@ -820,7 +793,7 @@ bitset_not (bitset_t set)
        & ~set[BITSET_WORDS - 1]);
 }
 
-static void __attribute__ ((unused))
+static inline void
 bitset_merge (bitset_t dest, const bitset_t src)
 {
   int bitset_i;
@@ -828,7 +801,7 @@ bitset_merge (bitset_t dest, const bitset_t src)
     dest[bitset_i] |= src[bitset_i];
 }
 
-static void __attribute__ ((unused))
+static inline void
 bitset_mask (bitset_t dest, const bitset_t src)
 {
   int bitset_i;
@@ -839,7 +812,7 @@ bitset_mask (bitset_t dest, const bitset_t src)
 #ifdef RE_ENABLE_I18N
 /* Functions for re_string.  */
 static int
-internal_function __attribute__ ((pure, unused))
+__attribute__ ((pure, unused))
 re_string_char_size_at (const re_string_t *pstr, Idx idx)
 {
   int byte_idx;
@@ -852,7 +825,7 @@ re_string_char_size_at (const re_string_t *pstr, Idx idx)
 }
 
 static wint_t
-internal_function __attribute__ ((pure, unused))
+__attribute__ ((pure, unused))
 re_string_wchar_at (const re_string_t *pstr, Idx idx)
 {
   if (pstr->mb_cur_max == 1)
@@ -860,15 +833,17 @@ re_string_wchar_at (const re_string_t *pstr, Idx idx)
   return (wint_t) pstr->wcs[idx];
 }
 
-# ifndef NOT_IN_libc
+# ifdef _LIBC
+#  include <locale/weight.h>
+# endif
+
 static int
-internal_function __attribute__ ((pure, unused))
+__attribute__ ((pure, unused))
 re_string_elem_size_at (const re_string_t *pstr, Idx idx)
 {
-#  ifdef _LIBC
+# ifdef _LIBC
   const unsigned char *p, *extra;
   const int32_t *table, *indirect;
-#   include <locale/weight.h>
   uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
 
   if (nrules != 0)
@@ -879,31 +854,21 @@ re_string_elem_size_at (const re_string_t *pstr, Idx idx)
       indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
                                                _NL_COLLATE_INDIRECTMB);
       p = pstr->mbs + idx;
-      findidx (&p, pstr->len - idx);
+      findidx (table, indirect, extra, &p, pstr->len - idx);
       return p - pstr->mbs - idx;
     }
   else
-#  endif /* _LIBC */
+# endif /* _LIBC */
     return 1;
 }
-# endif
 #endif /* RE_ENABLE_I18N */
 
-#ifndef __GNUC_PREREQ
-# if defined __GNUC__ && defined __GNUC_MINOR__
-#  define __GNUC_PREREQ(maj, min) \
-         ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+#ifndef FALLTHROUGH
+# if __GNUC__ < 7
+#  define FALLTHROUGH ((void) 0)
 # else
-#  define __GNUC_PREREQ(maj, min) 0
+#  define FALLTHROUGH __attribute__ ((__fallthrough__))
 # endif
 #endif
 
-#if __GNUC_PREREQ (3,4)
-# undef __attribute_warn_unused_result__
-# define __attribute_warn_unused_result__ \
-   __attribute__ ((__warn_unused_result__))
-#else
-# define __attribute_warn_unused_result__ /* empty */
-#endif
-
 #endif /*  _REGEX_INTERNAL_H */
index 7c91449a1909329a4af4bb3737a8c810f65eef44..f464869fb03b0e9a89a5786124ed3b8e530e68d1 100644 (file)
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
 
    You should have received a copy of the GNU General Public
    License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
+   <https://www.gnu.org/licenses/>.  */
 
 static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags,
-                                    Idx n) internal_function;
-static void match_ctx_clean (re_match_context_t *mctx) internal_function;
-static void match_ctx_free (re_match_context_t *cache) internal_function;
+                                    Idx n);
+static void match_ctx_clean (re_match_context_t *mctx);
+static void match_ctx_free (re_match_context_t *cache);
 static reg_errcode_t match_ctx_add_entry (re_match_context_t *cache, Idx node,
-                                         Idx str_idx, Idx from, Idx to)
-     internal_function;
-static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx)
-     internal_function;
+                                         Idx str_idx, Idx from, Idx to);
+static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx);
 static reg_errcode_t match_ctx_add_subtop (re_match_context_t *mctx, Idx node,
-                                          Idx str_idx) internal_function;
+                                          Idx str_idx);
 static re_sub_match_last_t * match_ctx_add_sublast (re_sub_match_top_t *subtop,
-                                                   Idx node, Idx str_idx)
-     internal_function;
+                                                   Idx node, Idx str_idx);
 static void sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts,
                           re_dfastate_t **limited_sts, Idx last_node,
-                          Idx last_str_idx)
-     internal_function;
+                          Idx last_str_idx);
 static reg_errcode_t re_search_internal (const regex_t *preg,
                                         const char *string, Idx length,
                                         Idx start, Idx last_start, Idx stop,
                                         size_t nmatch, regmatch_t pmatch[],
-                                        int eflags) internal_function;
+                                        int eflags);
 static regoff_t re_search_2_stub (struct re_pattern_buffer *bufp,
                                  const char *string1, Idx length1,
                                  const char *string2, Idx length2,
                                  Idx start, regoff_t range,
                                  struct re_registers *regs,
-                                 Idx stop, bool ret_len) internal_function;
+                                 Idx stop, bool ret_len);
 static regoff_t re_search_stub (struct re_pattern_buffer *bufp,
                                const char *string, Idx length, Idx start,
                                regoff_t range, Idx stop,
                                struct re_registers *regs,
-                               bool ret_len) internal_function;
+                               bool ret_len);
 static unsigned re_copy_regs (struct re_registers *regs, regmatch_t *pmatch,
-                              Idx nregs, int regs_allocated) internal_function;
-static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx)
-     internal_function;
+                              Idx nregs, int regs_allocated);
+static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx);
 static Idx check_matching (re_match_context_t *mctx, bool fl_longest_match,
-                          Idx *p_match_first) internal_function;
+                          Idx *p_match_first);
 static Idx check_halt_state_context (const re_match_context_t *mctx,
-                                    const re_dfastate_t *state, Idx idx)
-     internal_function;
+                                    const re_dfastate_t *state, Idx idx);
 static void update_regs (const re_dfa_t *dfa, regmatch_t *pmatch,
                         regmatch_t *prev_idx_match, Idx cur_node,
-                        Idx cur_idx, Idx nmatch) internal_function;
+                        Idx cur_idx, Idx nmatch);
 static reg_errcode_t push_fail_stack (struct re_fail_stack_t *fs,
                                      Idx str_idx, Idx dest_node, Idx nregs,
                                      regmatch_t *regs,
-                                     re_node_set *eps_via_nodes)
-     internal_function;
+                                     re_node_set *eps_via_nodes);
 static reg_errcode_t set_regs (const regex_t *preg,
                               const re_match_context_t *mctx,
                               size_t nmatch, regmatch_t *pmatch,
-                              bool fl_backtrack) internal_function;
-static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs)
-     internal_function;
+                              bool fl_backtrack);
+static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs);
 
 #ifdef RE_ENABLE_I18N
 static int sift_states_iter_mb (const re_match_context_t *mctx,
                                re_sift_context_t *sctx,
-                               Idx node_idx, Idx str_idx, Idx max_str_idx)
-     internal_function;
+                               Idx node_idx, Idx str_idx, Idx max_str_idx);
 #endif /* RE_ENABLE_I18N */
 static reg_errcode_t sift_states_backward (const re_match_context_t *mctx,
-                                          re_sift_context_t *sctx)
-     internal_function;
+                                          re_sift_context_t *sctx);
 static reg_errcode_t build_sifted_states (const re_match_context_t *mctx,
                                          re_sift_context_t *sctx, Idx str_idx,
-                                         re_node_set *cur_dest)
-     internal_function;
+                                         re_node_set *cur_dest);
 static reg_errcode_t update_cur_sifted_state (const re_match_context_t *mctx,
                                              re_sift_context_t *sctx,
                                              Idx str_idx,
-                                             re_node_set *dest_nodes)
-     internal_function;
+                                             re_node_set *dest_nodes);
 static reg_errcode_t add_epsilon_src_nodes (const re_dfa_t *dfa,
                                            re_node_set *dest_nodes,
-                                           const re_node_set *candidates)
-     internal_function;
+                                           const re_node_set *candidates);
 static bool check_dst_limits (const re_match_context_t *mctx,
                              const re_node_set *limits,
                              Idx dst_node, Idx dst_idx, Idx src_node,
-                             Idx src_idx) internal_function;
+                             Idx src_idx);
 static int check_dst_limits_calc_pos_1 (const re_match_context_t *mctx,
                                        int boundaries, Idx subexp_idx,
-                                       Idx from_node, Idx bkref_idx)
-     internal_function;
+                                       Idx from_node, Idx bkref_idx);
 static int check_dst_limits_calc_pos (const re_match_context_t *mctx,
                                      Idx limit, Idx subexp_idx,
                                      Idx node, Idx str_idx,
-                                     Idx bkref_idx) internal_function;
+                                     Idx bkref_idx);
 static reg_errcode_t check_subexp_limits (const re_dfa_t *dfa,
                                          re_node_set *dest_nodes,
                                          const re_node_set *candidates,
                                          re_node_set *limits,
                                          struct re_backref_cache_entry *bkref_ents,
-                                         Idx str_idx) internal_function;
+                                         Idx str_idx);
 static reg_errcode_t sift_states_bkref (const re_match_context_t *mctx,
                                        re_sift_context_t *sctx,
-                                       Idx str_idx, const re_node_set *candidates)
-     internal_function;
+                                       Idx str_idx, const re_node_set *candidates);
 static reg_errcode_t merge_state_array (const re_dfa_t *dfa,
                                        re_dfastate_t **dst,
-                                       re_dfastate_t **src, Idx num)
-     internal_function;
+                                       re_dfastate_t **src, Idx num);
 static re_dfastate_t *find_recover_state (reg_errcode_t *err,
-                                        re_match_context_t *mctx) internal_function;
+                                        re_match_context_t *mctx);
 static re_dfastate_t *transit_state (reg_errcode_t *err,
                                     re_match_context_t *mctx,
-                                    re_dfastate_t *state) internal_function;
+                                    re_dfastate_t *state);
 static re_dfastate_t *merge_state_with_log (reg_errcode_t *err,
                                            re_match_context_t *mctx,
-                                           re_dfastate_t *next_state)
-     internal_function;
+                                           re_dfastate_t *next_state);
 static reg_errcode_t check_subexp_matching_top (re_match_context_t *mctx,
                                                re_node_set *cur_nodes,
-                                               Idx str_idx) internal_function;
+                                               Idx str_idx);
 #if 0
 static re_dfastate_t *transit_state_sb (reg_errcode_t *err,
                                        re_match_context_t *mctx,
-                                       re_dfastate_t *pstate)
-     internal_function;
+                                       re_dfastate_t *pstate);
 #endif
 #ifdef RE_ENABLE_I18N
 static reg_errcode_t transit_state_mb (re_match_context_t *mctx,
-                                      re_dfastate_t *pstate)
-     internal_function;
+                                      re_dfastate_t *pstate);
 #endif /* RE_ENABLE_I18N */
 static reg_errcode_t transit_state_bkref (re_match_context_t *mctx,
-                                         const re_node_set *nodes)
-     internal_function;
+                                         const re_node_set *nodes);
 static reg_errcode_t get_subexp (re_match_context_t *mctx,
-                                Idx bkref_node, Idx bkref_str_idx)
-     internal_function;
+                                Idx bkref_node, Idx bkref_str_idx);
 static reg_errcode_t get_subexp_sub (re_match_context_t *mctx,
                                     const re_sub_match_top_t *sub_top,
                                     re_sub_match_last_t *sub_last,
-                                    Idx bkref_node, Idx bkref_str)
-     internal_function;
+                                    Idx bkref_node, Idx bkref_str);
 static Idx find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,
-                            Idx subexp_idx, int type) internal_function;
+                            Idx subexp_idx, int type);
 static reg_errcode_t check_arrival (re_match_context_t *mctx,
                                    state_array_t *path, Idx top_node,
                                    Idx top_str, Idx last_node, Idx last_str,
-                                   int type) internal_function;
+                                   int type);
 static reg_errcode_t check_arrival_add_next_nodes (re_match_context_t *mctx,
                                                   Idx str_idx,
                                                   re_node_set *cur_nodes,
-                                                  re_node_set *next_nodes)
-     internal_function;
+                                                  re_node_set *next_nodes);
 static reg_errcode_t check_arrival_expand_ecl (const re_dfa_t *dfa,
                                               re_node_set *cur_nodes,
-                                              Idx ex_subexp, int type)
-     internal_function;
+                                              Idx ex_subexp, int type);
 static reg_errcode_t check_arrival_expand_ecl_sub (const re_dfa_t *dfa,
                                                   re_node_set *dst_nodes,
                                                   Idx target, Idx ex_subexp,
-                                                  int type) internal_function;
+                                                  int type);
 static reg_errcode_t expand_bkref_cache (re_match_context_t *mctx,
                                         re_node_set *cur_nodes, Idx cur_str,
-                                        Idx subexp_num, int type)
-     internal_function;
-static bool build_trtable (const re_dfa_t *dfa,
-                          re_dfastate_t *state) internal_function;
+                                        Idx subexp_num, int type);
+static bool build_trtable (const re_dfa_t *dfa, re_dfastate_t *state);
 #ifdef RE_ENABLE_I18N
 static int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
-                                   const re_string_t *input, Idx idx)
-     internal_function;
+                                   const re_string_t *input, Idx idx);
 # ifdef _LIBC
 static unsigned int find_collation_sequence_value (const unsigned char *mbs,
-                                                  size_t name_len)
-     internal_function;
+                                                  size_t name_len);
 # endif /* _LIBC */
 #endif /* RE_ENABLE_I18N */
 static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa,
                                       const re_dfastate_t *state,
                                       re_node_set *states_node,
-                                      bitset_t *states_ch) internal_function;
+                                      bitset_t *states_ch);
 static bool check_node_accept (const re_match_context_t *mctx,
-                              const re_token_t *node, Idx idx)
-     internal_function;
-static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len)
-     internal_function;
+                              const re_token_t *node, Idx idx);
+static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len);
 \f
 /* Entry point for POSIX code.  */
 
@@ -219,12 +189,8 @@ static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len)
    We return 0 if we find a match and REG_NOMATCH if not.  */
 
 int
-regexec (preg, string, nmatch, pmatch, eflags)
-    const regex_t *_Restrict_ preg;
-    const char *_Restrict_ string;
-    size_t nmatch;
-    regmatch_t pmatch[_Restrict_arr_];
-    int eflags;
+regexec (const regex_t *__restrict preg, const char *__restrict string,
+        size_t nmatch, regmatch_t pmatch[], int eflags)
 {
   reg_errcode_t err;
   Idx start, length;
@@ -256,6 +222,8 @@ regexec (preg, string, nmatch, pmatch, eflags)
 }
 
 #ifdef _LIBC
+libc_hidden_def (__regexec)
+
 # include <shlib-compat.h>
 versioned_symbol (libc, __regexec, regexec, GLIBC_2_3_4);
 
@@ -264,8 +232,8 @@ __typeof__ (__regexec) __compat_regexec;
 
 int
 attribute_compat_text_section
-__compat_regexec (const regex_t *_Restrict_ preg,
-                 const char *_Restrict_ string, size_t nmatch,
+__compat_regexec (const regex_t *__restrict preg,
+                 const char *__restrict string, size_t nmatch,
                  regmatch_t pmatch[], int eflags)
 {
   return regexec (preg, string, nmatch, pmatch,
@@ -305,11 +273,8 @@ compat_symbol (libc, __compat_regexec, regexec, GLIBC_2_0);
    match was found and -2 indicates an internal error.  */
 
 regoff_t
-re_match (bufp, string, length, start, regs)
-    struct re_pattern_buffer *bufp;
-    const char *string;
-    Idx length, start;
-    struct re_registers *regs;
+re_match (struct re_pattern_buffer *bufp, const char *string, Idx length,
+         Idx start, struct re_registers *regs)
 {
   return re_search_stub (bufp, string, length, start, 0, length, regs, true);
 }
@@ -318,12 +283,8 @@ weak_alias (__re_match, re_match)
 #endif
 
 regoff_t
-re_search (bufp, string, length, start, range, regs)
-    struct re_pattern_buffer *bufp;
-    const char *string;
-    Idx length, start;
-    regoff_t range;
-    struct re_registers *regs;
+re_search (struct re_pattern_buffer *bufp, const char *string, Idx length,
+          Idx start, regoff_t range, struct re_registers *regs)
 {
   return re_search_stub (bufp, string, length, start, range, length, regs,
                         false);
@@ -333,11 +294,9 @@ weak_alias (__re_search, re_search)
 #endif
 
 regoff_t
-re_match_2 (bufp, string1, length1, string2, length2, start, regs, stop)
-    struct re_pattern_buffer *bufp;
-    const char *string1, *string2;
-    Idx length1, length2, start, stop;
-    struct re_registers *regs;
+re_match_2 (struct re_pattern_buffer *bufp, const char *string1, Idx length1,
+           const char *string2, Idx length2, Idx start,
+           struct re_registers *regs, Idx stop)
 {
   return re_search_2_stub (bufp, string1, length1, string2, length2,
                           start, 0, regs, stop, true);
@@ -347,12 +306,9 @@ weak_alias (__re_match_2, re_match_2)
 #endif
 
 regoff_t
-re_search_2 (bufp, string1, length1, string2, length2, start, range, regs, stop)
-    struct re_pattern_buffer *bufp;
-    const char *string1, *string2;
-    Idx length1, length2, start, stop;
-    regoff_t range;
-    struct re_registers *regs;
+re_search_2 (struct re_pattern_buffer *bufp, const char *string1, Idx length1,
+            const char *string2, Idx length2, Idx start, regoff_t range,
+            struct re_registers *regs, Idx stop)
 {
   return re_search_2_stub (bufp, string1, length1, string2, length2,
                           start, range, regs, stop, false);
@@ -362,18 +318,18 @@ weak_alias (__re_search_2, re_search_2)
 #endif
 
 static regoff_t
-re_search_2_stub (struct re_pattern_buffer *bufp,
-                 const char *string1, Idx length1,
-                 const char *string2, Idx length2,
-                 Idx start, regoff_t range, struct re_registers *regs,
+re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1,
+                 Idx length1, const char *string2, Idx length2, Idx start,
+                 regoff_t range, struct re_registers *regs,
                  Idx stop, bool ret_len)
 {
   const char *str;
   regoff_t rval;
-  Idx len = length1 + length2;
+  Idx len;
   char *s = NULL;
 
-  if (BE (length1 < 0 || length2 < 0 || stop < 0 || len < length1, 0))
+  if (__glibc_unlikely ((length1 < 0 || length2 < 0 || stop < 0
+                        || INT_ADD_WRAPV (length1, length2, &len))))
     return -2;
 
   /* Concatenate the strings.  */
@@ -382,7 +338,7 @@ re_search_2_stub (struct re_pattern_buffer *bufp,
       {
        s = re_malloc (char, len);
 
-       if (BE (s == NULL, 0))
+       if (__glibc_unlikely (s == NULL))
          return -2;
 #ifdef _LIBC
        memcpy (__mempcpy (s, string1, length1), string2, length2);
@@ -409,8 +365,7 @@ re_search_2_stub (struct re_pattern_buffer *bufp,
    otherwise the position of the match is returned.  */
 
 static regoff_t
-re_search_stub (struct re_pattern_buffer *bufp,
-               const char *string, Idx length,
+re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length,
                Idx start, regoff_t range, Idx stop, struct re_registers *regs,
                bool ret_len)
 {
@@ -423,11 +378,13 @@ re_search_stub (struct re_pattern_buffer *bufp,
   Idx last_start = start + range;
 
   /* Check for out-of-range.  */
-  if (BE (start < 0 || start > length, 0))
+  if (__glibc_unlikely (start < 0 || start > length))
     return -1;
-  if (BE (length < last_start || (0 <= range && last_start < start), 0))
+  if (__glibc_unlikely (length < last_start
+                       || (0 <= range && last_start < start)))
     last_start = length;
-  else if (BE (last_start < 0 || (range < 0 && start <= last_start), 0))
+  else if (__glibc_unlikely (last_start < 0
+                            || (range < 0 && start <= last_start)))
     last_start = 0;
 
   lock_lock (dfa->lock);
@@ -439,17 +396,17 @@ re_search_stub (struct re_pattern_buffer *bufp,
   if (start < last_start && bufp->fastmap != NULL && !bufp->fastmap_accurate)
     re_compile_fastmap (bufp);
 
-  if (BE (bufp->no_sub, 0))
+  if (__glibc_unlikely (bufp->no_sub))
     regs = NULL;
 
   /* We need at least 1 register.  */
   if (regs == NULL)
     nregs = 1;
-  else if (BE (bufp->regs_allocated == REGS_FIXED
-              && regs->num_regs <= bufp->re_nsub, 0))
+  else if (__glibc_unlikely (bufp->regs_allocated == REGS_FIXED
+                            && regs->num_regs <= bufp->re_nsub))
     {
       nregs = regs->num_regs;
-      if (BE (nregs < 1, 0))
+      if (__glibc_unlikely (nregs < 1))
        {
          /* Nothing can be copied to regs.  */
          regs = NULL;
@@ -459,7 +416,7 @@ re_search_stub (struct re_pattern_buffer *bufp,
   else
     nregs = bufp->re_nsub + 1;
   pmatch = re_malloc (regmatch_t, nregs);
-  if (BE (pmatch == NULL, 0))
+  if (__glibc_unlikely (pmatch == NULL))
     {
       rval = -2;
       goto out;
@@ -478,11 +435,11 @@ re_search_stub (struct re_pattern_buffer *bufp,
       /* If caller wants register contents data back, copy them.  */
       bufp->regs_allocated = re_copy_regs (regs, pmatch, nregs,
                                           bufp->regs_allocated);
-      if (BE (bufp->regs_allocated == REGS_UNALLOCATED, 0))
+      if (__glibc_unlikely (bufp->regs_allocated == REGS_UNALLOCATED))
        rval = -2;
     }
 
-  if (BE (rval == 0, 1))
+  if (__glibc_likely (rval == 0))
     {
       if (ret_len)
        {
@@ -512,10 +469,10 @@ re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs,
   if (regs_allocated == REGS_UNALLOCATED)
     { /* No.  So allocate them with malloc.  */
       regs->start = re_malloc (regoff_t, need_regs);
-      if (BE (regs->start == NULL, 0))
+      if (__glibc_unlikely (regs->start == NULL))
        return REGS_UNALLOCATED;
       regs->end = re_malloc (regoff_t, need_regs);
-      if (BE (regs->end == NULL, 0))
+      if (__glibc_unlikely (regs->end == NULL))
        {
          re_free (regs->start);
          return REGS_UNALLOCATED;
@@ -526,14 +483,14 @@ re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs,
     { /* Yes.  If we need more elements than were already
         allocated, reallocate them.  If we need fewer, just
         leave it alone.  */
-      if (BE (need_regs > regs->num_regs, 0))
+      if (__glibc_unlikely (need_regs > regs->num_regs))
        {
          regoff_t *new_start = re_realloc (regs->start, regoff_t, need_regs);
          regoff_t *new_end;
-         if (BE (new_start == NULL, 0))
+         if (__glibc_unlikely (new_start == NULL))
            return REGS_UNALLOCATED;
          new_end = re_realloc (regs->end, regoff_t, need_regs);
-         if (BE (new_end == NULL, 0))
+         if (__glibc_unlikely (new_end == NULL))
            {
              re_free (new_start);
              return REGS_UNALLOCATED;
@@ -577,11 +534,8 @@ re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs,
    freeing the old data.  */
 
 void
-re_set_registers (bufp, regs, num_regs, starts, ends)
-    struct re_pattern_buffer *bufp;
-    struct re_registers *regs;
-    __re_size_t num_regs;
-    regoff_t *starts, *ends;
+re_set_registers (struct re_pattern_buffer *bufp, struct re_registers *regs,
+                 __re_size_t num_regs, regoff_t *starts, regoff_t *ends)
 {
   if (num_regs)
     {
@@ -609,8 +563,7 @@ int
 # ifdef _LIBC
 weak_function
 # endif
-re_exec (s)
-     const char *s;
+re_exec (const char *s)
 {
   return 0 == regexec (&re_comp_buf, s, 0, NULL, 0);
 }
@@ -629,11 +582,9 @@ re_exec (s)
 
 static reg_errcode_t
 __attribute_warn_unused_result__
-re_search_internal (const regex_t *preg,
-                   const char *string, Idx length,
-                   Idx start, Idx last_start, Idx stop,
-                   size_t nmatch, regmatch_t pmatch[],
-                   int eflags)
+re_search_internal (const regex_t *preg, const char *string, Idx length,
+                   Idx start, Idx last_start, Idx stop, size_t nmatch,
+                   regmatch_t pmatch[], int eflags)
 {
   reg_errcode_t err;
   const re_dfa_t *dfa = preg->buffer;
@@ -642,7 +593,7 @@ re_search_internal (const regex_t *preg,
   bool fl_longest_match;
   int match_kind;
   Idx match_first;
-  Idx match_last = REG_MISSING;
+  Idx match_last = -1;
   Idx extra_nmatch;
   bool sb;
   int ch;
@@ -665,9 +616,10 @@ re_search_internal (const regex_t *preg,
   nmatch -= extra_nmatch;
 
   /* Check if the DFA haven't been compiled.  */
-  if (BE (preg->used == 0 || dfa->init_state == NULL
-         || dfa->init_state_word == NULL || dfa->init_state_nl == NULL
-         || dfa->init_state_begbuf == NULL, 0))
+  if (__glibc_unlikely (preg->used == 0 || dfa->init_state == NULL
+                       || dfa->init_state_word == NULL
+                       || dfa->init_state_nl == NULL
+                       || dfa->init_state_begbuf == NULL))
     return REG_NOMATCH;
 
 #ifdef DEBUG
@@ -694,14 +646,14 @@ re_search_internal (const regex_t *preg,
   err = re_string_allocate (&mctx.input, string, length, dfa->nodes_len + 1,
                            preg->translate, (preg->syntax & RE_ICASE) != 0,
                            dfa);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     goto free_return;
   mctx.input.stop = stop;
   mctx.input.raw_stop = stop;
   mctx.input.newline_anchor = preg->newline_anchor;
 
   err = match_ctx_init (&mctx, eflags, dfa->nbackref * 2);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     goto free_return;
 
   /* We will log all the DFA states through which the dfa pass,
@@ -711,15 +663,15 @@ re_search_internal (const regex_t *preg,
   if (nmatch > 1 || dfa->has_mb_node)
     {
       /* Avoid overflow.  */
-      if (BE ((MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *))
-               <= mctx.input.bufs_len), 0))
+      if (__glibc_unlikely ((MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *))
+                            <= mctx.input.bufs_len)))
        {
          err = REG_ESPACE;
          goto free_return;
        }
 
       mctx.state_log = re_malloc (re_dfastate_t *, mctx.input.bufs_len + 1);
-      if (BE (mctx.state_log == NULL, 0))
+      if (__glibc_unlikely (mctx.state_log == NULL))
        {
          err = REG_ESPACE;
          goto free_return;
@@ -763,19 +715,19 @@ re_search_internal (const regex_t *preg,
 
        case 7:
          /* Fastmap with single-byte translation, match forward.  */
-         while (BE (match_first < right_lim, 1)
+         while (__glibc_likely (match_first < right_lim)
                 && !fastmap[t[(unsigned char) string[match_first]]])
            ++match_first;
          goto forward_match_found_start_or_reached_end;
 
        case 6:
          /* Fastmap without translation, match forward.  */
-         while (BE (match_first < right_lim, 1)
+         while (__glibc_likely (match_first < right_lim)
                 && !fastmap[(unsigned char) string[match_first]])
            ++match_first;
 
        forward_match_found_start_or_reached_end:
-         if (BE (match_first == right_lim, 0))
+         if (__glibc_unlikely (match_first == right_lim))
            {
              ch = match_first >= length
                       ? 0 : (unsigned char) string[match_first];
@@ -808,11 +760,12 @@ re_search_internal (const regex_t *preg,
              /* If MATCH_FIRST is out of the valid range, reconstruct the
                 buffers.  */
              __re_size_t offset = match_first - mctx.input.raw_mbs_idx;
-             if (BE (offset >= (__re_size_t) mctx.input.valid_raw_len, 0))
+             if (__glibc_unlikely (offset
+                                   >= (__re_size_t) mctx.input.valid_raw_len))
                {
                  err = re_string_reconstruct (&mctx.input, match_first,
                                               eflags);
-                 if (BE (err != REG_NOERROR, 0))
+                 if (__glibc_unlikely (err != REG_NOERROR))
                    goto free_return;
 
                  offset = match_first - mctx.input.raw_mbs_idx;
@@ -836,7 +789,7 @@ re_search_internal (const regex_t *preg,
       /* Reconstruct the buffers so that the matcher can assume that
         the matching starts from the beginning of the buffer.  */
       err = re_string_reconstruct (&mctx.input, match_first, eflags);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        goto free_return;
 
 #ifdef RE_ENABLE_I18N
@@ -851,9 +804,9 @@ re_search_internal (const regex_t *preg,
       mctx.state_log_top = mctx.nbkref_ents = mctx.max_mb_elem_len = 0;
       match_last = check_matching (&mctx, fl_longest_match,
                                   start <= last_start ? &match_first : NULL);
-      if (match_last != REG_MISSING)
+      if (match_last != -1)
        {
-         if (BE (match_last == REG_ERROR, 0))
+         if (__glibc_unlikely (match_last == -2))
            {
              err = REG_ESPACE;
              goto free_return;
@@ -873,9 +826,9 @@ re_search_internal (const regex_t *preg,
                  err = prune_impossible_nodes (&mctx);
                  if (err == REG_NOERROR)
                    break;
-                 if (BE (err != REG_NOMATCH, 0))
+                 if (__glibc_unlikely (err != REG_NOMATCH))
                    goto free_return;
-                 match_last = REG_MISSING;
+                 match_last = -1;
                }
              else
                break; /* We found a match.  */
@@ -886,7 +839,7 @@ re_search_internal (const regex_t *preg,
     }
 
 #ifdef DEBUG
-  assert (match_last != REG_MISSING);
+  assert (match_last != -1);
   assert (err == REG_NOERROR);
 #endif
 
@@ -910,7 +863,7 @@ re_search_internal (const regex_t *preg,
        {
          err = set_regs (preg, &mctx, nmatch, pmatch,
                          dfa->has_plural_match && dfa->nbackref > 0);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            goto free_return;
        }
 
@@ -921,7 +874,7 @@ re_search_internal (const regex_t *preg,
        if (pmatch[reg_idx].rm_so != -1)
          {
 #ifdef RE_ENABLE_I18N
-           if (BE (mctx.input.offsets_needed != 0, 0))
+           if (__glibc_unlikely (mctx.input.offsets_needed != 0))
              {
                pmatch[reg_idx].rm_so =
                  (pmatch[reg_idx].rm_so == mctx.input.valid_len
@@ -980,11 +933,12 @@ prune_impossible_nodes (re_match_context_t *mctx)
   halt_node = mctx->last_node;
 
   /* Avoid overflow.  */
-  if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) <= match_last, 0))
+  if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *))
+                       <= match_last))
     return REG_ESPACE;
 
   sifted_states = re_malloc (re_dfastate_t *, match_last + 1);
-  if (BE (sifted_states == NULL, 0))
+  if (__glibc_unlikely (sifted_states == NULL))
     {
       ret = REG_ESPACE;
       goto free_return;
@@ -992,7 +946,7 @@ prune_impossible_nodes (re_match_context_t *mctx)
   if (dfa->nbackref)
     {
       lim_states = re_malloc (re_dfastate_t *, match_last + 1);
-      if (BE (lim_states == NULL, 0))
+      if (__glibc_unlikely (lim_states == NULL))
        {
          ret = REG_ESPACE;
          goto free_return;
@@ -1005,14 +959,14 @@ prune_impossible_nodes (re_match_context_t *mctx)
                         match_last);
          ret = sift_states_backward (mctx, &sctx);
          re_node_set_free (&sctx.limits);
-         if (BE (ret != REG_NOERROR, 0))
+         if (__glibc_unlikely (ret != REG_NOERROR))
              goto free_return;
          if (sifted_states[0] != NULL || lim_states[0] != NULL)
            break;
          do
            {
              --match_last;
-             if (! REG_VALID_INDEX (match_last))
+             if (match_last < 0)
                {
                  ret = REG_NOMATCH;
                  goto free_return;
@@ -1027,7 +981,7 @@ prune_impossible_nodes (re_match_context_t *mctx)
                               match_last + 1);
       re_free (lim_states);
       lim_states = NULL;
-      if (BE (ret != REG_NOERROR, 0))
+      if (__glibc_unlikely (ret != REG_NOERROR))
        goto free_return;
     }
   else
@@ -1035,7 +989,7 @@ prune_impossible_nodes (re_match_context_t *mctx)
       sift_ctx_init (&sctx, sifted_states, lim_states, halt_node, match_last);
       ret = sift_states_backward (mctx, &sctx);
       re_node_set_free (&sctx.limits);
-      if (BE (ret != REG_NOERROR, 0))
+      if (__glibc_unlikely (ret != REG_NOERROR))
        goto free_return;
       if (sifted_states[0] == NULL)
        {
@@ -1060,7 +1014,7 @@ prune_impossible_nodes (re_match_context_t *mctx)
    since initial states may have constraints like "\<", "^", etc..  */
 
 static inline re_dfastate_t *
-__attribute__ ((always_inline)) internal_function
+__attribute__ ((always_inline))
 acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx,
                            Idx idx)
 {
@@ -1093,8 +1047,8 @@ acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx,
 }
 
 /* Check whether the regular expression match input string INPUT or not,
-   and return the index where the matching end.  Return REG_MISSING if
-   there is no match, and return REG_ERROR in case of an error.
+   and return the index where the matching end.  Return -1 if
+   there is no match, and return -2 in case of an error.
    FL_LONGEST_MATCH means we want the POSIX longest matching.
    If P_MATCH_FIRST is not NULL, and the match fails, it is set to the
    next place where we may want to try matching.
@@ -1102,14 +1056,14 @@ acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx,
    index of the buffer.  */
 
 static Idx
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 check_matching (re_match_context_t *mctx, bool fl_longest_match,
                Idx *p_match_first)
 {
   const re_dfa_t *const dfa = mctx->dfa;
   reg_errcode_t err;
   Idx match = 0;
-  Idx match_last = REG_MISSING;
+  Idx match_last = -1;
   Idx cur_str_idx = re_string_cur_idx (&mctx->input);
   re_dfastate_t *cur_state;
   bool at_init_state = p_match_first != NULL;
@@ -1118,10 +1072,10 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
   err = REG_NOERROR;
   cur_state = acquire_init_state_context (&err, mctx, cur_str_idx);
   /* An initial state must not be NULL (invalid).  */
-  if (BE (cur_state == NULL, 0))
+  if (__glibc_unlikely (cur_state == NULL))
     {
       assert (err == REG_ESPACE);
-      return REG_ERROR;
+      return -2;
     }
 
   if (mctx->state_log != NULL)
@@ -1130,24 +1084,24 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
 
       /* Check OP_OPEN_SUBEXP in the initial state in case that we use them
         later.  E.g. Processing back references.  */
-      if (BE (dfa->nbackref, 0))
+      if (__glibc_unlikely (dfa->nbackref))
        {
          at_init_state = false;
          err = check_subexp_matching_top (mctx, &cur_state->nodes, 0);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            return err;
 
          if (cur_state->has_backref)
            {
              err = transit_state_bkref (mctx, &cur_state->nodes);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                return err;
            }
        }
     }
 
   /* If the RE accepts NULL string.  */
-  if (BE (cur_state->halt, 0))
+  if (__glibc_unlikely (cur_state->halt))
     {
       if (!cur_state->has_constraint
          || check_halt_state_context (mctx, cur_state, cur_str_idx))
@@ -1167,16 +1121,16 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
       re_dfastate_t *old_state = cur_state;
       Idx next_char_idx = re_string_cur_idx (&mctx->input) + 1;
 
-      if ((BE (next_char_idx >= mctx->input.bufs_len, 0)
+      if ((__glibc_unlikely (next_char_idx >= mctx->input.bufs_len)
           && mctx->input.bufs_len < mctx->input.len)
-         || (BE (next_char_idx >= mctx->input.valid_len, 0)
+         || (__glibc_unlikely (next_char_idx >= mctx->input.valid_len)
              && mctx->input.valid_len < mctx->input.len))
        {
          err = extend_buffers (mctx, next_char_idx + 1);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            {
              assert (err == REG_ESPACE);
-             return REG_ERROR;
+             return -2;
            }
        }
 
@@ -1189,8 +1143,8 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
          /* Reached the invalid state or an error.  Try to recover a valid
             state using the state log, if available and if we have not
             already found a valid (even if not the longest) match.  */
-         if (BE (err != REG_NOERROR, 0))
-           return REG_ERROR;
+         if (__glibc_unlikely (err != REG_NOERROR))
+           return -2;
 
          if (mctx->state_log == NULL
              || (match && !fl_longest_match)
@@ -1198,7 +1152,7 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
            break;
        }
 
-      if (BE (at_init_state, 0))
+      if (__glibc_unlikely (at_init_state))
        {
          if (old_state == cur_state)
            next_start_idx = next_char_idx;
@@ -1235,7 +1189,6 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
 /* Check NODE match the current context.  */
 
 static bool
-internal_function
 check_halt_node_context (const re_dfa_t *dfa, Idx node, unsigned int context)
 {
   re_token_type_t type = dfa->nodes[node].type;
@@ -1254,7 +1207,6 @@ check_halt_node_context (const re_dfa_t *dfa, Idx node, unsigned int context)
    match the context, return the node.  */
 
 static Idx
-internal_function
 check_halt_state_context (const re_match_context_t *mctx,
                          const re_dfastate_t *state, Idx idx)
 {
@@ -1273,10 +1225,9 @@ check_halt_state_context (const re_match_context_t *mctx,
 /* Compute the next node to which "NFA" transit from NODE("NFA" is a NFA
    corresponding to the DFA).
    Return the destination node, and update EPS_VIA_NODES;
-   return REG_MISSING in case of errors.  */
+   return -1 in case of errors.  */
 
 static Idx
-internal_function
 proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
                   Idx *pidx, Idx node, re_node_set *eps_via_nodes,
                   struct re_fail_stack_t *fs)
@@ -1290,16 +1241,16 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
       re_node_set *edests = &dfa->edests[node];
       Idx dest_node;
       ok = re_node_set_insert (eps_via_nodes, node);
-      if (BE (! ok, 0))
-       return REG_ERROR;
-      /* Pick up a valid destination, or return REG_MISSING if none
+      if (__glibc_unlikely (! ok))
+       return -2;
+      /* Pick up a valid destination, or return -1 if none
         is found.  */
-      for (dest_node = REG_MISSING, i = 0; i < edests->nelem; ++i)
+      for (dest_node = -1, i = 0; i < edests->nelem; ++i)
        {
          Idx candidate = edests->elems[i];
          if (!re_node_set_contains (cur_nodes, candidate))
            continue;
-          if (dest_node == REG_MISSING)
+          if (dest_node == -1)
            dest_node = candidate;
 
          else
@@ -1313,7 +1264,7 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
              else if (fs != NULL
                       && push_fail_stack (fs, *pidx, candidate, nregs, regs,
                                           eps_via_nodes))
-               return REG_ERROR;
+               return -2;
 
              /* We know we are going to exit.  */
              break;
@@ -1338,13 +1289,15 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
          if (fs != NULL)
            {
              if (regs[subexp_idx].rm_so == -1 || regs[subexp_idx].rm_eo == -1)
-               return REG_MISSING;
+               return -1;
              else if (naccepted)
                {
                  char *buf = (char *) re_string_get_buffer (&mctx->input);
-                 if (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx,
-                             naccepted) != 0)
-                   return REG_MISSING;
+                 if (mctx->input.valid_len - *pidx < naccepted
+                     || (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx,
+                                 naccepted)
+                         != 0))
+                   return -1;
                }
            }
 
@@ -1352,8 +1305,8 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
            {
              Idx dest_node;
              ok = re_node_set_insert (eps_via_nodes, node);
-             if (BE (! ok, 0))
-               return REG_ERROR;
+             if (__glibc_unlikely (! ok))
+               return -2;
              dest_node = dfa->edests[node].elems[0];
              if (re_node_set_contains (&mctx->state_log[*pidx]->nodes,
                                        dest_node))
@@ -1369,16 +1322,16 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
          if (fs && (*pidx > mctx->match_last || mctx->state_log[*pidx] == NULL
                     || !re_node_set_contains (&mctx->state_log[*pidx]->nodes,
                                               dest_node)))
-           return REG_MISSING;
+           return -1;
          re_node_set_empty (eps_via_nodes);
          return dest_node;
        }
     }
-  return REG_MISSING;
+  return -1;
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node,
                 Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes)
 {
@@ -1387,8 +1340,8 @@ push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node,
   if (fs->num == fs->alloc)
     {
       struct re_fail_stack_ent_t *new_array;
-      new_array = realloc (fs->stack, (sizeof (struct re_fail_stack_ent_t)
-                                      * fs->alloc * 2));
+      new_array = re_realloc (fs->stack, struct re_fail_stack_ent_t,
+                              fs->alloc * 2);
       if (new_array == NULL)
        return REG_ESPACE;
       fs->alloc *= 2;
@@ -1405,12 +1358,11 @@ push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node,
 }
 
 static Idx
-internal_function
 pop_fail_stack (struct re_fail_stack_t *fs, Idx *pidx, Idx nregs,
                regmatch_t *regs, re_node_set *eps_via_nodes)
 {
   Idx num = --fs->num;
-  assert (REG_VALID_INDEX (num));
+  assert (num >= 0);
   *pidx = fs->stack[num].idx;
   memcpy (regs, fs->stack[num].regs, sizeof (regmatch_t) * nregs);
   re_node_set_free (eps_via_nodes);
@@ -1425,7 +1377,7 @@ pop_fail_stack (struct re_fail_stack_t *fs, Idx *pidx, Idx nregs,
    pmatch[i].rm_so == pmatch[i].rm_eo == -1 for 0 < i < nmatch.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch,
          regmatch_t *pmatch, bool fl_backtrack)
 {
@@ -1503,9 +1455,9 @@ set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch,
       cur_node = proceed_next_node (mctx, nmatch, pmatch, &idx, cur_node,
                                    &eps_via_nodes, fs);
 
-      if (BE (! REG_VALID_INDEX (cur_node), 0))
+      if (__glibc_unlikely (cur_node < 0))
        {
-         if (BE (cur_node == REG_ERROR, 0))
+         if (__glibc_unlikely (cur_node == -2))
            {
              re_node_set_free (&eps_via_nodes);
              if (prev_idx_match_malloced)
@@ -1532,7 +1484,6 @@ set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch,
 }
 
 static reg_errcode_t
-internal_function
 free_fail_stack_return (struct re_fail_stack_t *fs)
 {
   if (fs)
@@ -1549,7 +1500,6 @@ free_fail_stack_return (struct re_fail_stack_t *fs)
 }
 
 static void
-internal_function
 update_regs (const re_dfa_t *dfa, regmatch_t *pmatch,
             regmatch_t *prev_idx_match, Idx cur_node, Idx cur_idx, Idx nmatch)
 {
@@ -1621,7 +1571,6 @@ update_regs (const re_dfa_t *dfa, regmatch_t *pmatch,
   ((state) != NULL && re_node_set_contains (&(state)->nodes, node))
 
 static reg_errcode_t
-internal_function
 sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
 {
   reg_errcode_t err;
@@ -1636,10 +1585,10 @@ sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
   /* Build sifted state_log[str_idx].  It has the nodes which can epsilon
      transit to the last_node and the last_node itself.  */
   err = re_node_set_init_1 (&cur_dest, sctx->last_node);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
   err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     goto free_return;
 
   /* Then check each states in the state_log.  */
@@ -1660,7 +1609,7 @@ sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
       if (mctx->state_log[str_idx])
        {
          err = build_sifted_states (mctx, sctx, str_idx, &cur_dest);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            goto free_return;
        }
 
@@ -1669,7 +1618,7 @@ sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
         - It is in CUR_SRC.
         And update state_log.  */
       err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        goto free_return;
     }
   err = REG_NOERROR;
@@ -1679,7 +1628,7 @@ sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx,
                     Idx str_idx, re_node_set *cur_dest)
 {
@@ -1731,7 +1680,7 @@ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx,
            continue;
        }
       ok = re_node_set_insert (cur_dest, prev_node);
-      if (BE (! ok, 0))
+      if (__glibc_unlikely (! ok))
        return REG_ESPACE;
     }
 
@@ -1741,7 +1690,6 @@ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx,
 /* Helper functions.  */
 
 static reg_errcode_t
-internal_function
 clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx)
 {
   Idx top = mctx->state_log_top;
@@ -1753,7 +1701,7 @@ clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx)
     {
       reg_errcode_t err;
       err = extend_buffers (mctx, next_state_log_idx + 1);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        return err;
     }
 
@@ -1767,7 +1715,6 @@ clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx)
 }
 
 static reg_errcode_t
-internal_function
 merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst,
                   re_dfastate_t **src, Idx num)
 {
@@ -1782,11 +1729,11 @@ merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst,
          re_node_set merged_set;
          err = re_node_set_init_union (&merged_set, &dst[st_idx]->nodes,
                                        &src[st_idx]->nodes);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            return err;
          dst[st_idx] = re_acquire_state (&err, dfa, &merged_set);
          re_node_set_free (&merged_set);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            return err;
        }
     }
@@ -1794,7 +1741,6 @@ merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst,
 }
 
 static reg_errcode_t
-internal_function
 update_cur_sifted_state (const re_match_context_t *mctx,
                         re_sift_context_t *sctx, Idx str_idx,
                         re_node_set *dest_nodes)
@@ -1814,7 +1760,7 @@ update_cur_sifted_state (const re_match_context_t *mctx,
          /* At first, add the nodes which can epsilon transit to a node in
             DEST_NODE.  */
          err = add_epsilon_src_nodes (dfa, dest_nodes, candidates);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            return err;
 
          /* Then, check the limitations in the current sift_context.  */
@@ -1822,27 +1768,27 @@ update_cur_sifted_state (const re_match_context_t *mctx,
            {
              err = check_subexp_limits (dfa, dest_nodes, candidates, &sctx->limits,
                                         mctx->bkref_ents, str_idx);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                return err;
            }
        }
 
       sctx->sifted_states[str_idx] = re_acquire_state (&err, dfa, dest_nodes);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        return err;
     }
 
   if (candidates && mctx->state_log[str_idx]->has_backref)
     {
       err = sift_states_bkref (mctx, sctx, str_idx, candidates);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        return err;
     }
   return REG_NOERROR;
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes,
                       const re_node_set *candidates)
 {
@@ -1850,19 +1796,19 @@ add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes,
   Idx i;
 
   re_dfastate_t *state = re_acquire_state (&err, dfa, dest_nodes);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
 
   if (!state->inveclosure.alloc)
     {
       err = re_node_set_alloc (&state->inveclosure, dest_nodes->nelem);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        return REG_ESPACE;
       for (i = 0; i < dest_nodes->nelem; i++)
        {
          err = re_node_set_merge (&state->inveclosure,
                                   dfa->inveclosures + dest_nodes->elems[i]);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            return REG_ESPACE;
        }
     }
@@ -1871,7 +1817,6 @@ add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes,
 }
 
 static reg_errcode_t
-internal_function
 sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes,
                       const re_node_set *candidates)
 {
@@ -1889,16 +1834,16 @@ sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes,
          {
            Idx edst1 = dfa->edests[cur_node].elems[0];
            Idx edst2 = ((dfa->edests[cur_node].nelem > 1)
-                        ? dfa->edests[cur_node].elems[1] : REG_MISSING);
+                        ? dfa->edests[cur_node].elems[1] : -1);
            if ((!re_node_set_contains (inv_eclosure, edst1)
                 && re_node_set_contains (dest_nodes, edst1))
-               || (REG_VALID_NONZERO_INDEX (edst2)
+               || (edst2 > 0
                    && !re_node_set_contains (inv_eclosure, edst2)
                    && re_node_set_contains (dest_nodes, edst2)))
              {
                err = re_node_set_add_intersect (&except_nodes, candidates,
                                                 dfa->inveclosures + cur_node);
-               if (BE (err != REG_NOERROR, 0))
+               if (__glibc_unlikely (err != REG_NOERROR))
                  {
                    re_node_set_free (&except_nodes);
                    return err;
@@ -1920,7 +1865,6 @@ sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes,
 }
 
 static bool
-internal_function
 check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits,
                  Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx)
 {
@@ -1956,7 +1900,6 @@ check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits,
 }
 
 static int
-internal_function
 check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries,
                             Idx subexp_idx, Idx from_node, Idx bkref_idx)
 {
@@ -1972,7 +1915,7 @@ check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries,
       switch (dfa->nodes[node].type)
        {
        case OP_BACK_REF:
-         if (bkref_idx != REG_MISSING)
+         if (bkref_idx != -1)
            {
              struct re_backref_cache_entry *ent = mctx->bkref_ents + bkref_idx;
              do
@@ -2038,7 +1981,6 @@ check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries,
 }
 
 static int
-internal_function
 check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit,
                           Idx subexp_idx, Idx from_node, Idx str_idx,
                           Idx bkref_idx)
@@ -2068,7 +2010,6 @@ check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit,
    which are against limitations from DEST_NODES. */
 
 static reg_errcode_t
-internal_function
 check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
                     const re_node_set *candidates, re_node_set *limits,
                     struct re_backref_cache_entry *bkref_ents, Idx str_idx)
@@ -2088,8 +2029,8 @@ check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
       subexp_idx = dfa->nodes[ent->node].opr.idx;
       if (ent->subexp_to == str_idx)
        {
-         Idx ops_node = REG_MISSING;
-         Idx cls_node = REG_MISSING;
+         Idx ops_node = -1;
+         Idx cls_node = -1;
          for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx)
            {
              Idx node = dest_nodes->elems[node_idx];
@@ -2104,16 +2045,16 @@ check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
 
          /* Check the limitation of the open subexpression.  */
          /* Note that (ent->subexp_to = str_idx != ent->subexp_from).  */
-         if (REG_VALID_INDEX (ops_node))
+         if (ops_node >= 0)
            {
              err = sub_epsilon_src_nodes (dfa, ops_node, dest_nodes,
                                           candidates);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                return err;
            }
 
          /* Check the limitation of the close subexpression.  */
-         if (REG_VALID_INDEX (cls_node))
+         if (cls_node >= 0)
            for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx)
              {
                Idx node = dest_nodes->elems[node_idx];
@@ -2126,7 +2067,7 @@ check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
                       Remove it form the current sifted state.  */
                    err = sub_epsilon_src_nodes (dfa, node, dest_nodes,
                                                 candidates);
-                   if (BE (err != REG_NOERROR, 0))
+                   if (__glibc_unlikely (err != REG_NOERROR))
                      return err;
                    --node_idx;
                  }
@@ -2146,7 +2087,7 @@ check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
                     Remove it form the current sifted state.  */
                  err = sub_epsilon_src_nodes (dfa, node, dest_nodes,
                                               candidates);
-                 if (BE (err != REG_NOERROR, 0))
+                 if (__glibc_unlikely (err != REG_NOERROR))
                    return err;
                }
            }
@@ -2156,7 +2097,7 @@ check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx,
                   Idx str_idx, const re_node_set *candidates)
 {
@@ -2166,7 +2107,7 @@ sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx,
   re_sift_context_t local_sctx;
   Idx first_idx = search_cur_bkref_entry (mctx, str_idx);
 
-  if (first_idx == REG_MISSING)
+  if (first_idx == -1)
     return REG_NOERROR;
 
   local_sctx.sifted_states = NULL; /* Mark that it hasn't been initialized.  */
@@ -2212,27 +2153,27 @@ sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx,
            {
              local_sctx = *sctx;
              err = re_node_set_init_copy (&local_sctx.limits, &sctx->limits);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                goto free_return;
            }
          local_sctx.last_node = node;
          local_sctx.last_str_idx = str_idx;
          ok = re_node_set_insert (&local_sctx.limits, enabled_idx);
-         if (BE (! ok, 0))
+         if (__glibc_unlikely (! ok))
            {
              err = REG_ESPACE;
              goto free_return;
            }
          cur_state = local_sctx.sifted_states[str_idx];
          err = sift_states_backward (mctx, &local_sctx);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            goto free_return;
          if (sctx->limited_states != NULL)
            {
              err = merge_state_array (dfa, sctx->limited_states,
                                       local_sctx.sifted_states,
                                       str_idx + 1);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                goto free_return;
            }
          local_sctx.sifted_states[str_idx] = cur_state;
@@ -2256,7 +2197,6 @@ sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx,
 
 #ifdef RE_ENABLE_I18N
 static int
-internal_function
 sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx,
                     Idx node_idx, Idx str_idx, Idx max_str_idx)
 {
@@ -2264,12 +2204,12 @@ 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
-       could't accept the current input "multi byte".   */
+       couldn't accept the current input "multi byte".   */
     naccepted = 0;
   /* Otherwise, it is sure that the node could accept
      'naccepted' bytes input.  */
@@ -2286,7 +2226,7 @@ sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx,
    update the destination of STATE_LOG.  */
 
 static re_dfastate_t *
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 transit_state (reg_errcode_t *err, re_match_context_t *mctx,
               re_dfastate_t *state)
 {
@@ -2295,10 +2235,10 @@ transit_state (reg_errcode_t *err, re_match_context_t *mctx,
 
 #ifdef RE_ENABLE_I18N
   /* If the current state can accept multibyte.  */
-  if (BE (state->accept_mb, 0))
+  if (__glibc_unlikely (state->accept_mb))
     {
       *err = transit_state_mb (mctx, state);
-      if (BE (*err != REG_NOERROR, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR))
        return NULL;
     }
 #endif /* RE_ENABLE_I18N */
@@ -2315,11 +2255,11 @@ transit_state (reg_errcode_t *err, re_match_context_t *mctx,
   for (;;)
     {
       trtable = state->trtable;
-      if (BE (trtable != NULL, 1))
+      if (__glibc_likely (trtable != NULL))
        return trtable[ch];
 
       trtable = state->word_trtable;
-      if (BE (trtable != NULL, 1))
+      if (__glibc_likely (trtable != NULL))
        {
          unsigned int context;
          context
@@ -2344,7 +2284,6 @@ transit_state (reg_errcode_t *err, re_match_context_t *mctx,
 
 /* Update the state_log if we need */
 static re_dfastate_t *
-internal_function
 merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
                      re_dfastate_t *next_state)
 {
@@ -2376,7 +2315,7 @@ merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
          table_nodes = next_state->entrance_nodes;
          *err = re_node_set_init_union (&next_nodes, table_nodes,
                                             log_nodes);
-         if (BE (*err != REG_NOERROR, 0))
+         if (__glibc_unlikely (*err != REG_NOERROR))
            return NULL;
        }
       else
@@ -2396,21 +2335,21 @@ merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
        re_node_set_free (&next_nodes);
     }
 
-  if (BE (dfa->nbackref, 0) && next_state != NULL)
+  if (__glibc_unlikely (dfa->nbackref) && next_state != NULL)
     {
       /* Check OP_OPEN_SUBEXP in the current state in case that we use them
         later.  We must check them here, since the back references in the
         next state might use them.  */
       *err = check_subexp_matching_top (mctx, &next_state->nodes,
                                        cur_idx);
-      if (BE (*err != REG_NOERROR, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR))
        return NULL;
 
       /* If the next state has back references.  */
       if (next_state->has_backref)
        {
          *err = transit_state_bkref (mctx, &next_state->nodes);
-         if (BE (*err != REG_NOERROR, 0))
+         if (__glibc_unlikely (*err != REG_NOERROR))
            return NULL;
          next_state = mctx->state_log[cur_idx];
        }
@@ -2423,7 +2362,6 @@ merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
    multi-byte match, then look in the log for a state
    from which to restart matching.  */
 static re_dfastate_t *
-internal_function
 find_recover_state (reg_errcode_t *err, re_match_context_t *mctx)
 {
   re_dfastate_t *cur_state;
@@ -2454,7 +2392,6 @@ find_recover_state (reg_errcode_t *err, re_match_context_t *mctx)
    corresponding back references.  */
 
 static reg_errcode_t
-internal_function
 check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes,
                           Idx str_idx)
 {
@@ -2476,7 +2413,7 @@ check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes,
              & ((bitset_word_t) 1 << dfa->nodes[node].opr.idx)))
        {
          err = match_ctx_add_subtop (mctx, node, str_idx);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            return err;
        }
     }
@@ -2498,7 +2435,7 @@ transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx,
   unsigned int context;
 
   *err = re_node_set_alloc (&next_nodes, state->nodes.nelem + 1);
-  if (BE (*err != REG_NOERROR, 0))
+  if (__glibc_unlikely (*err != REG_NOERROR))
     return NULL;
   for (node_cnt = 0; node_cnt < state->nodes.nelem; ++node_cnt)
     {
@@ -2507,7 +2444,7 @@ transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx,
        {
          *err = re_node_set_merge (&next_nodes,
                                    dfa->eclosures + dfa->nexts[cur_node]);
-         if (BE (*err != REG_NOERROR, 0))
+         if (__glibc_unlikely (*err != REG_NOERROR))
            {
              re_node_set_free (&next_nodes);
              return NULL;
@@ -2527,7 +2464,6 @@ transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx,
 
 #ifdef RE_ENABLE_I18N
 static reg_errcode_t
-internal_function
 transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
 {
   const re_dfa_t *const dfa = mctx->dfa;
@@ -2567,10 +2503,10 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
       mctx->max_mb_elem_len = ((mctx->max_mb_elem_len < naccepted) ? naccepted
                               : mctx->max_mb_elem_len);
       err = clean_state_log_if_needed (mctx, dest_idx);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        return err;
 #ifdef DEBUG
-      assert (dfa->nexts[cur_node_idx] != REG_MISSING);
+      assert (dfa->nexts[cur_node_idx] != -1);
 #endif
       new_nodes = dfa->eclosures + dfa->nexts[cur_node_idx];
 
@@ -2581,7 +2517,7 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
        {
          err = re_node_set_init_union (&dest_nodes,
                                        dest_state->entrance_nodes, new_nodes);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            return err;
        }
       context = re_string_context_at (&mctx->input, dest_idx - 1,
@@ -2590,7 +2526,8 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
        = re_acquire_state_context (&err, dfa, &dest_nodes, context);
       if (dest_state != NULL)
        re_node_set_free (&dest_nodes);
-      if (BE (mctx->state_log[dest_idx] == NULL && err != REG_NOERROR, 0))
+      if (__glibc_unlikely (mctx->state_log[dest_idx] == NULL
+                           && err != REG_NOERROR))
        return err;
     }
   return REG_NOERROR;
@@ -2598,7 +2535,6 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
 #endif /* RE_ENABLE_I18N */
 
 static reg_errcode_t
-internal_function
 transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
 {
   const re_dfa_t *const dfa = mctx->dfa;
@@ -2630,13 +2566,13 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
         Check the substring which the substring matched.  */
       bkc_idx = mctx->nbkref_ents;
       err = get_subexp (mctx, node_idx, cur_str_idx);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        goto free_return;
 
       /* And add the epsilon closures (which is 'new_dest_nodes') of
         the backreference to appropriate state_log.  */
 #ifdef DEBUG
-      assert (dfa->nexts[node_idx] != REG_MISSING);
+      assert (dfa->nexts[node_idx] != -1);
 #endif
       for (; bkc_idx < mctx->nbkref_ents; ++bkc_idx)
        {
@@ -2663,8 +2599,8 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
              mctx->state_log[dest_str_idx]
                = re_acquire_state_context (&err, dfa, new_dest_nodes,
                                            context);
-             if (BE (mctx->state_log[dest_str_idx] == NULL
-                     && err != REG_NOERROR, 0))
+             if (__glibc_unlikely (mctx->state_log[dest_str_idx] == NULL
+                                   && err != REG_NOERROR))
                goto free_return;
            }
          else
@@ -2673,7 +2609,7 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
              err = re_node_set_init_union (&dest_nodes,
                                            dest_state->entrance_nodes,
                                            new_dest_nodes);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                {
                  re_node_set_free (&dest_nodes);
                  goto free_return;
@@ -2681,8 +2617,8 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
              mctx->state_log[dest_str_idx]
                = re_acquire_state_context (&err, dfa, &dest_nodes, context);
              re_node_set_free (&dest_nodes);
-             if (BE (mctx->state_log[dest_str_idx] == NULL
-                     && err != REG_NOERROR, 0))
+             if (__glibc_unlikely (mctx->state_log[dest_str_idx] == NULL
+                                   && err != REG_NOERROR))
                goto free_return;
            }
          /* We need to check recursively if the backreference can epsilon
@@ -2692,10 +2628,10 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
            {
              err = check_subexp_matching_top (mctx, new_dest_nodes,
                                               cur_str_idx);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                goto free_return;
              err = transit_state_bkref (mctx, new_dest_nodes);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                goto free_return;
            }
        }
@@ -2712,7 +2648,7 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
    delay these checking for prune_impossible_nodes().  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
 {
   const re_dfa_t *const dfa = mctx->dfa;
@@ -2720,7 +2656,7 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
   const char *buf = (const char *) re_string_get_buffer (&mctx->input);
   /* Return if we have already checked BKREF_NODE at BKREF_STR_IDX.  */
   Idx cache_idx = search_cur_bkref_entry (mctx, bkref_str_idx);
-  if (cache_idx != REG_MISSING)
+  if (cache_idx != -1)
     {
       const struct re_backref_cache_entry *entry
        = mctx->bkref_ents + cache_idx;
@@ -2756,7 +2692,8 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
             at the back reference?  */
          if (sl_str_diff > 0)
            {
-             if (BE (bkref_str_off + sl_str_diff > mctx->input.valid_len, 0))
+             if (__glibc_unlikely (bkref_str_off + sl_str_diff
+                                   > mctx->input.valid_len))
                {
                  /* Not enough chars for a successful match.  */
                  if (bkref_str_off + sl_str_diff > mctx->input.len)
@@ -2765,7 +2702,7 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
                  err = clean_state_log_if_needed (mctx,
                                                   bkref_str_off
                                                   + sl_str_diff);
-                 if (BE (err != REG_NOERROR, 0))
+                 if (__glibc_unlikely (err != REG_NOERROR))
                    return err;
                  buf = (const char *) re_string_get_buffer (&mctx->input);
                }
@@ -2784,7 +2721,7 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
 
          if (err == REG_NOMATCH)
            continue;
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            return err;
        }
 
@@ -2803,14 +2740,14 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
             at the back reference?  */
          if (sl_str_off > 0)
            {
-             if (BE (bkref_str_off >= mctx->input.valid_len, 0))
+             if (__glibc_unlikely (bkref_str_off >= mctx->input.valid_len))
                {
                  /* If we are at the end of the input, we cannot match.  */
                  if (bkref_str_off >= mctx->input.len)
                    break;
 
                  err = extend_buffers (mctx, bkref_str_off + 1);
-                 if (BE (err != REG_NOERROR, 0))
+                 if (__glibc_unlikely (err != REG_NOERROR))
                    return err;
 
                  buf = (const char *) re_string_get_buffer (&mctx->input);
@@ -2825,7 +2762,7 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
          nodes = &mctx->state_log[sl_str]->nodes;
          cls_node = find_subexp_node (dfa, nodes, subexp_num,
                                       OP_CLOSE_SUBEXP);
-         if (cls_node == REG_MISSING)
+         if (cls_node == -1)
            continue; /* No.  */
          if (sub_top->path == NULL)
            {
@@ -2841,15 +2778,18 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
                               OP_CLOSE_SUBEXP);
          if (err == REG_NOMATCH)
              continue;
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
              return err;
          sub_last = match_ctx_add_sublast (sub_top, cls_node, sl_str);
-         if (BE (sub_last == NULL, 0))
+         if (__glibc_unlikely (sub_last == NULL))
            return REG_ESPACE;
          err = get_subexp_sub (mctx, sub_top, sub_last, bkref_node,
                                bkref_str_idx);
+         buf = (const char *) re_string_get_buffer (&mctx->input);
          if (err == REG_NOMATCH)
            continue;
+         if (__glibc_unlikely (err != REG_NOERROR))
+           return err;
        }
     }
   return REG_NOERROR;
@@ -2862,7 +2802,6 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
    and SUB_LAST.  */
 
 static reg_errcode_t
-internal_function
 get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top,
                re_sub_match_last_t *sub_last, Idx bkref_node, Idx bkref_str)
 {
@@ -2876,7 +2815,7 @@ get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top,
     return err;
   err = match_ctx_add_entry (mctx, bkref_node, bkref_str, sub_top->str_idx,
                             sub_last->str_idx);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
   to_idx = bkref_str + sub_last->str_idx - sub_top->str_idx;
   return clean_state_log_if_needed (mctx, to_idx);
@@ -2891,7 +2830,6 @@ get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top,
         E.g. RE: (a){2}  */
 
 static Idx
-internal_function
 find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,
                  Idx subexp_idx, int type)
 {
@@ -2904,7 +2842,7 @@ find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,
          && node->opr.idx == subexp_idx)
        return cls_node;
     }
-  return REG_MISSING;
+  return -1;
 }
 
 /* Check whether the node TOP_NODE at TOP_STR can arrive to the node
@@ -2913,7 +2851,7 @@ find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,
    Return REG_NOERROR if it can arrive, or REG_NOMATCH otherwise.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
               Idx top_str, Idx last_node, Idx last_str, int type)
 {
@@ -2927,19 +2865,19 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
 
   subexp_num = dfa->nodes[top_node].opr.idx;
   /* Extend the buffer if we need.  */
-  if (BE (path->alloc < last_str + mctx->max_mb_elem_len + 1, 0))
+  if (__glibc_unlikely (path->alloc < last_str + mctx->max_mb_elem_len + 1))
     {
       re_dfastate_t **new_array;
       Idx old_alloc = path->alloc;
       Idx incr_alloc = last_str + mctx->max_mb_elem_len + 1;
       Idx new_alloc;
-      if (BE (IDX_MAX - old_alloc < incr_alloc, 0))
+      if (__glibc_unlikely (IDX_MAX - old_alloc < incr_alloc))
        return REG_ESPACE;
       new_alloc = old_alloc + incr_alloc;
-      if (BE (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc, 0))
+      if (__glibc_unlikely (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc))
        return REG_ESPACE;
       new_array = re_realloc (path->array, re_dfastate_t *, new_alloc);
-      if (BE (new_array == NULL, 0))
+      if (__glibc_unlikely (new_array == NULL))
        return REG_ESPACE;
       path->array = new_array;
       path->alloc = new_alloc;
@@ -2960,10 +2898,10 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
   if (str_idx == top_str)
     {
       err = re_node_set_init_1 (&next_nodes, top_node);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        return err;
       err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
        {
          re_node_set_free (&next_nodes);
          return err;
@@ -2975,7 +2913,7 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
       if (cur_state && cur_state->has_backref)
        {
          err = re_node_set_init_copy (&next_nodes, &cur_state->nodes);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            return err;
        }
       else
@@ -2987,14 +2925,14 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
        {
          err = expand_bkref_cache (mctx, &next_nodes, str_idx,
                                    subexp_num, type);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            {
              re_node_set_free (&next_nodes);
              return err;
            }
        }
       cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context);
-      if (BE (cur_state == NULL && err != REG_NOERROR, 0))
+      if (__glibc_unlikely (cur_state == NULL && err != REG_NOERROR))
        {
          re_node_set_free (&next_nodes);
          return err;
@@ -3009,7 +2947,7 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
        {
          err = re_node_set_merge (&next_nodes,
                                   &mctx->state_log[str_idx + 1]->nodes);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            {
              re_node_set_free (&next_nodes);
              return err;
@@ -3020,7 +2958,7 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
          err = check_arrival_add_next_nodes (mctx, str_idx,
                                              &cur_state->non_eps_nodes,
                                              &next_nodes);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            {
              re_node_set_free (&next_nodes);
              return err;
@@ -3030,14 +2968,14 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
       if (next_nodes.nelem)
        {
          err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            {
              re_node_set_free (&next_nodes);
              return err;
            }
          err = expand_bkref_cache (mctx, &next_nodes, str_idx,
                                    subexp_num, type);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            {
              re_node_set_free (&next_nodes);
              return err;
@@ -3045,7 +2983,7 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
        }
       context = re_string_context_at (&mctx->input, str_idx - 1, mctx->eflags);
       cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context);
-      if (BE (cur_state == NULL && err != REG_NOERROR, 0))
+      if (__glibc_unlikely (cur_state == NULL && err != REG_NOERROR))
        {
          re_node_set_free (&next_nodes);
          return err;
@@ -3078,7 +3016,7 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
         Can't we unify them?  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx,
                              re_node_set *cur_nodes, re_node_set *next_nodes)
 {
@@ -3114,22 +3052,22 @@ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx,
              if (dest_state)
                {
                  err = re_node_set_merge (&union_set, &dest_state->nodes);
-                 if (BE (err != REG_NOERROR, 0))
+                 if (__glibc_unlikely (err != REG_NOERROR))
                    {
                      re_node_set_free (&union_set);
                      return err;
                    }
                }
              ok = re_node_set_insert (&union_set, next_node);
-             if (BE (! ok, 0))
+             if (__glibc_unlikely (! ok))
                {
                  re_node_set_free (&union_set);
                  return REG_ESPACE;
                }
              mctx->state_log[next_idx] = re_acquire_state (&err, dfa,
                                                            &union_set);
-             if (BE (mctx->state_log[next_idx] == NULL
-                     && err != REG_NOERROR, 0))
+             if (__glibc_unlikely (mctx->state_log[next_idx] == NULL
+                                   && err != REG_NOERROR))
                {
                  re_node_set_free (&union_set);
                  return err;
@@ -3141,7 +3079,7 @@ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx,
          || check_node_accept (mctx, dfa->nodes + cur_node, str_idx))
        {
          ok = re_node_set_insert (next_nodes, dfa->nexts[cur_node]);
-         if (BE (! ok, 0))
+         if (__glibc_unlikely (! ok))
            {
              re_node_set_free (&union_set);
              return REG_ESPACE;
@@ -3159,7 +3097,6 @@ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx,
 */
 
 static reg_errcode_t
-internal_function
 check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
                          Idx ex_subexp, int type)
 {
@@ -3170,7 +3107,7 @@ check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
   assert (cur_nodes->nelem);
 #endif
   err = re_node_set_alloc (&new_nodes, cur_nodes->nelem);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
   /* Create a new node set NEW_NODES with the nodes which are epsilon
      closures of the node in CUR_NODES.  */
@@ -3180,11 +3117,11 @@ check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
       Idx cur_node = cur_nodes->elems[idx];
       const re_node_set *eclosure = dfa->eclosures + cur_node;
       outside_node = find_subexp_node (dfa, eclosure, ex_subexp, type);
-      if (outside_node == REG_MISSING)
+      if (outside_node == -1)
        {
          /* There are no problematic nodes, just merge them.  */
          err = re_node_set_merge (&new_nodes, eclosure);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            {
              re_node_set_free (&new_nodes);
              return err;
@@ -3195,7 +3132,7 @@ check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
          /* There are problematic nodes, re-calculate incrementally.  */
          err = check_arrival_expand_ecl_sub (dfa, &new_nodes, cur_node,
                                              ex_subexp, type);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            {
              re_node_set_free (&new_nodes);
              return err;
@@ -3212,7 +3149,7 @@ check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
    problematic append it to DST_NODES.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes,
                              Idx target, Idx ex_subexp, int type)
 {
@@ -3227,13 +3164,13 @@ check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes,
          if (type == OP_CLOSE_SUBEXP)
            {
              ok = re_node_set_insert (dst_nodes, cur_node);
-             if (BE (! ok, 0))
+             if (__glibc_unlikely (! ok))
                return REG_ESPACE;
            }
          break;
        }
       ok = re_node_set_insert (dst_nodes, cur_node);
-      if (BE (! ok, 0))
+      if (__glibc_unlikely (! ok))
        return REG_ESPACE;
       if (dfa->edests[cur_node].nelem == 0)
        break;
@@ -3243,7 +3180,7 @@ check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes,
          err = check_arrival_expand_ecl_sub (dfa, dst_nodes,
                                              dfa->edests[cur_node].elems[1],
                                              ex_subexp, type);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            return err;
        }
       cur_node = dfa->edests[cur_node].elems[0];
@@ -3257,7 +3194,7 @@ check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes,
    in MCTX->BKREF_ENTS.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
                    Idx cur_str, Idx subexp_num, int type)
 {
@@ -3266,7 +3203,7 @@ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
   Idx cache_idx_start = search_cur_bkref_entry (mctx, cur_str);
   struct re_backref_cache_entry *ent;
 
-  if (cache_idx_start == REG_MISSING)
+  if (cache_idx_start == -1)
     return REG_NOERROR;
 
  restart:
@@ -3295,8 +3232,8 @@ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
          err2 = check_arrival_expand_ecl (dfa, &new_dests, subexp_num, type);
          err3 = re_node_set_merge (cur_nodes, &new_dests);
          re_node_set_free (&new_dests);
-         if (BE (err != REG_NOERROR || err2 != REG_NOERROR
-                 || err3 != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR || err2 != REG_NOERROR
+                               || err3 != REG_NOERROR))
            {
              err = (err != REG_NOERROR ? err
                     : (err2 != REG_NOERROR ? err2 : err3));
@@ -3318,7 +3255,7 @@ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
              err = re_node_set_init_copy (&union_set,
                                           &mctx->state_log[to_idx]->nodes);
              ok = re_node_set_insert (&union_set, next_node);
-             if (BE (err != REG_NOERROR || ! ok, 0))
+             if (__glibc_unlikely (err != REG_NOERROR || ! ok))
                {
                  re_node_set_free (&union_set);
                  err = err != REG_NOERROR ? err : REG_ESPACE;
@@ -3328,13 +3265,13 @@ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
          else
            {
              err = re_node_set_init_1 (&union_set, next_node);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                return err;
            }
          mctx->state_log[to_idx] = re_acquire_state (&err, dfa, &union_set);
          re_node_set_free (&union_set);
-         if (BE (mctx->state_log[to_idx] == NULL
-                 && err != REG_NOERROR, 0))
+         if (__glibc_unlikely (mctx->state_log[to_idx] == NULL
+                               && err != REG_NOERROR))
            return err;
        }
     }
@@ -3346,7 +3283,6 @@ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
    Return true if successful.  */
 
 static bool
-internal_function
 build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
 {
   reg_errcode_t err;
@@ -3378,7 +3314,7 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
   else
     {
       dests_alloc = re_malloc (struct dests_alloc, 1);
-      if (BE (dests_alloc == NULL, 0))
+      if (__glibc_unlikely (dests_alloc == NULL))
        return false;
       dests_node_malloced = true;
     }
@@ -3391,16 +3327,16 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
   /* At first, group all nodes belonging to 'state' into several
      destinations.  */
   ndests = group_nodes_into_DFAstates (dfa, state, dests_node, dests_ch);
-  if (BE (! REG_VALID_NONZERO_INDEX (ndests), 0))
+  if (__glibc_unlikely (ndests <= 0))
     {
       if (dests_node_malloced)
-       free (dests_alloc);
+       re_free (dests_alloc);
       /* Return false in case of an error, true otherwise.  */
       if (ndests == 0)
        {
          state->trtable = (re_dfastate_t **)
            calloc (sizeof (re_dfastate_t *), SBC_MAX);
-          if (BE (state->trtable == NULL, 0))
+          if (__glibc_unlikely (state->trtable == NULL))
             return false;
          return true;
        }
@@ -3408,14 +3344,14 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
     }
 
   err = re_node_set_alloc (&follows, ndests + 1);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     goto out_free;
 
   /* Avoid arithmetic overflow in size calculation.  */
-  if (BE ((((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX)
-           / (3 * sizeof (re_dfastate_t *)))
-          < ndests),
-         0))
+  size_t ndests_max
+    = ((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX)
+       / (3 * sizeof (re_dfastate_t *)));
+  if (__glibc_unlikely (ndests_max < ndests))
     goto out_free;
 
   if (__libc_use_alloca ((sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX
@@ -3424,18 +3360,17 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
       alloca (ndests * 3 * sizeof (re_dfastate_t *));
   else
     {
-      dest_states = (re_dfastate_t **)
-       malloc (ndests * 3 * sizeof (re_dfastate_t *));
-      if (BE (dest_states == NULL, 0))
+      dest_states = re_malloc (re_dfastate_t *, ndests * 3);
+      if (__glibc_unlikely (dest_states == NULL))
        {
 out_free:
          if (dest_states_malloced)
-           free (dest_states);
+           re_free (dest_states);
          re_node_set_free (&follows);
          for (i = 0; i < ndests; ++i)
            re_node_set_free (dests_node + i);
          if (dests_node_malloced)
-           free (dests_alloc);
+           re_free (dests_alloc);
          return false;
        }
       dest_states_malloced = true;
@@ -3453,15 +3388,15 @@ out_free:
       for (j = 0; j < dests_node[i].nelem; ++j)
        {
          next_node = dfa->nexts[dests_node[i].elems[j]];
-         if (next_node != REG_MISSING)
+         if (next_node != -1)
            {
              err = re_node_set_merge (&follows, dfa->eclosures + next_node);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                goto out_free;
            }
        }
       dest_states[i] = re_acquire_state_context (&err, dfa, &follows, 0);
-      if (BE (dest_states[i] == NULL && err != REG_NOERROR, 0))
+      if (__glibc_unlikely (dest_states[i] == NULL && err != REG_NOERROR))
        goto out_free;
       /* If the new state has context constraint,
         build appropriate states for these contexts.  */
@@ -3469,7 +3404,8 @@ out_free:
        {
          dest_states_word[i] = re_acquire_state_context (&err, dfa, &follows,
                                                          CONTEXT_WORD);
-         if (BE (dest_states_word[i] == NULL && err != REG_NOERROR, 0))
+         if (__glibc_unlikely (dest_states_word[i] == NULL
+                               && err != REG_NOERROR))
            goto out_free;
 
          if (dest_states[i] != dest_states_word[i] && dfa->mb_cur_max > 1)
@@ -3477,7 +3413,7 @@ out_free:
 
          dest_states_nl[i] = re_acquire_state_context (&err, dfa, &follows,
                                                        CONTEXT_NEWLINE);
-         if (BE (dest_states_nl[i] == NULL && err != REG_NOERROR, 0))
+         if (__glibc_unlikely (dest_states_nl[i] == NULL && err != REG_NOERROR))
            goto out_free;
        }
       else
@@ -3488,7 +3424,7 @@ out_free:
       bitset_merge (acceptable, dests_ch[i]);
     }
 
-  if (!BE (need_word_trtable, 0))
+  if (!__glibc_unlikely (need_word_trtable))
     {
       /* We don't care about whether the following character is a word
         character, or we are in a single-byte character set so we can
@@ -3496,7 +3432,7 @@ out_free:
         256-entry transition table.  */
       trtable = state->trtable =
        (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX);
-      if (BE (trtable == NULL, 0))
+      if (__glibc_unlikely (trtable == NULL))
        goto out_free;
 
       /* For all characters ch...:  */
@@ -3504,7 +3440,7 @@ out_free:
        for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1;
             elem;
             mask <<= 1, elem >>= 1, ++ch)
-         if (BE (elem & 1, 0))
+         if (__glibc_unlikely (elem & 1))
            {
              /* There must be exactly one destination which accepts
                 character ch.  See group_nodes_into_DFAstates.  */
@@ -3527,7 +3463,7 @@ out_free:
         starting at trtable[SBC_MAX].  */
       trtable = state->word_trtable =
        (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), 2 * SBC_MAX);
-      if (BE (trtable == NULL, 0))
+      if (__glibc_unlikely (trtable == NULL))
        goto out_free;
 
       /* For all characters ch...:  */
@@ -3535,7 +3471,7 @@ out_free:
        for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1;
             elem;
             mask <<= 1, elem >>= 1, ++ch)
-         if (BE (elem & 1, 0))
+         if (__glibc_unlikely (elem & 1))
            {
              /* There must be exactly one destination which accepts
                 character ch.  See group_nodes_into_DFAstates.  */
@@ -3566,14 +3502,14 @@ out_free:
     }
 
   if (dest_states_malloced)
-    free (dest_states);
+    re_free (dest_states);
 
   re_node_set_free (&follows);
   for (i = 0; i < ndests; ++i)
     re_node_set_free (dests_node + i);
 
   if (dests_node_malloced)
-    free (dests_alloc);
+    re_free (dests_alloc);
 
   return true;
 }
@@ -3584,7 +3520,6 @@ out_free:
    to DEST_CH[i].  This function return the number of destinations.  */
 
 static Idx
-internal_function
 group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
                            re_node_set *dests_node, bitset_t *dests_ch)
 {
@@ -3735,14 +3670,14 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
              bitset_copy (dests_ch[ndests], remains);
              bitset_copy (dests_ch[j], intersec);
              err = re_node_set_init_copy (dests_node + ndests, &dests_node[j]);
-             if (BE (err != REG_NOERROR, 0))
+             if (__glibc_unlikely (err != REG_NOERROR))
                goto error_return;
              ++ndests;
            }
 
          /* Put the position in the current group. */
          ok = re_node_set_insert (&dests_node[j], cur_nodes->elems[i]);
-         if (BE (! ok, 0))
+         if (__glibc_unlikely (! ok))
            goto error_return;
 
          /* If all characters are consumed, go to next node. */
@@ -3754,7 +3689,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
        {
          bitset_copy (dests_ch[ndests], accepts);
          err = re_node_set_init_1 (dests_node + ndests, cur_nodes->elems[i]);
-         if (BE (err != REG_NOERROR, 0))
+         if (__glibc_unlikely (err != REG_NOERROR))
            goto error_return;
          ++ndests;
          bitset_empty (accepts);
@@ -3764,7 +3699,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
  error_return:
   for (j = 0; j < ndests; ++j)
     re_node_set_free (dests_node + j);
-  return REG_MISSING;
+  return -1;
 }
 
 #ifdef RE_ENABLE_I18N
@@ -3776,8 +3711,11 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
    one collating element like '.', '[a-z]', opposite to the other nodes
    can only accept one byte.  */
 
+# ifdef _LIBC
+#  include <locale/weight.h>
+# endif
+
 static int
-internal_function
 check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
                         const re_string_t *input, Idx str_idx)
 {
@@ -3785,10 +3723,10 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
   int char_len, elem_len;
   Idx i;
 
-  if (BE (node->type == OP_UTF8_PERIOD, 0))
+  if (__glibc_unlikely (node->type == OP_UTF8_PERIOD))
     {
       unsigned char c = re_string_byte_at (input, str_idx), d;
-      if (BE (c < 0xc2, 1))
+      if (__glibc_likely (c < 0xc2))
        return 0;
 
       if (str_idx + 2 > input->len)
@@ -3844,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;
     }
@@ -3895,8 +3833,6 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
          const int32_t *table, *indirect;
          const unsigned char *weights, *extra;
          const char *collseqwc;
-         /* This #include defines a local function!  */
-#  include <locale/weight.h>
 
          /* match with collating_symbol?  */
          if (cset->ncoll_syms)
@@ -3953,31 +3889,28 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
                _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
              indirect = (const int32_t *)
                _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
-             int32_t idx = findidx (&cp, elem_len);
+             int32_t idx = findidx (table, indirect, extra, &cp, elem_len);
+             int32_t rule = idx >> 24;
+             idx &= 0xffffff;
              if (idx > 0)
-               for (i = 0; i < cset->nequiv_classes; ++i)
-                 {
-                   int32_t equiv_class_idx = cset->equiv_classes[i];
-                   size_t weight_len = weights[idx & 0xffffff];
-                   if (weight_len == weights[equiv_class_idx & 0xffffff]
-                       && (idx >> 24) == (equiv_class_idx >> 24))
-                     {
-                       Idx cnt = 0;
-
-                       idx &= 0xffffff;
-                       equiv_class_idx &= 0xffffff;
-
-                       while (cnt <= weight_len
-                              && (weights[equiv_class_idx + 1 + cnt]
-                                  == weights[idx + 1 + cnt]))
-                         ++cnt;
-                       if (cnt > weight_len)
-                         {
-                           match_len = elem_len;
-                           goto check_node_accept_bytes_match;
-                         }
-                     }
-                 }
+               {
+                 size_t weight_len = weights[idx];
+                 for (i = 0; i < cset->nequiv_classes; ++i)
+                   {
+                     int32_t equiv_class_idx = cset->equiv_classes[i];
+                     int32_t equiv_class_rule = equiv_class_idx >> 24;
+                     equiv_class_idx &= 0xffffff;
+                     if (weights[equiv_class_idx] == weight_len
+                         && equiv_class_rule == rule
+                         && memcmp (weights + idx + 1,
+                                    weights + equiv_class_idx + 1,
+                                    weight_len) == 0)
+                       {
+                         match_len = elem_len;
+                         goto check_node_accept_bytes_match;
+                       }
+                   }
+               }
            }
        }
       else
@@ -4009,7 +3942,6 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
 
 # ifdef _LIBC
 static unsigned int
-internal_function
 find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len)
 {
   uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
@@ -4073,7 +4005,6 @@ find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len)
    byte of the INPUT.  */
 
 static bool
-internal_function
 check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
                   Idx idx)
 {
@@ -4095,7 +4026,7 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
     case OP_UTF8_PERIOD:
       if (ch >= ASCII_CHARS)
         return false;
-      /* FALLTHROUGH */
+      FALLTHROUGH;
 #endif
     case OP_PERIOD:
       if ((ch == '\n' && !(mctx->dfa->syntax & RE_DOT_NEWLINE))
@@ -4123,22 +4054,22 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
 /* Extend the buffers, if the buffers have run out.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 extend_buffers (re_match_context_t *mctx, int min_len)
 {
   reg_errcode_t ret;
   re_string_t *pstr = &mctx->input;
 
   /* Avoid overflow.  */
-  if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) / 2
-          <= pstr->bufs_len, 0))
+  if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) / 2
+                       <= pstr->bufs_len))
     return REG_ESPACE;
 
   /* Double the lengths of the buffers, but allocate at least MIN_LEN.  */
   ret = re_string_realloc_buffers (pstr,
                                   MAX (min_len,
                                        MIN (pstr->len, pstr->bufs_len * 2)));
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
 
   if (mctx->state_log != NULL)
@@ -4149,7 +4080,7 @@ extend_buffers (re_match_context_t *mctx, int min_len)
         does not have the right size.  */
       re_dfastate_t **new_array = re_realloc (mctx->state_log, re_dfastate_t *,
                                              pstr->bufs_len + 1);
-      if (BE (new_array == NULL, 0))
+      if (__glibc_unlikely (new_array == NULL))
        return REG_ESPACE;
       mctx->state_log = new_array;
     }
@@ -4161,7 +4092,7 @@ extend_buffers (re_match_context_t *mctx, int min_len)
       if (pstr->mb_cur_max > 1)
        {
          ret = build_wcs_upper_buffer (pstr);
-         if (BE (ret != REG_NOERROR, 0))
+         if (__glibc_unlikely (ret != REG_NOERROR))
            return ret;
        }
       else
@@ -4189,23 +4120,23 @@ extend_buffers (re_match_context_t *mctx, int min_len)
 /* Initialize MCTX.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 match_ctx_init (re_match_context_t *mctx, int eflags, Idx n)
 {
   mctx->eflags = eflags;
-  mctx->match_last = REG_MISSING;
+  mctx->match_last = -1;
   if (n > 0)
     {
       /* Avoid overflow.  */
       size_t max_object_size =
        MAX (sizeof (struct re_backref_cache_entry),
             sizeof (re_sub_match_top_t *));
-      if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < n, 0))
+      if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size) < n))
        return REG_ESPACE;
 
       mctx->bkref_ents = re_malloc (struct re_backref_cache_entry, n);
       mctx->sub_tops = re_malloc (re_sub_match_top_t *, n);
-      if (BE (mctx->bkref_ents == NULL || mctx->sub_tops == NULL, 0))
+      if (__glibc_unlikely (mctx->bkref_ents == NULL || mctx->sub_tops == NULL))
        return REG_ESPACE;
     }
   /* Already zero-ed by the caller.
@@ -4224,7 +4155,6 @@ match_ctx_init (re_match_context_t *mctx, int eflags, Idx n)
    of the input, or changes the input string.  */
 
 static void
-internal_function
 match_ctx_clean (re_match_context_t *mctx)
 {
   Idx st_idx;
@@ -4244,7 +4174,7 @@ match_ctx_clean (re_match_context_t *mctx)
          re_free (top->path->array);
          re_free (top->path);
        }
-      free (top);
+      re_free (top);
     }
 
   mctx->nsub_tops = 0;
@@ -4254,7 +4184,6 @@ match_ctx_clean (re_match_context_t *mctx)
 /* Free all the memory associated with MCTX.  */
 
 static void
-internal_function
 match_ctx_free (re_match_context_t *mctx)
 {
   /* First, free all the memory associated with MCTX->SUB_TOPS.  */
@@ -4269,7 +4198,7 @@ match_ctx_free (re_match_context_t *mctx)
 */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from,
                     Idx to)
 {
@@ -4278,7 +4207,7 @@ match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from,
       struct re_backref_cache_entry* new_entry;
       new_entry = re_realloc (mctx->bkref_ents, struct re_backref_cache_entry,
                              mctx->abkref_ents * 2);
-      if (BE (new_entry == NULL, 0))
+      if (__glibc_unlikely (new_entry == NULL))
        {
          re_free (mctx->bkref_ents);
          return REG_ESPACE;
@@ -4314,11 +4243,10 @@ match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from,
   return REG_NOERROR;
 }
 
-/* Return the first entry with the same str_idx, or REG_MISSING if none is
+/* Return the first entry with the same str_idx, or -1 if none is
    found.  Note that MCTX->BKREF_ENTS is already sorted by MCTX->STR_IDX.  */
 
 static Idx
-internal_function
 search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx)
 {
   Idx left, right, mid, last;
@@ -4334,33 +4262,33 @@ search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx)
   if (left < last && mctx->bkref_ents[left].str_idx == str_idx)
     return left;
   else
-    return REG_MISSING;
+    return -1;
 }
 
 /* Register the node NODE, whose type is OP_OPEN_SUBEXP, and which matches
    at STR_IDX.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx)
 {
 #ifdef DEBUG
   assert (mctx->sub_tops != NULL);
   assert (mctx->asub_tops > 0);
 #endif
-  if (BE (mctx->nsub_tops == mctx->asub_tops, 0))
+  if (__glibc_unlikely (mctx->nsub_tops == mctx->asub_tops))
     {
       Idx new_asub_tops = mctx->asub_tops * 2;
       re_sub_match_top_t **new_array = re_realloc (mctx->sub_tops,
                                                   re_sub_match_top_t *,
                                                   new_asub_tops);
-      if (BE (new_array == NULL, 0))
+      if (__glibc_unlikely (new_array == NULL))
        return REG_ESPACE;
       mctx->sub_tops = new_array;
       mctx->asub_tops = new_asub_tops;
     }
   mctx->sub_tops[mctx->nsub_tops] = calloc (1, sizeof (re_sub_match_top_t));
-  if (BE (mctx->sub_tops[mctx->nsub_tops] == NULL, 0))
+  if (__glibc_unlikely (mctx->sub_tops[mctx->nsub_tops] == NULL))
     return REG_ESPACE;
   mctx->sub_tops[mctx->nsub_tops]->node = node;
   mctx->sub_tops[mctx->nsub_tops++]->str_idx = str_idx;
@@ -4371,23 +4299,22 @@ match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx)
    at STR_IDX, whose corresponding OP_OPEN_SUBEXP is SUB_TOP.  */
 
 static re_sub_match_last_t *
-internal_function
 match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx)
 {
   re_sub_match_last_t *new_entry;
-  if (BE (subtop->nlasts == subtop->alasts, 0))
+  if (__glibc_unlikely (subtop->nlasts == subtop->alasts))
     {
       Idx new_alasts = 2 * subtop->alasts + 1;
       re_sub_match_last_t **new_array = re_realloc (subtop->lasts,
                                                    re_sub_match_last_t *,
                                                    new_alasts);
-      if (BE (new_array == NULL, 0))
+      if (__glibc_unlikely (new_array == NULL))
        return NULL;
       subtop->lasts = new_array;
       subtop->alasts = new_alasts;
     }
   new_entry = calloc (1, sizeof (re_sub_match_last_t));
-  if (BE (new_entry != NULL, 1))
+  if (__glibc_likely (new_entry != NULL))
     {
       subtop->lasts[subtop->nlasts] = new_entry;
       new_entry->node = node;
@@ -4398,7 +4325,6 @@ match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx)
 }
 
 static void
-internal_function
 sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts,
               re_dfastate_t **limited_sts, Idx last_node, Idx last_str_idx)
 {
index 448108203cc5b7f9a51f472c9e81f8936a5458a0..4c80973df849b8612576224ae1816b577f96252d 100644 (file)
@@ -1,7 +1,7 @@
 /* Determine whether string value is affirmation or negative response
    according to current locale's data.
 
-   Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2014 Free Software
+   Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -15,7 +15,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index c9b8828a18b035031d0c9dd1dbb85413a77bb65e..e6c54b75a6b75e941e3052cdea066b4b56fc87d1 100644 (file)
@@ -1,6 +1,6 @@
 /* An interface to read and write that retries after interrupts.
 
-   Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2014 Free Software
+   Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -37,7 +37,7 @@
 # define IS_EINTR(x) 0
 #endif
 
-#include <limits.h>
+#include "sys-limits.h"
 
 #ifdef SAFE_WRITE
 # define safe_rw safe_write
 size_t
 safe_rw (int fd, void const *buf, size_t count)
 {
-  /* Work around a bug in Tru64 5.1.  Attempting to read more than
-     INT_MAX bytes fails with errno == EINVAL.  See
-     <http://lists.gnu.org/archive/html/bug-gnu-utils/2002-04/msg00010.html>.
-     When decreasing COUNT, keep it block-aligned.  */
-  enum { BUGGY_READ_MAXIMUM = INT_MAX & ~8191 };
-
   for (;;)
     {
       ssize_t result = rw (fd, buf, count);
@@ -69,8 +63,8 @@ safe_rw (int fd, void const *buf, size_t count)
         return result;
       else if (IS_EINTR (errno))
         continue;
-      else if (errno == EINVAL && BUGGY_READ_MAXIMUM < count)
-        count = BUGGY_READ_MAXIMUM;
+      else if (errno == EINVAL && SYS_BUFSIZE_MAX < count)
+        count = SYS_BUFSIZE_MAX;
       else
         return result;
     }
index aba8bdb341f32ef96cc5d6fdf51c78291ff12826..3f421f6bab87695975fb5c3a6029e74ba893207f 100644 (file)
@@ -1,5 +1,5 @@
 /* An interface to read() that retries after interrupts.
-   Copyright (C) 2002, 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006, 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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Some system calls may be interrupted and fail with errno = EINTR in the
    following situations:
diff --git a/lib/secure_getenv.c b/lib/secure_getenv.c
deleted file mode 100644 (file)
index 32819e6..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Look up an environment variable more securely.
-
-   Copyright 2013-2014 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 <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#if !HAVE___SECURE_GETENV
-# if HAVE_ISSETUGID
-#  include <unistd.h>
-# else
-#  undef issetugid
-#  define issetugid() 1
-# endif
-#endif
-
-char *
-secure_getenv (char const *name)
-{
-#if HAVE___SECURE_GETENV
-  return __secure_getenv (name);
-#else
-  if (issetugid ())
-    return 0;
-  return getenv (name);
-#endif
-}
index 2d86b7e03faad61f7eae15f801561995f33eaaee..c5218e5fda6c8decfe4dc09aa3f6b708d9423ec8 100644 (file)
@@ -1,5 +1,5 @@
 /* Pausing execution of the current thread.
-   Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software: you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -24,7 +24,7 @@
 
 #include "verify.h"
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 # define WIN32_LEAN_AND_MEAN  /* avoid including junk */
 # include <windows.h>
diff --git a/lib/stat-time.c b/lib/stat-time.c
new file mode 100644 (file)
index 0000000..81b83dd
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE
+#include "stat-time.h"
diff --git a/lib/stat-time.h b/lib/stat-time.h
new file mode 100644 (file)
index 0000000..38a1f55
--- /dev/null
@@ -0,0 +1,252 @@
+/* stat-related time functions.
+
+   Copyright (C) 2005, 2007, 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/>.  */
+
+/* Written by Paul Eggert.  */
+
+#ifndef STAT_TIME_H
+#define STAT_TIME_H 1
+
+#include "intprops.h"
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <time.h>
+
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_STAT_TIME_INLINE
+# define _GL_STAT_TIME_INLINE _GL_INLINE
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* STAT_TIMESPEC (ST, ST_XTIM) is the ST_XTIM member for *ST of type
+   struct timespec, if available.  If not, then STAT_TIMESPEC_NS (ST,
+   ST_XTIM) is the nanosecond component of the ST_XTIM member for *ST,
+   if available.  ST_XTIM can be st_atim, st_ctim, st_mtim, or st_birthtim
+   for access, status change, data modification, or birth (creation)
+   time respectively.
+
+   These macros are private to stat-time.h.  */
+#if _GL_WINDOWS_STAT_TIMESPEC || defined HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
+# if _GL_WINDOWS_STAT_TIMESPEC || defined TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
+#  define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim)
+# else
+#  define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim.tv_nsec)
+# endif
+#elif defined HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
+# define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim##espec)
+#elif defined HAVE_STRUCT_STAT_ST_ATIMENSEC
+# define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim##ensec)
+#elif defined HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
+# define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim.st__tim.tv_nsec)
+#endif
+
+/* Return the nanosecond component of *ST's access time.  */
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
+get_stat_atime_ns (struct stat const *st)
+{
+# if defined STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_atim).tv_nsec;
+# elif defined STAT_TIMESPEC_NS
+  return STAT_TIMESPEC_NS (st, st_atim);
+# else
+  return 0;
+# endif
+}
+
+/* Return the nanosecond component of *ST's status change time.  */
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
+get_stat_ctime_ns (struct stat const *st)
+{
+# if defined STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_ctim).tv_nsec;
+# elif defined STAT_TIMESPEC_NS
+  return STAT_TIMESPEC_NS (st, st_ctim);
+# else
+  return 0;
+# endif
+}
+
+/* Return the nanosecond component of *ST's data modification time.  */
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
+get_stat_mtime_ns (struct stat const *st)
+{
+# if defined STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_mtim).tv_nsec;
+# elif defined STAT_TIMESPEC_NS
+  return STAT_TIMESPEC_NS (st, st_mtim);
+# else
+  return 0;
+# endif
+}
+
+/* Return the nanosecond component of *ST's birth time.  */
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
+get_stat_birthtime_ns (struct stat const *st _GL_UNUSED)
+{
+# if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
+  return STAT_TIMESPEC (st, st_birthtim).tv_nsec;
+# elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
+  return STAT_TIMESPEC_NS (st, st_birthtim);
+# else
+  return 0;
+# endif
+}
+
+/* Return *ST's access time.  */
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
+get_stat_atime (struct stat const *st)
+{
+#ifdef STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_atim);
+#else
+  struct timespec t;
+  t.tv_sec = st->st_atime;
+  t.tv_nsec = get_stat_atime_ns (st);
+  return t;
+#endif
+}
+
+/* Return *ST's status change time.  */
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
+get_stat_ctime (struct stat const *st)
+{
+#ifdef STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_ctim);
+#else
+  struct timespec t;
+  t.tv_sec = st->st_ctime;
+  t.tv_nsec = get_stat_ctime_ns (st);
+  return t;
+#endif
+}
+
+/* Return *ST's data modification time.  */
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
+get_stat_mtime (struct stat const *st)
+{
+#ifdef STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_mtim);
+#else
+  struct timespec t;
+  t.tv_sec = st->st_mtime;
+  t.tv_nsec = get_stat_mtime_ns (st);
+  return t;
+#endif
+}
+
+/* Return *ST's birth time, if available; otherwise return a value
+   with tv_sec and tv_nsec both equal to -1.  */
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
+get_stat_birthtime (struct stat const *st _GL_UNUSED)
+{
+  struct timespec t;
+
+#if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \
+     || defined HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC)
+  t = STAT_TIMESPEC (st, st_birthtim);
+#elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
+  t.tv_sec = st->st_birthtime;
+  t.tv_nsec = st->st_birthtimensec;
+#elif defined _WIN32 && ! defined __CYGWIN__
+  /* Native Windows platforms (but not Cygwin) put the "file creation
+     time" in st_ctime (!).  See
+     <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/stat-functions>.  */
+# if _GL_WINDOWS_STAT_TIMESPEC
+  t = st->st_ctim;
+# else
+  t.tv_sec = st->st_ctime;
+  t.tv_nsec = 0;
+# endif
+#else
+  /* Birth time is not supported.  */
+  t.tv_sec = -1;
+  t.tv_nsec = -1;
+#endif
+
+#if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \
+     || defined HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC \
+     || defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC)
+  /* FreeBSD and NetBSD sometimes signal the absence of knowledge by
+     using zero.  Attempt to work around this problem.  Alas, this can
+     report failure even for valid timestamps.  Also, NetBSD
+     sometimes returns junk in the birth time fields; work around this
+     bug if it is detected.  */
+  if (! (t.tv_sec && 0 <= t.tv_nsec && t.tv_nsec < 1000000000))
+    {
+      t.tv_sec = -1;
+      t.tv_nsec = -1;
+    }
+#endif
+
+  return t;
+}
+
+/* If a stat-like function returned RESULT, normalize the timestamps
+   in *ST, in case this platform suffers from the Solaris 11 bug where
+   tv_nsec might be negative.  Return the adjusted RESULT, setting
+   errno to EOVERFLOW if normalization overflowed.  This function
+   is intended to be private to this .h file.  */
+_GL_STAT_TIME_INLINE int
+stat_time_normalize (int result, struct stat *st _GL_UNUSED)
+{
+#if defined __sun && defined STAT_TIMESPEC
+  if (result == 0)
+    {
+      long int timespec_hz = 1000000000;
+      short int const ts_off[] = { offsetof (struct stat, st_atim),
+                                   offsetof (struct stat, st_mtim),
+                                   offsetof (struct stat, st_ctim) };
+      int i;
+      for (i = 0; i < sizeof ts_off / sizeof *ts_off; i++)
+        {
+          struct timespec *ts = (struct timespec *) ((char *) st + ts_off[i]);
+          long int q = ts->tv_nsec / timespec_hz;
+          long int r = ts->tv_nsec % timespec_hz;
+          if (r < 0)
+            {
+              r += timespec_hz;
+              q--;
+            }
+          ts->tv_nsec = r;
+          /* Overflow is possible, as Solaris 11 stat can yield
+             tv_sec == TYPE_MINIMUM (time_t) && tv_nsec == -1000000000.
+             INT_ADD_WRAPV is OK, since time_t is signed on Solaris.  */
+          if (INT_ADD_WRAPV (q, ts->tv_sec, &ts->tv_sec))
+            {
+              errno = EOVERFLOW;
+              return -1;
+            }
+        }
+    }
+#endif
+  return result;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+_GL_INLINE_HEADER_END
+
+#endif
diff --git a/lib/stat-w32.c b/lib/stat-w32.c
new file mode 100644 (file)
index 0000000..60fe5f6
--- /dev/null
@@ -0,0 +1,425 @@
+/* Core of implementation of fstat and stat for native Windows.
+   Copyright (C) 2017-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 Bruno Haible.  */
+
+#include <config.h>
+
+#if defined _WIN32 && ! defined __CYGWIN__
+
+/* Ensure that <windows.h> defines FILE_ID_INFO.  */
+#undef _WIN32_WINNT
+#define _WIN32_WINNT _WIN32_WINNT_WIN8
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <limits.h>
+#include <string.h>
+#include <unistd.h>
+#include <windows.h>
+
+/* Specification.  */
+#include "stat-w32.h"
+
+#include "pathmax.h"
+#include "verify.h"
+
+/* Avoid warnings from gcc -Wcast-function-type.  */
+#define GetProcAddress \
+  (void *) GetProcAddress
+
+#if _GL_WINDOWS_STAT_INODES == 2
+/* GetFileInformationByHandleEx was introduced only in Windows Vista.  */
+typedef DWORD (WINAPI * GetFileInformationByHandleExFuncType) (HANDLE hFile,
+                                                               FILE_INFO_BY_HANDLE_CLASS fiClass,
+                                                               LPVOID lpBuffer,
+                                                               DWORD dwBufferSize);
+static GetFileInformationByHandleExFuncType GetFileInformationByHandleExFunc = NULL;
+#endif
+/* GetFinalPathNameByHandle was introduced only in Windows Vista.  */
+typedef DWORD (WINAPI * GetFinalPathNameByHandleFuncType) (HANDLE hFile,
+                                                           LPTSTR lpFilePath,
+                                                           DWORD lenFilePath,
+                                                           DWORD dwFlags);
+static GetFinalPathNameByHandleFuncType GetFinalPathNameByHandleFunc = NULL;
+static BOOL initialized = FALSE;
+
+static void
+initialize (void)
+{
+  HMODULE kernel32 = LoadLibrary ("kernel32.dll");
+  if (kernel32 != NULL)
+    {
+#if _GL_WINDOWS_STAT_INODES == 2
+      GetFileInformationByHandleExFunc =
+        (GetFileInformationByHandleExFuncType) GetProcAddress (kernel32, "GetFileInformationByHandleEx");
+#endif
+      GetFinalPathNameByHandleFunc =
+        (GetFinalPathNameByHandleFuncType) GetProcAddress (kernel32, "GetFinalPathNameByHandleA");
+    }
+  initialized = TRUE;
+}
+
+/* Converts a FILETIME to GMT time since 1970-01-01 00:00:00.  */
+#if _GL_WINDOWS_STAT_TIMESPEC
+struct timespec
+_gl_convert_FILETIME_to_timespec (const FILETIME *ft)
+{
+  struct timespec result;
+  /* 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;
+  if (since_1601 == 0)
+    {
+      result.tv_sec = 0;
+      result.tv_nsec = 0;
+    }
+  else
+    {
+      /* Between 1601-01-01 and 1970-01-01 there were 280 normal years and 89
+         leap years, in total 134774 days.  */
+      unsigned long long since_1970 =
+        since_1601 - (unsigned long long) 134774 * (unsigned long long) 86400 * (unsigned long long) 10000000;
+      result.tv_sec = since_1970 / (unsigned long long) 10000000;
+      result.tv_nsec = (unsigned long) (since_1970 % (unsigned long long) 10000000) * 100;
+    }
+  return result;
+}
+#else
+time_t
+_gl_convert_FILETIME_to_POSIX (const FILETIME *ft)
+{
+  /* 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;
+  if (since_1601 == 0)
+    return 0;
+  else
+    {
+      /* Between 1601-01-01 and 1970-01-01 there were 280 normal years and 89
+         leap years, in total 134774 days.  */
+      unsigned long long since_1970 =
+        since_1601 - (unsigned long long) 134774 * (unsigned long long) 86400 * (unsigned long long) 10000000;
+      return since_1970 / (unsigned long long) 10000000;
+    }
+}
+#endif
+
+/* Fill *BUF with information about the file designated by H.
+   PATH is the file name, if known, otherwise NULL.
+   Return 0 if successful, or -1 with errno set upon failure.  */
+int
+_gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf)
+{
+  /* GetFileType
+     <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfiletype> */
+  DWORD type = GetFileType (h);
+  if (type == FILE_TYPE_DISK)
+    {
+      if (!initialized)
+        initialize ();
+
+      /* st_mode can be determined through
+         GetFileAttributesEx
+         <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://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://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))
+        goto failed;
+
+      /* Test for error conditions before starting to fill *buf.  */
+      if (sizeof (buf->st_size) <= 4 && info.nFileSizeHigh > 0)
+        {
+          errno = EOVERFLOW;
+          return -1;
+        }
+
+#if _GL_WINDOWS_STAT_INODES
+      /* st_ino can be determined through
+         GetFileInformationByHandle
+         <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://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
+         much more information than GetFileInformationByHandle:
+           * The dwVolumeSerialNumber from GetFileInformationByHandle is equal
+             to the low 32 bits of the 64-bit VolumeSerialNumber from
+             GetFileInformationByHandleEx, and is apparently sufficient for
+             identifying the device.
+           * The nFileIndex from GetFileInformationByHandle is equal to the low
+             64 bits of the 128-bit FileId from GetFileInformationByHandleEx,
+             and the high 64 bits of this 128-bit FileId are zero.
+           * On a FAT file system, GetFileInformationByHandleEx fails with error
+             ERROR_INVALID_PARAMETER, whereas GetFileInformationByHandle
+             succeeds.
+           * On a CIFS/SMB file system, GetFileInformationByHandleEx fails with
+             error ERROR_INVALID_LEVEL, whereas GetFileInformationByHandle
+             succeeds.  */
+# if _GL_WINDOWS_STAT_INODES == 2
+      if (GetFileInformationByHandleExFunc != NULL)
+        {
+          FILE_ID_INFO id;
+          if (GetFileInformationByHandleExFunc (h, FileIdInfo, &id, sizeof (id)))
+            {
+              buf->st_dev = id.VolumeSerialNumber;
+              verify (sizeof (ino_t) == sizeof (id.FileId));
+              memcpy (&buf->st_ino, &id.FileId, sizeof (ino_t));
+              goto ino_done;
+            }
+          else
+            {
+              switch (GetLastError ())
+                {
+                case ERROR_INVALID_PARAMETER: /* older Windows version, or FAT */
+                case ERROR_INVALID_LEVEL: /* CIFS/SMB file system */
+                  goto fallback;
+                default:
+                  goto failed;
+                }
+            }
+        }
+     fallback: ;
+      /* Fallback for older Windows versions.  */
+      buf->st_dev = info.dwVolumeSerialNumber;
+      buf->st_ino._gl_ino[0] = ((ULONGLONG) info.nFileIndexHigh << 32) | (ULONGLONG) info.nFileIndexLow;
+      buf->st_ino._gl_ino[1] = 0;
+     ino_done: ;
+# else /* _GL_WINDOWS_STAT_INODES == 1 */
+      buf->st_dev = info.dwVolumeSerialNumber;
+      buf->st_ino = ((ULONGLONG) info.nFileIndexHigh << 32) | (ULONGLONG) info.nFileIndexLow;
+# endif
+#else
+      /* st_ino is not wide enough for identifying a file on a device.
+         Without st_ino, st_dev is pointless.  */
+      buf->st_dev = 0;
+      buf->st_ino = 0;
+#endif
+
+      /* st_mode.  */
+      unsigned int mode =
+        /* XXX How to handle FILE_ATTRIBUTE_REPARSE_POINT ?  */
+        ((info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? _S_IFDIR | S_IEXEC_UGO : _S_IFREG)
+        | S_IREAD_UGO
+        | ((info.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? 0 : S_IWRITE_UGO);
+      if (!(info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
+        {
+          /* Determine whether the file is executable by looking at the file
+             name suffix.
+             If the file name is already known, use it. Otherwise, for
+             non-empty files, it can be determined through
+             GetFinalPathNameByHandle
+             <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfinalpathnamebyhandlea>
+             or through
+             GetFileInformationByHandleEx with argument FileNameInfo
+             <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)
+            {
+              char fpath[PATH_MAX];
+              if (path != NULL
+                  || (GetFinalPathNameByHandleFunc != NULL
+                      && GetFinalPathNameByHandleFunc (h, fpath, sizeof (fpath), VOLUME_NAME_NONE)
+                         < sizeof (fpath)
+                      && (path = fpath, 1)))
+                {
+                  const char *last_dot = NULL;
+                  const char *p;
+                  for (p = path; *p != '\0'; p++)
+                    if (*p == '.')
+                      last_dot = p;
+                  if (last_dot != NULL)
+                    {
+                      const char *suffix = last_dot + 1;
+                      if (_stricmp (suffix, "exe") == 0
+                          || _stricmp (suffix, "bat") == 0
+                          || _stricmp (suffix, "cmd") == 0
+                          || _stricmp (suffix, "com") == 0)
+                        mode |= S_IEXEC_UGO;
+                    }
+                }
+              else
+                /* Cannot determine file name.  Pretend that it is executable.  */
+                mode |= S_IEXEC_UGO;
+            }
+        }
+      buf->st_mode = mode;
+
+      /* st_nlink can be determined through
+         GetFileInformationByHandle
+         <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://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);
+
+      /* There's no easy way to map the Windows SID concept to an integer.  */
+      buf->st_uid = 0;
+      buf->st_gid = 0;
+
+      /* st_rdev is irrelevant for normal files and directories.  */
+      buf->st_rdev = 0;
+
+      /* st_size can be determined through
+         GetFileSizeEx
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfilesizeex>
+         or through
+         GetFileAttributesEx
+         <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://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://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.  */
+        buf->st_size = info.nFileSizeLow;
+      else
+        buf->st_size = ((long long) info.nFileSizeHigh << 32) | (long long) info.nFileSizeLow;
+
+      /* st_atime, st_mtime, st_ctime can be determined through
+         GetFileTime
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfiletime>
+         or through
+         GetFileAttributesEx
+         <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://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://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);
+      buf->st_mtim = _gl_convert_FILETIME_to_timespec (&info.ftLastWriteTime);
+      buf->st_ctim = _gl_convert_FILETIME_to_timespec (&info.ftCreationTime);
+#else
+      buf->st_atime = _gl_convert_FILETIME_to_POSIX (&info.ftLastAccessTime);
+      buf->st_mtime = _gl_convert_FILETIME_to_POSIX (&info.ftLastWriteTime);
+      buf->st_ctime = _gl_convert_FILETIME_to_POSIX (&info.ftCreationTime);
+#endif
+
+      return 0;
+    }
+  else if (type == FILE_TYPE_CHAR || type == FILE_TYPE_PIPE)
+    {
+      buf->st_dev = 0;
+#if _GL_WINDOWS_STAT_INODES == 2
+      buf->st_ino._gl_ino[0] = buf->st_ino._gl_ino[1] = 0;
+#else
+      buf->st_ino = 0;
+#endif
+      buf->st_mode = (type == FILE_TYPE_PIPE ? _S_IFIFO : _S_IFCHR);
+      buf->st_nlink = 1;
+      buf->st_uid = 0;
+      buf->st_gid = 0;
+      buf->st_rdev = 0;
+      if (type == FILE_TYPE_PIPE)
+        {
+          /* PeekNamedPipe
+             <https://msdn.microsoft.com/en-us/library/aa365779.aspx> */
+          DWORD bytes_available;
+          if (PeekNamedPipe (h, NULL, 0, NULL, &bytes_available, NULL))
+            buf->st_size = bytes_available;
+          else
+            buf->st_size = 0;
+        }
+      else
+        buf->st_size = 0;
+#if _GL_WINDOWS_STAT_TIMESPEC
+      buf->st_atim.tv_sec = 0; buf->st_atim.tv_nsec = 0;
+      buf->st_mtim.tv_sec = 0; buf->st_mtim.tv_nsec = 0;
+      buf->st_ctim.tv_sec = 0; buf->st_ctim.tv_nsec = 0;
+#else
+      buf->st_atime = 0;
+      buf->st_mtime = 0;
+      buf->st_ctime = 0;
+#endif
+      return 0;
+    }
+  else
+    {
+      errno = ENOENT;
+      return -1;
+    }
+
+ failed:
+  {
+    DWORD error = GetLastError ();
+    #if 0
+    fprintf (stderr, "_gl_fstat_by_handle error 0x%x\n", (unsigned int) error);
+    #endif
+    switch (error)
+      {
+      case ERROR_ACCESS_DENIED:
+      case ERROR_SHARING_VIOLATION:
+        errno = EACCES;
+        break;
+
+      case ERROR_OUTOFMEMORY:
+        errno = ENOMEM;
+        break;
+
+      case ERROR_WRITE_FAULT:
+      case ERROR_READ_FAULT:
+      case ERROR_GEN_FAILURE:
+        errno = EIO;
+        break;
+
+      default:
+        errno = EINVAL;
+        break;
+      }
+    return -1;
+  }
+}
+
+#else
+
+/* This declaration is solely to ensure that after preprocessing
+   this file is never empty.  */
+typedef int dummy;
+
+#endif
diff --git a/lib/stat-w32.h b/lib/stat-w32.h
new file mode 100644 (file)
index 0000000..6b961d7
--- /dev/null
@@ -0,0 +1,37 @@
+/* Core of implementation of fstat and stat for native Windows.
+   Copyright (C) 2017-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 _STAT_W32_H
+#define _STAT_W32_H 1
+
+/* Converts a FILETIME to GMT time since 1970-01-01 00:00:00.  */
+#if _GL_WINDOWS_STAT_TIMESPEC
+extern struct timespec _gl_convert_FILETIME_to_timespec (const FILETIME *ft);
+#else
+extern time_t _gl_convert_FILETIME_to_POSIX (const FILETIME *ft);
+#endif
+
+/* Fill *BUF with information about the file designated by H.
+   PATH is the file name, if known, otherwise NULL.
+   Return 0 if successful, or -1 with errno set upon failure.  */
+extern int _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf);
+
+/* Bitmasks for st_mode.  */
+#define S_IREAD_UGO  (_S_IREAD | (_S_IREAD >> 3) | (_S_IREAD >> 6))
+#define S_IWRITE_UGO (_S_IWRITE | (_S_IWRITE >> 3) | (_S_IWRITE >> 6))
+#define S_IEXEC_UGO  (_S_IEXEC | (_S_IEXEC >> 3) | (_S_IEXEC >> 6))
+
+#endif /* _STAT_W32_H */
index 35f4b0b1a51bec9c6a9231d6a70dd571bb63fa27..1c28aa4529a54c02fa622cf57817031472199b49 100644 (file)
@@ -1,5 +1,5 @@
 /* Work around platform bugs in stat.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   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
@@ -12,9 +12,9 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
-/* written by Eric Blake */
+/* Written by Eric Blake and Bruno Haible.  */
 
 /* If the user's config.h happens to include <sys/stat.h>, let it include only
    the system's <sys/stat.h> here, so that orig_stat doesn't recurse to
 #include <sys/stat.h>
 #undef __need_system_sys_stat_h
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-# if _GL_WINDOWS_64_BIT_ST_SIZE
-#  undef stat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */
-#  define stat _stati64
-#  define REPLACE_FUNC_STAT_DIR 1
-#  undef REPLACE_FUNC_STAT_FILE
-# elif REPLACE_FUNC_STAT_FILE
-/* mingw64 has a broken stat() function, based on _stat(), in libmingwex.a.
-   Bypass it.  */
-#  define stat _stat
-#  define REPLACE_FUNC_STAT_DIR 1
-#  undef REPLACE_FUNC_STAT_FILE
-# endif
+#if defined _WIN32 && ! defined __CYGWIN__
+# define WINDOWS_NATIVE
 #endif
 
+#if !defined WINDOWS_NATIVE
+
 static int
 orig_stat (const char *filename, struct stat *buf)
 {
   return stat (filename, 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"
 
 #include <errno.h>
 #include <limits.h>
 #include <stdbool.h>
 #include <string.h>
-#include "dosname.h"
+#include "filename.h"
+#include "malloca.h"
 #include "verify.h"
 
-#if REPLACE_FUNC_STAT_DIR
-# include "pathmax.h"
-  /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also
-     have a constant PATH_MAX.  */
-# ifndef PATH_MAX
-#  error "Please port this replacement to your platform"
-# endif
+#ifdef WINDOWS_NATIVE
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+# include "stat-w32.h"
+#endif
+
+#ifdef WINDOWS_NATIVE
+/* Return TRUE if the given file name denotes an UNC root.  */
+static BOOL
+is_unc_root (const char *rname)
+{
+  /* Test whether it has the syntax '\\server\share'.  */
+  if (ISSLASH (rname[0]) && ISSLASH (rname[1]))
+    {
+      /* It starts with two slashes.  Find the next slash.  */
+      const char *p = rname + 2;
+      const char *q = p;
+      while (*q != '\0' && !ISSLASH (*q))
+        q++;
+      if (q > p && *q != '\0')
+        {
+          /* Found the next slash at q.  */
+          q++;
+          const char *r = q;
+          while (*r != '\0' && !ISSLASH (*r))
+            r++;
+          if (r > q && *r == '\0')
+            return TRUE;
+        }
+    }
+  return FALSE;
+}
 #endif
 
 /* Store information about NAME into ST.  Work around bugs with
@@ -77,62 +102,332 @@ orig_stat (const char *filename, struct stat *buf)
    correctly.  */
 
 int
-rpl_stat (char const *name, struct stat *st)
+rpl_stat (char const *name, struct stat *buf)
 {
-  int result = orig_stat (name, st);
-#if REPLACE_FUNC_STAT_FILE
-  /* Solaris 9 mistakenly succeeds when given a non-directory with a
-     trailing slash.  */
-  if (result == 0 && !S_ISDIR (st->st_mode))
+#ifdef WINDOWS_NATIVE
+  /* Fill the fields ourselves, because the original stat function returns
+     values for st_atime, st_mtime, st_ctime that depend on the current time
+     zone.  See
+     <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://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
+     a single <slash> character."  */
+  if (ISSLASH (name[0]) && ISSLASH (name[1]) && ISSLASH (name[2]))
+    {
+      name += 2;
+      while (ISSLASH (name[1]))
+        name++;
+    }
+
+  size_t len = strlen (name);
+  size_t drive_prefix_len = (HAS_DEVICE (name) ? 2 : 0);
+
+  /* Remove trailing slashes (except the very first one, at position
+     drive_prefix_len), but remember their presence.  */
+  size_t rlen;
+  bool check_dir = false;
+
+  rlen = len;
+  while (rlen > drive_prefix_len && ISSLASH (name[rlen-1]))
+    {
+      check_dir = true;
+      if (rlen == drive_prefix_len + 1)
+        break;
+      rlen--;
+    }
+
+  /* Handle '' and 'C:'.  */
+  if (!check_dir && rlen == drive_prefix_len)
+    {
+      errno = ENOENT;
+      return -1;
+    }
+
+  /* Handle '\\'.  */
+  if (rlen == 1 && ISSLASH (name[0]) && len >= 2)
+    {
+      errno = ENOENT;
+      return -1;
+    }
+
+  const char *rname;
+  char *malloca_rname;
+  if (rlen == len)
     {
-      size_t len = strlen (name);
-      if (ISSLASH (name[len - 1]))
+      rname = name;
+      malloca_rname = NULL;
+    }
+  else
+    {
+      malloca_rname = malloca (rlen + 1);
+      if (malloca_rname == NULL)
         {
-          errno = ENOTDIR;
+          errno = ENOMEM;
           return -1;
         }
+      memcpy (malloca_rname, name, rlen);
+      malloca_rname[rlen] = '\0';
+      rname = malloca_rname;
     }
-#endif /* REPLACE_FUNC_STAT_FILE */
-#if REPLACE_FUNC_STAT_DIR
 
-  if (result == -1 && errno == ENOENT)
+  /* There are two ways to get at the requested information:
+       - by scanning the parent directory and examining the relevant
+         directory entry,
+       - by opening the file directly.
+     The first approach fails for root directories (e.g. 'C:\') and
+     UNC root directories (e.g. '\\server\share').
+     The second approach fails for some system files (e.g. 'C:\pagefile.sys'
+     and 'C:\hiberfil.sys'): ERROR_SHARING_VIOLATION.
+     The second approach gives more information (in particular, correct
+     st_dev, st_ino, st_nlink fields).
+     So we use the second approach and, as a fallback except for root and
+     UNC root directories, also the first approach.  */
+  {
+    int ret;
+
     {
-      /* Due to mingw's oddities, there are some directories (like
-         c:\) where stat() only succeeds with a trailing slash, and
-         other directories (like c:\windows) where stat() only
-         succeeds without a trailing slash.  But we want the two to be
-         synonymous, since chdir() manages either style.  Likewise, Mingw also
-         reports ENOENT for names longer than PATH_MAX, when we want
-         ENAMETOOLONG, and for stat("file/"), when we want ENOTDIR.
-         Fortunately, mingw PATH_MAX is small enough for stack
-         allocation.  */
-      char fixed_name[PATH_MAX + 1] = {0};
-      size_t len = strlen (name);
-      bool check_dir = false;
-      verify (PATH_MAX <= 4096);
-      if (PATH_MAX <= len)
-        errno = ENAMETOOLONG;
-      else if (len)
+      /* Approach based on the file.  */
+
+      /* Open a handle to the file.
+         CreateFile
+         <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,
+                    FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
+                    NULL,
+                    OPEN_EXISTING,
+                    /* FILE_FLAG_POSIX_SEMANTICS (treat file names that differ only
+                       in case as different) makes sense only when applied to *all*
+                       filesystem operations.  */
+                    FILE_FLAG_BACKUP_SEMANTICS /* | FILE_FLAG_POSIX_SEMANTICS */,
+                    NULL);
+      if (h != INVALID_HANDLE_VALUE)
         {
-          strcpy (fixed_name, name);
-          if (ISSLASH (fixed_name[len - 1]))
+          ret = _gl_fstat_by_handle (h, rname, buf);
+          CloseHandle (h);
+          goto done;
+        }
+    }
+
+    /* Test for root and UNC root directories.  */
+    if ((rlen == drive_prefix_len + 1 && ISSLASH (rname[drive_prefix_len]))
+        || is_unc_root (rname))
+      goto failed;
+
+    /* Fallback.  */
+    {
+      /* Approach based on the directory entry.  */
+
+      if (strchr (rname, '?') != NULL || strchr (rname, '*') != NULL)
+        {
+          /* Other Windows API functions would fail with error
+             ERROR_INVALID_NAME.  */
+          if (malloca_rname != NULL)
+            freea (malloca_rname);
+          errno = ENOENT;
+          return -1;
+        }
+
+      /* Get the details about the directory entry.  This can be done through
+         FindFirstFile
+         <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://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)
+        goto failed;
+
+      /* Test for error conditions before starting to fill *buf.  */
+      if (sizeof (buf->st_size) <= 4 && info.nFileSizeHigh > 0)
+        {
+          FindClose (h);
+          if (malloca_rname != NULL)
+            freea (malloca_rname);
+          errno = EOVERFLOW;
+          return -1;
+        }
+
+# if _GL_WINDOWS_STAT_INODES
+      buf->st_dev = 0;
+#  if _GL_WINDOWS_STAT_INODES == 2
+      buf->st_ino._gl_ino[0] = buf->st_ino._gl_ino[1] = 0;
+#  else /* _GL_WINDOWS_STAT_INODES == 1 */
+      buf->st_ino = 0;
+#  endif
+# else
+      /* st_ino is not wide enough for identifying a file on a device.
+         Without st_ino, st_dev is pointless.  */
+      buf->st_dev = 0;
+      buf->st_ino = 0;
+# endif
+
+      /* st_mode.  */
+      unsigned int mode =
+        /* XXX How to handle FILE_ATTRIBUTE_REPARSE_POINT ?  */
+        ((info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? _S_IFDIR | S_IEXEC_UGO : _S_IFREG)
+        | S_IREAD_UGO
+        | ((info.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? 0 : S_IWRITE_UGO);
+      if (!(info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
+        {
+          /* Determine whether the file is executable by looking at the file
+             name suffix.  */
+          if (info.nFileSizeHigh > 0 || info.nFileSizeLow > 0)
             {
-              check_dir = true;
-              while (len && ISSLASH (fixed_name[len - 1]))
-                fixed_name[--len] = '\0';
-              if (!len)
-                fixed_name[0] = '/';
+              const char *last_dot = NULL;
+              const char *p;
+              for (p = info.cFileName; *p != '\0'; p++)
+                if (*p == '.')
+                  last_dot = p;
+              if (last_dot != NULL)
+                {
+                  const char *suffix = last_dot + 1;
+                  if (_stricmp (suffix, "exe") == 0
+                      || _stricmp (suffix, "bat") == 0
+                      || _stricmp (suffix, "cmd") == 0
+                      || _stricmp (suffix, "com") == 0)
+                    mode |= S_IEXEC_UGO;
+                }
             }
-          else
-            fixed_name[len++] = '/';
-          result = orig_stat (fixed_name, st);
-          if (result == 0 && check_dir && !S_ISDIR (st->st_mode))
+        }
+      buf->st_mode = mode;
+
+      /* st_nlink.  Ignore hard links here.  */
+      buf->st_nlink = 1;
+
+      /* There's no easy way to map the Windows SID concept to an integer.  */
+      buf->st_uid = 0;
+      buf->st_gid = 0;
+
+      /* st_rdev is irrelevant for normal files and directories.  */
+      buf->st_rdev = 0;
+
+      /* st_size.  */
+      if (sizeof (buf->st_size) <= 4)
+        /* Range check already done above.  */
+        buf->st_size = info.nFileSizeLow;
+      else
+        buf->st_size = ((long long) info.nFileSizeHigh << 32) | (long long) info.nFileSizeLow;
+
+      /* st_atime, st_mtime, st_ctime.  */
+# if _GL_WINDOWS_STAT_TIMESPEC
+      buf->st_atim = _gl_convert_FILETIME_to_timespec (&info.ftLastAccessTime);
+      buf->st_mtim = _gl_convert_FILETIME_to_timespec (&info.ftLastWriteTime);
+      buf->st_ctim = _gl_convert_FILETIME_to_timespec (&info.ftCreationTime);
+# else
+      buf->st_atime = _gl_convert_FILETIME_to_POSIX (&info.ftLastAccessTime);
+      buf->st_mtime = _gl_convert_FILETIME_to_POSIX (&info.ftLastWriteTime);
+      buf->st_ctime = _gl_convert_FILETIME_to_POSIX (&info.ftCreationTime);
+# endif
+
+      FindClose (h);
+
+      ret = 0;
+    }
+
+   done:
+    if (ret >= 0 && check_dir && !S_ISDIR (buf->st_mode))
+      {
+        errno = ENOTDIR;
+        ret = -1;
+      }
+    if (malloca_rname != NULL)
+      {
+        int saved_errno = errno;
+        freea (malloca_rname);
+        errno = saved_errno;
+      }
+    return ret;
+  }
+
+ failed:
+  {
+    DWORD error = GetLastError ();
+    #if 0
+    fprintf (stderr, "rpl_stat error 0x%x\n", (unsigned int) error);
+    #endif
+
+    if (malloca_rname != NULL)
+      freea (malloca_rname);
+
+    switch (error)
+      {
+      /* Some of these errors probably cannot happen with the specific flags
+         that we pass to CreateFile.  But who knows...  */
+      case ERROR_FILE_NOT_FOUND: /* The last component of rname does not exist.  */
+      case ERROR_PATH_NOT_FOUND: /* Some directory component in rname does not exist.  */
+      case ERROR_BAD_PATHNAME:   /* rname is such as '\\server'.  */
+      case ERROR_BAD_NET_NAME:   /* rname is such as '\\server\nonexistentshare'.  */
+      case ERROR_INVALID_NAME:   /* rname contains wildcards, misplaced colon, etc.  */
+      case ERROR_DIRECTORY:
+        errno = ENOENT;
+        break;
+
+      case ERROR_ACCESS_DENIED:  /* rname is such as 'C:\System Volume Information\foo'.  */
+      case ERROR_SHARING_VIOLATION: /* rname is such as 'C:\pagefile.sys' (second approach only).  */
+                                    /* XXX map to EACCESS or EPERM? */
+        errno = EACCES;
+        break;
+
+      case ERROR_OUTOFMEMORY:
+        errno = ENOMEM;
+        break;
+
+      case ERROR_WRITE_PROTECT:
+        errno = EROFS;
+        break;
+
+      case ERROR_WRITE_FAULT:
+      case ERROR_READ_FAULT:
+      case ERROR_GEN_FAILURE:
+        errno = EIO;
+        break;
+
+      case ERROR_BUFFER_OVERFLOW:
+      case ERROR_FILENAME_EXCED_RANGE:
+        errno = ENAMETOOLONG;
+        break;
+
+      case ERROR_DELETE_PENDING: /* XXX map to EACCESS or EPERM? */
+        errno = EPERM;
+        break;
+
+      default:
+        errno = EINVAL;
+        break;
+      }
+
+    return -1;
+  }
+#else
+  int result = orig_stat (name, buf);
+  if (result == 0)
+    {
+# if REPLACE_FUNC_STAT_FILE
+      /* Solaris 9 mistakenly succeeds when given a non-directory with a
+         trailing slash.  */
+      if (!S_ISDIR (buf->st_mode))
+        {
+          size_t len = strlen (name);
+          if (ISSLASH (name[len - 1]))
             {
-              result = -1;
               errno = ENOTDIR;
+              return -1;
             }
         }
+# endif /* REPLACE_FUNC_STAT_FILE */
+      result = stat_time_normalize (result, buf);
     }
-#endif /* REPLACE_FUNC_STAT_DIR */
   return result;
+#endif
 }
index 5b37dd3601a9f10aef13ed1ee0ad5394b0d3aabc..5eec8ba40c4f9cdfd8751d9217c298c082b5cd56 100644 (file)
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <stdarg.h>.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_STDARG_H
 
index 651e8dffdb34ba935e729e4f4b3581c0de69ee9a..8158b009f57244d7574a0998bdc7f45cdb6a01de 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <haible@clisp.cons.org>, 2001.
 
    This program is free software; you can redistribute it and/or modify
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _GL_STDBOOL_H
 #define _GL_STDBOOL_H
@@ -82,9 +82,9 @@ typedef bool _Bool;
    /* If @HAVE__BOOL@:
         Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
         the built-in _Bool type is used.  See
-          http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-          http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
-          http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
+          https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+          https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html
+          https://lists.gnu.org/r/bug-coreutils/2005-10/msg00086.html
         Similar bugs are likely with other compilers as well; this file
         wouldn't be used if <stdbool.h> was working.
         So we override the _Bool type.
index f5c0e0565541d9f384d6abe2d4db900d5fbe7ddc..5aad1210df0e96187c7ff4a0bbd4a2ac0f292094 100644 (file)
@@ -1,6 +1,6 @@
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake.  */
 
@@ -39,7 +39,6 @@
 
 # if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T)
 #  ifdef __need_wint_t
-#   undef _@GUARD_PREFIX@_STDDEF_H
 #   define _GL_STDDEF_WINT_T
 #  endif
 #  @INCLUDE_NEXT@ @NEXT_STDDEF_H@
 
 #  @INCLUDE_NEXT@ @NEXT_STDDEF_H@
 
-#  ifndef _@GUARD_PREFIX@_STDDEF_H
-#   define _@GUARD_PREFIX@_STDDEF_H
-
 /* On NetBSD 5.0, the definition of NULL lacks proper parentheses.  */
-#if @REPLACE_NULL@
-# undef NULL
-# ifdef __cplusplus
+#  if (@REPLACE_NULL@ \
+       && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _GL_STDDEF_WINT_T))
+#   undef NULL
+#   ifdef __cplusplus
    /* ISO C++ says that the macro NULL must expand to an integer constant
       expression, hence '((void *) 0)' is not allowed in C++.  */
-#  if __GNUG__ >= 3
+#    if __GNUG__ >= 3
     /* GNU C++ has a __null macro that behaves like an integer ('int' or
        'long') but has the same size as a pointer.  Use that, to avoid
        warnings.  */
-#   define NULL __null
-#  else
-#   define NULL 0L
+#     define NULL __null
+#    else
+#     define NULL 0L
+#    endif
+#   else
+#    define NULL ((void *) 0)
+#   endif
 #  endif
-# else
-#  define NULL ((void *) 0)
-# endif
-#endif
+
+#  ifndef _@GUARD_PREFIX@_STDDEF_H
+#   define _@GUARD_PREFIX@_STDDEF_H
 
 /* Some platforms lack wchar_t.  */
 #if !@HAVE_WCHAR_T@
 # define wchar_t int
 #endif
 
+/* Some platforms lack max_align_t.  The check for _GCC_MAX_ALIGN_T is
+   a hack in case the configure-time test was done with g++ even though
+   we are currently compiling with gcc.  */
+#if ! (@HAVE_MAX_ALIGN_T@ || defined _GCC_MAX_ALIGN_T)
+# if !GNULIB_defined_max_align_t
+/* On the x86, the maximum storage alignment of double, long, etc. is 4,
+   but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
+   and the C11 standard allows this.  Work around this problem by
+   using __alignof__ (which returns 8 for double) rather than _Alignof
+   (which returns 4), and align each union member accordingly.  */
+#  ifdef __GNUC__
+#   define _GL_STDDEF_ALIGNAS(type) \
+      __attribute__ ((__aligned__ (__alignof__ (type))))
+#  else
+#   define _GL_STDDEF_ALIGNAS(type) /* */
+#  endif
+typedef union
+{
+  char *__p _GL_STDDEF_ALIGNAS (char *);
+  double __d _GL_STDDEF_ALIGNAS (double);
+  long double __ld _GL_STDDEF_ALIGNAS (long double);
+  long int __i _GL_STDDEF_ALIGNAS (long int);
+} rpl_max_align_t;
+#  define max_align_t rpl_max_align_t
+#  define GNULIB_defined_max_align_t 1
+# endif
+#endif
+
 #  endif /* _@GUARD_PREFIX@_STDDEF_H */
 # endif /* _@GUARD_PREFIX@_STDDEF_H */
 #endif /* __need_XXX */
index 247f0d89619fd5f69f5e8f97ae3aa42a6c07f319..21dd8d23e3c84e2aecb294c448ee33ab1a34a63c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2019 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /*
  * ISO C 99 <stdint.h> for platforms that lack it.
 #if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
 #define _@GUARD_PREFIX@_STDINT_H
 
+/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX,
+   LONG_MIN, LONG_MAX, ULONG_MAX, _GL_INTEGER_WIDTH.  */
+#include <limits.h>
+
+/* Override WINT_MIN and WINT_MAX if gnulib's <wchar.h> or <wctype.h> overrides
+   wint_t.  */
+#if @GNULIB_OVERRIDES_WINT_T@
+# undef WINT_MIN
+# undef WINT_MAX
+# define WINT_MIN 0x0U
+# define WINT_MAX 0xffffffffU
+#endif
+
+#if ! @HAVE_C99_STDINT_H@
+
 /* <sys/types.h> defines some of the stdint.h types as well, on glibc,
    IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
    AIX 5.2 <sys/types.h> isn't needed and causes troubles.
    Mac OS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
    relies on the system <stdint.h> definitions, so include
    <sys/types.h> after @NEXT_STDINT_H@.  */
-#if @HAVE_SYS_TYPES_H@ && ! defined _AIX
-# include <sys/types.h>
-#endif
-
-/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX,
-   LONG_MIN, LONG_MAX, ULONG_MAX.  */
-#include <limits.h>
+# if @HAVE_SYS_TYPES_H@ && ! defined _AIX
+#  include <sys/types.h>
+# endif
 
-#if @HAVE_INTTYPES_H@
+# if @HAVE_INTTYPES_H@
   /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
      int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
      <inttypes.h> also defines intptr_t and uintptr_t.  */
-# include <inttypes.h>
-#elif @HAVE_SYS_INTTYPES_H@
+#  include <inttypes.h>
+# elif @HAVE_SYS_INTTYPES_H@
   /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
      the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX.  */
-# include <sys/inttypes.h>
-#endif
+#  include <sys/inttypes.h>
+# endif
 
-#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
+# if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
   /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
      int{8,16,32,64}_t and __BIT_TYPES_DEFINED__.  In libc5 >= 5.2.2 it is
      included by <sys/types.h>.  */
-# include <sys/bitypes.h>
-#endif
+#  include <sys/bitypes.h>
+# endif
 
-#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+# undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
 
 /* Minimum and maximum values for an integer type under the usual assumption.
    Return an unspecified value if BITS == 0, adding a check to pacify
    picky compilers.  */
 
-#define _STDINT_MIN(signed, bits, zero) \
-  ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero))
+/* These are separate macros, because if you try to merge these macros into
+   a single one, HP-UX cc rejects the resulting expression in constant
+   expressions.  */
+# define _STDINT_UNSIGNED_MIN(bits, zero) \
+    (zero)
+# define _STDINT_SIGNED_MIN(bits, zero) \
+    (~ _STDINT_MAX (1, bits, zero))
 
-#define _STDINT_MAX(signed, bits, zero) \
-  ((signed) \
-   ? ~ _STDINT_MIN (signed, bits, zero) \
-   : /* The expression for the unsigned case.  The subtraction of (signed) \
-        is a nop in the unsigned case and avoids "signed integer overflow" \
-        warnings in the signed case.  */ \
-     ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
+# define _STDINT_MAX(signed, bits, zero) \
+    (((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
 
 #if !GNULIB_defined_stdint_types
 
 /* Here we assume a standard architecture where the hardware integer
    types have 8, 16, 32, optionally 64 bits.  */
 
-#undef int8_t
-#undef uint8_t
+# undef int8_t
+# undef uint8_t
 typedef signed char gl_int8_t;
 typedef unsigned char gl_uint8_t;
-#define int8_t gl_int8_t
-#define uint8_t gl_uint8_t
+# define int8_t gl_int8_t
+# define uint8_t gl_uint8_t
 
-#undef int16_t
-#undef uint16_t
+# undef int16_t
+# undef uint16_t
 typedef short int gl_int16_t;
 typedef unsigned short int gl_uint16_t;
-#define int16_t gl_int16_t
-#define uint16_t gl_uint16_t
+# define int16_t gl_int16_t
+# define uint16_t gl_uint16_t
 
-#undef int32_t
-#undef uint32_t
+# undef int32_t
+# undef uint32_t
 typedef int gl_int32_t;
 typedef unsigned int gl_uint32_t;
-#define int32_t gl_int32_t
-#define uint32_t gl_uint32_t
+# define int32_t gl_int32_t
+# define uint32_t gl_uint32_t
 
 /* If the system defines INT64_MAX, assume int64_t works.  That way,
    if the underlying platform defines int64_t to be a 64-bit long long
@@ -162,54 +173,54 @@ typedef unsigned int gl_uint32_t;
    int, which would mess up C++ name mangling.  We must use #ifdef
    rather than #if, to avoid an error with HP-UX 10.20 cc.  */
 
-#ifdef INT64_MAX
-# define GL_INT64_T
-#else
+# ifdef INT64_MAX
+#  define GL_INT64_T
+# else
 /* Do not undefine int64_t if gnulib is not being used with 64-bit
    types, since otherwise it breaks platforms like Tandem/NSK.  */
-# if LONG_MAX >> 31 >> 31 == 1
-#  undef int64_t
+#  if LONG_MAX >> 31 >> 31 == 1
+#   undef int64_t
 typedef long int gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
-# elif defined _MSC_VER
-#  undef int64_t
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  elif defined _MSC_VER
+#   undef int64_t
 typedef __int64 gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
-# elif @HAVE_LONG_LONG_INT@
-#  undef int64_t
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  elif @HAVE_LONG_LONG_INT@
+#   undef int64_t
 typedef long long int gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  endif
 # endif
-#endif
 
-#ifdef UINT64_MAX
-# define GL_UINT64_T
-#else
-# if ULONG_MAX >> 31 >> 31 >> 1 == 1
-#  undef uint64_t
-typedef unsigned long int gl_uint64_t;
-#  define uint64_t gl_uint64_t
+# ifdef UINT64_MAX
 #  define GL_UINT64_T
-# elif defined _MSC_VER
-#  undef uint64_t
+# else
+#  if ULONG_MAX >> 31 >> 31 >> 1 == 1
+#   undef uint64_t
+typedef unsigned long int gl_uint64_t;
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  elif defined _MSC_VER
+#   undef uint64_t
 typedef unsigned __int64 gl_uint64_t;
-#  define uint64_t gl_uint64_t
-#  define GL_UINT64_T
-# elif @HAVE_UNSIGNED_LONG_LONG_INT@
-#  undef uint64_t
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  elif @HAVE_UNSIGNED_LONG_LONG_INT@
+#   undef uint64_t
 typedef unsigned long long int gl_uint64_t;
-#  define uint64_t gl_uint64_t
-#  define GL_UINT64_T
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  endif
 # endif
-#endif
 
 /* Avoid collision with Solaris 2.5.1 <pthread.h> etc.  */
-#define _UINT8_T
-#define _UINT32_T
-#define _UINT64_T
+# define _UINT8_T
+# define _UINT32_T
+# define _UINT64_T
 
 
 /* 7.18.1.2. Minimum-width integer types */
@@ -218,26 +229,26 @@ typedef unsigned long long int gl_uint64_t;
    types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
    are the same as the corresponding N_t types.  */
 
-#undef int_least8_t
-#undef uint_least8_t
-#undef int_least16_t
-#undef uint_least16_t
-#undef int_least32_t
-#undef uint_least32_t
-#undef int_least64_t
-#undef uint_least64_t
-#define int_least8_t int8_t
-#define uint_least8_t uint8_t
-#define int_least16_t int16_t
-#define uint_least16_t uint16_t
-#define int_least32_t int32_t
-#define uint_least32_t uint32_t
-#ifdef GL_INT64_T
-# define int_least64_t int64_t
-#endif
-#ifdef GL_UINT64_T
-# define uint_least64_t uint64_t
-#endif
+# undef int_least8_t
+# undef uint_least8_t
+# undef int_least16_t
+# undef uint_least16_t
+# undef int_least32_t
+# undef uint_least32_t
+# undef int_least64_t
+# undef uint_least64_t
+# define int_least8_t int8_t
+# define uint_least8_t uint8_t
+# define int_least16_t int16_t
+# define uint_least16_t uint16_t
+# define int_least32_t int32_t
+# define uint_least32_t uint32_t
+# ifdef GL_INT64_T
+#  define int_least64_t int64_t
+# endif
+# ifdef GL_UINT64_T
+#  define uint_least64_t uint64_t
+# endif
 
 /* 7.18.1.3. Fastest minimum-width integer types */
 
@@ -250,50 +261,55 @@ typedef unsigned long long int gl_uint64_t;
    uses types consistent with glibc, as that lessens the chance of
    incompatibility with older GNU hosts.  */
 
-#undef int_fast8_t
-#undef uint_fast8_t
-#undef int_fast16_t
-#undef uint_fast16_t
-#undef int_fast32_t
-#undef uint_fast32_t
-#undef int_fast64_t
-#undef uint_fast64_t
+# undef int_fast8_t
+# undef uint_fast8_t
+# undef int_fast16_t
+# undef uint_fast16_t
+# undef int_fast32_t
+# undef uint_fast32_t
+# undef int_fast64_t
+# undef uint_fast64_t
 typedef signed char gl_int_fast8_t;
 typedef unsigned char gl_uint_fast8_t;
 
-#ifdef __sun
+# ifdef __sun
 /* Define types compatible with SunOS 5.10, so that code compiled under
    earlier SunOS versions works with code compiled under SunOS 5.10.  */
 typedef int gl_int_fast32_t;
 typedef unsigned int gl_uint_fast32_t;
-#else
+# else
 typedef long int gl_int_fast32_t;
 typedef unsigned long int gl_uint_fast32_t;
-#endif
+# endif
 typedef gl_int_fast32_t gl_int_fast16_t;
 typedef gl_uint_fast32_t gl_uint_fast16_t;
 
-#define int_fast8_t gl_int_fast8_t
-#define uint_fast8_t gl_uint_fast8_t
-#define int_fast16_t gl_int_fast16_t
-#define uint_fast16_t gl_uint_fast16_t
-#define int_fast32_t gl_int_fast32_t
-#define uint_fast32_t gl_uint_fast32_t
-#ifdef GL_INT64_T
-# define int_fast64_t int64_t
-#endif
-#ifdef GL_UINT64_T
-# define uint_fast64_t uint64_t
-#endif
+# define int_fast8_t gl_int_fast8_t
+# define uint_fast8_t gl_uint_fast8_t
+# define int_fast16_t gl_int_fast16_t
+# define uint_fast16_t gl_uint_fast16_t
+# define int_fast32_t gl_int_fast32_t
+# define uint_fast32_t gl_uint_fast32_t
+# ifdef GL_INT64_T
+#  define int_fast64_t int64_t
+# endif
+# ifdef GL_UINT64_T
+#  define uint_fast64_t uint64_t
+# endif
 
 /* 7.18.1.4. Integer types capable of holding object pointers */
 
-#undef intptr_t
-#undef uintptr_t
+/* kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
+   definitions of intptr_t and uintptr_t (which use int and unsigned)
+   to avoid clashes with declarations of system functions like sbrk.  */
+# ifndef _INTPTR_T_DECLARED
+# undef intptr_t
+# undef uintptr_t
 typedef long int gl_intptr_t;
 typedef unsigned long int gl_uintptr_t;
-#define intptr_t gl_intptr_t
-#define uintptr_t gl_uintptr_t
+# define intptr_t gl_intptr_t
+# define uintptr_t gl_uintptr_t
+# endif
 
 /* 7.18.1.5. Greatest-width integer types */
 
@@ -304,33 +320,33 @@ typedef unsigned long int gl_uintptr_t;
    similarly for UINTMAX_MAX and uintmax_t.  This avoids problems with
    assuming one type where another is used by the system.  */
 
-#ifndef INTMAX_MAX
-# undef INTMAX_C
-# undef intmax_t
-# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# ifndef INTMAX_MAX
+#  undef INTMAX_C
+#  undef intmax_t
+#  if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
 typedef long long int gl_intmax_t;
-#  define intmax_t gl_intmax_t
-# elif defined GL_INT64_T
-#  define intmax_t int64_t
-# else
+#   define intmax_t gl_intmax_t
+#  elif defined GL_INT64_T
+#   define intmax_t int64_t
+#  else
 typedef long int gl_intmax_t;
-#  define intmax_t gl_intmax_t
+#   define intmax_t gl_intmax_t
+#  endif
 # endif
-#endif
 
-#ifndef UINTMAX_MAX
-# undef UINTMAX_C
-# undef uintmax_t
-# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# ifndef UINTMAX_MAX
+#  undef UINTMAX_C
+#  undef uintmax_t
+#  if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
 typedef unsigned long long int gl_uintmax_t;
-#  define uintmax_t gl_uintmax_t
-# elif defined GL_UINT64_T
-#  define uintmax_t uint64_t
-# else
+#   define uintmax_t gl_uintmax_t
+#  elif defined GL_UINT64_T
+#   define uintmax_t uint64_t
+#  else
 typedef unsigned long int gl_uintmax_t;
-#  define uintmax_t gl_uintmax_t
+#   define uintmax_t gl_uintmax_t
+#  endif
 # endif
-#endif
 
 /* Verify that intmax_t and uintmax_t have the same size.  Too much code
    breaks if this is not the case.  If this check fails, the reason is likely
@@ -338,8 +354,8 @@ typedef unsigned long int gl_uintmax_t;
 typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
                                 ? 1 : -1];
 
-#define GNULIB_defined_stdint_types 1
-#endif /* !GNULIB_defined_stdint_types */
+# define GNULIB_defined_stdint_types 1
+# endif /* !GNULIB_defined_stdint_types */
 
 /* 7.18.2. Limits of specified-width integer types */
 
@@ -348,37 +364,37 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
 /* Here we assume a standard architecture where the hardware integer
    types have 8, 16, 32, optionally 64 bits.  */
 
-#undef INT8_MIN
-#undef INT8_MAX
-#undef UINT8_MAX
-#define INT8_MIN  (~ INT8_MAX)
-#define INT8_MAX  127
-#define UINT8_MAX  255
-
-#undef INT16_MIN
-#undef INT16_MAX
-#undef UINT16_MAX
-#define INT16_MIN  (~ INT16_MAX)
-#define INT16_MAX  32767
-#define UINT16_MAX  65535
-
-#undef INT32_MIN
-#undef INT32_MAX
-#undef UINT32_MAX
-#define INT32_MIN  (~ INT32_MAX)
-#define INT32_MAX  2147483647
-#define UINT32_MAX  4294967295U
-
-#if defined GL_INT64_T && ! defined INT64_MAX
+# undef INT8_MIN
+# undef INT8_MAX
+# undef UINT8_MAX
+# define INT8_MIN  (~ INT8_MAX)
+# define INT8_MAX  127
+# define UINT8_MAX  255
+
+# undef INT16_MIN
+# undef INT16_MAX
+# undef UINT16_MAX
+# define INT16_MIN  (~ INT16_MAX)
+# define INT16_MAX  32767
+# define UINT16_MAX  65535
+
+# undef INT32_MIN
+# undef INT32_MAX
+# undef UINT32_MAX
+# define INT32_MIN  (~ INT32_MAX)
+# define INT32_MAX  2147483647
+# define UINT32_MAX  4294967295U
+
+# if defined GL_INT64_T && ! defined INT64_MAX
 /* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
    evaluates the latter incorrectly in preprocessor expressions.  */
-# define INT64_MIN  (- INTMAX_C (1) << 63)
-# define INT64_MAX  INTMAX_C (9223372036854775807)
-#endif
+#  define INT64_MIN  (- INTMAX_C (1) << 63)
+#  define INT64_MAX  INTMAX_C (9223372036854775807)
+# endif
 
-#if defined GL_UINT64_T && ! defined UINT64_MAX
-# define UINT64_MAX  UINTMAX_C (18446744073709551615)
-#endif
+# if defined GL_UINT64_T && ! defined UINT64_MAX
+#  define UINT64_MAX  UINTMAX_C (18446744073709551615)
+# endif
 
 /* 7.18.2.2. Limits of minimum-width integer types */
 
@@ -386,38 +402,38 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
    types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
    are the same as the corresponding N_t types.  */
 
-#undef INT_LEAST8_MIN
-#undef INT_LEAST8_MAX
-#undef UINT_LEAST8_MAX
-#define INT_LEAST8_MIN  INT8_MIN
-#define INT_LEAST8_MAX  INT8_MAX
-#define UINT_LEAST8_MAX  UINT8_MAX
-
-#undef INT_LEAST16_MIN
-#undef INT_LEAST16_MAX
-#undef UINT_LEAST16_MAX
-#define INT_LEAST16_MIN  INT16_MIN
-#define INT_LEAST16_MAX  INT16_MAX
-#define UINT_LEAST16_MAX  UINT16_MAX
-
-#undef INT_LEAST32_MIN
-#undef INT_LEAST32_MAX
-#undef UINT_LEAST32_MAX
-#define INT_LEAST32_MIN  INT32_MIN
-#define INT_LEAST32_MAX  INT32_MAX
-#define UINT_LEAST32_MAX  UINT32_MAX
-
-#undef INT_LEAST64_MIN
-#undef INT_LEAST64_MAX
-#ifdef GL_INT64_T
-# define INT_LEAST64_MIN  INT64_MIN
-# define INT_LEAST64_MAX  INT64_MAX
-#endif
+# undef INT_LEAST8_MIN
+# undef INT_LEAST8_MAX
+# undef UINT_LEAST8_MAX
+# define INT_LEAST8_MIN  INT8_MIN
+# define INT_LEAST8_MAX  INT8_MAX
+# define UINT_LEAST8_MAX  UINT8_MAX
+
+# undef INT_LEAST16_MIN
+# undef INT_LEAST16_MAX
+# undef UINT_LEAST16_MAX
+# define INT_LEAST16_MIN  INT16_MIN
+# define INT_LEAST16_MAX  INT16_MAX
+# define UINT_LEAST16_MAX  UINT16_MAX
+
+# undef INT_LEAST32_MIN
+# undef INT_LEAST32_MAX
+# undef UINT_LEAST32_MAX
+# define INT_LEAST32_MIN  INT32_MIN
+# define INT_LEAST32_MAX  INT32_MAX
+# define UINT_LEAST32_MAX  UINT32_MAX
+
+# undef INT_LEAST64_MIN
+# undef INT_LEAST64_MAX
+# ifdef GL_INT64_T
+#  define INT_LEAST64_MIN  INT64_MIN
+#  define INT_LEAST64_MAX  INT64_MAX
+# endif
 
-#undef UINT_LEAST64_MAX
-#ifdef GL_UINT64_T
-# define UINT_LEAST64_MAX  UINT64_MAX
-#endif
+# undef UINT_LEAST64_MAX
+# ifdef GL_UINT64_T
+#  define UINT_LEAST64_MAX  UINT64_MAX
+# endif
 
 /* 7.18.2.3. Limits of fastest minimum-width integer types */
 
@@ -425,117 +441,121 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
    types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
    are taken from the same list of types.  */
 
-#undef INT_FAST8_MIN
-#undef INT_FAST8_MAX
-#undef UINT_FAST8_MAX
-#define INT_FAST8_MIN  SCHAR_MIN
-#define INT_FAST8_MAX  SCHAR_MAX
-#define UINT_FAST8_MAX  UCHAR_MAX
-
-#undef INT_FAST16_MIN
-#undef INT_FAST16_MAX
-#undef UINT_FAST16_MAX
-#define INT_FAST16_MIN  INT_FAST32_MIN
-#define INT_FAST16_MAX  INT_FAST32_MAX
-#define UINT_FAST16_MAX  UINT_FAST32_MAX
-
-#undef INT_FAST32_MIN
-#undef INT_FAST32_MAX
-#undef UINT_FAST32_MAX
-#ifdef __sun
-# define INT_FAST32_MIN  INT_MIN
-# define INT_FAST32_MAX  INT_MAX
-# define UINT_FAST32_MAX  UINT_MAX
-#else
-# define INT_FAST32_MIN  LONG_MIN
-# define INT_FAST32_MAX  LONG_MAX
-# define UINT_FAST32_MAX  ULONG_MAX
-#endif
+# undef INT_FAST8_MIN
+# undef INT_FAST8_MAX
+# undef UINT_FAST8_MAX
+# define INT_FAST8_MIN  SCHAR_MIN
+# define INT_FAST8_MAX  SCHAR_MAX
+# define UINT_FAST8_MAX  UCHAR_MAX
+
+# undef INT_FAST16_MIN
+# undef INT_FAST16_MAX
+# undef UINT_FAST16_MAX
+# define INT_FAST16_MIN  INT_FAST32_MIN
+# define INT_FAST16_MAX  INT_FAST32_MAX
+# define UINT_FAST16_MAX  UINT_FAST32_MAX
+
+# undef INT_FAST32_MIN
+# undef INT_FAST32_MAX
+# undef UINT_FAST32_MAX
+# ifdef __sun
+#  define INT_FAST32_MIN  INT_MIN
+#  define INT_FAST32_MAX  INT_MAX
+#  define UINT_FAST32_MAX  UINT_MAX
+# else
+#  define INT_FAST32_MIN  LONG_MIN
+#  define INT_FAST32_MAX  LONG_MAX
+#  define UINT_FAST32_MAX  ULONG_MAX
+# endif
 
-#undef INT_FAST64_MIN
-#undef INT_FAST64_MAX
-#ifdef GL_INT64_T
-# define INT_FAST64_MIN  INT64_MIN
-# define INT_FAST64_MAX  INT64_MAX
-#endif
+# undef INT_FAST64_MIN
+# undef INT_FAST64_MAX
+# ifdef GL_INT64_T
+#  define INT_FAST64_MIN  INT64_MIN
+#  define INT_FAST64_MAX  INT64_MAX
+# endif
 
-#undef UINT_FAST64_MAX
-#ifdef GL_UINT64_T
-# define UINT_FAST64_MAX  UINT64_MAX
-#endif
+# undef UINT_FAST64_MAX
+# ifdef GL_UINT64_T
+#  define UINT_FAST64_MAX  UINT64_MAX
+# endif
 
 /* 7.18.2.4. Limits of integer types capable of holding object pointers */
 
-#undef INTPTR_MIN
-#undef INTPTR_MAX
-#undef UINTPTR_MAX
-#define INTPTR_MIN  LONG_MIN
-#define INTPTR_MAX  LONG_MAX
-#define UINTPTR_MAX  ULONG_MAX
+# undef INTPTR_MIN
+# undef INTPTR_MAX
+# undef UINTPTR_MAX
+# define INTPTR_MIN  LONG_MIN
+# define INTPTR_MAX  LONG_MAX
+# define UINTPTR_MAX  ULONG_MAX
 
 /* 7.18.2.5. Limits of greatest-width integer types */
 
-#ifndef INTMAX_MAX
-# undef INTMAX_MIN
-# ifdef INT64_MAX
-#  define INTMAX_MIN  INT64_MIN
-#  define INTMAX_MAX  INT64_MAX
-# else
-#  define INTMAX_MIN  INT32_MIN
-#  define INTMAX_MAX  INT32_MAX
+# ifndef INTMAX_MAX
+#  undef INTMAX_MIN
+#  ifdef INT64_MAX
+#   define INTMAX_MIN  INT64_MIN
+#   define INTMAX_MAX  INT64_MAX
+#  else
+#   define INTMAX_MIN  INT32_MIN
+#   define INTMAX_MAX  INT32_MAX
+#  endif
 # endif
-#endif
 
-#ifndef UINTMAX_MAX
-# ifdef UINT64_MAX
-#  define UINTMAX_MAX  UINT64_MAX
-# else
-#  define UINTMAX_MAX  UINT32_MAX
+# ifndef UINTMAX_MAX
+#  ifdef UINT64_MAX
+#   define UINTMAX_MAX  UINT64_MAX
+#  else
+#   define UINTMAX_MAX  UINT32_MAX
+#  endif
 # endif
-#endif
 
 /* 7.18.3. Limits of other integer types */
 
 /* ptrdiff_t limits */
-#undef PTRDIFF_MIN
-#undef PTRDIFF_MAX
-#if @APPLE_UNIVERSAL_BUILD@
-# ifdef _LP64
-#  define PTRDIFF_MIN  _STDINT_MIN (1, 64, 0l)
-#  define PTRDIFF_MAX  _STDINT_MAX (1, 64, 0l)
+# undef PTRDIFF_MIN
+# undef PTRDIFF_MAX
+# if @APPLE_UNIVERSAL_BUILD@
+#  ifdef _LP64
+#   define PTRDIFF_MIN  _STDINT_SIGNED_MIN (64, 0l)
+#   define PTRDIFF_MAX  _STDINT_MAX (1, 64, 0l)
+#  else
+#   define PTRDIFF_MIN  _STDINT_SIGNED_MIN (32, 0)
+#   define PTRDIFF_MAX  _STDINT_MAX (1, 32, 0)
+#  endif
 # else
-#  define PTRDIFF_MIN  _STDINT_MIN (1, 32, 0)
-#  define PTRDIFF_MAX  _STDINT_MAX (1, 32, 0)
-# endif
-#else
-# define PTRDIFF_MIN  \
-    _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
-# define PTRDIFF_MAX  \
+#  define PTRDIFF_MIN  \
+    _STDINT_SIGNED_MIN (@BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
+#  define PTRDIFF_MAX  \
     _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
-#endif
+# endif
 
 /* sig_atomic_t limits */
-#undef SIG_ATOMIC_MIN
-#undef SIG_ATOMIC_MAX
-#define SIG_ATOMIC_MIN  \
-   _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
-                0@SIG_ATOMIC_T_SUFFIX@)
-#define SIG_ATOMIC_MAX  \
+# undef SIG_ATOMIC_MIN
+# undef SIG_ATOMIC_MAX
+# if @HAVE_SIGNED_SIG_ATOMIC_T@
+#  define SIG_ATOMIC_MIN  \
+    _STDINT_SIGNED_MIN (@BITSIZEOF_SIG_ATOMIC_T@, 0@SIG_ATOMIC_T_SUFFIX@)
+# else
+#  define SIG_ATOMIC_MIN  \
+    _STDINT_UNSIGNED_MIN (@BITSIZEOF_SIG_ATOMIC_T@, 0@SIG_ATOMIC_T_SUFFIX@)
+# endif
+# define SIG_ATOMIC_MAX  \
    _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
                 0@SIG_ATOMIC_T_SUFFIX@)
 
 
 /* size_t limit */
-#undef SIZE_MAX
-#if @APPLE_UNIVERSAL_BUILD@
-# ifdef _LP64
-#  define SIZE_MAX  _STDINT_MAX (0, 64, 0ul)
+# undef SIZE_MAX
+# if @APPLE_UNIVERSAL_BUILD@
+#  ifdef _LP64
+#   define SIZE_MAX  _STDINT_MAX (0, 64, 0ul)
+#  else
+#   define SIZE_MAX  _STDINT_MAX (0, 32, 0ul)
+#  endif
 # else
-#  define SIZE_MAX  _STDINT_MAX (0, 32, 0ul)
+#  define SIZE_MAX  _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
 # endif
-#else
-# define SIZE_MAX  _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
-#endif
 
 /* wchar_t limits */
 /* Get WCHAR_MIN, WCHAR_MAX.
@@ -543,29 +563,39 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
    sequence of nested includes
    <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
    <stdint.h> and assumes its types are already defined.  */
-#if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
+# if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
   /* 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 <time.h>
-# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
-# include <wchar.h>
-# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
-#endif
-#undef WCHAR_MIN
-#undef WCHAR_MAX
-#define WCHAR_MIN  \
-   _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
-#define WCHAR_MAX  \
+#  include <stddef.h>
+#  include <stdio.h>
+#  include <time.h>
+#  define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
+#  include <wchar.h>
+#  undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
+# endif
+# undef WCHAR_MIN
+# undef WCHAR_MAX
+# if @HAVE_SIGNED_WCHAR_T@
+#  define WCHAR_MIN  \
+    _STDINT_SIGNED_MIN (@BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
+# else
+#  define WCHAR_MIN  \
+    _STDINT_UNSIGNED_MIN (@BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
+# endif
+# define WCHAR_MAX  \
    _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
 
 /* wint_t limits */
-#undef WINT_MIN
-#undef WINT_MAX
-#define WINT_MIN  \
-   _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
-#define WINT_MAX  \
+# undef WINT_MIN
+# undef WINT_MAX
+# if @HAVE_SIGNED_WINT_T@
+#  define WINT_MIN  \
+    _STDINT_SIGNED_MIN (@BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+# else
+#  define WINT_MIN  \
+    _STDINT_UNSIGNED_MIN (@BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+# endif
+# define WINT_MAX  \
    _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
 
 /* 7.18.4. Macros for integer constants */
@@ -576,59 +606,120 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
 /* Here we assume a standard architecture where the hardware integer
    types have 8, 16, 32, optionally 64 bits, and int is 32 bits.  */
 
-#undef INT8_C
-#undef UINT8_C
-#define INT8_C(x) x
-#define UINT8_C(x) x
-
-#undef INT16_C
-#undef UINT16_C
-#define INT16_C(x) x
-#define UINT16_C(x) x
-
-#undef INT32_C
-#undef UINT32_C
-#define INT32_C(x) x
-#define UINT32_C(x) x ## U
-
-#undef INT64_C
-#undef UINT64_C
-#if LONG_MAX >> 31 >> 31 == 1
-# define INT64_C(x) x##L
-#elif defined _MSC_VER
-# define INT64_C(x) x##i64
-#elif @HAVE_LONG_LONG_INT@
-# define INT64_C(x) x##LL
-#endif
-#if ULONG_MAX >> 31 >> 31 >> 1 == 1
-# define UINT64_C(x) x##UL
-#elif defined _MSC_VER
-# define UINT64_C(x) x##ui64
-#elif @HAVE_UNSIGNED_LONG_LONG_INT@
-# define UINT64_C(x) x##ULL
-#endif
+# undef INT8_C
+# undef UINT8_C
+# define INT8_C(x) x
+# define UINT8_C(x) x
+
+# undef INT16_C
+# undef UINT16_C
+# define INT16_C(x) x
+# define UINT16_C(x) x
+
+# undef INT32_C
+# undef UINT32_C
+# define INT32_C(x) x
+# define UINT32_C(x) x ## U
+
+# undef INT64_C
+# undef UINT64_C
+# if LONG_MAX >> 31 >> 31 == 1
+#  define INT64_C(x) x##L
+# elif defined _MSC_VER
+#  define INT64_C(x) x##i64
+# elif @HAVE_LONG_LONG_INT@
+#  define INT64_C(x) x##LL
+# endif
+# if ULONG_MAX >> 31 >> 31 >> 1 == 1
+#  define UINT64_C(x) x##UL
+# elif defined _MSC_VER
+#  define UINT64_C(x) x##ui64
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@
+#  define UINT64_C(x) x##ULL
+# endif
 
 /* 7.18.4.2. Macros for greatest-width integer constants */
 
-#ifndef INTMAX_C
-# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-#  define INTMAX_C(x)   x##LL
-# elif defined GL_INT64_T
-#  define INTMAX_C(x)   INT64_C(x)
-# else
-#  define INTMAX_C(x)   x##L
+# ifndef INTMAX_C
+#  if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+#   define INTMAX_C(x)   x##LL
+#  elif defined GL_INT64_T
+#   define INTMAX_C(x)   INT64_C(x)
+#  else
+#   define INTMAX_C(x)   x##L
+#  endif
 # endif
-#endif
 
-#ifndef UINTMAX_C
-# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-#  define UINTMAX_C(x)  x##ULL
-# elif defined GL_UINT64_T
-#  define UINTMAX_C(x)  UINT64_C(x)
-# else
-#  define UINTMAX_C(x)  x##UL
+# ifndef UINTMAX_C
+#  if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+#   define UINTMAX_C(x)  x##ULL
+#  elif defined GL_UINT64_T
+#   define UINTMAX_C(x)  UINT64_C(x)
+#  else
+#   define UINTMAX_C(x)  x##UL
+#  endif
 # endif
-#endif
+
+#endif /* !@HAVE_C99_STDINT_H@ */
+
+/* Macros specified by ISO/IEC TS 18661-1:2014.  */
+
+#if (!defined UINTMAX_WIDTH \
+     && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__))
+# ifdef INT8_MAX
+#  define INT8_WIDTH _GL_INTEGER_WIDTH (INT8_MIN, INT8_MAX)
+# endif
+# ifdef UINT8_MAX
+#  define UINT8_WIDTH _GL_INTEGER_WIDTH (0, UINT8_MAX)
+# endif
+# ifdef INT16_MAX
+#  define INT16_WIDTH _GL_INTEGER_WIDTH (INT16_MIN, INT16_MAX)
+# endif
+# ifdef UINT16_MAX
+#  define UINT16_WIDTH _GL_INTEGER_WIDTH (0, UINT16_MAX)
+# endif
+# ifdef INT32_MAX
+#  define INT32_WIDTH _GL_INTEGER_WIDTH (INT32_MIN, INT32_MAX)
+# endif
+# ifdef UINT32_MAX
+#  define UINT32_WIDTH _GL_INTEGER_WIDTH (0, UINT32_MAX)
+# endif
+# ifdef INT64_MAX
+#  define INT64_WIDTH _GL_INTEGER_WIDTH (INT64_MIN, INT64_MAX)
+# endif
+# ifdef UINT64_MAX
+#  define UINT64_WIDTH _GL_INTEGER_WIDTH (0, UINT64_MAX)
+# endif
+# define INT_LEAST8_WIDTH _GL_INTEGER_WIDTH (INT_LEAST8_MIN, INT_LEAST8_MAX)
+# define UINT_LEAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST8_MAX)
+# define INT_LEAST16_WIDTH _GL_INTEGER_WIDTH (INT_LEAST16_MIN, INT_LEAST16_MAX)
+# define UINT_LEAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST16_MAX)
+# define INT_LEAST32_WIDTH _GL_INTEGER_WIDTH (INT_LEAST32_MIN, INT_LEAST32_MAX)
+# define UINT_LEAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST32_MAX)
+# define INT_LEAST64_WIDTH _GL_INTEGER_WIDTH (INT_LEAST64_MIN, INT_LEAST64_MAX)
+# define UINT_LEAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST64_MAX)
+# define INT_FAST8_WIDTH _GL_INTEGER_WIDTH (INT_FAST8_MIN, INT_FAST8_MAX)
+# define UINT_FAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST8_MAX)
+# define INT_FAST16_WIDTH _GL_INTEGER_WIDTH (INT_FAST16_MIN, INT_FAST16_MAX)
+# define UINT_FAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST16_MAX)
+# define INT_FAST32_WIDTH _GL_INTEGER_WIDTH (INT_FAST32_MIN, INT_FAST32_MAX)
+# define UINT_FAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST32_MAX)
+# define INT_FAST64_WIDTH _GL_INTEGER_WIDTH (INT_FAST64_MIN, INT_FAST64_MAX)
+# define UINT_FAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST64_MAX)
+# define INTPTR_WIDTH _GL_INTEGER_WIDTH (INTPTR_MIN, INTPTR_MAX)
+# define UINTPTR_WIDTH _GL_INTEGER_WIDTH (0, UINTPTR_MAX)
+# define INTMAX_WIDTH _GL_INTEGER_WIDTH (INTMAX_MIN, INTMAX_MAX)
+# define UINTMAX_WIDTH _GL_INTEGER_WIDTH (0, UINTMAX_MAX)
+# define PTRDIFF_WIDTH _GL_INTEGER_WIDTH (PTRDIFF_MIN, PTRDIFF_MAX)
+# define SIZE_WIDTH _GL_INTEGER_WIDTH (0, SIZE_MAX)
+# define WCHAR_WIDTH _GL_INTEGER_WIDTH (WCHAR_MIN, WCHAR_MAX)
+# ifdef WINT_MAX
+#  define WINT_WIDTH _GL_INTEGER_WIDTH (WINT_MIN, WINT_MAX)
+# endif
+# ifdef SIG_ATOMIC_MAX
+#  define SIG_ATOMIC_WIDTH _GL_INTEGER_WIDTH (SIG_ATOMIC_MIN, SIG_ATOMIC_MAX)
+# endif
+#endif /* !WINT_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */
 
 #endif /* _@GUARD_PREFIX@_STDINT_H */
 #endif /* !(defined __ANDROID__ && ...) */
diff --git a/lib/stdio-impl.h b/lib/stdio-impl.h
new file mode 100644 (file)
index 0000000..4260468
--- /dev/null
@@ -0,0 +1,207 @@
+/* Implementation details of FILE streams.
+   Copyright (C) 2007-2008, 2010-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/>.  */
+
+/* Many stdio implementations have the same logic and therefore can share
+   the same implementation of stdio extension API, except that some fields
+   have different naming conventions, or their access requires some casts.  */
+
+/* Glibc 2.28 made _IO_IN_BACKUP private.  For now, work around this
+   problem by defining it ourselves.  FIXME: Do not rely on glibc
+   internals.  */
+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
+# define _IO_IN_BACKUP 0x100
+#endif
+
+/* BSD stdio derived implementations.  */
+
+#if defined __NetBSD__                         /* NetBSD */
+/* Get __NetBSD_Version__.  */
+# include <sys/param.h>
+#endif
+
+#include <errno.h>                             /* For detecting Plan9.  */
+
+#if defined __sferror || defined __DragonFly__ || defined __ANDROID__
+  /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
+
+# if defined __DragonFly__          /* DragonFly */
+  /* See <https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/lib/libc/stdio/priv_stdio.h>.  */
+#  define fp_ ((struct { struct __FILE_public pub; \
+                         struct { unsigned char *_base; int _size; } _bf; \
+                         void *cookie; \
+                         void *_close; \
+                         void *_read; \
+                         void *_seek; \
+                         void *_write; \
+                         struct { unsigned char *_base; int _size; } _ub; \
+                         int _ur; \
+                         unsigned char _ubuf[3]; \
+                         unsigned char _nbuf[1]; \
+                         struct { unsigned char *_base; int _size; } _lb; \
+                         int _blksize; \
+                         fpos_t _offset; \
+                         /* More fields, not relevant here.  */ \
+                       } *) fp)
+  /* See <https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/include/stdio.h>.  */
+#  define _p pub._p
+#  define _flags pub._flags
+#  define _r pub._r
+#  define _w pub._w
+# elif defined __ANDROID__ /* Android */
+#  ifdef __LP64__
+#   define _gl_flags_file_t int
+#  else
+#   define _gl_flags_file_t short
+#  endif
+  /* Up to this commit from 2015-10-12
+     <https://android.googlesource.com/platform/bionic.git/+/f0141dfab10a4b332769d52fa76631a64741297a>
+     the innards of FILE were public, and fp_ub could be defined like for OpenBSD,
+     see <https://android.googlesource.com/platform/bionic.git/+/e78392637d5086384a5631ddfdfa8d7ec8326ee3/libc/stdio/fileext.h>
+     and <https://android.googlesource.com/platform/bionic.git/+/e78392637d5086384a5631ddfdfa8d7ec8326ee3/libc/stdio/local.h>.
+     After this commit, the innards of FILE are hidden.  */
+#  define fp_ ((struct { unsigned char *_p; \
+                         int _r; \
+                         int _w; \
+                         _gl_flags_file_t _flags; \
+                         _gl_flags_file_t _file; \
+                         struct { unsigned char *_base; size_t _size; } _bf; \
+                         int _lbfsize; \
+                         void *_cookie; \
+                         void *_close; \
+                         void *_read; \
+                         void *_seek; \
+                         void *_write; \
+                         struct { unsigned char *_base; size_t _size; } _ext; \
+                         unsigned char *_up; \
+                         int _ur; \
+                         unsigned char _ubuf[3]; \
+                         unsigned char _nbuf[1]; \
+                         struct { unsigned char *_base; size_t _size; } _lb; \
+                         int _blksize; \
+                         fpos_t _offset; \
+                         /* More fields, not relevant here.  */ \
+                       } *) fp)
+# else
+#  define fp_ fp
+# endif
+
+# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined __OpenBSD__ || defined __minix /* NetBSD >= 1.5ZA, OpenBSD, Minix 3 */
+  /* See <http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
+     and <https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
+     and <https://github.com/Stichting-MINIX-Research-Foundation/minix/blob/master/lib/libc/stdio/fileext.h> */
+  struct __sfileext
+    {
+      struct  __sbuf _ub; /* ungetc buffer */
+      /* More fields, not relevant here.  */
+    };
+#  define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub
+# elif defined __ANDROID__                     /* Android */
+  struct __sfileext
+    {
+      struct { unsigned char *_base; size_t _size; } _ub; /* ungetc buffer */
+      /* More fields, not relevant here.  */
+    };
+#  define fp_ub ((struct __sfileext *) fp_->_ext._base)->_ub
+# else                                         /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin */
+#  define fp_ub fp_->_ub
+# endif
+
+# define HASUB(fp) (fp_ub._base != NULL)
+
+# if defined __ANDROID__ /* Android */
+  /* Needed after this commit from 2016-01-25
+     <https://android.googlesource.com/platform/bionic.git/+/e70e0e9267d069bf56a5078c99307e08a7280de7> */
+#  ifndef __SEOF
+#   define __SLBF 1
+#   define __SNBF 2
+#   define __SRD 4
+#   define __SWR 8
+#   define __SRW 0x10
+#   define __SEOF 0x20
+#   define __SERR 0x40
+#  endif
+#  ifndef __SOFF
+#   define __SOFF 0x1000
+#  endif
+# endif
+
+#endif
+
+
+/* SystemV derived implementations.  */
+
+#ifdef __TANDEM                     /* NonStop Kernel */
+# ifndef _IOERR
+/* These values were determined by the program 'stdioext-flags' at
+   <https://lists.gnu.org/r/bug-gnulib/2010-12/msg00165.html>.  */
+#  define _IOERR   0x40
+#  define _IOREAD  0x80
+#  define _IOWRT    0x4
+#  define _IORW   0x100
+# endif
+#endif
+
+#if defined _IOERR
+
+# if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */
+#  define fp_ ((struct { unsigned char *_ptr; \
+                         unsigned char *_base; \
+                         unsigned char *_end; \
+                         long _cnt; \
+                         int _file; \
+                         unsigned int _flag; \
+                       } *) fp)
+# elif defined __VMS                /* OpenVMS */
+#  define fp_ ((struct _iobuf *) fp)
+# else
+#  define fp_ fp
+# endif
+
+# if defined _SCO_DS                /* OpenServer */
+#  define _cnt __cnt
+#  define _ptr __ptr
+#  define _base __base
+#  define _flag __flag
+# endif
+
+#elif defined _WIN32 && ! defined __CYGWIN__  /* newer Windows with MSVC */
+
+/* <stdio.h> does not define the innards of FILE any more.  */
+# define WINDOWS_OPAQUE_FILE
+
+struct _gl_real_FILE
+{
+  /* Note: Compared to older Windows and to mingw, it has the fields
+     _base and _cnt swapped. */
+  unsigned char *_ptr;
+  unsigned char *_base;
+  int _cnt;
+  int _flag;
+  int _file;
+  int _charbuf;
+  int _bufsiz;
+};
+# define fp_ ((struct _gl_real_FILE *) fp)
+
+/* These values were determined by a program similar to the one at
+   <https://lists.gnu.org/r/bug-gnulib/2010-12/msg00165.html>.  */
+# define _IOREAD   0x1
+# define _IOWRT    0x2
+# define _IORW     0x4
+# define _IOEOF    0x8
+# define _IOERR   0x10
+
+#endif
index 1e1fe84c77db22ebbad781942f20064a46db9157..4a8aa55528b1416625ea3ac008ee968dc6999adc 100644 (file)
@@ -1,6 +1,6 @@
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
    except that it indicates to GCC that the supported format string directives
    are the ones of the system printf(), rather than the ones standardized by
    ISO C99 and POSIX.  */
-#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+#if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+  _GL_ATTRIBUTE_FORMAT_PRINTF (formatstring_parameter, first_argument)
+#else
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
   _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
+#endif
 
 /* _GL_ATTRIBUTE_FORMAT_SCANF
    indicates to GCC that the function takes a format string and arguments,
 #define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \
   _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument))
 
-/* Solaris 10 declares renameat in <unistd.h>, not in <stdio.h>.  */
+/* Solaris 10 and NetBSD 7.0 declare renameat in <unistd.h>, not in <stdio.h>.  */
 /* But in any case avoid namespace pollution on glibc systems.  */
-#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __sun \
+#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && (defined __sun || defined __NetBSD__) \
     && ! defined __GLIBC__
 # 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.  */
+#if (@GNULIB_PERROR@ || defined GNULIB_POSIXCHECK) \
+    && (defined _WIN32 && ! defined __CYGWIN__) \
+    && ! defined __GLIBC__
+# include <stdlib.h>
+#endif
+
+/* MSVC declares 'remove' in <io.h>, not in <stdio.h>.  We must include
+   it before we  #define remove rpl_remove.  */
+/* MSVC declares 'rename' in <io.h>, not in <stdio.h>.  We must include
+   it before we  #define rename rpl_rename.  */
+/* But in any case avoid namespace pollution on glibc systems.  */
+#if (@GNULIB_REMOVE@ || @GNULIB_RENAME@ || defined GNULIB_POSIXCHECK) \
+    && (defined _WIN32 && ! defined __CYGWIN__) \
+    && ! defined __GLIBC__
+# include <io.h>
+#endif
+
 
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* When also using extern inline, suppress the use of static inline in
    standard headers of problematic Apple configurations, as Libc at
    least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
-   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   <https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
    Perhaps Apple will fix this some day.  */
 #if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \
      && defined __GNUC__ && defined __STDC__)
@@ -585,7 +617,7 @@ _GL_CXXALIAS_SYS (fwrite, size_t,
                   (const void *ptr, size_t s, size_t n, FILE *stream));
 
 /* Work around bug 11959 when fortifying glibc 2.4 through 2.15
-   <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>,
+   <https://sourceware.org/bugzilla/show_bug.cgi?id=11959>,
    which sometimes causes an unwanted diagnostic for fwrite calls.
    This affects only function declaration attributes under certain
    versions of gcc and clang, and is not needed for C++.  */
@@ -718,11 +750,10 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
    so any use of gets warrants an unconditional warning; besides, C11
    removed it.  */
 #undef gets
-#if HAVE_RAW_DECL_GETS
+#if HAVE_RAW_DECL_GETS && !defined __cplusplus
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
 #endif
 
-
 #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
 struct obstack;
 /* Grow an obstack with formatted output.  Return the number of
index 46e10dba972ff3e7c9dc0612c728f249d7f6da43..f829525c104f9cc19f9a9c403e84152f709704a1 100644 (file)
@@ -1,6 +1,6 @@
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 
 /* Solaris declares getloadavg() in <sys/loadavg.h>.  */
 #if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
+/* OpenIndiana has a bug: <sys/time.h> must be included before
+   <sys/loadavg.h>.  */
+# include <sys/time.h>
 # include <sys/loadavg.h>
 #endif
 
 /* Native Windows platforms declare mktemp() in <io.h>.  */
-#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+#if 0 && (defined _WIN32 && ! defined __CYGWIN__)
 # include <io.h>
 #endif
 
@@ -87,9 +90,10 @@ struct random_data
 # endif
 #endif
 
-#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_MKOSTEMP@ || @GNULIB_MKOSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !(defined _WIN32 && ! defined __CYGWIN__)
 /* On Mac OS X 10.3, only <unistd.h> declares mkstemp.  */
 /* On Mac OS X 10.5, only <unistd.h> declares mkstemps.  */
+/* On Mac OS X 10.13, only <unistd.h> declares mkostemp and mkostemps.  */
 /* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
 /* But avoid namespace pollution on glibc systems and native Windows.  */
 # include <unistd.h>
@@ -302,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@
@@ -520,6 +533,44 @@ _GL_CXXALIAS_SYS (putenv, int, (char *string));
 _GL_CXXALIASWARN (putenv);
 #endif
 
+#if @GNULIB_QSORT_R@
+/* Sort an array of NMEMB elements, starting at address BASE, each element
+   occupying SIZE bytes, in ascending order according to the comparison
+   function COMPARE.  */
+# if @REPLACE_QSORT_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef qsort_r
+#   define qsort_r rpl_qsort_r
+#  endif
+_GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg) _GL_ARG_NONNULL ((1, 4)));
+_GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg));
+# else
+#  if !@HAVE_QSORT_R@
+_GL_FUNCDECL_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg) _GL_ARG_NONNULL ((1, 4)));
+#  endif
+_GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg));
+# endif
+_GL_CXXALIASWARN (qsort_r);
+#elif defined GNULIB_POSIXCHECK
+# undef qsort_r
+# if HAVE_RAW_DECL_QSORT_R
+_GL_WARN_ON_USE (qsort_r, "qsort_r is not portable - "
+                 "use gnulib module qsort_r for portability");
+# endif
+#endif
+
 
 #if @GNULIB_RANDOM_R@
 # if !@HAVE_RANDOM_R@
@@ -531,10 +582,19 @@ _GL_CXXALIASWARN (putenv);
 
 
 #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
@@ -545,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
@@ -559,31 +628,52 @@ _GL_WARN_ON_USE (srandom, "srandom is unportable - "
 #endif
 
 #if @GNULIB_RANDOM@
-# if !@HAVE_RANDOM@
+# 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@
+# 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
@@ -727,6 +817,23 @@ _GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
                  "use gnulib module realloc-posix for portability");
 #endif
 
+
+#if @GNULIB_REALLOCARRAY@
+# if ! @HAVE_REALLOCARRAY@
+_GL_FUNCDECL_SYS (reallocarray, void *,
+                  (void *ptr, size_t nmemb, size_t size));
+# endif
+_GL_CXXALIAS_SYS (reallocarray, void *,
+                  (void *ptr, size_t nmemb, size_t size));
+_GL_CXXALIASWARN (reallocarray);
+#elif defined GNULIB_POSIXCHECK
+# undef reallocarray
+# if HAVE_RAW_DECL_REALLOCARRAY
+_GL_WARN_ON_USE (reallocarray, "reallocarray is not portable - "
+                 "use gnulib module reallocarray for portability");
+# endif
+#endif
+
 #if @GNULIB_REALPATH@
 # if @REPLACE_REALPATH@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -822,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));
@@ -841,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,
index 14cb1266f7569f737c31727a52656cfaf356bcce..717cf65ba94aa5bfd40e6c9670ac5a858043171e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2014 Free Software
+/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This file is part of the GNU C Library.
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _LIBC
 # include <config.h>
index 0e62fb939a7a06d24ba73f60e8220e5080362e1d..326537b6d020a4511a10ded659049c3cec1a6487 100644 (file)
@@ -1,5 +1,5 @@
 /* Optimized string comparison.
-   Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2007, 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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Bruno Haible <bruno@clisp.org>.  */
 
index 255d933346fbe43579f3fddbb9834c13cce06597..558a010a916921a86adc491ccd06c236c662b900 100644 (file)
@@ -1,6 +1,6 @@
 /* strerror-override.c --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2010.  */
 
index e98c1c16bc6bcb6c07ad2a1873cefd010a26f498..255febcaf210c966cef7f65c24d12f0e4730b82b 100644 (file)
@@ -1,6 +1,6 @@
 /* strerror-override.h --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _GL_STRERROR_OVERRIDE_H
 # define _GL_STRERROR_OVERRIDE_H
index e54f0cc906bc2ff50879c34c9133b28c343e8e6f..f5900fd14412cb2c0df5dbdaea29e319939350d5 100644 (file)
@@ -1,6 +1,6 @@
 /* strerror.c --- POSIX compatible system error routine
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -66,5 +66,6 @@ strerror (int n)
   if (sizeof buf <= len)
     abort ();
 
-  return memcpy (buf, msg, len + 1);
+  memcpy (buf, msg, len + 1);
+  return buf;
 }
index 906214205985b8f8a014f1c659b09f0c52362e8c..4a9292f74ade0fccd80a51e5520d6f9f0bc5cec0 100644 (file)
@@ -1,6 +1,6 @@
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-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
    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 <http://www.gnu.org/licenses/>.  */
-
-#ifndef _@GUARD_PREFIX@_STRING_H
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
+#if defined _GL_ALREADY_INCLUDING_STRING_H
+/* Special invocation convention:
+   - On OS X/NetBSD we have a sequence of nested includes
+       <string.h> -> <strings.h> -> "string.h"
+     In this situation system _chk variants due to -D_FORTIFY_SOURCE
+     might be used after any replacements defined here.  */
+
+#@INCLUDE_NEXT@ @NEXT_STRING_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_STRING_H
+
+#define _GL_ALREADY_INCLUDING_STRING_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_STRING_H@
 
+#undef _GL_ALREADY_INCLUDING_STRING_H
+
 #ifndef _@GUARD_PREFIX@_STRING_H
 #define _@GUARD_PREFIX@_STRING_H
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
 
+/* Clear a block of memory.  The compiler will not delete a call to
+   this function, even if the block is dead after the call.  */
+#if @GNULIB_EXPLICIT_BZERO@
+# if ! @HAVE_EXPLICIT_BZERO@
+_GL_FUNCDECL_SYS (explicit_bzero, void,
+                  (void *__dest, size_t __n) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (explicit_bzero, void, (void *__dest, size_t __n));
+_GL_CXXALIASWARN (explicit_bzero);
+#elif defined GNULIB_POSIXCHECK
+# undef explicit_bzero
+# if HAVE_RAW_DECL_EXPLICIT_BZERO
+_GL_WARN_ON_USE (explicit_bzero, "explicit_bzero is unportable - "
+                 "use gnulib module explicit_bzero for portability");
+# endif
+#endif
+
 /* Find the index of the least-significant set bit.  */
 #if @GNULIB_FFSL@
 # if !@HAVE_FFSL@
@@ -400,15 +433,15 @@ _GL_WARN_ON_USE (strncat, "strncat is unportable - "
 #   undef strndup
 #   define strndup rpl_strndup
 #  endif
-_GL_FUNCDECL_RPL (strndup, char *, (char const *__string, size_t __n)
+_GL_FUNCDECL_RPL (strndup, char *, (char const *__s, size_t __n)
                                    _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strndup, char *, (char const *__string, size_t __n));
+_GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n));
 # else
 #  if ! @HAVE_DECL_STRNDUP@
-_GL_FUNCDECL_SYS (strndup, char *, (char const *__string, size_t __n)
+_GL_FUNCDECL_SYS (strndup, char *, (char const *__s, size_t __n)
                                    _GL_ARG_NONNULL ((1)));
 #  endif
-_GL_CXXALIAS_SYS (strndup, char *, (char const *__string, size_t __n));
+_GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n));
 # endif
 _GL_CXXALIASWARN (strndup);
 #elif defined GNULIB_POSIXCHECK
@@ -428,17 +461,17 @@ _GL_WARN_ON_USE (strndup, "strndup is unportable - "
 #   undef strnlen
 #   define strnlen rpl_strnlen
 #  endif
-_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)
+_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__s, size_t __maxlen)
                                    _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen));
+_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__s, size_t __maxlen));
 # else
 #  if ! @HAVE_DECL_STRNLEN@
-_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)
+_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__s, size_t __maxlen)
                                    _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1)));
 #  endif
-_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen));
+_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__s, size_t __maxlen));
 # endif
 _GL_CXXALIASWARN (strnlen);
 #elif defined GNULIB_POSIXCHECK
@@ -1027,3 +1060,4 @@ _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - "
 
 #endif /* _@GUARD_PREFIX@_STRING_H */
 #endif /* _@GUARD_PREFIX@_STRING_H */
+#endif
index 6f802d4c23c406872a06828bb7b0c5a913c2f06a..dfc15b43cc97267cde0d16764ea6e5fab6ee8913 100644 (file)
@@ -1,6 +1,6 @@
 /* stripslash.c -- remove redundant trailing slashes from a file name
 
-   Copyright (C) 1990, 2001, 2003-2006, 2009-2014 Free Software Foundation,
+   Copyright (C) 1990, 2001, 2003-2006, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index cc1a4843ca42c52d76e6aec9dd049f4f75475e77..5b74828469a865e819c4cd499face547ab385169 100644 (file)
@@ -1,6 +1,6 @@
 /* A replacement function, for systems that lack strndup.
 
-   Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2014 Free Software
+   Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index ddccebc6b1a4fedfc9cc2c38030feb3a146c886c..9fb663509a036ad8b7d0ba7b9135a01562a6a995 100644 (file)
@@ -1,5 +1,5 @@
 /* Find the length of STRING, but scan at most MAXLEN characters.
-   Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007, 2009-2019 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 2e015dc5bddabef6f885127693f3c7a84c3ddf98..1d920aff5441d44344a5c5e735b1e973993227cb 100644 (file)
@@ -1,6 +1,6 @@
 /* Convert string representation of a number into an integer value.
 
-   Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2014 Free Software
+   Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C
@@ -17,7 +17,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifdef _LIBC
 # define USE_NUMBER_GROUPING
 # define STRTOL_LONG_MIN LLONG_MIN
 # define STRTOL_LONG_MAX LLONG_MAX
 # define STRTOL_ULONG_MAX ULLONG_MAX
-
-/* The extra casts in the following macros work around compiler bugs,
-   e.g., in Cray C 5.0.3.0.  */
-
-/* True if negative values of the signed integer type T use two's
-   complement, ones' complement, or signed magnitude representation,
-   respectively.  Much GNU code assumes two's complement, but some
-   people like to be portable to all possible C hosts.  */
-# define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1)
-# define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0)
-# define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1)
-
-/* True if the arithmetic type T is signed.  */
-# define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-
-/* The maximum and minimum values for the integer type T.  These
-   macros have undefined behavior if T is signed and has padding bits.
-   If this is a problem for you, please let us know how to fix it for
-   your host.  */
-# define TYPE_MINIMUM(t) \
-   ((t) (! TYPE_SIGNED (t) \
-         ? (t) 0 \
-         : TYPE_SIGNED_MAGNITUDE (t) \
-         ? ~ (t) 0 \
-         : ~ TYPE_MAXIMUM (t)))
-# define TYPE_MAXIMUM(t) \
-   ((t) (! TYPE_SIGNED (t) \
-         ? (t) -1 \
-         : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
-
-# ifndef ULLONG_MAX
-#  define ULLONG_MAX TYPE_MAXIMUM (unsigned long long)
-# endif
-# ifndef LLONG_MAX
-#  define LLONG_MAX TYPE_MAXIMUM (long long int)
-# endif
-# ifndef LLONG_MIN
-#  define LLONG_MIN TYPE_MINIMUM (long long int)
-# endif
-
 # if __GNUC__ == 2 && __GNUC_MINOR__ < 7
    /* Work around gcc bug with using this constant.  */
    static const unsigned long long int maxquad = ULLONG_MAX;
index 47dfaa0677a70677d66568e9642e274d45b0348d..038362a308b3916972c4f1976331413cdf5d71e5 100644 (file)
@@ -1,5 +1,5 @@
 /* Function to parse a 'long long int' from text.
-   Copyright (C) 1995-1997, 1999, 2001, 2009-2014 Free Software Foundation,
+   Copyright (C) 1995-1997, 1999, 2001, 2009-2019 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #define QUAD    1
 
index 4c5ceaff96f64cae26fdbfaf909f7c2d9e0fdb18..e098701fd1b7ebe725c71391866aaa051cc22a52 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1997, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1997, 2009-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #define UNSIGNED        1
 
index 30e6e0279e18b8952dc1108fed97f2037109f595..8ba92bf3c02684f790d49850a6293724a1f967bc 100644 (file)
@@ -1,5 +1,5 @@
 /* Function to parse an 'unsigned long long int' from text.
-   Copyright (C) 1995-1997, 1999, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-1997, 1999, 2009-2019 Free Software Foundation, Inc.
    NOTE: The canonical source of this file is maintained with the GNU C
    Library.  Bugs can be reported to bug-glibc@gnu.org.
 
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #define QUAD 1
 
diff --git a/lib/sys-limits.h b/lib/sys-limits.h
new file mode 100644 (file)
index 0000000..f407eff
--- /dev/null
@@ -0,0 +1,42 @@
+/* System call limits
+
+   Copyright 2018-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/>.  */
+
+#ifndef _GL_SYS_LIMITS_H
+#define _GL_SYS_LIMITS_H
+
+#include <limits.h>
+
+/* Maximum number of bytes to read or write in a single system call.
+   This can be useful for system calls like sendfile on GNU/Linux,
+   which do not handle more than MAX_RW_COUNT bytes correctly.
+   The Linux kernel MAX_RW_COUNT is at least INT_MAX >> 20 << 20,
+   where the 20 comes from the Hexagon port with 1 MiB pages; use that
+   as an approximation, as the exact value may not be available to us.
+
+   Using this also works around a serious Linux bug before 2.6.16; see
+   <https://bugzilla.redhat.com/show_bug.cgi?id=612839>.
+
+   Using this also works around a Tru64 5.1 bug, where attempting
+   to read INT_MAX bytes fails with errno == EINVAL.  See
+   <https://lists.gnu.org/r/bug-gnu-utils/2002-04/msg00010.html>.
+
+   Using this is likely to work around similar bugs in other operating
+   systems.  */
+
+enum { SYS_BUFSIZE_MAX = INT_MAX >> 20 << 20 };
+
+#endif
index b47a7ff0ae7e2b9c0fda5c488af6be9d1e090816..9ddd1a8d0049b5a6867633446d889b49e6b45dba 100644 (file)
@@ -1,5 +1,5 @@
-/* Provide a more complete sys/stat header file.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+/* Provide a more complete sys/stat.h header file.
+   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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake, Paul Eggert, and Jim Meyering.  */
 
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
+/* Before doing "#define mknod rpl_mknod" below, we need to include all
+   headers that may declare mknod().  OS/2 kLIBC declares mknod() in
+   <unistd.h>, not in <sys/stat.h>.  */
+#ifdef __KLIBC__
+# include <unistd.h>
+#endif
+
 /* Before doing "#define mkdir rpl_mkdir" below, we need to include all
    headers that may declare mkdir().  Native Windows platforms declare mkdir
-   in <io.h> and/or <direct.h>, not in <unistd.h>.  */
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+   in <io.h> and/or <direct.h>, not in <sys/stat.h>.  */
+#if defined _WIN32 && ! defined __CYGWIN__
 # include <io.h>     /* mingw32, mingw64 */
 # include <direct.h> /* mingw64, MSVC 9 */
 #endif
 
 /* Native Windows platforms declare umask() in <io.h>.  */
-#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+#if 0 && (defined _WIN32 && ! defined __CYGWIN__)
 # include <io.h>
 #endif
 
 # define stat _stati64
 #endif
 
+/* Optionally, override 'struct stat' on native Windows.  */
+#if @GNULIB_OVERRIDES_STRUCT_STAT@
+
+# undef stat
+# if @GNULIB_STAT@
+#  define stat rpl_stat
+# else
+   /* Provoke a clear link error if stat() is used as a function and
+      module 'stat' is not in use.  */
+#  define stat stat_used_without_requesting_gnulib_module_stat
+# endif
+
+# if !GNULIB_defined_struct_stat
+struct stat
+{
+  dev_t st_dev;
+  ino_t st_ino;
+  mode_t st_mode;
+  nlink_t st_nlink;
+#  if 0
+  uid_t st_uid;
+#  else /* uid_t is not defined by default on native Windows.  */
+  short st_uid;
+#  endif
+#  if 0
+  gid_t st_gid;
+#  else /* gid_t is not defined by default on native Windows.  */
+  short st_gid;
+#  endif
+  dev_t st_rdev;
+  off_t st_size;
+#  if 0
+  blksize_t st_blksize;
+  blkcnt_t st_blocks;
+#  endif
+
+#  if @WINDOWS_STAT_TIMESPEC@
+  struct timespec st_atim;
+  struct timespec st_mtim;
+  struct timespec st_ctim;
+#  else
+  time_t st_atime;
+  time_t st_mtime;
+  time_t st_ctime;
+#  endif
+};
+#  if @WINDOWS_STAT_TIMESPEC@
+#   define st_atime st_atim.tv_sec
+#   define st_mtime st_mtim.tv_sec
+#   define st_ctime st_ctim.tv_sec
+    /* Indicator, for gnulib internal purposes.  */
+#   define _GL_WINDOWS_STAT_TIMESPEC 1
+#  endif
+#  define GNULIB_defined_struct_stat 1
+# endif
+
+/* Other possible values of st_mode.  */
+# if 0
+#  define _S_IFBLK  0x6000
+# endif
+# if 0
+#  define _S_IFLNK  0xA000
+# endif
+# if 0
+#  define _S_IFSOCK 0xC000
+# endif
+
+#endif
+
 #ifndef S_IFIFO
 # ifdef _S_IFIFO
 #  define S_IFIFO _S_IFIFO
@@ -345,6 +421,9 @@ _GL_CXXALIAS_RPL (fstat, int, (int fd, struct stat *buf));
 _GL_CXXALIAS_SYS (fstat, int, (int fd, struct stat *buf));
 # endif
 _GL_CXXALIASWARN (fstat);
+#elif @GNULIB_OVERRIDES_STRUCT_STAT@
+# undef fstat
+# define fstat fstat_used_without_requesting_gnulib_module_fstat
 #elif @WINDOWS_64_BIT_ST_SIZE@
 /* Above, we define stat to _stati64.  */
 # define fstat _fstati64
@@ -378,6 +457,9 @@ _GL_CXXALIAS_SYS (fstatat, int,
                   (int fd, char const *name, struct stat *st, int flags));
 # endif
 _GL_CXXALIASWARN (fstatat);
+#elif @GNULIB_OVERRIDES_STRUCT_STAT@
+# undef fstatat
+# define fstatat fstatat_used_without_requesting_gnulib_module_fstatat
 #elif defined GNULIB_POSIXCHECK
 # undef fstatat
 # if HAVE_RAW_DECL_FSTATAT
@@ -476,6 +558,9 @@ _GL_CXXALIAS_SYS (lstat, int, (const char *name, struct stat *buf));
 # if @HAVE_LSTAT@
 _GL_CXXALIASWARN (lstat);
 # endif
+#elif @GNULIB_OVERRIDES_STRUCT_STAT@
+# undef lstat
+# define lstat lstat_used_without_requesting_gnulib_module_lstat
 #elif defined GNULIB_POSIXCHECK
 # undef lstat
 # if HAVE_RAW_DECL_LSTAT
@@ -498,7 +583,7 @@ _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode));
    Additionally, it declares _mkdir (and depending on compile flags, an
    alias mkdir), only in the nonstandard includes <direct.h> and <io.h>,
    which are included above.  */
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 
 #  if !GNULIB_defined_rpl_mkdir
 static int
@@ -625,63 +710,69 @@ _GL_WARN_ON_USE (mknodat, "mknodat is not portable - "
 
 #if @GNULIB_STAT@
 # if @REPLACE_STAT@
-/* We can't use the object-like #define stat rpl_stat, because of
-   struct stat.  This means that rpl_stat will not be used if the user
-   does (stat)(a,b).  Oh well.  */
-#  if defined _AIX && defined stat && defined _LARGE_FILES
-    /* With _LARGE_FILES defined, AIX (only) defines stat to stat64,
-       so we have to replace stat64() instead of stat(). */
-#   undef stat64
-#   define stat64(name, st) rpl_stat (name, st)
-#  elif @WINDOWS_64_BIT_ST_SIZE@
-    /* Above, we define stat to _stati64.  */
-#   if defined __MINGW32__ && defined _stati64
-#    ifndef _USE_32BIT_TIME_T
-      /* The system headers define _stati64 to _stat64.  */
-#     undef _stat64
-#     define _stat64(name, st) rpl_stat (name, st)
+#  if !@GNULIB_OVERRIDES_STRUCT_STAT@
+    /* We can't use the object-like #define stat rpl_stat, because of
+       struct stat.  This means that rpl_stat will not be used if the user
+       does (stat)(a,b).  Oh well.  */
+#   if defined _AIX && defined stat && defined _LARGE_FILES
+     /* With _LARGE_FILES defined, AIX (only) defines stat to stat64,
+        so we have to replace stat64() instead of stat(). */
+#    undef stat64
+#    define stat64(name, st) rpl_stat (name, st)
+#   elif @WINDOWS_64_BIT_ST_SIZE@
+     /* Above, we define stat to _stati64.  */
+#    if defined __MINGW32__ && defined _stati64
+#     ifndef _USE_32BIT_TIME_T
+       /* The system headers define _stati64 to _stat64.  */
+#      undef _stat64
+#      define _stat64(name, st) rpl_stat (name, st)
+#     endif
+#    elif defined _MSC_VER && defined _stati64
+#     ifdef _USE_32BIT_TIME_T
+       /* The system headers define _stati64 to _stat32i64.  */
+#      undef _stat32i64
+#      define _stat32i64(name, st) rpl_stat (name, st)
+#     else
+       /* The system headers define _stati64 to _stat64.  */
+#      undef _stat64
+#      define _stat64(name, st) rpl_stat (name, st)
+#     endif
+#    else
+#     undef _stati64
+#     define _stati64(name, st) rpl_stat (name, st)
 #    endif
-#   elif defined _MSC_VER && defined _stati64
+#   elif defined __MINGW32__ && defined stat
 #    ifdef _USE_32BIT_TIME_T
-      /* The system headers define _stati64 to _stat32i64.  */
+      /* The system headers define stat to _stat32i64.  */
 #     undef _stat32i64
 #     define _stat32i64(name, st) rpl_stat (name, st)
 #    else
-      /* The system headers define _stati64 to _stat64.  */
+      /* The system headers define stat to _stat64.  */
 #     undef _stat64
 #     define _stat64(name, st) rpl_stat (name, st)
 #    endif
-#   else
-#    undef _stati64
-#    define _stati64(name, st) rpl_stat (name, st)
-#   endif
-#  elif defined __MINGW32__ && defined stat
-#   ifdef _USE_32BIT_TIME_T
-     /* The system headers define stat to _stat32i64.  */
-#    undef _stat32i64
-#    define _stat32i64(name, st) rpl_stat (name, st)
-#   else
-     /* The system headers define stat to _stat64.  */
-#    undef _stat64
-#    define _stat64(name, st) rpl_stat (name, st)
-#   endif
-#  elif defined _MSC_VER && defined stat
-#   ifdef _USE_32BIT_TIME_T
-     /* The system headers define stat to _stat32.  */
-#    undef _stat32
-#    define _stat32(name, st) rpl_stat (name, st)
-#   else
-     /* The system headers define stat to _stat64i32.  */
-#    undef _stat64i32
-#    define _stat64i32(name, st) rpl_stat (name, st)
-#   endif
-#  else /* !(_AIX ||__MINGW32__ ||  _MSC_VER) */
-#   undef stat
-#   define stat(name, st) rpl_stat (name, st)
-#  endif /* !_LARGE_FILES */
+#   elif defined _MSC_VER && defined stat
+#    ifdef _USE_32BIT_TIME_T
+      /* The system headers define stat to _stat32.  */
+#     undef _stat32
+#     define _stat32(name, st) rpl_stat (name, st)
+#    else
+      /* The system headers define stat to _stat64i32.  */
+#     undef _stat64i32
+#     define _stat64i32(name, st) rpl_stat (name, st)
+#    endif
+#   else /* !(_AIX || __MINGW32__ || _MSC_VER) */
+#    undef stat
+#    define stat(name, st) rpl_stat (name, st)
+#   endif /* !_LARGE_FILES */
+#  endif /* !@GNULIB_OVERRIDES_STRUCT_STAT@ */
 _GL_EXTERN_C int stat (const char *name, struct stat *buf)
                       _GL_ARG_NONNULL ((1, 2));
 # endif
+#elif @GNULIB_OVERRIDES_STRUCT_STAT@
+/* see above:
+  #define stat stat_used_without_requesting_gnulib_module_stat
+ */
 #elif defined GNULIB_POSIXCHECK
 # undef stat
 # if HAVE_RAW_DECL_STAT
index 30057ad49fd7310d47c6f43616b8a66c4df0a19b..539768889d086b3e68ed1e1f29251681257a5879 100644 (file)
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/time.h.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Paul Eggert.  */
 
@@ -109,6 +109,13 @@ _GL_CXXALIAS_SYS_CAST (gettimeofday, int,
                        (struct timeval *restrict, void *restrict));
 # endif
 _GL_CXXALIASWARN (gettimeofday);
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+namespace GNULIB_NAMESPACE {
+  typedef ::timeval
+#undef timeval
+    timeval;
+}
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef gettimeofday
 # if HAVE_RAW_DECL_GETTIMEOFDAY
index deb5d67d1d7d2d8a573984911bfc89ea24dbe192..237e2068cf894df546ec3dac92c0b447e25063a9 100644 (file)
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   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
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
+#if defined _WIN32 && !defined __CYGWIN__ \
+    && (defined __need_off_t || defined __need___off64_t \
+        || defined __need_ssize_t || defined __need_time_t)
+
+/* Special invocation convention inside mingw header files.  */
+
+#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
+
+#else
+/* Normal invocation convention.  */
+
 #ifndef _@GUARD_PREFIX@_SYS_TYPES_H
 
 /* The include_next requires a split double-inclusion guard.  */
 # define _GL_WINDOWS_64_BIT_OFF_T 1
 #endif
 
+/* Override dev_t and ino_t if distinguishable inodes support is requested
+   on native Windows.  */
+#if @WINDOWS_STAT_INODES@
+
+# if @WINDOWS_STAT_INODES@ == 2
+/* Experimental, not useful in Windows 10.  */
+
+/* Define dev_t to a 64-bit type.  */
+#  if !defined GNULIB_defined_dev_t
+typedef unsigned long long int rpl_dev_t;
+#   undef dev_t
+#   define dev_t rpl_dev_t
+#   define GNULIB_defined_dev_t 1
+#  endif
+
+/* Define ino_t to a 128-bit type.  */
+#  if !defined GNULIB_defined_ino_t
+/* MSVC does not have a 128-bit integer type.
+   GCC has a 128-bit integer type __int128, but only on 64-bit targets.  */
+typedef struct { unsigned long long int _gl_ino[2]; } rpl_ino_t;
+#   undef ino_t
+#   define ino_t rpl_ino_t
+#   define GNULIB_defined_ino_t 1
+#  endif
+
+# else /* @WINDOWS_STAT_INODES@ == 1 */
+
+/* Define ino_t to a 64-bit type.  */
+#  if !defined GNULIB_defined_ino_t
+typedef unsigned long long int rpl_ino_t;
+#   undef ino_t
+#   define ino_t rpl_ino_t
+#   define GNULIB_defined_ino_t 1
+#  endif
+
+# endif
+
+/* Indicator, for gnulib internal purposes.  */
+# define _GL_WINDOWS_STAT_INODES @WINDOWS_STAT_INODES@
+
+#endif
+
 /* MSVC 9 defines size_t in <stddef.h>, not in <sys/types.h>.  */
 /* But avoid namespace pollution on glibc systems.  */
-#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
-    && ! defined __GLIBC__
+#if (defined _WIN32 && ! defined __CYGWIN__) && ! defined __GLIBC__
 # include <stddef.h>
 #endif
 
 #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
 #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
+#endif /* __need_XXX */
index 9b713cb04c94166c50556793fe18ff6f9c234d2d..be62ed9513c58a171ef1481e5fd9773db726aaa2 100644 (file)
@@ -1,6 +1,6 @@
 /* tempname.c - generate the name of a temporary file.
 
-   Copyright (C) 1991-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2003, 2005-2007, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Extracted from glibc sysdeps/posix/tempname.c.  See also tmpdir.c.  */
 
 # define struct_stat64 struct stat64
 #else
 # define struct_stat64 struct stat
+# define __try_tempname try_tempname
 # define __gen_tempname gen_tempname
 # define __getpid getpid
 # define __gettimeofday gettimeofday
 # define __mkdir mkdir
 # define __open open
 # define __lxstat64(version, file, buf) lstat (file, buf)
-# define __secure_getenv secure_getenv
 #endif
 
 #ifdef _LIBC
@@ -176,21 +176,9 @@ __path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx,
 static const char letters[] =
 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
 
-/* Generate a temporary file name based on TMPL.  TMPL must match the
-   rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
-   The name constructed does not exist at the time of the call to
-   __gen_tempname.  TMPL is overwritten with the result.
-
-   KIND may be one of:
-   __GT_NOCREATE:       simply verify that the name does not exist
-                        at the time of the call.
-   __GT_FILE:           create the file using open(O_CREAT|O_EXCL)
-                        and return a read-write fd.  The file is mode 0600.
-   __GT_DIR:            create a directory, which will be mode 0700.
-
-   We use a clever algorithm to get hard-to-predict names. */
 int
-__gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
+__try_tempname (char *tmpl, int suffixlen, void *args,
+                int (*tryfunc) (char *, void *))
 {
   int len;
   char *XXXXXX;
@@ -199,7 +187,6 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
   unsigned int count;
   int fd = -1;
   int save_errno = errno;
-  struct_stat64 st;
 
   /* A lower bound on the number of temporary files to attempt to
      generate.  The maximum total number of temporary file names that
@@ -256,41 +243,7 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
       v /= 62;
       XXXXXX[5] = letters[v % 62];
 
-      switch (kind)
-        {
-        case __GT_FILE:
-          fd = __open (tmpl,
-                       (flags & ~O_ACCMODE)
-                       | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
-          break;
-
-        case __GT_DIR:
-          fd = __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR);
-          break;
-
-        case __GT_NOCREATE:
-          /* This case is backward from the other three.  __gen_tempname
-             succeeds if __xstat fails because the name does not exist.
-             Note the continue to bypass the common logic at the bottom
-             of the loop.  */
-          if (__lxstat64 (_STAT_VER, tmpl, &st) < 0)
-            {
-              if (errno == ENOENT)
-                {
-                  __set_errno (save_errno);
-                  return 0;
-                }
-              else
-                /* Give up now. */
-                return -1;
-            }
-          continue;
-
-        default:
-          assert (! "invalid KIND in __gen_tempname");
-          abort ();
-        }
-
+      fd = tryfunc (tmpl, args);
       if (fd >= 0)
         {
           __set_errno (save_errno);
@@ -304,3 +257,67 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
   __set_errno (EEXIST);
   return -1;
 }
+
+static int
+try_file (char *tmpl, void *flags)
+{
+  int *openflags = flags;
+  return __open (tmpl,
+                 (*openflags & ~O_ACCMODE)
+                 | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
+}
+
+static int
+try_dir (char *tmpl, void *flags _GL_UNUSED)
+{
+  return __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR);
+}
+
+static int
+try_nocreate (char *tmpl, void *flags _GL_UNUSED)
+{
+  struct_stat64 st;
+
+  if (__lxstat64 (_STAT_VER, tmpl, &st) == 0 || errno == EOVERFLOW)
+    __set_errno (EEXIST);
+  return errno == ENOENT ? 0 : -1;
+}
+
+/* Generate a temporary file name based on TMPL.  TMPL must match the
+   rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
+   The name constructed does not exist at the time of the call to
+   __gen_tempname.  TMPL is overwritten with the result.
+
+   KIND may be one of:
+   __GT_NOCREATE:       simply verify that the name does not exist
+                        at the time of the call.
+   __GT_FILE:           create the file using open(O_CREAT|O_EXCL)
+                        and return a read-write fd.  The file is mode 0600.
+   __GT_DIR:            create a directory, which will be mode 0700.
+
+   We use a clever algorithm to get hard-to-predict names. */
+int
+__gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
+{
+  int (*tryfunc) (char *, void *);
+
+  switch (kind)
+    {
+    case __GT_FILE:
+      tryfunc = try_file;
+      break;
+
+    case __GT_DIR:
+      tryfunc = try_dir;
+      break;
+
+    case __GT_NOCREATE:
+      tryfunc = try_nocreate;
+      break;
+
+    default:
+      assert (! "invalid KIND in __gen_tempname");
+      abort ();
+    }
+  return __try_tempname (tmpl, suffixlen, &flags, tryfunc);
+}
index 44d5f04bbf928fb5e41c804b164626f3376998eb..fb203d3a10f1f00db78cda425f9ad8b2687e835a 100644 (file)
@@ -1,6 +1,6 @@
 /* Create a temporary file or directory.
 
-   Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* header written by Eric Blake */
 
 #  define GT_NOCREATE 2
 # endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Generate a temporary file name based on TMPL.  TMPL must match the
    rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
    The name constructed does not exist at the time of the call to
    We use a clever algorithm to get hard-to-predict names. */
 extern int gen_tempname (char *tmpl, int suffixlen, int flags, int kind);
 
+/* Similar to gen_tempname, but TRYFUNC is called for each temporary
+   name to try.  If TRYFUNC returns a non-negative number, TRY_GEN_TEMPNAME
+   returns with this value.  Otherwise, if errno is set to EEXIST, another
+   name is tried, or else TRY_GEN_TEMPNAME returns -1. */
+extern int try_tempname (char *tmpl, int suffixlen, void *args,
+                         int (*tryfunc) (char *, void *));
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* GL_TEMPNAME_H */
index 81abdf46e0bb729bf55fbdcfca7eb504beb075d3..dd3b21273c9c00f04d263d103fe75cadf78c79b3 100644 (file)
@@ -1,6 +1,6 @@
 /* A more-standard <time.h>.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 
 /* Don't get in the way of glibc when it includes time.h merely to
    declare a few standard symbols, rather than to declare all the
-   symbols.  Also, Solaris 8 <time.h> eventually includes itself
+   symbols.  (However, skip this for MinGW as it treats __need_time_t
+   incompatibly.)  Also, Solaris 8 <time.h> eventually includes itself
    recursively; if that is happening, just include the system <time.h>
    without adding our own declarations.  */
-#if (defined __need_time_t || defined __need_clock_t \
-     || defined __need_timespec \
+#if (((defined __need_time_t || defined __need_clock_t \
+       || defined __need_timespec)                     \
+      && !defined __MINGW32__)                         \
      || defined _@GUARD_PREFIX@_TIME_H)
 
 # @INCLUDE_NEXT@ @NEXT_TIME_H@
@@ -46,7 +48,7 @@
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
-/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
+/* Some systems don't define struct timespec (e.g., AIX 4.1).
    Or they define it with the wrong member names or define it in <sys/time.h>
    (e.g., FreeBSD circa 1997).  Stock Mingw prior to 3.0 does not define it,
    but the pthreads-win32 library defines it in <pthread.h>.  */
@@ -55,6 +57,8 @@
 #   include <sys/time.h>
 #  elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 #   include <pthread.h>
+#  elif @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
+#   include <unistd.h>
 #  else
 
 #   ifdef __cplusplus
@@ -116,6 +120,24 @@ _GL_CXXALIAS_SYS (nanosleep, int,
 _GL_CXXALIASWARN (nanosleep);
 # endif
 
+/* Initialize time conversion information.  */
+# if @GNULIB_TZSET@
+#  if @REPLACE_TZSET@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef tzset
+#    define tzset rpl_tzset
+#   endif
+_GL_FUNCDECL_RPL (tzset, void, (void));
+_GL_CXXALIAS_RPL (tzset, void, (void));
+#  else
+#   if ! @HAVE_TZSET@
+_GL_FUNCDECL_SYS (tzset, void, (void));
+#   endif
+_GL_CXXALIAS_SYS (tzset, void, (void));
+#  endif
+_GL_CXXALIASWARN (tzset);
+# endif
+
 /* Return the 'time_t' representation of TP and normalize TP.  */
 # if @GNULIB_MKTIME@
 #  if @REPLACE_MKTIME@
@@ -183,14 +205,14 @@ _GL_CXXALIASWARN (gmtime_r);
 /* Convert TIMER to RESULT, assuming local time and UTC respectively.  See
    <http://www.opengroup.org/susv3xsh/localtime.html> and
    <http://www.opengroup.org/susv3xsh/gmtime.html>.  */
-# if @GNULIB_GETTIMEOFDAY@
+# if @GNULIB_LOCALTIME@ || @REPLACE_LOCALTIME@
 #  if @REPLACE_LOCALTIME@
 #   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #    undef localtime
 #    define localtime rpl_localtime
 #   endif
 _GL_FUNCDECL_RPL (localtime, struct tm *, (time_t const *__timer)
-                                         _GL_ARG_NONNULL ((1)));
+                                          _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (localtime, struct tm *, (time_t const *__timer));
 #  else
 _GL_CXXALIAS_SYS (localtime, struct tm *, (time_t const *__timer));
@@ -198,7 +220,7 @@ _GL_CXXALIAS_SYS (localtime, struct tm *, (time_t const *__timer));
 _GL_CXXALIASWARN (localtime);
 # endif
 
-# if @GNULIB_GETTIMEOFDAY@
+# if 0 || @REPLACE_GMTIME@
 #  if @REPLACE_GMTIME@
 #   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #    undef gmtime
@@ -213,7 +235,7 @@ _GL_CXXALIAS_SYS (gmtime, struct tm *, (time_t const *__timer));
 _GL_CXXALIASWARN (gmtime);
 # endif
 
-/* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store
+/* Parse BUF as a timestamp, assuming FORMAT specifies its layout, and store
    the resulting broken-down time into TM.  See
    <http://www.opengroup.org/susv3xsh/strptime.html>.  */
 # if @GNULIB_STRPTIME@
@@ -229,6 +251,60 @@ _GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf,
 _GL_CXXALIASWARN (strptime);
 # endif
 
+/* Convert *TP to a date and time string.  See
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/ctime.html>.  */
+# if @GNULIB_CTIME@
+#  if @REPLACE_CTIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    define ctime rpl_ctime
+#   endif
+_GL_FUNCDECL_RPL (ctime, char *, (time_t const *__tp)
+                                 _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (ctime, char *, (time_t const *__tp));
+#  else
+_GL_CXXALIAS_SYS (ctime, char *, (time_t const *__tp));
+#  endif
+_GL_CXXALIASWARN (ctime);
+# endif
+
+/* Convert *TP to a date and time string.  See
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html>.  */
+# if @GNULIB_STRFTIME@
+#  if @REPLACE_STRFTIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    define strftime rpl_strftime
+#   endif
+_GL_FUNCDECL_RPL (strftime, size_t, (char *__buf, size_t __bufsize,
+                                     const char *__fmt, const struct tm *__tp)
+                                    _GL_ARG_NONNULL ((1, 3, 4)));
+_GL_CXXALIAS_RPL (strftime, size_t, (char *__buf, size_t __bufsize,
+                                     const char *__fmt, const struct tm *__tp));
+#  else
+_GL_CXXALIAS_SYS (strftime, size_t, (char *__buf, size_t __bufsize,
+                                     const char *__fmt, const struct tm *__tp));
+#  endif
+_GL_CXXALIASWARN (strftime);
+# endif
+
+# if defined _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@
+typedef struct tm_zone *timezone_t;
+_GL_FUNCDECL_SYS (tzalloc, timezone_t, (char const *__name));
+_GL_CXXALIAS_SYS (tzalloc, timezone_t, (char const *__name));
+_GL_FUNCDECL_SYS (tzfree, void, (timezone_t __tz));
+_GL_CXXALIAS_SYS (tzfree, void, (timezone_t __tz));
+_GL_FUNCDECL_SYS (localtime_rz, struct tm *,
+                  (timezone_t __tz, time_t const *restrict __timer,
+                   struct tm *restrict __result) _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_SYS (localtime_rz, struct tm *,
+                  (timezone_t __tz, time_t const *restrict __timer,
+                   struct tm *restrict __result));
+_GL_FUNCDECL_SYS (mktime_z, time_t,
+                  (timezone_t __tz, struct tm *restrict __result)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_SYS (mktime_z, time_t,
+                  (timezone_t __tz, struct tm *restrict __result));
+# endif
+
 /* Convert TM to a time_t value, assuming UTC.  */
 # if @GNULIB_TIMEGM@
 #  if @REPLACE_TIMEGM@
index 6c6a8e268c0fc44a6ebba64bdd17fa4d8816bcc9..72bad1c0527a11f30a7437fa3864ce07c9b410d7 100644 (file)
@@ -1,3 +1,4 @@
 #include <config.h>
 #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE
 #include "unistd.h"
+typedef int dummy;
index 622b2287577279453a5945201277600e33cd7e59..59ee39ecea5925a4ff56c7224bcad23c94b45ed0 100644 (file)
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_UNISTD_H
 
 #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
+   it before we  #define unlink rpl_unlink.  */
 /* Cygwin 1.7.1 declares symlinkat in <stdio.h>, not in <unistd.h>.  */
 /* But avoid namespace pollution on glibc systems.  */
 #if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \
+     || ((@GNULIB_UNLINK@ || defined GNULIB_POSIXCHECK) \
+         && (defined _WIN32 && ! defined __CYGWIN__)) \
      || ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \
          && defined __CYGWIN__)) \
     && ! defined __GLIBC__
 # 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
    lseek(), read(), unlink(), write() in <io.h>.  */
 #if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
       || defined GNULIB_POSIXCHECK) \
-     && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+     && (defined _WIN32 && ! defined __CYGWIN__))
 # include <io.h>     /* mingw32, mingw64 */
 # include <direct.h> /* mingw64, MSVC 9 */
 #elif (@GNULIB_CLOSE@ || @GNULIB_DUP@ || @GNULIB_DUP2@ || @GNULIB_ISATTY@ \
        || @GNULIB_LSEEK@ || @GNULIB_READ@ || @GNULIB_UNLINK@ || @GNULIB_WRITE@ \
        || defined GNULIB_POSIXCHECK) \
-      && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+      && (defined _WIN32 && ! defined __CYGWIN__)
 # include <io.h>
 #endif
 
 # include <netdb.h>
 #endif
 
+/* 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
+
 /* 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.  */
+/* But avoid namespace pollution on glibc systems.  */
+#ifndef __GLIBC__
+/* Get off_t, ssize_t.  */
 # include <sys/types.h>
 #endif
 
-#if (@GNULIB_READ@ || @GNULIB_WRITE@ \
-     || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \
-     || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK)
-/* Get ssize_t.  */
-# include <sys/types.h>
-#endif
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+/* The definition of _GL_ARG_NONNULL is copied here.  */
+
+/* The definition of _GL_WARN_ON_USE is copied here.  */
 
-/* Get getopt(), optarg, optind, opterr, optopt.
-   But avoid namespace pollution on glibc systems.  */
-#if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT
-# define __need_getopt
-# include <getopt.h>
+
+/* Get getopt(), optarg, optind, opterr, optopt.  */
+#if @GNULIB_UNISTD_H_GETOPT@ && !defined _GL_SYSTEM_GETOPT
+# include <getopt-cdefs.h>
+# include <getopt-pfx-core.h>
 #endif
 
 #ifndef _GL_INLINE_HEADER_BEGIN
@@ -138,13 +154,6 @@ _GL_INLINE_HEADER_BEGIN
 # define _GL_UNISTD_INLINE _GL_INLINE
 #endif
 
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
-
-/* The definition of _GL_ARG_NONNULL is copied here.  */
-
-/* The definition of _GL_WARN_ON_USE is copied here.  */
-
-
 /* Hide some function declarations from <winsock2.h>.  */
 
 #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@
@@ -319,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)
@@ -375,7 +402,7 @@ _GL_WARN_ON_USE (dup2, "dup2 is unportable - "
    Close NEWFD first if it is open.
    Return newfd if successful, otherwise -1 and errno set.
    See the Linux man page at
-   <http://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>.  */
+   <https://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>.  */
 # if @HAVE_DUP3@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define dup3 rpl_dup3
@@ -397,10 +424,23 @@ _GL_WARN_ON_USE (dup3, "dup3 is unportable - "
 
 
 #if @GNULIB_ENVIRON@
+# if defined __CYGWIN__ && !defined __i386__
+/* The 'environ' variable is defined in a DLL. Therefore its declaration needs
+   the '__declspec(dllimport)' attribute, but the system's <unistd.h> lacks it.
+   This leads to a link error on 64-bit Cygwin when the option
+   -Wl,--disable-auto-import is in use.  */
+_GL_EXTERN_C __declspec(dllimport) char **environ;
+# endif
 # if !@HAVE_DECL_ENVIRON@
 /* Set of environment variables and values.  An array of strings of the form
    "VARIABLE=VALUE", terminated with a NULL.  */
 #  if defined __APPLE__ && defined __MACH__
+#   include <TargetConditionals.h>
+#   if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
+#    define _GL_USE_CRT_EXTERNS
+#   endif
+#  endif
+#  ifdef _GL_USE_CRT_EXTERNS
 #   include <crt_externs.h>
 #   define environ (*_NSGetEnviron ())
 #  else
@@ -416,12 +456,12 @@ extern char **environ;
 #elif defined GNULIB_POSIXCHECK
 # if HAVE_RAW_DECL_ENVIRON
 _GL_UNISTD_INLINE char ***
+_GL_WARN_ON_USE_ATTRIBUTE ("environ is unportable - "
+                           "use gnulib module environ for portability")
 rpl_environ (void)
 {
   return &environ;
 }
-_GL_WARN_ON_USE (rpl_environ, "environ is unportable - "
-                 "use gnulib module environ for portability");
 #  undef environ
 #  define environ (*rpl_environ ())
 # endif
@@ -452,13 +492,25 @@ _GL_WARN_ON_USE (euidaccess, "euidaccess is unportable - "
 
 
 #if @GNULIB_FACCESSAT@
-# if !@HAVE_FACCESSAT@
+# if @REPLACE_FACCESSAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef faccessat
+#   define faccessat rpl_faccessat
+#  endif
+_GL_FUNCDECL_RPL (faccessat, int,
+                  (int fd, char const *name, int mode, int flag)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (faccessat, int,
+                  (int fd, char const *name, int mode, int flag));
+# else
+#  if !@HAVE_FACCESSAT@
 _GL_FUNCDECL_SYS (faccessat, int,
                   (int fd, char const *file, int mode, int flag)
                   _GL_ARG_NONNULL ((2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (faccessat, int,
                   (int fd, char const *file, int mode, int flag));
+# endif
 _GL_CXXALIASWARN (faccessat);
 #elif defined GNULIB_POSIXCHECK
 # undef faccessat
@@ -770,7 +822,7 @@ _GL_WARN_ON_USE (gethostname, "gethostname is unportable - "
      ${LOGNAME-$USER}        on Unix platforms,
      $USERNAME               on native Windows platforms.
  */
-# if !@HAVE_GETLOGIN@
+# if !@HAVE_DECL_GETLOGIN@
 _GL_FUNCDECL_SYS (getlogin, char *, (void));
 # endif
 _GL_CXXALIAS_SYS (getlogin, char *, (void));
@@ -907,6 +959,36 @@ _GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - "
 #endif
 
 
+#if @GNULIB_GETPASS@
+/* Function getpass() from module 'getpass':
+     Read a password from /dev/tty or stdin.
+   Function getpass() from module 'getpass-gnu':
+     Read a password of arbitrary length from /dev/tty or stdin.  */
+# if @REPLACE_GETPASS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getpass
+#   define getpass rpl_getpass
+#  endif
+_GL_FUNCDECL_RPL (getpass, char *, (const char *prompt)
+                                   _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (getpass, char *, (const char *prompt));
+# else
+#  if !@HAVE_GETPASS@
+_GL_FUNCDECL_SYS (getpass, char *, (const char *prompt)
+                                   _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (getpass, char *, (const char *prompt));
+# endif
+_GL_CXXALIASWARN (getpass);
+#elif defined GNULIB_POSIXCHECK
+# undef getpass
+# if HAVE_RAW_DECL_GETPASS
+_GL_WARN_ON_USE (getpass, "getpass is unportable - "
+                 "use gnulib module getpass or getpass-gnu for portability");
+# endif
+#endif
+
+
 #if @GNULIB_GETUSERSHELL@
 /* Return the next valid login shell on the system, or NULL when the end of
    the list has been reached.  */
@@ -1139,7 +1221,7 @@ _GL_WARN_ON_USE (pipe, "pipe is unportable - "
    Store the read-end as fd[0] and the write-end as fd[1].
    Return 0 upon success, or -1 with errno set upon failure.
    See also the Linux man page at
-   <http://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>.  */
+   <https://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>.  */
 # if @HAVE_PIPE2@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define pipe2 rpl_pipe2
@@ -1287,13 +1369,24 @@ _GL_WARN_ON_USE (readlink, "readlink is unportable - "
 
 
 #if @GNULIB_READLINKAT@
-# if !@HAVE_READLINKAT@
+# if @REPLACE_READLINKAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define readlinkat rpl_readlinkat
+#  endif
+_GL_FUNCDECL_RPL (readlinkat, ssize_t,
+                  (int fd, char const *file, char *buf, size_t len)
+                  _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_RPL (readlinkat, ssize_t,
+                  (int fd, char const *file, char *buf, size_t len));
+# else
+#  if !@HAVE_READLINKAT@
 _GL_FUNCDECL_SYS (readlinkat, ssize_t,
                   (int fd, char const *file, char *buf, size_t len)
                   _GL_ARG_NONNULL ((2, 3)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (readlinkat, ssize_t,
                   (int fd, char const *file, char *buf, size_t len));
+# endif
 _GL_CXXALIASWARN (readlinkat);
 #elif defined GNULIB_POSIXCHECK
 # undef readlinkat
@@ -1407,13 +1500,25 @@ _GL_WARN_ON_USE (symlink, "symlink is not portable - "
 
 
 #if @GNULIB_SYMLINKAT@
-# if !@HAVE_SYMLINKAT@
+# if @REPLACE_SYMLINKAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef symlinkat
+#   define symlinkat rpl_symlinkat
+#  endif
+_GL_FUNCDECL_RPL (symlinkat, int,
+                  (char const *contents, int fd, char const *file)
+                  _GL_ARG_NONNULL ((1, 3)));
+_GL_CXXALIAS_RPL (symlinkat, int,
+                  (char const *contents, int fd, char const *file));
+# else
+#  if !@HAVE_SYMLINKAT@
 _GL_FUNCDECL_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file)
                   _GL_ARG_NONNULL ((1, 3)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file));
+# endif
 _GL_CXXALIASWARN (symlinkat);
 #elif defined GNULIB_POSIXCHECK
 # undef symlinkat
@@ -1424,6 +1529,36 @@ _GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - "
 #endif
 
 
+#if @GNULIB_TRUNCATE@
+/* Change the size of the file designated by FILENAME to become equal to LENGTH.
+   Return 0 if successful, otherwise -1 and errno set.
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/truncate.html>.  */
+# if @REPLACE_TRUNCATE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef truncate
+#   define truncate rpl_truncate
+#  endif
+_GL_FUNCDECL_RPL (truncate, int, (const char *filename, off_t length)
+                                 _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (truncate, int, (const char *filename, off_t length));
+# else
+#  if !@HAVE_DECL_TRUNCATE@
+_GL_FUNCDECL_SYS (truncate, int, (const char *filename, off_t length)
+                                 _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (truncate, int, (const char *filename, off_t length));
+# endif
+_GL_CXXALIASWARN (truncate);
+#elif defined GNULIB_POSIXCHECK
+# undef truncate
+# if HAVE_RAW_DECL_TRUNCATE
+_GL_WARN_ON_USE (truncate, "truncate is unportable - "
+                 "use gnulib module truncate for portability");
+# endif
+#endif
+
+
 #if @GNULIB_TTYNAME_R@
 /* Store at most BUFLEN characters of the pathname of the terminal FD is
    open on in BUF.  Return 0 on success, otherwise an error number.  */
index a234be4a3f553b2fb52407f968b1f6341a708a5d..90dc9d309a52c3b136dd4577a3c7810b08a1f654 100644 (file)
@@ -1,6 +1,6 @@
 /* Work around unlink bugs.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 32e41776127106f7f0cfb70d2ee7552213934333..480605fa95569306b3963d092d0caded96d65dba 100644 (file)
@@ -1,5 +1,5 @@
 /* Pausing execution of the current thread.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
    Written by Eric Blake <ebb9@byu.net>, 2009.
 
    This program is free software: you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* This file is _intentionally_ light-weight.  Rather than using
    select or nanosleep, both of which drag in external libraries on
 
 #include <errno.h>
 
+#if defined _WIN32 && ! defined __CYGWIN__
+# define WIN32_LEAN_AND_MEAN  /* avoid including junk */
+# include <windows.h>
+#endif
+
 #ifndef HAVE_USLEEP
 # define HAVE_USLEEP 0
 #endif
 
 int
 usleep (useconds_t micro)
+#undef usleep
 {
+#if defined _WIN32 && ! defined __CYGWIN__
+  unsigned int milliseconds = micro / 1000;
+  if (sizeof milliseconds < sizeof micro && micro / 1000 != milliseconds)
+    {
+      errno = EINVAL;
+      return -1;
+    }
+  if (micro % 1000)
+    milliseconds++;
+  Sleep (milliseconds);
+  return 0;
+#else
   unsigned int seconds = micro / 1000000;
   if (sizeof seconds < sizeof micro && micro / 1000000 != seconds)
     {
@@ -50,9 +68,9 @@ usleep (useconds_t micro)
     seconds++;
   while ((seconds = sleep (seconds)) != 0);
 
-#undef usleep
-#if !HAVE_USLEEP
-# define usleep(x) 0
-#endif
+# if !HAVE_USLEEP
+#  define usleep(x) 0
+# endif
   return usleep (micro % 1000000);
+#endif
 }
index a25e514668a0617b889817654fb796fc7482e03a..9b8e1ed20fa10276f15234a17f6e70fe896730cc 100644 (file)
@@ -1,6 +1,6 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Paul Eggert, Bruno Haible, and Jim Meyering.  */
 
 #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 (R, DIAGNOSTIC)
+   works as per C11.  This is supported by GCC 4.6.0 and later, in C
+   mode.
 
-   Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per C++11.
-   This will likely be supported by future GCC versions, 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.
 
-   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
-/* The condition (99 < __GNUC__) is temporary, until we know about the
-   first G++ release that supports static_assert.  */
-#if (99 < __GNUC__) && defined __cplusplus
-# define _GL_HAVE_STATIC_ASSERT 1
+   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
      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.  */
 #define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
 
 /* Verify requirement R at compile-time, as an integer constant expression
-   that returns 1.  If R is false, fail at compile-time, preferably
-   with a diagnostic that includes the string-literal DIAGNOSTIC.  */
+   that returns 1.  If R is false, fail at compile-time.  */
 
-#define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
-   (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
+#define _GL_VERIFY_TRUE(R) (!!sizeof (_GL_VERIFY_TYPE (R)))
 
 #ifdef __cplusplus
 # if !GNULIB_defined_struct__gl_verify_type
@@ -183,40 +187,43 @@ template <int w>
   };
 #  define GNULIB_defined_struct__gl_verify_type 1
 # endif
-# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-    _gl_verify_type<(R) ? 1 : -1>
-#elif defined _GL_HAVE__STATIC_ASSERT
-# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+# define _GL_VERIFY_TYPE(R) _gl_verify_type<(R) ? 1 : -1>
+#elif defined _GL_HAVE__STATIC_ASSERT1
+# define _GL_VERIFY_TYPE(R) \
     struct {                                   \
-      _Static_assert (R, DIAGNOSTIC);          \
+      _Static_assert (R); \
       int _gl_dummy;                          \
     }
 #else
-# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+# define _GL_VERIFY_TYPE(R)                                             \
     struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
 #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)]
+      [_GL_VERIFY_TRUE (R)]
 #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
@@ -228,42 +235,42 @@ 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.  */
 
-#define verify_expr(R, E) \
-   (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
+#define verify_expr(R, E) (_GL_VERIFY_TRUE (R) ? (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, and its name is shorter
+   and may be more convenient.  */
 
-#define verify(R) _GL_VERIFY (R, "verify (" #R ")")
+#ifdef _GL_HAVE__STATIC_ASSERT1
+# define verify(R) _Static_assert (R)
+#else
+# define verify(R) _GL_VERIFY (R, "verify (...)", -)
+#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__))
 # define assume(R) ((R) ? (void) 0 : __builtin_unreachable ())
 #elif 1200 <= _MSC_VER
 # define assume(R) __assume (R)
-#elif (defined lint \
+#elif ((defined GCC_LINT || defined lint) \
        && (__has_builtin (__builtin_trap) \
            || 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))))
   /* Doing it this way helps various packages when configured with
@@ -271,7 +278,8 @@ template <int w>
      when 'assume' silences warnings even with older GCCs.  */
 # define assume(R) ((R) ? (void) 0 : __builtin_trap ())
 #else
-# define assume(R) ((void) (0 && (R)))
+  /* Some tools grok NOTREACHED, e.g., Oracle Studio 12.6.  */
+# define assume(R) ((R) ? (void) 0 : /*NOTREACHED*/ (void) 0)
 #endif
 
 /* @assert.h omit end@  */
index b37dd60559c9b488874c0ab882f1bc0e25af91b0..b00819d103c985e6c3fd4f3fd62c4913ce9f48b3 100644 (file)
@@ -1,5 +1,5 @@
 /* Variable with FSF copyright information, for version-etc.
-   Copyright (C) 1999-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2006, 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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Jim Meyering. */
 
index 04f5b6209fdcbcf17fafa6a045abb988bd239c6d..f6b26ef5068edb0410e5983c986d54690e758e74 100644 (file)
@@ -1,5 +1,5 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Jim Meyering. */
 
@@ -23,7 +23,6 @@
 
 #include <stdarg.h>
 #include <stdio.h>
-#include <stdlib.h>
 
 #if USE_UNLOCKED_IO
 # include "unlocked-io.h"
@@ -38,7 +37,7 @@
 # define PACKAGE PACKAGE_TARNAME
 #endif
 
-enum { COPYRIGHT_YEAR = 2014 };
+enum { COPYRIGHT_YEAR = 2019 };
 
 /* The three functions below display the --version information the
    standard way.
@@ -83,20 +82,24 @@ version_etc_arn (FILE *stream,
      locale.  Otherwise, do not translate "(C)"; leave it as-is.  */
   fprintf (stream, version_etc_copyright, _("(C)"), COPYRIGHT_YEAR);
 
-  fputs (_("\
-\n\
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.\n\
+  fputs ("\n", stream);
+
+  /* TRANSLATORS: The %s placeholder is the web address of the GPL license.  */
+  fprintf (stream, _("\
+License GPLv3+: GNU GPL version 3 or later <%s>.\n\
 This is free software: you are free to change and redistribute it.\n\
 There is NO WARRANTY, to the extent permitted by law.\n\
-\n\
 "),
-         stream);
+           "https://gnu.org/licenses/gpl.html");
+
+  fputs ("\n", stream);
 
   switch (n_authors)
     {
     case 0:
-      /* The caller must provide at least one author name.  */
-      abort ();
+      /* No authors are given.  The caller should output authorship
+         info after calling this function.  */
+      break;
     case 1:
       /* TRANSLATORS: %s denotes an author name.  */
       fprintf (stream, _("Written by %s.\n"), authors[0]);
@@ -238,11 +241,12 @@ version_etc (FILE *stream,
 void
 emit_bug_reporting_address (void)
 {
+  fputs ("\n", stdout);
   /* TRANSLATORS: The placeholder indicates the bug-reporting address
      for this package.  Please add _another line_ saying
      "Report translation bugs to <...>\n" with the address for translation
      bugs (typically your translation team's web or email address).  */
-  printf (_("\nReport bugs to: %s\n"), PACKAGE_BUGREPORT);
+  printf (_("Report bugs to: %s\n"), PACKAGE_BUGREPORT);
 #ifdef PACKAGE_PACKAGER_BUG_REPORTS
   printf (_("Report %s bugs to: %s\n"), PACKAGE_PACKAGER,
           PACKAGE_PACKAGER_BUG_REPORTS);
@@ -250,9 +254,9 @@ emit_bug_reporting_address (void)
 #ifdef PACKAGE_URL
   printf (_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 #else
-  printf (_("%s home page: <http://www.gnu.org/software/%s/>\n"),
-          PACKAGE_NAME, PACKAGE);
+  printf (_("%s home page: <%s>\n"),
+          PACKAGE_NAME, "https://www.gnu.org/software/" PACKAGE "/");
 #endif
-  fputs (_("General help using GNU software: <http://www.gnu.org/gethelp/>\n"),
-         stdout);
+  printf (_("General help using GNU software: <%s>\n"),
+          "https://www.gnu.org/gethelp/");
 }
index 8e1b2ccff1c088d2bef6125bfc875ac3231c27ba..225cfcdd61cabfe38f12063c683314ecdbb218d9 100644 (file)
@@ -1,5 +1,5 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999, 2003, 2005, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003, 2005, 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
@@ -12,7 +12,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Jim Meyering. */
 
diff --git a/lib/warn-on-use.h b/lib/warn-on-use.h
new file mode 100644 (file)
index 0000000..7d11a15
--- /dev/null
@@ -0,0 +1,131 @@
+/* A C macro for emitting warnings if a function is used.
+   Copyright (C) 2010-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/>.  */
+
+/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
+   for FUNCTION which will then trigger a compiler warning containing
+   the text of "literal string" anywhere that function is called, if
+   supported by the compiler.  If the compiler does not support this
+   feature, the macro expands to an unused extern declaration.
+
+   _GL_WARN_ON_USE_ATTRIBUTE ("literal string") expands to the
+   attribute used in _GL_WARN_ON_USE.  If the compiler does not support
+   this feature, it expands to empty.
+
+   These macros are useful for marking a function as a potential
+   portability trap, with the intent that "literal string" include
+   instructions on the replacement function that should be used
+   instead.
+   _GL_WARN_ON_USE is for functions with 'extern' linkage.
+   _GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
+   linkage.
+
+   However, one of the reasons that a function is a portability trap is
+   if it has the wrong signature.  Declaring FUNCTION with a different
+   signature in C is a compilation error, so this macro must use the
+   same type as any existing declaration so that programs that avoid
+   the problematic FUNCTION do not fail to compile merely because they
+   included a header that poisoned the function.  But this implies that
+   _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already
+   have a declaration.  Use of this macro implies that there must not
+   be any other macro hiding the declaration of FUNCTION; but
+   undefining FUNCTION first is part of the poisoning process anyway
+   (although for symbols that are provided only via a macro, the result
+   is a compilation error rather than a warning containing
+   "literal string").  Also note that in C++, it is only safe to use if
+   FUNCTION has no overloads.
+
+   For an example, it is possible to poison 'getline' by:
+   - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
+     [getline]) in configure.ac, which potentially defines
+     HAVE_RAW_DECL_GETLINE
+   - adding this code to a header that wraps the system <stdio.h>:
+     #undef getline
+     #if HAVE_RAW_DECL_GETLINE
+     _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
+       "not universally present; use the gnulib module getline");
+     #endif
+
+   It is not possible to directly poison global variables.  But it is
+   possible to write a wrapper accessor function, and poison that
+   (less common usage, like &environ, will cause a compilation error
+   rather than issue the nice warning, but the end result of informing
+   the developer about their portability problem is still achieved):
+     #if HAVE_RAW_DECL_ENVIRON
+     static char ***
+     rpl_environ (void) { return &environ; }
+     _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
+     # undef environ
+     # define environ (*rpl_environ ())
+     #endif
+   or better (avoiding contradictory use of 'static' and 'extern'):
+     #if HAVE_RAW_DECL_ENVIRON
+     static char ***
+     _GL_WARN_ON_USE_ATTRIBUTE ("environ is not always properly declared")
+     rpl_environ (void) { return &environ; }
+     # undef environ
+     # define environ (*rpl_environ ())
+     #endif
+   */
+#ifndef _GL_WARN_ON_USE
+
+# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+/* A compiler attribute is available in gcc versions 4.3.0 and later.  */
+#  define _GL_WARN_ON_USE(function, message) \
+extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message) \
+  __attribute__ ((__warning__ (message)))
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+/* Verify the existence of the function.  */
+#  define _GL_WARN_ON_USE(function, message) \
+extern __typeof__ (function) function
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message)
+# else /* Unsupported.  */
+#  define _GL_WARN_ON_USE(function, message) \
+_GL_WARN_EXTERN_C int _gl_warn_on_use
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message)
+# endif
+#endif
+
+/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
+   is like _GL_WARN_ON_USE (function, "string"), except that the function is
+   declared with the given prototype, consisting of return type, parameters,
+   and attributes.
+   This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
+   not work in this case.  */
+#ifndef _GL_WARN_ON_USE_CXX
+# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+extern rettype function parameters_and_attributes \
+     __attribute__ ((__warning__ (msg)))
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+/* Verify the existence of the function.  */
+#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+extern rettype function parameters_and_attributes
+# else /* Unsupported.  */
+#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+_GL_WARN_EXTERN_C int _gl_warn_on_use
+# endif
+#endif
+
+/* _GL_WARN_EXTERN_C declaration;
+   performs the declaration with C linkage.  */
+#ifndef _GL_WARN_EXTERN_C
+# if defined __cplusplus
+#  define _GL_WARN_EXTERN_C extern "C"
+# else
+#  define _GL_WARN_EXTERN_C extern
+# endif
+#endif
index 473285fb2809f9acde3c71fd5e66ecbe4107349f..17d569129ce3d7d40e88660eb5a1e8463e222514 100644 (file)
@@ -1,6 +1,6 @@
 /* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake.  */
 
 #endif
 @PRAGMA_COLUMNS@
 
-#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
+#if (((defined __need_mbstate_t || defined __need_wint_t)               \
+      && !defined __MINGW32__)                                          \
+     || (defined __hpux                                                 \
+         && ((defined _INTTYPES_INCLUDED && !defined strtoimax)         \
+             || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H))               \
+     || (defined __MINGW32__ && defined __STRING_H_SOURCED__)           \
+     || defined _GL_ALREADY_INCLUDING_WCHAR_H)
 /* Special invocation convention:
-   - Inside glibc and uClibc header files.
+   - Inside glibc and uClibc header files, but not MinGW.
    - On HP-UX 11.00 we have a sequence of nested includes
      <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
      once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
      and once directly.  In both situations 'wint_t' is not yet defined,
      therefore we cannot provide the function overrides; instead include only
      the system's <wchar.h>.
+   - With MinGW 3.22, when <string.h> includes <wchar.h>, only some part of
+     <wchar.h> is actually processed, and that doesn't include 'mbstate_t'.
    - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
      the latter includes <wchar.h>.  But here, we have no way to detect whether
      <wctype.h> is completely included or is still being included.  */
 #  define WEOF -1
 # endif
 #else
-/* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>.
-   This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be
-   "unchanged by default argument promotions".  Override it.  */
-# if defined _MSC_VER
+/* mingw and MSVC define wint_t as 'unsigned short' in <crtdefs.h> or
+   <stddef.h>.  This is too small: ISO C 99 section 7.24.1.(2) says that
+   wint_t must be "unchanged by default argument promotions".  Override it.  */
+# if @GNULIB_OVERRIDES_WINT_T@
 #  if !GNULIB_defined_wint_t
-#   include <crtdefs.h>
+#   if @HAVE_CRTDEFS_H@
+#    include <crtdefs.h>
+#   else
+#    include <stddef.h>
+#   endif
 typedef unsigned int rpl_wint_t;
 #   undef wint_t
 #   define wint_t rpl_wint_t
@@ -1023,6 +1035,38 @@ _GL_WARN_ON_USE (wcswidth, "wcswidth is unportable - "
 #endif
 
 
+/* Convert *TP to a date and time wide string.  See
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsftime.html>.  */
+#if @GNULIB_WCSFTIME@
+# if @REPLACE_WCSFTIME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcsftime
+#   define wcsftime rpl_wcsftime
+#  endif
+_GL_FUNCDECL_RPL (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize,
+                                     const wchar_t *__fmt, const struct tm *__tp)
+                                    _GL_ARG_NONNULL ((1, 3, 4)));
+_GL_CXXALIAS_RPL (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize,
+                                     const wchar_t *__fmt, const struct tm *__tp));
+# else
+#  if !@HAVE_WCSFTIME@
+_GL_FUNCDECL_SYS (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize,
+                                     const wchar_t *__fmt, const struct tm *__tp)
+                                    _GL_ARG_NONNULL ((1, 3, 4)));
+#  endif
+_GL_CXXALIAS_SYS (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize,
+                                     const wchar_t *__fmt, const struct tm *__tp));
+# endif
+_GL_CXXALIASWARN (wcsftime);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsftime
+# if HAVE_RAW_DECL_WCSFTIME
+_GL_WARN_ON_USE (wcsftime, "wcsftime is unportable - "
+                 "use gnulib module wcsftime for portability");
+# endif
+#endif
+
+
 #endif /* _@GUARD_PREFIX@_WCHAR_H */
 #endif /* _@GUARD_PREFIX@_WCHAR_H */
 #endif
index 1d340cd9426d79202457aa744b6f64fb92b9eaf1..8e56732bd4eb1d90f4a63c2fdb0faa3bc6d5bc9f 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert wide character to multibyte character.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -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;
index ab06653958f2819931f44960049384932eb7d6a6..0a7471fd4991930f24f97e6d25e2146cf3599c36 100644 (file)
@@ -1,6 +1,6 @@
 /* A substitute for ISO C99 <wctype.h>, for platforms that lack it.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Bruno Haible and Paul Eggert.  */
 
  * wctrans_t, and wctype_t are not yet implemented.
  */
 
-#ifndef _@GUARD_PREFIX@_WCTYPE_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
+#if (defined __MINGW32__ && defined __CTYPE_H_SOURCED__)
+
+/* Special invocation convention:
+   - With MinGW 3.22, when <ctype.h> includes <wctype.h>, only some part of
+     <wctype.h> is being processed, which doesn't include the idempotency
+     guard.   */
+
+#@INCLUDE_NEXT@ @NEXT_WCTYPE_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_WCTYPE_H
+
 #if @HAVE_WINT_T@
 /* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.
    Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 # include <wchar.h>
 #endif
 
-/* mingw has declarations of towupper and towlower in <ctype.h> as
-   well <wctype.h>.  Include <ctype.h> in advance to avoid rpl_ prefix
-   being added to the declarations.  */
-#ifdef __MINGW32__
+/* Native Windows (mingw, MSVC) have declarations of towupper, towlower, and
+   isw* functions in <ctype.h>, <wchar.h> as well as in <wctype.h>.  Include
+   <ctype.h>, <wchar.h> in advance to avoid rpl_ prefix being added to the
+   declarations.  */
+#if defined _WIN32 && ! defined __CYGWIN__
 # include <ctype.h>
+# include <wchar.h>
 #endif
 
 /* Include the original <wctype.h> if it exists.
@@ -93,12 +107,16 @@ _GL_INLINE_HEADER_BEGIN
 #  define WEOF -1
 # endif
 #else
-/* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>.
-   This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be
-   "unchanged by default argument promotions".  Override it.  */
-# if defined _MSC_VER
+/* mingw and MSVC define wint_t as 'unsigned short' in <crtdefs.h> or
+   <stddef.h>.  This is too small: ISO C 99 section 7.24.1.(2) says that
+   wint_t must be "unchanged by default argument promotions".  Override it.  */
+# if @GNULIB_OVERRIDES_WINT_T@
 #  if !GNULIB_defined_wint_t
-#   include <crtdefs.h>
+#   if @HAVE_CRTDEFS_H@
+#    include <crtdefs.h>
+#   else
+#    include <stddef.h>
+#   endif
 typedef unsigned int rpl_wint_t;
 #   undef wint_t
 #   define wint_t rpl_wint_t
@@ -512,3 +530,4 @@ _GL_INLINE_HEADER_END
 
 #endif /* _@GUARD_PREFIX@_WCTYPE_H */
 #endif /* _@GUARD_PREFIX@_WCTYPE_H */
+#endif
diff --git a/lib/windows-initguard.h b/lib/windows-initguard.h
new file mode 100644 (file)
index 0000000..8aefd0b
--- /dev/null
@@ -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/lib/windows-mutex.c b/lib/windows-mutex.c
new file mode 100644 (file)
index 0000000..9433881
--- /dev/null
@@ -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/lib/windows-mutex.h b/lib/windows-mutex.h
new file mode 100644 (file)
index 0000000..5364f92
--- /dev/null
@@ -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/lib/windows-once.c b/lib/windows-once.c
new file mode 100644 (file)
index 0000000..455c50e
--- /dev/null
@@ -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/lib/windows-once.h b/lib/windows-once.h
new file mode 100644 (file)
index 0000000..1599983
--- /dev/null
@@ -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/lib/windows-recmutex.c b/lib/windows-recmutex.c
new file mode 100644 (file)
index 0000000..7e6e446
--- /dev/null
@@ -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/lib/windows-recmutex.h b/lib/windows-recmutex.h
new file mode 100644 (file)
index 0000000..d143108
--- /dev/null
@@ -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/lib/windows-rwlock.c b/lib/windows-rwlock.c
new file mode 100644 (file)
index 0000000..9207d1b
--- /dev/null
@@ -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/lib/windows-rwlock.h b/lib/windows-rwlock.h
new file mode 100644 (file)
index 0000000..9002040
--- /dev/null
@@ -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 */
index 7bdd2a3113b5a0a2918ffff0c3e7016fd3c839dc..295f8d8e758dd674b722e8062f224caf8d9436a0 100644 (file)
@@ -1,6 +1,6 @@
 /* Report a memory allocation failure and exit.
 
-   Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2014 Free Software
+   Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index f3329228ec0a1bf44ff37cf37d224f61d2d549ff..e3068c83c48fdb50f0aa2cbaf739878b0667fac7 100644 (file)
@@ -1,6 +1,6 @@
 /* xalloc-oversized.h -- memory allocation size checking
 
-   Copyright (C) 1990-2000, 2003-2004, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2003-2004, 2006-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
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef XALLOC_OVERSIZED_H_
-# define XALLOC_OVERSIZED_H_
+#define XALLOC_OVERSIZED_H_
 
-# include <stddef.h>
-
-/* Return 1 if an array of N objects, each of size S, cannot exist due
-   to size arithmetic overflow.  S must be positive and N must be
-   nonnegative.  This is a macro, not a function, so that it
-   works correctly even when SIZE_MAX < N.
+#include <stddef.h>
+#include <stdint.h>
 
+/* True if N * S would overflow in a size_t calculation,
+   or would generate a value larger than PTRDIFF_MAX.
+   This expands to a constant expression if N and S are both constants.
    By gnulib convention, SIZE_MAX represents overflow in size
-   calculations, so the conservative dividend to use here is
-   SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value.
-   However, malloc (SIZE_MAX) fails on all known hosts where
-   sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for
-   exactly-SIZE_MAX allocations on such hosts; this avoids a test and
-   branch when S is known to be 1.  */
+   calculations, so the conservative size_t-based dividend to use here
+   is SIZE_MAX - 1.  */
+#define __xalloc_oversized(n, s) \
+  ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) < (n))
+
+#if PTRDIFF_MAX < SIZE_MAX
+typedef ptrdiff_t __xalloc_count_type;
+#else
+typedef size_t __xalloc_count_type;
+#endif
+
+/* Return 1 if an array of N objects, each of size S, cannot exist
+   reliably due to size or ptrdiff_t arithmetic overflow.  S must be
+   positive and N must be nonnegative.  This is a macro, not a
+   function, so that it works correctly even when SIZE_MAX < N.  */
+
+#if 7 <= __GNUC__
+# define xalloc_oversized(n, s) \
+   __builtin_mul_overflow_p (n, s, (__xalloc_count_type) 1)
+#elif 5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__
 # define xalloc_oversized(n, s) \
-    ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n))
+   (__builtin_constant_p (n) && __builtin_constant_p (s) \
+    ? __xalloc_oversized (n, s) \
+    : ({ __xalloc_count_type __xalloc_count; \
+         __builtin_mul_overflow (n, s, &__xalloc_count); }))
+
+/* Other compilers use integer division; this may be slower but is
+   more portable.  */
+#else
+# define xalloc_oversized(n, s) __xalloc_oversized (n, s)
+#endif
 
 #endif /* !XALLOC_OVERSIZED_H_ */
index 3f6b5b80f8dd2b7188b2adca4333d856575799e0..fc7e86bd89b398a2fa0a7077047f9790d693adcb 100644 (file)
@@ -1,6 +1,6 @@
 /* xalloc.h -- malloc with out-of-memory checking
 
-   Copyright (C) 1990-2000, 2003-2004, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2003-2004, 2006-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
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef XALLOC_H_
 #define XALLOC_H_
 
 #include <stddef.h>
+#include <stdint.h>
 
 #include "xalloc-oversized.h"
 
@@ -35,13 +36,8 @@ extern "C" {
 #endif
 
 
-#if __GNUC__ >= 3
-# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
-#else
-# define _GL_ATTRIBUTE_MALLOC
-#endif
-
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#if ! defined __clang__ && \
+    (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
 # define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
 #else
 # define _GL_ATTRIBUTE_ALLOC_SIZE(args)
@@ -192,14 +188,17 @@ x2nrealloc (void *p, size_t *pn, size_t s)
           n = DEFAULT_MXFAST / s;
           n += !n;
         }
+      if (xalloc_oversized (n, s))
+        xalloc_die ();
     }
   else
     {
       /* Set N = floor (1.5 * N) + 1 so that progress is made even if N == 0.
-         Check for overflow, so that N * S stays in size_t range.
-         The check may be slightly conservative, but an exact check isn't
-         worth the trouble.  */
-      if ((size_t) -1 / 3 * 2 / s <= n)
+         Check for overflow, so that N * S stays in both ptrdiff_t and
+         size_t range.  The check may be slightly conservative, but an
+         exact check isn't worth the trouble.  */
+      if ((PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX) / 3 * 2 / s
+          <= n)
         xalloc_die ();
       n += n / 2 + 1;
     }
@@ -258,5 +257,6 @@ xmemdup (T const *p, size_t s)
 
 #endif
 
+_GL_INLINE_HEADER_END
 
 #endif /* !XALLOC_H_ */
index 264d44afd4ee44f085ae8f03c0582288fc59a5f3..cbe9a4f5671e33d96b9cba0e611eec0a06e4c0c2 100644 (file)
@@ -1,6 +1,6 @@
 /* xmalloc.c -- malloc with out of memory checking
 
-   Copyright (C) 1990-2000, 2002-2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2002-2006, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -93,11 +93,11 @@ void *
 xcalloc (size_t n, size_t s)
 {
   void *p;
-  /* Test for overflow, since some calloc implementations don't have
-     proper overflow checks.  But omit overflow and size-zero tests if
-     HAVE_GNU_CALLOC, since GNU calloc catches overflow and never
-     returns NULL if successful.  */
-  if ((! HAVE_GNU_CALLOC && xalloc_oversized (n, s))
+  /* Test for overflow, since objects with size greater than
+     PTRDIFF_MAX cause pointer subtraction to go awry.  Omit size-zero
+     tests if HAVE_GNU_CALLOC, since GNU calloc never returns NULL if
+     successful.  */
+  if (xalloc_oversized (n, s)
       || (! (p = calloc (n, s)) && (HAVE_GNU_CALLOC || n != 0)))
     xalloc_die ();
   return p;
index d2259c8253c7878f8bdbfa3a0e2949f108d6d534..a9738291130d2769bdfa07f04ee74e87fc54a8ac 100644 (file)
@@ -1,6 +1,6 @@
 /* Duplicate a bounded initial segment of a string, with out-of-memory
    checking.
-   Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 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
@@ -13,7 +13,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 6a409f7a6724ee31ef545de0a894306cb1eb763d..360ccfdbb1f233e3d54be15d080b308f88e3d7e3 100644 (file)
@@ -1,6 +1,6 @@
 /* Duplicate a bounded initial segment of a string, with out-of-memory
    checking.
-   Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003, 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
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <stddef.h>
 
 /* Return a newly allocated copy of at most N bytes of STRING.
    In other words, return a copy of the initial segment of length N of
    STRING.  */
-extern char *xstrndup (const char *string, size_t n);
+extern char *xstrndup (const char *string, size_t n) _GL_ATTRIBUTE_MALLOC;
index 9629dabbe59f24493585389fa4b8733630d7e988..a0d10c2856180268f8023d074f85f1130814a6fd 100644 (file)
@@ -1,6 +1,6 @@
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2014 Free Software
+   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 #include "xstrtol.h"
index f6d535a7f381f494dbbcb6f7725b0898b4b2cd71..ab73d0403f134633b3bbfcb8627566f3b47a8b0c 100644 (file)
@@ -1,6 +1,6 @@
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2014 Free Software
+   Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Jim Meyering. */
 
    need stderr defined if assertion checking is enabled.  */
 #include <stdio.h>
 
-#include <assert.h>
 #include <ctype.h>
 #include <errno.h>
 #include <limits.h>
 #include <stdlib.h>
 #include <string.h>
 
-#include "intprops.h"
+#include "assure.h"
 
-/* xstrtoll.c and xstrtoull.c, which include this file, require that
-   ULLONG_MAX, LLONG_MAX, LLONG_MIN are defined, but <limits.h> does not
-   define them on all platforms.  */
-#ifndef ULLONG_MAX
-# define ULLONG_MAX TYPE_MAXIMUM (unsigned long long)
-#endif
-#ifndef LLONG_MAX
-# define LLONG_MAX TYPE_MAXIMUM (long long int)
-#endif
-#ifndef LLONG_MIN
-# define LLONG_MIN TYPE_MINIMUM (long long int)
-#endif
+#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
 
 static strtol_error
 bkm_scale (__strtol_t *x, int scale_factor)
@@ -93,10 +81,12 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
   __strtol_t tmp;
   strtol_error err = LONGINT_OK;
 
-  assert (0 <= strtol_base && strtol_base <= 36);
+  assure (0 <= strtol_base && strtol_base <= 36);
 
   p = (ptr ? ptr : &t_ptr);
 
+  errno = 0;
+
   if (! TYPE_SIGNED (__strtol_t))
     {
       const char *q = s;
@@ -107,7 +97,6 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
         return LONGINT_INVALID;
     }
 
-  errno = 0;
   tmp = __strtol (s, p, strtol_base);
 
   if (*p == s)
@@ -147,8 +136,11 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
           return err | LONGINT_INVALID_SUFFIX_CHAR;
         }
 
-      if (strchr (valid_suffixes, '0'))
+      switch (**p)
         {
+        case 'E': case 'G': case 'g': case 'k': case 'K': case 'M': case 'm':
+        case 'P': case 'T': case 't': case 'Y': case 'Z':
+
           /* The "valid suffix" '0' is a special flag meaning that
              an optional second suffix is allowed, which can change
              the base.  A suffix "B" (e.g. "100MB") stands for a power
@@ -156,19 +148,20 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
              a power of 1024.  If no suffix (e.g. "100M"), assume
              power-of-1024.  */
 
-          switch (p[0][1])
-            {
-            case 'i':
-              if (p[0][2] == 'B')
-                suffixes += 2;
-              break;
-
-            case 'B':
-            case 'D': /* 'D' is obsolescent */
-              base = 1000;
-              suffixes++;
-              break;
-            }
+          if (strchr (valid_suffixes, '0'))
+            switch (p[0][1])
+              {
+              case 'i':
+                if (p[0][2] == 'B')
+                  suffixes += 2;
+                break;
+
+              case 'B':
+              case 'D': /* 'D' is obsolescent */
+                base = 1000;
+                suffixes++;
+                break;
+              }
         }
 
       switch (**p)
@@ -178,6 +171,9 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
           break;
 
         case 'B':
+          /* This obsolescent first suffix is distinct from the 'B'
+             second suffix above.  E.g., 'tar -L 1000B' means change
+             the tape after writing 1000 KiB of data.  */
           overflow = bkm_scale (&tmp, 1024);
           break;
 
index fe54f6afb3082529a77d050058897ef500c9e229..fff320d504120a10b5c3c975463e046915e73d90 100644 (file)
@@ -1,6 +1,6 @@
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2014 Free Software
+   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
    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 <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef XSTRTOL_H_
 # define XSTRTOL_H_ 1
diff --git a/libparted-fs-resize.pc.in b/libparted-fs-resize.pc.in
new file mode 100644 (file)
index 0000000..ed9b3d6
--- /dev/null
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libparted-fs-resize
+Description: The GNU Parted filesystem resize shared library
+Version: @VERSION@
+Libs: -L${libdir} -lparted-fs-resize
+Cflags: -I${includedir}
index edc5f2e41ffac6e5f54e11a96c8efaa9a3b7b847..bcdde774b22c078e8f5b015e49e302288756df84 100644 (file)
@@ -1,5 +1,5 @@
 # This file is part of GNU Parted
-# Copyright (C) 1999-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2007, 2009-2014, 2019 Free Software Foundation, Inc.
 #
 # This file may be modified and/or distributed without restriction.
 
@@ -23,7 +23,7 @@ lib_LTLIBRARIES       = libparted.la
 # For details, see the "Updating library version information" section of
 # "info libtool".
 CURRENT = 2
-REVISION = 1
+REVISION = 2
 AGE = 0
 
 libparted_la_LDFLAGS  = -version-info $(CURRENT):$(REVISION):$(AGE)
@@ -54,10 +54,10 @@ libparted_la_LIBADD =       \
   labels/liblabels.la  \
   $(top_builddir)/lib/libgnulib.la \
   $(OS_LIBS)           \
-  $(DL_LIBS)           \
   $(DM_LIBS)           \
   $(SELINUX_LIBS)      \
   $(LIB_BLKID)         \
+  $(UUID_LIBS)         \
   $(INTLLIBS)
 
 EXTRA_DIST           = mbr.s
index fe330ec8ffbb5d8a22445483f5a6e24bb88e5316..b38695293af98c9f3710df30fdfff2e2879fa66b 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 @SET_MAKE@
 
 # This file is part of GNU Parted
-# Copyright (C) 1999-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2007, 2009-2014, 2019 Free Software Foundation, Inc.
 #
 # This file may be modified and/or distributed without restriction.
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -84,79 +94,101 @@ build_triplet = @build@
 host_triplet = @host@
 @HAVE_CHECK_TRUE@am__append_1 = tests
 subdir = libparted
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(top_srcdir)/build-aux/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -166,6 +198,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -232,7 +265,16 @@ am__v_at_0 = @
 am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/architecture.Plo \
+       ./$(DEPDIR)/debug.Plo ./$(DEPDIR)/device.Plo \
+       ./$(DEPDIR)/disk.Plo ./$(DEPDIR)/exception.Plo \
+       ./$(DEPDIR)/filesys.Plo ./$(DEPDIR)/libparted.Plo \
+       ./$(DEPDIR)/timer.Plo ./$(DEPDIR)/unit.Plo \
+       arch/$(DEPDIR)/$(OS).Plo arch/$(DEPDIR)/beos.Plo \
+       arch/$(DEPDIR)/gnu.Plo arch/$(DEPDIR)/linux.Plo \
+       cs/$(DEPDIR)/constraint.Plo cs/$(DEPDIR)/geom.Plo \
+       cs/$(DEPDIR)/natmath.Plo
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -274,7 +316,7 @@ am__recursive_targets = \
   $(RECURSIVE_CLEAN_TARGETS) \
   $(am__extra_recursive_targets)
 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-       distdir
+       distdir distdir-am
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -295,6 +337,8 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = labels fs . tests
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -352,11 +396,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -371,18 +413,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -390,6 +439,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -435,6 +485,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -443,14 +497,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -496,6 +557,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -505,6 +568,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -512,26 +585,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -543,6 +631,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -554,6 +643,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -563,9 +653,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -595,6 +688,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -623,10 +717,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -637,17 +737,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -657,6 +762,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -667,6 +773,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -676,6 +783,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -688,13 +796,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -706,12 +819,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -726,6 +841,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -734,25 +851,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -763,20 +952,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -798,6 +1000,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -823,12 +1026,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -845,13 +1050,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -865,52 +1074,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -945,16 +1177,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -963,6 +1196,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -980,8 +1214,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -1009,6 +1248,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1018,21 +1258,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -1045,6 +1345,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -1053,14 +1354,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -1073,6 +1378,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1086,16 +1392,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1103,9 +1413,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1184,7 +1495,7 @@ lib_LTLIBRARIES = libparted.la
 # For details, see the "Updating library version information" section of
 # "info libtool".
 CURRENT = 2
-REVISION = 1
+REVISION = 2
 AGE = 0
 libparted_la_LDFLAGS = -version-info $(CURRENT):$(REVISION):$(AGE)
 libparted_la_SOURCES = debug.c                 \
@@ -1212,10 +1523,10 @@ libparted_la_LIBADD = \
   labels/liblabels.la  \
   $(top_builddir)/lib/libgnulib.la \
   $(OS_LIBS)           \
-  $(DL_LIBS)           \
   $(DM_LIBS)           \
   $(SELINUX_LIBS)      \
   $(LIB_BLKID)         \
+  $(UUID_LIBS)         \
   $(INTLLIBS)
 
 EXTRA_DIST = mbr.s
@@ -1236,14 +1547,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu libparted/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1322,22 +1632,28 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/architecture.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/device.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disk.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filesys.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libparted.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@arch/$(DEPDIR)/$(OS).Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@arch/$(DEPDIR)/beos.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@arch/$(DEPDIR)/gnu.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@arch/$(DEPDIR)/linux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@cs/$(DEPDIR)/constraint.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@cs/$(DEPDIR)/geom.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@cs/$(DEPDIR)/natmath.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/architecture.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/device.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disk.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filesys.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libparted.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@arch/$(DEPDIR)/$(OS).Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@arch/$(DEPDIR)/beos.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@arch/$(DEPDIR)/gnu.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@arch/$(DEPDIR)/linux.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@cs/$(DEPDIR)/constraint.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@cs/$(DEPDIR)/geom.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@cs/$(DEPDIR)/natmath.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -1470,7 +1786,10 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1573,7 +1892,22 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
        mostlyclean-am
 
 distclean: distclean-recursive
-       -rm -rf ./$(DEPDIR) arch/$(DEPDIR) cs/$(DEPDIR)
+               -rm -f ./$(DEPDIR)/architecture.Plo
+       -rm -f ./$(DEPDIR)/debug.Plo
+       -rm -f ./$(DEPDIR)/device.Plo
+       -rm -f ./$(DEPDIR)/disk.Plo
+       -rm -f ./$(DEPDIR)/exception.Plo
+       -rm -f ./$(DEPDIR)/filesys.Plo
+       -rm -f ./$(DEPDIR)/libparted.Plo
+       -rm -f ./$(DEPDIR)/timer.Plo
+       -rm -f ./$(DEPDIR)/unit.Plo
+       -rm -f arch/$(DEPDIR)/$(OS).Plo
+       -rm -f arch/$(DEPDIR)/beos.Plo
+       -rm -f arch/$(DEPDIR)/gnu.Plo
+       -rm -f arch/$(DEPDIR)/linux.Plo
+       -rm -f cs/$(DEPDIR)/constraint.Plo
+       -rm -f cs/$(DEPDIR)/geom.Plo
+       -rm -f cs/$(DEPDIR)/natmath.Plo
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -1619,7 +1953,22 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
-       -rm -rf ./$(DEPDIR) arch/$(DEPDIR) cs/$(DEPDIR)
+               -rm -f ./$(DEPDIR)/architecture.Plo
+       -rm -f ./$(DEPDIR)/debug.Plo
+       -rm -f ./$(DEPDIR)/device.Plo
+       -rm -f ./$(DEPDIR)/disk.Plo
+       -rm -f ./$(DEPDIR)/exception.Plo
+       -rm -f ./$(DEPDIR)/filesys.Plo
+       -rm -f ./$(DEPDIR)/libparted.Plo
+       -rm -f ./$(DEPDIR)/timer.Plo
+       -rm -f ./$(DEPDIR)/unit.Plo
+       -rm -f arch/$(DEPDIR)/$(OS).Plo
+       -rm -f arch/$(DEPDIR)/beos.Plo
+       -rm -f arch/$(DEPDIR)/gnu.Plo
+       -rm -f arch/$(DEPDIR)/linux.Plo
+       -rm -f cs/$(DEPDIR)/constraint.Plo
+       -rm -f cs/$(DEPDIR)/geom.Plo
+       -rm -f cs/$(DEPDIR)/natmath.Plo
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1640,20 +1989,23 @@ uninstall-am: uninstall-libLTLIBRARIES
 
 .MAKE: $(am__recursive_targets) install-am install-strip
 
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
-       check-am clean clean-generic clean-libLTLIBRARIES \
-       clean-libtool cscopelist-am ctags ctags-am distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am \
-       install-libLTLIBRARIES install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+       am--depfiles check check-am clean clean-generic \
+       clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
+       ctags-am distclean distclean-compile distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-libLTLIBRARIES install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs installdirs-am \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+       pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+       uninstall-libLTLIBRARIES
+
+.PRECIOUS: Makefile
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index b1f9642627676d025dd1f7d864eeac841de6d093..91664adf099a175944f8de4294608d018db35ecd 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2006-2007, 2009-2014, 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
index a17a7388b93348e555d9d11fd78edfc838e0caae..321b70a20968f367b05c4d75450569b7aef02361 100644 (file)
@@ -1,7 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2001, 2005, 2007, 2009-2014 Free Software Foundation,
-    Inc.
+    Copyright (C) 1999-2001, 2005, 2007, 2009-2014, 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
index 0f18904dae43505f02d83004a9d0405a7b31c236..09ec781df3d14b1c1b2bd96f3ee144043b0c2c30 100644 (file)
@@ -1,5 +1,5 @@
 /* libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2014, 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
@@ -41,6 +41,7 @@
 #include <sys/utsname.h>        /* for uname() */
 #include <scsi/scsi.h>
 #include <assert.h>
+#include <sys/sysmacros.h>
 #ifdef ENABLE_DEVICE_MAPPER
 #include <libdevmapper.h>
 #endif
@@ -278,6 +279,8 @@ struct blkdev_ioctl_param {
 #define SDMMC_MAJOR             179
 #define LOOP_MAJOR              7
 #define MD_MAJOR                9
+#define BLKEXT_MAJOR            259
+#define RAM_MAJOR               1
 
 #define SCSI_BLK_MAJOR(M) (                                             \
                 (M) == SCSI_DISK0_MAJOR                                 \
@@ -291,7 +294,9 @@ struct blkdev_ioctl_param {
 static char* _device_get_part_path (PedDevice const *dev, int num);
 static int _partition_is_mounted_by_path (const char* path);
 static unsigned int _device_get_partition_range(PedDevice const* dev);
-
+static int _device_open (PedDevice* dev, int flags);
+static int _device_open_ro (PedDevice* dev);
+static int _device_close (PedDevice* dev);
 
 static int
 _read_fd (int fd, char **buf)
@@ -439,6 +444,12 @@ _is_virtblk_major (int major)
         return _major_type_in_devices (major, "virtblk");
 }
 
+static int
+_is_blkext_major (int major)
+{
+        return _major_type_in_devices (major, "blkext");
+}
+
 #ifdef ENABLE_DEVICE_MAPPER
 static int
 _dm_task_run_wait (struct dm_task *task, uint32_t cookie)
@@ -690,6 +701,12 @@ _device_probe_type (PedDevice* dev)
                 dev->type = PED_DEVICE_LOOP;
         } else if (dev_major == MD_MAJOR) {
                 dev->type = PED_DEVICE_MD;
+        } else if (_is_blkext_major(dev_major) && dev->path && strstr(dev->path, "nvme")) {
+                dev->type = PED_DEVICE_NVME;
+        } else if (dev_major == RAM_MAJOR) {
+                dev->type = PED_DEVICE_RAM;
+        } else if (_is_blkext_major(dev_major) && dev->path && strstr(dev->path, "pmem")) {
+                dev->type = PED_DEVICE_PMEM;
         } else {
                 dev->type = PED_DEVICE_UNKNOWN;
         }
@@ -783,9 +800,13 @@ _device_set_sector_size (PedDevice* dev)
 #endif
 
 #if defined __s390__ || defined __s390x__
+        /* The real_sector_size is currently needed for DASD layouts,
+         * so we set it unconditionally. In the long run it should
+         * be considered to use the dev->phys_sector_size in label/dasd.c.
+         */
+        arch_specific->real_sector_size = dev->sector_size;
         /* Return PED_SECTOR_SIZE_DEFAULT for DASDs. */
         if (dev->type == PED_DEVICE_DASD) {
-                arch_specific->real_sector_size = dev->sector_size;
                 dev->sector_size = PED_SECTOR_SIZE_DEFAULT;
         }
 #endif
@@ -846,6 +867,8 @@ _device_probe_geometry (PedDevice* dev)
         LinuxSpecific*          arch_specific = LINUX_SPECIFIC (dev);
         struct stat             dev_stat;
         struct hd_geometry      geometry;
+        int                     geometry_is_valid = 0;
+        int                     sector_size = 0;
 
         if (!_device_stat (dev, &dev_stat))
                 return 0;
@@ -857,26 +880,41 @@ _device_probe_geometry (PedDevice* dev)
         if (!dev->length)
                 return 0;
 
-        /* The GETGEO ioctl is no longer useful (as of linux 2.6.x).  We could
-         * still use it in 2.4.x, but this is contentious.  Perhaps we should
-         * move to EDD. */
-        dev->bios_geom.sectors = 63;
-        dev->bios_geom.heads = 255;
-        dev->bios_geom.cylinders
-                = dev->length / (63 * 255);
-
-        /* FIXME: what should we put here?  (TODO: discuss on linux-kernel) */
-        if (!ioctl (arch_specific->fd, HDIO_GETGEO, &geometry)
-                        && geometry.sectors && geometry.heads) {
-                dev->hw_geom.sectors = geometry.sectors;
-                dev->hw_geom.heads = geometry.heads;
-                dev->hw_geom.cylinders
-                        = dev->length / (dev->hw_geom.heads
-                                         * dev->hw_geom.sectors);
+        /* initialize the bios_geom values to something */
+        dev->bios_geom.sectors = 0;
+        dev->bios_geom.heads = 0;
+        dev->bios_geom.cylinders = 0;
+
+        geometry_is_valid = !ioctl (arch_specific->fd, HDIO_GETGEO, &geometry)
+                            && geometry.sectors && geometry.heads;
+
+#if defined __s390__ || defined __s390x__
+        if (geometry_is_valid) {
+#else
+        if (!ioctl (arch_specific->fd, BLKSSZGET, &sector_size)) {
+                /* get the sector count first */
+                dev->bios_geom.sectors = 1 + (sector_size / PED_SECTOR_SIZE_DEFAULT);
+                dev->bios_geom.heads = 255;
+        } else if (geometry_is_valid) {
+                /* if BLKSSZGET failed, use deprecated HDIO_GETGEO result */
+#endif
+                dev->bios_geom.sectors = geometry.sectors;
+                dev->bios_geom.heads = geometry.heads;
         } else {
-                dev->hw_geom = dev->bios_geom;
+                ped_exception_throw (
+                        PED_EXCEPTION_WARNING,
+                        PED_EXCEPTION_OK,
+                        _("Could not determine sector size for %s: %s.\n"
+                          "Using the default sector size (%lld)."),
+                        dev->path, strerror (errno), PED_SECTOR_SIZE_DEFAULT);
+                dev->bios_geom.sectors = 2;
+                dev->bios_geom.heads = 255;
         }
 
+        dev->bios_geom.cylinders
+                = dev->length / (dev->bios_geom.heads
+                                 * dev->bios_geom.sectors);
+        dev->hw_geom = dev->bios_geom;
         return 1;
 }
 
@@ -906,14 +944,19 @@ init_ide (PedDevice* dev)
         PedExceptionOption      ex_status;
         char                    hdi_buf[41];
         int                     sector_multiplier = 0;
+        int                     r;
 
         if (!_device_stat (dev, &dev_stat))
                 goto error;
 
-        if (!ped_device_open (dev))
+        if (!_device_open_ro (dev))
                 goto error;
 
-        if (ioctl (arch_specific->fd, HDIO_GET_IDENTITY, &hdi)) {
+        r = ioctl (arch_specific->fd, HDIO_GET_IDENTITY, &hdi);
+        if (r && errno == EINVAL) {
+                /* silently ignore unsupported ioctl */
+                dev->model = strdup(_("Generic IDE"));
+        } else if (r) {
                 ex_status = ped_exception_throw (
                                 PED_EXCEPTION_WARNING,
                                 PED_EXCEPTION_IGNORE_CANCEL,
@@ -925,6 +968,7 @@ init_ide (PedDevice* dev)
 
                         case PED_EXCEPTION_UNHANDLED:
                                 ped_exception_catch ();
+                                /* FALLTHROUGH */
                         case PED_EXCEPTION_IGNORE:
                                 dev->model = strdup(_("Generic IDE"));
                                 break;
@@ -962,6 +1006,7 @@ init_ide (PedDevice* dev)
 
                                 case PED_EXCEPTION_UNHANDLED:
                                         ped_exception_catch ();
+                                        /* FALLTHROUGH */
                                 case PED_EXCEPTION_IGNORE:
                                         break;
                                 default:
@@ -979,11 +1024,11 @@ init_ide (PedDevice* dev)
         if (!_device_probe_geometry (dev))
                 goto error_close_dev;
 
-        ped_device_close (dev);
+        _device_close (dev);
         return 1;
 
 error_close_dev:
-        ped_device_close (dev);
+        _device_close (dev);
 error:
         return 0;
 }
@@ -1116,7 +1161,7 @@ init_scsi (PedDevice* dev)
         char* vendor;
         char* product;
 
-        if (!ped_device_open (dev))
+        if (!_device_open_ro (dev))
                 goto error;
 
         if (ioctl (arch_specific->fd, SCSI_IOCTL_GET_IDLUN, &idlun) < 0) {
@@ -1130,7 +1175,7 @@ init_scsi (PedDevice* dev)
                         goto error_close_dev;
                 if (!_device_probe_geometry (dev))
                         goto error_close_dev;
-                ped_device_close (dev);
+                _device_close (dev);
                 return 1;
         }
 
@@ -1152,11 +1197,11 @@ init_scsi (PedDevice* dev)
         if (!_device_probe_geometry (dev))
                 goto error_close_dev;
 
-        ped_device_close (dev);
+        _device_close (dev);
         return 1;
 
 error_close_dev:
-        ped_device_close (dev);
+        _device_close (dev);
 error:
         return 0;
 }
@@ -1168,7 +1213,7 @@ init_file (PedDevice* dev)
 
         if (!_device_stat (dev, &dev_stat))
                 goto error;
-        if (!ped_device_open (dev))
+        if (!_device_open_ro (dev))
                 goto error;
 
         dev->sector_size = PED_SECTOR_SIZE_DEFAULT;
@@ -1195,7 +1240,7 @@ init_file (PedDevice* dev)
                 goto error_close_dev;
         }
 
-        ped_device_close (dev);
+        _device_close (dev);
 
         dev->bios_geom.cylinders = dev->length / 4 / 32;
         dev->bios_geom.heads = 4;
@@ -1206,7 +1251,7 @@ init_file (PedDevice* dev)
         return 1;
 
 error_close_dev:
-        ped_device_close (dev);
+        _device_close (dev);
 error:
         return 0;
 }
@@ -1222,7 +1267,7 @@ init_dasd (PedDevice* dev, const char* model_name)
         if (!_device_stat (dev, &dev_stat))
                 goto error;
 
-        if (!ped_device_open (dev))
+        if (!_device_open_ro (dev))
                 goto error;
 
         LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev);
@@ -1262,11 +1307,11 @@ init_dasd (PedDevice* dev, const char* model_name)
 
         dev->model = strdup (model_name);
 
-        ped_device_close (dev);
+        _device_close (dev);
         return 1;
 
 error_close_dev:
-        ped_device_close (dev);
+        _device_close (dev);
 error:
         return 0;
 }
@@ -1281,7 +1326,7 @@ init_generic (PedDevice* dev, const char* model_name)
         if (!_device_stat (dev, &dev_stat))
                 goto error;
 
-        if (!ped_device_open (dev))
+        if (!_device_open_ro (dev))
                 goto error;
 
         ped_exception_fetch_all ();
@@ -1311,6 +1356,7 @@ init_generic (PedDevice* dev, const char* model_name)
 
                         case PED_EXCEPTION_UNHANDLED:
                                 ped_exception_catch ();
+                                /* FALLTHROUGH */
                         case PED_EXCEPTION_IGNORE:
                                 break;
                         default:
@@ -1329,11 +1375,11 @@ init_generic (PedDevice* dev, const char* model_name)
 
         dev->model = strdup (model_name);
 
-        ped_device_close (dev);
+        _device_close (dev);
         return 1;
 
 error_close_dev:
-        ped_device_close (dev);
+        _device_close (dev);
 error:
         return 0;
 }
@@ -1366,6 +1412,22 @@ init_sdmmc (PedDevice* dev)
         return init_generic(dev, id);
 }
 
+static int
+init_nvme (PedDevice* dev)
+{
+        int ret;
+        char *model = read_device_sysfs_file (dev, "model");
+
+        if (!model)
+                ret = init_generic (dev, _("NVMe Device"));
+        else {
+                ret = init_generic (dev, model);
+                free (model);
+        }
+
+        return ret;
+}
+
 static PedDevice*
 linux_new (const char* path)
 {
@@ -1449,6 +1511,16 @@ linux_new (const char* path)
                         goto error_free_arch_specific;
                 break;
 
+        case PED_DEVICE_NVME:
+                if (!init_nvme (dev))
+                        goto error_free_arch_specific;
+                break;
+
+        case PED_DEVICE_PMEM:
+                if (!init_generic (dev, _("NVDIMM Device")))
+                        goto error_free_arch_specific;
+                break;
+
         case PED_DEVICE_ATARAID:
                 if (!init_generic (dev, _("ATARAID Controller")))
                         goto error_free_arch_specific;
@@ -1512,6 +1584,11 @@ linux_new (const char* path)
                         goto error_free_arch_specific;
                 break;
 
+        case PED_DEVICE_RAM:
+                if (!init_generic (dev, _("RAM Drive")))
+                        goto error_free_arch_specific;
+                break;
+
         default:
                 ped_exception_throw (PED_EXCEPTION_NO_FEATURE,
                                 PED_EXCEPTION_CANCEL,
@@ -1584,9 +1661,9 @@ _flush_cache (PedDevice* dev)
 {
         LinuxSpecific*  arch_specific = LINUX_SPECIFIC (dev);
         int             i;
-       int             lpn = _device_get_partition_range(dev);
+        int             lpn = _device_get_partition_range(dev);
 
-        if (dev->read_only)
+        if (dev->read_only || dev->type == PED_DEVICE_RAM)
                 return;
         dev->dirty = 0;
 
@@ -1619,13 +1696,28 @@ retry:
         }
 }
 
+static int
+_device_open_ro (PedDevice* dev)
+{
+    int rc = _device_open (dev, RD_MODE);
+    if (rc)
+        dev->open_count++;
+    return rc;
+}
+
 static int
 linux_open (PedDevice* dev)
+{
+    return _device_open (dev, RW_MODE);
+}
+
+static int
+_device_open (PedDevice* dev, int flags)
 {
         LinuxSpecific*  arch_specific = LINUX_SPECIFIC (dev);
 
 retry:
-        arch_specific->fd = open (dev->path, RW_MODE);
+        arch_specific->fd = open (dev->path, flags);
 
         if (arch_specific->fd == -1) {
                 char*   rw_error_msg = strerror (errno);
@@ -1694,6 +1786,15 @@ linux_refresh_close (PedDevice* dev)
         return 1;
 }
 
+static int
+_device_close (PedDevice* dev)
+{
+    int rc = linux_close (dev);
+    if (dev->open_count > 0)
+        dev->open_count--;
+    return rc;
+}
+
 #if SIZEOF_OFF_T < 8
 
 static _syscall5(int,_llseek,
@@ -1815,6 +1916,7 @@ linux_read (const PedDevice* dev, void* buffer, PedSector start,
 
                         case PED_EXCEPTION_UNHANDLED:
                                 ped_exception_catch ();
+                                /* FALLTHROUGH */
                         case PED_EXCEPTION_CANCEL:
                                 return 0;
                         default:
@@ -1858,6 +1960,7 @@ linux_read (const PedDevice* dev, void* buffer, PedSector start,
 
                         case PED_EXCEPTION_UNHANDLED:
                                 ped_exception_catch ();
+                                /* FALLTHROUGH */
                         case PED_EXCEPTION_CANCEL:
                                 free(diobuf);
                                 return 0;
@@ -1957,6 +2060,7 @@ linux_write (PedDevice* dev, const void* buffer, PedSector start,
 
                         case PED_EXCEPTION_UNHANDLED:
                                 ped_exception_catch ();
+                                /* FALLTHROUGH */
                         case PED_EXCEPTION_CANCEL:
                                 return 0;
                         default:
@@ -2000,6 +2104,7 @@ linux_write (PedDevice* dev, const void* buffer, PedSector start,
 
                         case PED_EXCEPTION_UNHANDLED:
                                 ped_exception_catch ();
+                                /* FALLTHROUGH */
                         case PED_EXCEPTION_CANCEL:
                                 free(diobuf_start);
                                 return 0;
@@ -2071,6 +2176,7 @@ _do_fsync (PedDevice* dev)
 
                         case PED_EXCEPTION_UNHANDLED:
                                 ped_exception_catch ();
+                                /* FALLTHROUGH */
                         case PED_EXCEPTION_CANCEL:
                                 return 0;
                         default:
@@ -2235,9 +2341,9 @@ _probe_sys_block ()
 
                strcpy (dev_name, "/dev/");
                strcat (dev_name, dirent->d_name);
-               /* in /sys/block, '/'s are replaced with '!' or '.' */
+               /* in /sys/block, '/'s are replaced with '!' */
                for (ptr = dev_name; *ptr != '\0'; ptr++) {
-                       if (*ptr == '!' || *ptr == '.')
+                       if (*ptr == '!')
                                *ptr = '/';
                }
                _ped_device_probe (dev_name);
@@ -2304,6 +2410,7 @@ zasprintf (const char *format, ...)
   return r < 0 ? NULL : resultp;
 }
 
+#ifdef ENABLE_DEVICE_MAPPER
 static char *
 dm_canonical_path (PedDevice const *dev)
 {
@@ -2326,14 +2433,21 @@ dm_canonical_path (PedDevice const *dev)
 err:
         return NULL;
 }
+#endif
 
 static char*
 _device_get_part_path (PedDevice const *dev, int num)
 {
-        char *devpath = (dev->type == PED_DEVICE_DM
-                         ? dm_canonical_path (dev) : dev->path);
-        size_t path_len = strlen (devpath);
+        char *devpath;
+        size_t path_len;
         char *result;
+#ifdef ENABLE_DEVICE_MAPPER
+        devpath = (dev->type == PED_DEVICE_DM
+                         ? dm_canonical_path (dev) : dev->path);
+#else
+        devpath = dev->path;
+#endif
+        path_len = strlen (devpath);
         /* Check for devfs-style /disc => /partN transformation
            unconditionally; the system might be using udev with devfs rules,
            and if not the test is harmless. */
@@ -2349,8 +2463,10 @@ _device_get_part_path (PedDevice const *dev, int num)
                                  ? "p" : "");
                 result = zasprintf ("%s%s%d", devpath, p, num);
         }
+#ifdef ENABLE_DEVICE_MAPPER
         if (dev->type == PED_DEVICE_DM)
                 free (devpath);
+#endif
         return result;
 }
 
@@ -2497,9 +2613,12 @@ _blkpg_add_partition (PedDisk* disk, const PedPartition *part)
                 linux_part.length = part->geom.length * disk->dev->sector_size;
         }
         linux_part.pno = part->num;
-        strncpy (linux_part.devname, dev_name, BLKPG_DEVNAMELTH);
-        if (vol_name)
-                strncpy (linux_part.volname, vol_name, BLKPG_VOLNAMELTH);
+        strncpy (linux_part.devname, dev_name, BLKPG_DEVNAMELTH-1);
+        linux_part.devname[BLKPG_DEVNAMELTH-1] = '\0';
+        if (vol_name) {
+                strncpy (linux_part.volname, vol_name, BLKPG_VOLNAMELTH-1);
+                linux_part.volname[BLKPG_VOLNAMELTH-1] = '\0';
+        }
 
         free (dev_name);
 
@@ -2547,12 +2666,16 @@ static int _blkpg_resize_partition (PedDisk* disk, const PedPartition *part)
                                 if (walk->geom.start == part->geom.start+1)
                                         linux_part.length = 1;
                         }
-                } else linux_part.length = 1;
+                } else {
+                        linux_part.length = 1;
+                }
+                linux_part.length *= disk->dev->sector_size;
         }
         else
                 linux_part.length = part->geom.length * disk->dev->sector_size;
         linux_part.pno = part->num;
-        strncpy (linux_part.devname, dev_name, BLKPG_DEVNAMELTH);
+        strncpy (linux_part.devname, dev_name, BLKPG_DEVNAMELTH-1);
+        linux_part.devname[BLKPG_DEVNAMELTH-1] = '\0';
 
         free (dev_name);
 
@@ -2652,6 +2775,7 @@ _kernel_get_partition_start_and_length(PedPartition const *part,
                 int dev_fd = open (dev_name, O_RDONLY);
                 if (dev_fd != -1 && ioctl (dev_fd, HDIO_GETGEO, &geom)) {
                         *start = geom.start;
+                        close (dev_fd);
                         ok = true;
                 } else {
                         if (dev_fd != -1)
@@ -2763,6 +2887,12 @@ _dm_get_partition_start_and_length(PedPartition const *part,
         if (sscanf (params, "%d:%d %Ld", &major, &minor, start) != 3)
                 goto err;
         rc = 1;
+
+        /* device-mapper uses 512b units, make sure we return length and start in terms of the device's
+         * sector size.
+         */
+        *start /= (part->disk->dev->sector_size / PED_SECTOR_SIZE_DEFAULT);
+        *length /= (part->disk->dev->sector_size / PED_SECTOR_SIZE_DEFAULT);
 err:
         free (path);
         dm_task_destroy(task);
@@ -2810,8 +2940,10 @@ _dm_add_partition (PedDisk* disk, const PedPartition* part)
         /* Caution: dm_task_destroy frees dev_name.  */
         dm_task_destroy (task);
         task = NULL;
+        /* device-mapper uses 512b units, not the device's sector size */
         if ( ! (params = zasprintf ("%d:%d %lld", arch_specific->major,
-                                    arch_specific->minor, part->geom.start)))
+                                    arch_specific->minor,
+                                    part->geom.start * (disk->dev->sector_size / PED_SECTOR_SIZE_DEFAULT))))
                 goto err;
 
         task = dm_task_create (DM_DEVICE_CREATE);
@@ -2821,7 +2953,8 @@ _dm_add_partition (PedDisk* disk, const PedPartition* part)
         dm_task_set_name (task, vol_name);
         if (vol_uuid)
                 dm_task_set_uuid (task, vol_uuid);
-        dm_task_add_target (task, 0, part->geom.length,
+        /* device-mapper uses 512b units, not the device's sector size */
+        dm_task_add_target (task, 0, part->geom.length * (disk->dev->sector_size / PED_SECTOR_SIZE_DEFAULT),
                 "linear", params);
         if (!dm_task_set_cookie (task, &cookie, 0))
                 goto err;
@@ -2853,6 +2986,7 @@ _dm_resize_partition (PedDisk* disk, const PedPartition* part)
         char*           vol_name = NULL;
         const char*     dev_name = NULL;
         uint32_t        cookie = 0;
+        int             rc = 0;
 
         /* Get map name from devicemapper */
         struct dm_task *task = dm_task_create (DM_DEVICE_INFO);
@@ -2878,8 +3012,11 @@ _dm_resize_partition (PedDisk* disk, const PedPartition* part)
         /* Caution: dm_task_destroy frees dev_name.  */
         dm_task_destroy (task);
         task = NULL;
+
+        /* device-mapper uses 512b units, not the device's sector size */
         if ( ! (params = zasprintf ("%d:%d %lld", arch_specific->major,
-                                    arch_specific->minor, part->geom.start)))
+                                    arch_specific->minor,
+                                    part->geom.start * (disk->dev->sector_size / PED_SECTOR_SIZE_DEFAULT))))
                 goto err;
 
         task = dm_task_create (DM_DEVICE_RELOAD);
@@ -2887,10 +3024,12 @@ _dm_resize_partition (PedDisk* disk, const PedPartition* part)
                 goto err;
 
         dm_task_set_name (task, vol_name);
-        dm_task_add_target (task, 0, part->geom.length,
+        /* device-mapper uses 512b units, not the device's sector size */
+        dm_task_add_target (task, 0, part->geom.length * (disk->dev->sector_size / PED_SECTOR_SIZE_DEFAULT),
                 "linear", params);
-        if (!dm_task_set_cookie (task, &cookie, 0))
-                goto err;
+        /* NOTE: DM_DEVICE_RELOAD doesn't generate udev events, so no cookie is needed (it will freeze).
+         *       DM_DEVICE_RESUME does, so get a cookie and synchronize with udev.
+         */
         if (dm_task_run (task)) {
                 dm_task_destroy (task);
                 task = dm_task_create (DM_DEVICE_RESUME);
@@ -2899,10 +3038,8 @@ _dm_resize_partition (PedDisk* disk, const PedPartition* part)
                 dm_task_set_name (task, vol_name);
                 if (!dm_task_set_cookie (task, &cookie, 0))
                         goto err;
-                if (dm_task_run (task)) {
-                        free (params);
-                        free (vol_name);
-                        return 1;
+                if (_dm_task_run_wait (task, cookie)) {
+                        rc = 1;
                 }
         }
 err:
@@ -2911,7 +3048,7 @@ err:
                 dm_task_destroy (task);
         free (params);
         free (vol_name);
-        return 0;
+        return rc;
 }
 
 #endif
@@ -2945,12 +3082,15 @@ _disk_sync_part_table (PedDisk* disk)
                                                unsigned long long *length);
 
 
+#ifdef ENABLE_DEVICE_MAPPER
         if (disk->dev->type == PED_DEVICE_DM) {
                 add_partition = _dm_add_partition;
                 remove_partition = _dm_remove_partition;
                 resize_partition = _dm_resize_partition;
                 get_partition_start_and_length = _dm_get_partition_start_and_length;
-        } else {
+        } else
+#endif
+        {
                 add_partition = _blkpg_add_partition;
                 remove_partition = _blkpg_remove_partition;
 #ifdef BLKPG_RESIZE_PARTITION
@@ -3111,14 +3251,14 @@ linux_disk_commit (PedDisk* disk)
 {
         if (disk->dev->type != PED_DEVICE_FILE) {
 
-               /* We now require BLKPG support.  If this assertion fails,
-                  please write to the mailing list describing your system.
-                  Assuming it's never triggered, ...
-                  FIXME: remove this assertion in 2012.  */
-               assert (_have_blkpg ());
+                /* We now require BLKPG support.  If this assertion fails,
+                   please write to the mailing list describing your system.
+                   Assuming it's never triggered, ...
+                   FIXME: remove this assertion in 2012.  */
+                assert (_have_blkpg ());
 
-               if (!_disk_sync_part_table (disk))
-                       return 0;
+                if (!_disk_sync_part_table (disk))
+                        return 0;
         }
 
         return 1;
@@ -3164,15 +3304,10 @@ linux_get_optimum_alignment(const PedDevice *dev)
                && PED_DEFAULT_ALIGNMENT % optimal_io == 0)
            || (!optimal_io && minimum_io
                && PED_DEFAULT_ALIGNMENT % minimum_io == 0)
-           ) {
-            /* DASD needs to use minimum alignment */
-            if (dev->type == PED_DEVICE_DASD)
-                return linux_get_minimum_alignment(dev);
-
+           )
             return ped_alignment_new(
                     blkid_topology_get_alignment_offset(tp) / dev->sector_size,
                     PED_DEFAULT_ALIGNMENT / dev->sector_size);
-        }
 
         /* If optimal_io_size is 0 and we don't meet the other criteria
            for using the device.c default, return the minimum alignment. */
@@ -3185,6 +3320,59 @@ linux_get_optimum_alignment(const PedDevice *dev)
 }
 #endif
 
+#if defined __s390__ || defined __s390x__
+/**
+ * Check whether this device could be a DASD
+ *
+ * The device probing yields PED_DEVICE_DASD for native DASD transport
+ * If the block device uses a different transport (e.g. virtio)
+ * a simplified heuristic (assuming a model 3390 with 4K sectors)
+ * is applied (only) on s390x systems for this check.
+ *
+ * \return 1 if the geometry indicates this could be a DASD
+ *         and 0 otherwise
+ */
+static int
+_ped_device_like_dasd(const PedDevice *dev)
+{
+        return (dev->type == PED_DEVICE_DASD)
+          || (dev->hw_geom.heads == 15
+              && dev->hw_geom.sectors == 12
+              && (dev->hw_geom.cylinders
+                  * dev->hw_geom.heads
+                  * dev->hw_geom.sectors
+                  * dev->phys_sector_size
+                  == dev->length * dev->sector_size));
+}
+
+
+
+static PedAlignment*
+s390_get_minimum_alignment(const PedDevice *dev)
+{
+#if USE_BLKID
+        return linux_get_minimum_alignment(dev);
+#else
+        return ped_alignment_new(0,
+                                 dev->phys_sector_size
+                                 / dev->sector_size);
+#endif
+}
+
+static PedAlignment*
+s390_get_optimum_alignment(const PedDevice *dev)
+{
+        /* DASD needs to use minimum alignment */
+        if (_ped_device_like_dasd(dev))
+                return s390_get_minimum_alignment(dev);
+#if USE_BLKID
+        return linux_get_optimum_alignment(dev);
+#else
+        return NULL;
+#endif
+}
+#endif
+
 static PedDeviceArchOps linux_dev_ops = {
         _new:           linux_new,
         destroy:        linux_destroy,
@@ -3199,7 +3387,10 @@ static PedDeviceArchOps linux_dev_ops = {
         sync:           linux_sync,
         sync_fast:      linux_sync_fast,
         probe_all:      linux_probe_all,
-#if USE_BLKID
+#if defined __s390__ || defined __s390x__
+        get_minimum_alignment: s390_get_minimum_alignment,
+        get_optimum_alignment: s390_get_optimum_alignment,
+#elif USE_BLKID
         get_minimum_alignment: linux_get_minimum_alignment,
         get_optimum_alignment: linux_get_optimum_alignment,
 #endif
index 95def1fb509fa28de57e12e605abccbb93a8872d..b61cd759565fa7c9206b9b97519d2274101bd105 100644 (file)
@@ -1,5 +1,5 @@
 /* libparted - a library for manipulating disk partitions
-    Copyright (C) 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2009-2014, 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
index df0f381b5940dfac9fdaad2ba4ebb1ce3e800d35..f43d1fca8bb5a250edc9b64e00d4c6c6a5191d05 100644 (file)
@@ -1,6 +1,6 @@
  /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2007, 2009-2014, 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
index 6c26f0b390fbfcdd887205b9fed96b31523a3041..56f551517f05a55368eb07034cc0ee6105db755f 100644 (file)
@@ -1,6 +1,6 @@
  /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2007, 2009-2014, 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
index 1932aaed449693a98f7a23972c9b8a6475b8594b..ed24eaa71a061106a441475bb221e7847bf310b0 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000-2001, 2007, 2009-2014, 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
index 124796596a7624ef55891ed57a65b3acf680b784..1b562c877f956fcb53fb95d39714889b958f4cc5 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2000, 2005, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2000, 2005, 2007-2014, 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
index 74d3213cf6a55e83253ad6b9aa2b8c1c87a04fb8..c8cdcabf6788c482ddd65fd83fc5befd1661bc64 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000, 2007-2014, 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
@@ -432,7 +432,7 @@ closest (PedSector sector, PedSector a, PedSector b)
        if (b == -1)
                return a;
 
-       if (abs (sector - a) < abs (sector - b))
+       if (llabs (sector - a) < llabs (sector - b))
                return a;
        else
                return b;
index c47a9f559acfad4a7756b37dacb923bfd15fb19f..c4932ca660f771302708dcc7ed7bf959d8d72efb 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000, 2005, 2007, 2009-2014, 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
index cdcc117a4f23c30fa190ecb9126bfd92368b09f0..36fecd263fd0dcb5b3ba686600015f1aa424320e 100644 (file)
@@ -550,16 +550,10 @@ ped_device_get_optimum_alignment(const PedDevice *dev)
         /* If the arch specific code could not give as an alignment
            return a default value based on the type of device. */
         if (align == NULL) {
-                switch (dev->type) {
-                case PED_DEVICE_DASD:
-                        align = ped_device_get_minimum_alignment(dev);
-                        break;
-                default:
-                        /* Align to a grain of 1MiB (like vista / win7) */
-                        align = ped_alignment_new(0,
-                                                  (PED_DEFAULT_ALIGNMENT
-                                                  / dev->sector_size));
-                }
+                /* Align to a grain of 1MiB (like vista / win7) */
+                align = ped_alignment_new(0,
+                                          (PED_DEFAULT_ALIGNMENT
+                                           / dev->sector_size));
         }
 
         return align;
index fe82f449f7e757c243a065bc904aaa61b1a8f16e..5aaac5a45e2651c2027814350a52e9a503d414d2 100644 (file)
@@ -1,6 +1,7 @@
  /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2003, 2005, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2003, 2005, 2007-2014, 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
@@ -615,7 +616,7 @@ ped_disk_check (const PedDisk* disk)
                if (!geom)
                        continue;
 
-               length_error = abs (walk->geom.length - geom->length);
+               length_error = llabs (walk->geom.length - geom->length);
                max_length_error = PED_MAX (4096, walk->geom.length / 100);
                 bool ok = (ped_geometry_test_inside (&walk->geom, geom)
                            && length_error <= max_length_error);
index 40f0168bd5f559d5dc362676bacfd1f6e52b7876..8fbb437e1d2e5771cf7d82b0bee9468df09e7874 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2000, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2000, 2007-2014, 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
index 0f8e82194e9fc1352eb9127d928d045b4f6d5d24..69c95b6aa0f0d6018aa0a0f83c84c615f7c3a080 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2001, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2001, 2007-2014, 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
@@ -211,7 +211,7 @@ _geometry_error (const PedGeometry* a, const PedGeometry* b)
        PedSector       start_delta = a->start - b->start;
        PedSector       end_delta = a->end - b->end;
 
-       return abs (start_delta) + abs (end_delta);
+       return llabs (start_delta) + llabs (end_delta);
 }
 
 static PedFileSystemType*
index d3cc8bcc3d03f9c994f8dc0cd1982c201f7b583b..74f275a3fedb3366d888d9488c3c1c5568baf030 100644 (file)
@@ -1,5 +1,5 @@
 # This file is part of GNU Parted
-# Copyright (C) 1999-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2007, 2009-2014, 2019 Free Software Foundation, Inc.
 #
 # This file may be modified and/or distributed without restriction.
 
@@ -44,6 +44,7 @@ libfs_la_SOURCES =            \
   ntfs/ntfs.c                  \
   reiserfs/reiserfs.c          \
   reiserfs/reiserfs.h          \
+  udf/udf.c                    \
   ufs/ufs.c                    \
   xfs/platform_defs.h          \
   xfs/xfs.c                    \
@@ -61,7 +62,7 @@ EXTRA_DIST =                  \
 # For details, see the "Updating library version information" section of
 # "info libtool".
 CURRENT = 0
-REVISION = 1
+REVISION = 2
 AGE = 0
 
 sym_file = $(srcdir)/fsresize.sym
index cc1aae49ef307e22f30f5de86c52d70f6a1baa50..48c126689e015465dd684b01064fe25bcbcc1be7 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 @SET_MAKE@
 
 # This file is part of GNU Parted
-# Copyright (C) 1999-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2007, 2009-2014, 2019 Free Software Foundation, Inc.
 #
 # This file may be modified and/or distributed without restriction.
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,79 +93,101 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = libparted/fs
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(top_srcdir)/build-aux/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -165,6 +197,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -206,8 +239,8 @@ am_libfs_la_OBJECTS = amiga/affs.lo amiga/amiga.lo amiga/apfs.lo \
        amiga/asfs.lo amiga/a-interface.lo btrfs/btrfs.lo \
        ext2/interface.lo fat/bootsector.lo fat/fat.lo hfs/hfs.lo \
        hfs/probe.lo jfs/jfs.lo linux_swap/linux_swap.lo \
-       nilfs2/nilfs2.lo ntfs/ntfs.lo reiserfs/reiserfs.lo ufs/ufs.lo \
-       xfs/xfs.lo
+       nilfs2/nilfs2.lo ntfs/ntfs.lo reiserfs/reiserfs.lo udf/udf.lo \
+       ufs/ufs.lo xfs/xfs.lo
 libfs_la_OBJECTS = $(am_libfs_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -240,7 +273,28 @@ am__v_at_0 = @
 am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = amiga/$(DEPDIR)/a-interface.Plo \
+       amiga/$(DEPDIR)/affs.Plo amiga/$(DEPDIR)/amiga.Plo \
+       amiga/$(DEPDIR)/apfs.Plo amiga/$(DEPDIR)/asfs.Plo \
+       btrfs/$(DEPDIR)/btrfs.Plo ext2/$(DEPDIR)/interface.Plo \
+       fat/$(DEPDIR)/bootsector.Plo fat/$(DEPDIR)/fat.Plo \
+       hfs/$(DEPDIR)/hfs.Plo hfs/$(DEPDIR)/probe.Plo \
+       jfs/$(DEPDIR)/jfs.Plo linux_swap/$(DEPDIR)/linux_swap.Plo \
+       nilfs2/$(DEPDIR)/nilfs2.Plo ntfs/$(DEPDIR)/ntfs.Plo \
+       r/$(DEPDIR)/filesys.Plo r/fat/$(DEPDIR)/bootsector.Plo \
+       r/fat/$(DEPDIR)/calc.Plo r/fat/$(DEPDIR)/clstdup.Plo \
+       r/fat/$(DEPDIR)/context.Plo r/fat/$(DEPDIR)/count.Plo \
+       r/fat/$(DEPDIR)/fat.Plo r/fat/$(DEPDIR)/fatio.Plo \
+       r/fat/$(DEPDIR)/resize.Plo r/fat/$(DEPDIR)/table.Plo \
+       r/fat/$(DEPDIR)/traverse.Plo r/hfs/$(DEPDIR)/advfs.Plo \
+       r/hfs/$(DEPDIR)/advfs_plus.Plo r/hfs/$(DEPDIR)/cache.Plo \
+       r/hfs/$(DEPDIR)/file.Plo r/hfs/$(DEPDIR)/file_plus.Plo \
+       r/hfs/$(DEPDIR)/hfs.Plo r/hfs/$(DEPDIR)/journal.Plo \
+       r/hfs/$(DEPDIR)/probe.Plo r/hfs/$(DEPDIR)/reloc.Plo \
+       r/hfs/$(DEPDIR)/reloc_plus.Plo reiserfs/$(DEPDIR)/reiserfs.Plo \
+       udf/$(DEPDIR)/udf.Plo ufs/$(DEPDIR)/ufs.Plo \
+       xfs/$(DEPDIR)/xfs.Plo
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -286,6 +340,8 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -318,11 +374,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -337,18 +391,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -356,6 +417,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -401,6 +463,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -409,14 +475,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -462,6 +535,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -471,6 +546,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -478,26 +563,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -509,6 +609,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -520,6 +621,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -529,9 +631,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -561,6 +666,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -589,10 +695,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -603,17 +715,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -623,6 +740,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -633,6 +751,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -642,6 +761,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -654,13 +774,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -672,12 +797,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -692,6 +819,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -700,25 +829,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -729,20 +930,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -764,6 +978,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -789,12 +1004,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -811,13 +1028,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -831,52 +1052,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -911,16 +1155,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -929,6 +1174,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -946,8 +1192,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -975,6 +1226,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -984,21 +1236,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -1011,6 +1323,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -1019,14 +1332,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -1039,6 +1356,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1052,16 +1370,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1069,9 +1391,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1175,6 +1498,7 @@ libfs_la_SOURCES = \
   ntfs/ntfs.c                  \
   reiserfs/reiserfs.c          \
   reiserfs/reiserfs.h          \
+  udf/udf.c                    \
   ufs/ufs.c                    \
   xfs/platform_defs.h          \
   xfs/xfs.c                    \
@@ -1188,7 +1512,7 @@ EXTRA_DIST = hfs/DOC hfs/HISTORY hfs/TODO fsresize.sym
 # For details, see the "Updating library version information" section of
 # "info libtool".
 CURRENT = 0
-REVISION = 1
+REVISION = 2
 AGE = 0
 sym_file = $(srcdir)/fsresize.sym
 libparted_fs_resize_la_LDFLAGS = \
@@ -1259,14 +1583,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu libparted/fs/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1403,6 +1726,13 @@ reiserfs/$(DEPDIR)/$(am__dirstamp):
        @: > reiserfs/$(DEPDIR)/$(am__dirstamp)
 reiserfs/reiserfs.lo: reiserfs/$(am__dirstamp) \
        reiserfs/$(DEPDIR)/$(am__dirstamp)
+udf/$(am__dirstamp):
+       @$(MKDIR_P) udf
+       @: > udf/$(am__dirstamp)
+udf/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) udf/$(DEPDIR)
+       @: > udf/$(DEPDIR)/$(am__dirstamp)
+udf/udf.lo: udf/$(am__dirstamp) udf/$(DEPDIR)/$(am__dirstamp)
 ufs/$(am__dirstamp):
        @$(MKDIR_P) ufs
        @: > ufs/$(am__dirstamp)
@@ -1499,6 +1829,8 @@ mostlyclean-compile:
        -rm -f r/hfs/*.lo
        -rm -f reiserfs/*.$(OBJEXT)
        -rm -f reiserfs/*.lo
+       -rm -f udf/*.$(OBJEXT)
+       -rm -f udf/*.lo
        -rm -f ufs/*.$(OBJEXT)
        -rm -f ufs/*.lo
        -rm -f xfs/*.$(OBJEXT)
@@ -1507,45 +1839,52 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@amiga/$(DEPDIR)/a-interface.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@amiga/$(DEPDIR)/affs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@amiga/$(DEPDIR)/amiga.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@amiga/$(DEPDIR)/apfs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@amiga/$(DEPDIR)/asfs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@btrfs/$(DEPDIR)/btrfs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ext2/$(DEPDIR)/interface.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@fat/$(DEPDIR)/bootsector.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@fat/$(DEPDIR)/fat.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@hfs/$(DEPDIR)/hfs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@hfs/$(DEPDIR)/probe.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@jfs/$(DEPDIR)/jfs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@linux_swap/$(DEPDIR)/linux_swap.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@nilfs2/$(DEPDIR)/nilfs2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntfs/$(DEPDIR)/ntfs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/$(DEPDIR)/filesys.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/bootsector.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/calc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/clstdup.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/count.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/fat.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/fatio.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/resize.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/table.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/traverse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/advfs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/advfs_plus.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/cache.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/file.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/file_plus.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/hfs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/journal.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/probe.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/reloc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/reloc_plus.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@reiserfs/$(DEPDIR)/reiserfs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ufs/$(DEPDIR)/ufs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@xfs/$(DEPDIR)/xfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@amiga/$(DEPDIR)/a-interface.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@amiga/$(DEPDIR)/affs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@amiga/$(DEPDIR)/amiga.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@amiga/$(DEPDIR)/apfs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@amiga/$(DEPDIR)/asfs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@btrfs/$(DEPDIR)/btrfs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ext2/$(DEPDIR)/interface.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@fat/$(DEPDIR)/bootsector.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@fat/$(DEPDIR)/fat.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@hfs/$(DEPDIR)/hfs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@hfs/$(DEPDIR)/probe.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@jfs/$(DEPDIR)/jfs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@linux_swap/$(DEPDIR)/linux_swap.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@nilfs2/$(DEPDIR)/nilfs2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntfs/$(DEPDIR)/ntfs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/$(DEPDIR)/filesys.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/bootsector.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/calc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/clstdup.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/count.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/fat.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/fatio.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/resize.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/table.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/fat/$(DEPDIR)/traverse.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/advfs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/advfs_plus.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/cache.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/file.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/file_plus.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/hfs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/journal.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/probe.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/reloc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@r/hfs/$(DEPDIR)/reloc_plus.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@reiserfs/$(DEPDIR)/reiserfs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@udf/$(DEPDIR)/udf.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ufs/$(DEPDIR)/ufs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@xfs/$(DEPDIR)/xfs.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -1589,6 +1928,7 @@ clean-libtool:
        -rm -rf r/fat/.libs r/fat/_libs
        -rm -rf r/hfs/.libs r/hfs/_libs
        -rm -rf reiserfs/.libs reiserfs/_libs
+       -rm -rf udf/.libs udf/_libs
        -rm -rf ufs/.libs ufs/_libs
        -rm -rf xfs/.libs xfs/_libs
 
@@ -1644,7 +1984,10 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1733,6 +2076,8 @@ distclean-generic:
        -rm -f r/hfs/$(am__dirstamp)
        -rm -f reiserfs/$(DEPDIR)/$(am__dirstamp)
        -rm -f reiserfs/$(am__dirstamp)
+       -rm -f udf/$(DEPDIR)/$(am__dirstamp)
+       -rm -f udf/$(am__dirstamp)
        -rm -f ufs/$(DEPDIR)/$(am__dirstamp)
        -rm -f ufs/$(am__dirstamp)
        -rm -f xfs/$(DEPDIR)/$(am__dirstamp)
@@ -1747,7 +2092,46 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
        clean-noinstLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf amiga/$(DEPDIR) btrfs/$(DEPDIR) ext2/$(DEPDIR) fat/$(DEPDIR) hfs/$(DEPDIR) jfs/$(DEPDIR) linux_swap/$(DEPDIR) nilfs2/$(DEPDIR) ntfs/$(DEPDIR) r/$(DEPDIR) r/fat/$(DEPDIR) r/hfs/$(DEPDIR) reiserfs/$(DEPDIR) ufs/$(DEPDIR) xfs/$(DEPDIR)
+               -rm -f amiga/$(DEPDIR)/a-interface.Plo
+       -rm -f amiga/$(DEPDIR)/affs.Plo
+       -rm -f amiga/$(DEPDIR)/amiga.Plo
+       -rm -f amiga/$(DEPDIR)/apfs.Plo
+       -rm -f amiga/$(DEPDIR)/asfs.Plo
+       -rm -f btrfs/$(DEPDIR)/btrfs.Plo
+       -rm -f ext2/$(DEPDIR)/interface.Plo
+       -rm -f fat/$(DEPDIR)/bootsector.Plo
+       -rm -f fat/$(DEPDIR)/fat.Plo
+       -rm -f hfs/$(DEPDIR)/hfs.Plo
+       -rm -f hfs/$(DEPDIR)/probe.Plo
+       -rm -f jfs/$(DEPDIR)/jfs.Plo
+       -rm -f linux_swap/$(DEPDIR)/linux_swap.Plo
+       -rm -f nilfs2/$(DEPDIR)/nilfs2.Plo
+       -rm -f ntfs/$(DEPDIR)/ntfs.Plo
+       -rm -f r/$(DEPDIR)/filesys.Plo
+       -rm -f r/fat/$(DEPDIR)/bootsector.Plo
+       -rm -f r/fat/$(DEPDIR)/calc.Plo
+       -rm -f r/fat/$(DEPDIR)/clstdup.Plo
+       -rm -f r/fat/$(DEPDIR)/context.Plo
+       -rm -f r/fat/$(DEPDIR)/count.Plo
+       -rm -f r/fat/$(DEPDIR)/fat.Plo
+       -rm -f r/fat/$(DEPDIR)/fatio.Plo
+       -rm -f r/fat/$(DEPDIR)/resize.Plo
+       -rm -f r/fat/$(DEPDIR)/table.Plo
+       -rm -f r/fat/$(DEPDIR)/traverse.Plo
+       -rm -f r/hfs/$(DEPDIR)/advfs.Plo
+       -rm -f r/hfs/$(DEPDIR)/advfs_plus.Plo
+       -rm -f r/hfs/$(DEPDIR)/cache.Plo
+       -rm -f r/hfs/$(DEPDIR)/file.Plo
+       -rm -f r/hfs/$(DEPDIR)/file_plus.Plo
+       -rm -f r/hfs/$(DEPDIR)/hfs.Plo
+       -rm -f r/hfs/$(DEPDIR)/journal.Plo
+       -rm -f r/hfs/$(DEPDIR)/probe.Plo
+       -rm -f r/hfs/$(DEPDIR)/reloc.Plo
+       -rm -f r/hfs/$(DEPDIR)/reloc_plus.Plo
+       -rm -f reiserfs/$(DEPDIR)/reiserfs.Plo
+       -rm -f udf/$(DEPDIR)/udf.Plo
+       -rm -f ufs/$(DEPDIR)/ufs.Plo
+       -rm -f xfs/$(DEPDIR)/xfs.Plo
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -1793,7 +2177,46 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf amiga/$(DEPDIR) btrfs/$(DEPDIR) ext2/$(DEPDIR) fat/$(DEPDIR) hfs/$(DEPDIR) jfs/$(DEPDIR) linux_swap/$(DEPDIR) nilfs2/$(DEPDIR) ntfs/$(DEPDIR) r/$(DEPDIR) r/fat/$(DEPDIR) r/hfs/$(DEPDIR) reiserfs/$(DEPDIR) ufs/$(DEPDIR) xfs/$(DEPDIR)
+               -rm -f amiga/$(DEPDIR)/a-interface.Plo
+       -rm -f amiga/$(DEPDIR)/affs.Plo
+       -rm -f amiga/$(DEPDIR)/amiga.Plo
+       -rm -f amiga/$(DEPDIR)/apfs.Plo
+       -rm -f amiga/$(DEPDIR)/asfs.Plo
+       -rm -f btrfs/$(DEPDIR)/btrfs.Plo
+       -rm -f ext2/$(DEPDIR)/interface.Plo
+       -rm -f fat/$(DEPDIR)/bootsector.Plo
+       -rm -f fat/$(DEPDIR)/fat.Plo
+       -rm -f hfs/$(DEPDIR)/hfs.Plo
+       -rm -f hfs/$(DEPDIR)/probe.Plo
+       -rm -f jfs/$(DEPDIR)/jfs.Plo
+       -rm -f linux_swap/$(DEPDIR)/linux_swap.Plo
+       -rm -f nilfs2/$(DEPDIR)/nilfs2.Plo
+       -rm -f ntfs/$(DEPDIR)/ntfs.Plo
+       -rm -f r/$(DEPDIR)/filesys.Plo
+       -rm -f r/fat/$(DEPDIR)/bootsector.Plo
+       -rm -f r/fat/$(DEPDIR)/calc.Plo
+       -rm -f r/fat/$(DEPDIR)/clstdup.Plo
+       -rm -f r/fat/$(DEPDIR)/context.Plo
+       -rm -f r/fat/$(DEPDIR)/count.Plo
+       -rm -f r/fat/$(DEPDIR)/fat.Plo
+       -rm -f r/fat/$(DEPDIR)/fatio.Plo
+       -rm -f r/fat/$(DEPDIR)/resize.Plo
+       -rm -f r/fat/$(DEPDIR)/table.Plo
+       -rm -f r/fat/$(DEPDIR)/traverse.Plo
+       -rm -f r/hfs/$(DEPDIR)/advfs.Plo
+       -rm -f r/hfs/$(DEPDIR)/advfs_plus.Plo
+       -rm -f r/hfs/$(DEPDIR)/cache.Plo
+       -rm -f r/hfs/$(DEPDIR)/file.Plo
+       -rm -f r/hfs/$(DEPDIR)/file_plus.Plo
+       -rm -f r/hfs/$(DEPDIR)/hfs.Plo
+       -rm -f r/hfs/$(DEPDIR)/journal.Plo
+       -rm -f r/hfs/$(DEPDIR)/probe.Plo
+       -rm -f r/hfs/$(DEPDIR)/reloc.Plo
+       -rm -f r/hfs/$(DEPDIR)/reloc_plus.Plo
+       -rm -f reiserfs/$(DEPDIR)/reiserfs.Plo
+       -rm -f udf/$(DEPDIR)/udf.Plo
+       -rm -f ufs/$(DEPDIR)/ufs.Plo
+       -rm -f xfs/$(DEPDIR)/xfs.Plo
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1814,20 +2237,22 @@ uninstall-am: uninstall-libLTLIBRARIES
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
-       clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
-       cscopelist-am ctags ctags-am distclean distclean-compile \
-       distclean-generic distclean-libtool distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-libLTLIBRARIES \
-       install-man install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
-       uninstall-am uninstall-libLTLIBRARIES
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+       clean-generic clean-libLTLIBRARIES clean-libtool \
+       clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am \
+       install-libLTLIBRARIES install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
+
+.PRECIOUS: Makefile
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 1ba12a64c67dcd49558a10c9dbca50f8feda0785..a6b92f9d8d2202b33c1a1bf0300a72c901cf6298 100644 (file)
@@ -1,6 +1,7 @@
 /*
     interface.c -- parted support amiga file systems
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index c09e8ccab3c25c34b1e5f498fe57640723e22fca..1fde17c1c2f0e814e91b4c6e957b15f2dc705065 100644 (file)
@@ -1,6 +1,7 @@
 /*
     affs.c -- parted support for affs file systems
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
@@ -91,8 +92,6 @@ _generic_affs_probe (PedGeometry* geom, uint32_t kind)
        len = geom->length / blocksize - reserved;
        pos = (len - 1) / 2;
        root = geom->start + (pos + reserved) * blocksize;
-       printf ("Pralloc = %d, Reserved = %d, blocksize = %d, root block at %llu\n",
-               prealloc, reserved, blocksize, root);
 
        if (!ped_device_read (geom->dev, block, root, blocksize)) {
                ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL,
index a089f5d6dbcdae2c4cb2c5c07a9ed5f922fca1ac..9e9505c8bfb23ee7391901aea2b66d241aeeb9f5 100644 (file)
@@ -1,7 +1,8 @@
 
 /*
     affs.h -- parted suppoer for affs filesystems header files
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index 2e974c257749111b41c6b633fee08ccb15a9b9ea..be10dae7a25f42b799a2ce35d2e1d78bf8476f85 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted/fs_amiga - amiga file system support.
-    Copyright (C) 2000-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000-2001, 2007, 2009-2014, 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
index 34a7d8c0079bd486d736477059ca054fdc27f65b..eb520ab9f9ab7878edfb0167b0f6844645806822 100644 (file)
@@ -1,6 +1,7 @@
 /*
     util.h -- amiga partition table headers.
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index c21a4fce4026e01f0c93519c9db19f08245e5303..775e77ea87a954a751ff8c3145a291466e1b4f2e 100644 (file)
@@ -1,6 +1,7 @@
 /*
     apfs.c -- parted support for apfs file systems
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index 6ab9eedbee0bd7f705826e8fb18dd380e2dd889e..103bfbec17bcc859f72f3c01682f571ca1a8548e 100644 (file)
@@ -1,6 +1,7 @@
 /*
     apfs.h -- parted support for apfs file systems header files
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index 0dbf9d9a1624ec0cd6293ba6539fd049c112c550..118d204bac01270f69d3d162806be43d0ac2bb65 100644 (file)
@@ -1,6 +1,7 @@
 /*
     asfs.c -- parted asfs filesystem support
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index 0e51cd33156c7eaa7d533be94a0eeb0daca7751c..2ac8c2a621290e72a09f6cc18070a621c044ae8b 100644 (file)
@@ -1,6 +1,7 @@
 /*
     asfs.h -- parted asfs filesystem support header files
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index a5762c0dddde429260033040e94dee9577f9bc70..881550849e19637bec5d1e6cac67907fdbe9b1e0 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2013-2014 Free Software Foundation, Inc.
+    Copyright (C) 2013-2014, 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
index 0dd87eb9187f1b26862d30b8937bbf07b5ca0bdd..a44fd4eda223ca92eeb7d77bb250e61b6607ce3c 100644 (file)
@@ -1,6 +1,7 @@
 /*
     ext2.h -- ext2 header
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index 6784106f12a62e1fcee951d698816d9dc7b9b16b..ac1b6a02a8e817307f94c3d00b25e73ac86a6802 100644 (file)
@@ -15,7 +15,7 @@
 
 /*
  * EXT2_*_*() convienience macros added by Andrew Clausen <clausen@gnu.org>
- * Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2000, 2009-2014, 2019 Free Software Foundation, Inc.
  */
 
 #ifndef _EXT2_FS_H
index 890a47b06a9b511cb4443010dc633cab97dd2d5f..a49568bd14fdc828521755c5e3f0fd201861eeee 100644 (file)
@@ -1,6 +1,6 @@
 /*
     interface.c -- parted binding glue to libext2resize
-    Copyright (C) 1998-2000, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007-2014, 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
@@ -41,7 +41,7 @@ _ext2_generic_probe (PedGeometry* geom, int expect_ext_ver)
        struct ext2_super_block *sb = (struct ext2_super_block *)(sb_v + 1024);
 
        if (EXT2_SUPER_MAGIC(*sb) == EXT2_SUPER_MAGIC_CONST) {
-               PedSector block_size = 1 << (EXT2_SUPER_LOG_BLOCK_SIZE(*sb) + 1);
+               PedSector block_size = (EXT2_MIN_BLOCK_SIZE << (EXT2_SUPER_LOG_BLOCK_SIZE(*sb))) / geom->dev->sector_size;
                PedSector block_count = EXT2_SUPER_BLOCKS_COUNT(*sb);
                PedSector group_blocks = EXT2_SUPER_BLOCKS_PER_GROUP(*sb);
                PedSector group_nr = EXT2_SUPER_BLOCK_GROUP_NR(*sb);
index cc4aeecba948af23bf92840834e09e4bda5cdfcd..0c3ae77d391140934efe20903e5f5a4369a17c16 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2002, 2004, 2007, 2009-2014 Free Software
+    Copyright (C) 1998-2000, 2002, 2004, 2007, 2009-2014, 2019 Free Software
     Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
index f48d542c03fb7a895d18b019592a7c97e37a578b..191c11d3f13ef19e0d424f4de4a4a0b8d6999696 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index 379930cb01160ff40262c26c3de4ee9b01de3f95..aa07bac515f62e98cae2cabaa2223ea84bfd0f23 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted
-    Copyright (C) 1999-2000, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2000, 2007-2014, 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
index 194a8ba40d6ce9483129d99d368f541af9d6f24c..7ef7f31027c0cc3bfe42d09763eb399be5efe9de 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted
-    Copyright (C) 1998-2001, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2001, 2007-2014, 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
index 8f8ca0698cdbe62eb16e622a7c6104ad62d773f3..bfb55886ec5e74b388bb681aa22335ea645b55f6 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2001, 2007, 2009-2014, 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
index 1555610e3a00e1a41c96d2bdd13f1672192aeb5c..84d738d772e77722b0ed8a044d9d97693ea902e1 100644 (file)
@@ -1,7 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000, 2003-2005, 2007, 2009-2014 Free Software Foundation,
-    Inc.
+    Copyright (C) 2000, 2003-2005, 2007, 2009-2014, 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
index 6cd27cade5e0781343016be2229729f3a8ef01b5..4fa2e95aad1085a3422f4aaf2f5669491abdb6ea 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2003-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2003-2005, 2007, 2009-2014, 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
index ec62c449cb87c51632436bfac6e329c2e31b8869..3b798863556015cd25dc96be45ab267c1b663ce1 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
index 10c59650f5d53e8d8cf95cf58bdddcdff44ecf98..61c2f9f5858d75c3992b07b67132f0100ec109b6 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
index 47b2f07fb3c9d0c0f20608ef7aad4c74d33369f9..b15a963fc10e235b7f63fd08f3d3209a05eaa84f 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2001, 2007, 2009-2014, 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
index ae4fa6ed17490d69a1b7e2fe1a10614dc86b3081..a4895637ed17c52f080d4e564c148a5ff28bc64e 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2000, 2002, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2000, 2002, 2007-2014, 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
index b42a4640e4884b5a1a61854f887a78c278492683..3ca48087a3d2f59b2b6f5b4ef57ded4df73339f6 100644 (file)
@@ -3,7 +3,7 @@
  *
  *  Written by  Jiro SEKIBA <jir@unicus.jp>
  *
- *  Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ *  Copyright (C) 2011-2014, 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
@@ -89,7 +89,7 @@ is_valid_nilfs_sb(struct nilfs2_super_block *sb)
                return 0;
 
        bytes = PED_LE16_TO_CPU(sb->s_bytes);
-       if (bytes > 1024)
+       if (bytes > 1024 || bytes < sumoff - 4)
                return 0;
 
        crc = __efi_crc32(sb, sumoff, PED_LE32_TO_CPU(sb->s_crc_seed));
@@ -113,11 +113,13 @@ nilfs2_probe (PedGeometry* geom)
        const int sectors = (4096 + geom->dev->sector_size - 1) /
                             geom->dev->sector_size;
        char *buf = alloca (sectors * geom->dev->sector_size);
-       void *buff2 = alloca (geom->dev->sector_size);
+       const int sectors2 = (1024 + geom->dev->sector_size -1 ) /
+                             geom->dev->sector_size;
+       void *buff2 = alloca (sectors2 * geom->dev->sector_size);
 
        if (ped_geometry_read(geom, buf, 0, sectors))
                sb = (struct nilfs2_super_block *)(buf+1024);
-       if (ped_geometry_read(geom, buff2, sb2off, 1))
+       if (ped_geometry_read(geom, buff2, sb2off, sectors2))
                sb2 = buff2;
 
        if ((!sb || !is_valid_nilfs_sb(sb)) &&
index d533b3ceb1a14d9d7f91b7b3ee836bfcf51b5dad..3bfb28e4a98372f3643250905125ae6964c1c9af 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000, 2007, 2009-2014, 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
index 1d2b601e320b7e99995dd1a3f0caa95b347afaae..46d5926496d1cc6da9f0a1b5f08d957e29543079 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2002, 2004, 2007, 2009-2014 Free Software
+    Copyright (C) 1998-2000, 2002, 2004, 2007, 2009-2014, 2019 Free Software
     Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
@@ -125,18 +125,6 @@ fat_boot_sector_analyse (FatBootSector* bs, PedFileSystem* fs)
 
        PED_ASSERT (bs != NULL);
 
-       if (PED_LE16_TO_CPU (bs->sector_size) != 512) {
-               if (ped_exception_throw (
-                       PED_EXCEPTION_BUG,
-                       PED_EXCEPTION_IGNORE_CANCEL,
-                       _("This file system has a logical sector size of %d.  "
-                       "GNU Parted is known not to work properly with sector "
-                       "sizes other than 512 bytes."),
-                       (int) PED_LE16_TO_CPU (bs->sector_size))
-                               != PED_EXCEPTION_IGNORE)
-                       return 0;
-       }
-
        fs_info->logical_sector_size = PED_LE16_TO_CPU (bs->sector_size) / 512;
 
        fs_info->sectors_per_track = PED_LE16_TO_CPU (bs->secs_track);
@@ -281,8 +269,13 @@ fat_boot_sector_analyse (FatBootSector* bs, PedFileSystem* fs)
 
 #ifndef DISCOVER_ONLY
 int
-fat_boot_sector_set_boot_code (FatBootSector* bs)
+fat_boot_sector_set_boot_code (FatBootSector** bsp, const PedFileSystem* fs)
 {
+       FatSpecific*    fs_info = FAT_SPECIFIC (fs);
+
+       PED_ASSERT (bsp != NULL);
+       *bsp = ped_malloc (fs->geom->dev->sector_size);
+       FatBootSector *bs = *bsp;
        PED_ASSERT (bs != NULL);
 
        memset (bs, 0, 512);
@@ -297,8 +290,8 @@ fat_boot_sector_generate (FatBootSector** bsp, const PedFileSystem* fs)
        FatSpecific*    fs_info = FAT_SPECIFIC (fs);
 
        PED_ASSERT (bsp != NULL);
-       *bsp = ped_malloc (fs->geom->dev->sector_size);
        FatBootSector *bs = *bsp;
+       PED_ASSERT (bs != NULL);
 
        memcpy (bs->system_id, "MSWIN4.1", 8);
        bs->sector_size = PED_CPU_TO_LE16 (fs_info->logical_sector_size * 512);
index e92842c2205a40e3ffd37594b565110cb51fc43c..6b0363f2ef479dc348abff8262d0278096a35278 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
@@ -120,7 +121,7 @@ int fat_boot_sector_read (FatBootSector** bs, const PedGeometry* geom);
 FatType fat_boot_sector_probe_type (const FatBootSector* bs,
                                    const PedGeometry* geom);
 int fat_boot_sector_analyse (FatBootSector* bs, PedFileSystem* fs);
-int fat_boot_sector_set_boot_code (FatBootSector* bs);
+int fat_boot_sector_set_boot_code (FatBootSector** bs, const PedFileSystem* fs);
 int fat_boot_sector_generate (FatBootSector** bs, const PedFileSystem* fs);
 int fat_boot_sector_write (const FatBootSector* bs, PedFileSystem* fs);
 
index 43a094ba677b7af9ba339a55b8b9fe6dd1347a8a..e5240071620d1c1a32a5491ab8f003bf21bda656 100644 (file)
@@ -1,7 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2002, 2007, 2009-2014 Free Software Foundation,
-    Inc.
+    Copyright (C) 1998-2000, 2002, 2007, 2009-2014, 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
index f1bfa7e5386f2699c24ec51f5d590f5c7a372025..4c53193d93551f38eaac849a85e95ba158285650 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index 437948dae540a48a1452148db5f9f37f9b10c0dd..7456f6080e46a8cf7488974ef9a62eeb54eaa92e 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2001, 2007, 2009-2014, 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
index 761d5cadabaebd8d020be9be64d4678956a52629..5b5f63c0e6e90bb83cecef2fd047810f48c619a3 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted
-    Copyright (C) 1999, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999, 2007, 2009-2014, 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
index f67547ac9ff199cc2335428eb33ad034a8c95424..5c27d09585e6ae658e0c75a4e6c5e3a2ab46fe2c 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index 7a9fd970de92b7cabbf44194ae0d7518049163ba..8d0f6a5b3800f55b140557cf17525641836e15d2 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1999-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2000, 2007, 2009-2014, 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
index 7949e470f97f314d8743ac43f1b27076ee32d507..250e80d7bcee8ab6e127d2d4189dd54b63ed9952 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
@@ -219,7 +220,7 @@ flag_traverse_dir (FatTraverseInfo* trav_info) {
        PedFileSystem*          fs = trav_info->fs;
        FatDirEntry*            this_entry;
        FatTraverseInfo*        subdir_trav_info;
-       char                    file_name [512];
+       char                    file_name [4096];
        char*                   file_name_start;
        FatCluster              first_cluster;
        PedSector               size;
index 379930cb01160ff40262c26c3de4ee9b01de3f95..aa07bac515f62e98cae2cabaa2223ea84bfd0f23 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted
-    Copyright (C) 1999-2000, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2000, 2007-2014, 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
index 5aa72d81d1b17dca15170e234d7f673f24f1d301..ad57d36a24a3a85d55b8f6bb15ca19d438cd4419 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted
-    Copyright (C) 1998-2001, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2001, 2007-2014, 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
@@ -305,12 +305,12 @@ fat_create (PedGeometry* geom, FatType fat_type, PedTimer* timer)
                memset (fs_info->buffer, 0, fs_info->cluster_size);
                if (!fat_write_cluster (fs, fs_info->buffer,
                                        fs_info->root_cluster))
-                       return 0;
+                       goto error_free_buffers;
        }
 
        fs_info->serial_number = generate_random_uint32 ();
 
-       if (!fat_boot_sector_set_boot_code (fs_info->boot_sector))
+       if (!fat_boot_sector_set_boot_code (&fs_info->boot_sector, fs))
                goto error_free_buffers;
        if (!fat_boot_sector_generate (&fs_info->boot_sector, fs))
                goto error_free_buffers;
index 704ae55147cf67f82594c2b92786f62ccbf40bc4..efa16520e5eaa01aa8eb125d60f66e7dc59f44b3 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2001, 2007, 2009-2014, 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
index 5c3a440f0b2d2dc98a3093dae42cc3213aaf8f29..54d150e75901b63a5933d3df497ca6e3f5d7835d 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index 11401f249417bf18ce1d35bd2582a77070c37457..1302ce3f8c875b6ed5a38031f9aaa9cafb16bc8d 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index 919acf0ef2c9d11df2d914fa2a3442e72711b075..71113d4133e36dceae6dffb46225b94caf8d065d 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007-2014, 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
@@ -177,10 +177,13 @@ fat_convert_directory (FatOpContext* ctx, FatTraverseInfo* old_trav,
                                && old_dir_entry->name [0] != '.') {
                        sub_old_dir_trav
                            = fat_traverse_directory (old_trav, old_dir_entry);
+                       if (!sub_old_dir_trav) return 0;
                        sub_new_dir_trav
                            = fat_traverse_directory (new_trav, new_dir_entry);
-                       if (!sub_old_dir_trav || !sub_new_dir_trav)
+                       if (!sub_new_dir_trav) {
+                               fat_traverse_complete (sub_old_dir_trav);
                                return 0;
+                       }
 
                        if (!fat_convert_directory (ctx, sub_old_dir_trav,
                                                    sub_new_dir_trav))
@@ -315,17 +318,21 @@ fat_construct_converted_tree (FatOpContext* ctx)
        if (new_fs_info->fat_type == FAT_TYPE_FAT32) {
                new_trav_info = fat_traverse_begin (ctx->new_fs,
                                            new_fs_info->root_cluster, "\\");
+               if (!new_trav_info) return 0;
                old_trav_info = fat_traverse_begin (ctx->old_fs, FAT_ROOT,
                                                    "\\");
        } else {
                fat_clear_root_dir (ctx->new_fs);
                new_trav_info = fat_traverse_begin (ctx->new_fs, FAT_ROOT,
                                                    "\\");
+               if (!new_trav_info) return 0;
                old_trav_info = fat_traverse_begin (ctx->old_fs,
                                            old_fs_info->root_cluster, "\\");
        }
-       if (!new_trav_info || !old_trav_info)
+       if (!old_trav_info) {
+               fat_traverse_complete (new_trav_info);
                return 0;
+       }
        if (!fat_convert_directory (ctx, old_trav_info, new_trav_info))
                return 0;
        return 1;
@@ -668,11 +675,17 @@ create_resize_context (PedFileSystem* fs, const PedGeometry* new_geom)
 
 /* preserve boot code, etc. */
        new_fs_info->boot_sector = ped_malloc (new_geom->dev->sector_size);
-       new_fs_info->info_sector = ped_malloc (new_geom->dev->sector_size);
        memcpy (new_fs_info->boot_sector, fs_info->boot_sector,
                new_geom->dev->sector_size);
-       memcpy (new_fs_info->info_sector, fs_info->info_sector,
-               new_geom->dev->sector_size);
+       new_fs_info->info_sector = NULL;
+       if (fs_info->fat_type == FAT_TYPE_FAT32)
+       {
+               PED_ASSERT (fs_info->info_sector != NULL);
+               new_fs_info->info_sector =
+                       ped_malloc (new_geom->dev->sector_size);
+               memcpy (new_fs_info->info_sector, fs_info->info_sector,
+                       new_geom->dev->sector_size);
+       }
 
        new_fs_info->logical_sector_size = fs_info->logical_sector_size;
        new_fs_info->sector_count = new_geom->length;
index adb78a654510545a468727b37eba813974363260..fe8e040312a08b276baead7d08632592d953bd25 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007-2014, 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
index b6517ae6ee21a42895019ce9237aa08849612f47..2527d9a8663ec08d1c11f5b599f1047ea1483083 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007, 2009-2014, 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
index f2efbdff02fb46fdfef434188a8887fb836297d4..fc8a795bd2f1d79204765553414fbe102068e9b3 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2005, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2005, 2007-2014, 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
index 1c42f07303f1b90b46589f3e5c2f56043cd7e213..f2fc2d8cc475e747b95252616d409754e85195a0 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted
-    Copyright (C) 1998-2000, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2000, 2007-2014, 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
index d5d56a7c64f4ae957fe1b464a0ae35e6d4fb4e71..d57447c87220285a2a61a8f40c5cc958958e51d4 100644 (file)
@@ -1,5 +1,5 @@
 /* libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2001, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2001, 2007-2014, 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
index 239847868916810712e3311cb2f0d933c9f9e377..d0afa30ef69d421d5e22a9b1b9ff14ba04e669f1 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
index 60c375ddd6dd582128773ec4e567d25ff5e3f7d1..b7ec4bcc5dd69e5693f14b80c404dff9c00df73c 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004, 2007, 2009-2014, 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
index 0c5f1c3881bb84886c21bb5c7436517bdface455..5453c25f087f348ebd3c132f5d4d70e364990c7a 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
index 130ba65c9e135f50320a136cce10893406274f16..ae5982d1150dc50bddf51603afe7ec99d5aa736b 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004, 2007, 2009-2014, 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
index 68be36669719aa21f7b458bf98b3cd715ac95415..5e5b071aa04dfe2f6b61f041357d6d322a0aa825 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
@@ -210,8 +211,8 @@ hfsc_cache_move_extent(HfsCPrivateCache* cache, uint32_t old_start,
                ped_exception_throw (
                        PED_EXCEPTION_BUG,
                        PED_EXCEPTION_CANCEL,
-                       _("Trying to move an extent from block Ox%X to block "
-                         "Ox%X, but another one already exists at this "
+                       _("Trying to move an extent from block 0x%X to block "
+                         "0x%X, but another one already exists at this "
                          "position.  This should not happen!"),
                        old_start, new_start);
                return NULL;
index a71cd329e7210c071faeb854c03c733419d19b2f..98f615583f4031dffe08884fe7a6c524233be305 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
index cfb7136415e68589a15fa983f703845228e5ca81..fa8f0ff32c1811b6497545a0b160795480a8920b 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
index 6cbc1de26f3d765acdb846ddadcb70bf278480c5..12e1c6b0d1472b276da40d32f6aafbd420f7749c 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004, 2007, 2009-2014, 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
index 33c7797770823c8e0e183ba3533a43032e5fe449..95c5643ba870d121b88537fa7bac46d7df35720d 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
index ec717e72aee5abf78d9c515bd00dda62e25eae3c..685920d2332c949af611732383b6e74dad7874aa 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004, 2007, 2009-2014, 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
index a1c37cc7c1f4c32d861ea7c4d0c46b308181538d..6be03903d61dc4e8ad320e10964856813d567f78 100644 (file)
@@ -1,7 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000, 2003-2005, 2007, 2009-2014 Free Software Foundation,
-    Inc.
+    Copyright (C) 2000, 2003-2005, 2007, 2009-2014, 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
@@ -985,6 +985,7 @@ hfsplus_resize (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer)
        /* Resize the HFS+ volume */
        if (!hfsplus_volume_resize (fs, embedded_geom, timer_plus)) {
                if (timer_plus != timer) ped_timer_destroy_nested (timer_plus);
+               if (priv_data->wrapper) ped_geometry_destroy (embedded_geom);
                ped_exception_throw (
                        PED_EXCEPTION_ERROR,
                        PED_EXCEPTION_CANCEL,
index 6cd27cade5e0781343016be2229729f3a8ef01b5..4fa2e95aad1085a3422f4aaf2f5669491abdb6ea 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2003-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2003-2005, 2007, 2009-2014, 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
index 9080e14184bde0b1dbbe9729a54ab72fb4c54aa6..157e6d55ff2d97b7882db0c269992795592b57fd 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
@@ -257,7 +258,7 @@ hfsj_replay_journal(PedFileSystem* fs)
                        PED_EXCEPTION_NO_FEATURE,
                        PED_EXCEPTION_CANCEL,
                        _("Journal stored outside of the volume are "
-                         "not supported.  Try to desactivate the "
+                         "not supported.  Try to deactivate the "
                          "journal and run Parted again."));
                return 0;
        }
index 117b440f0d4b69899e2112b73f432c2935ccb4b5..2dffa3ab12fee158d8b2a9b2774b15a3a957b5ee 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004, 2007, 2009-2014, 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
index a1c7f4e0033fba7fdcf48b80b4b11eb53c0beead..c9546fa2f11861f784a74edabef4131b84262deb 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
index 734f1020803406ecfe8f34f8c76d3a662a47ce7f..ef223720c0ab76326200d3aff948b02334c49156 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
index a4af6d362d03fd3bf2fd9b9ca91277cbc6f95b42..0b8ddc144289aea1e8e945d5fea95ae64b894eae 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
index 74a03ceab214a58076aef098c9548a2980197eb3..fc14b28a47052f732ac47175ae1e9345ff50bad3 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004, 2007, 2009-2014, 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
index 5f4d0b974acf71b2f5a75a4aaa187d7cb8b9a33b..cebadbed614cf0d8c281c257e15c7e061ca8df7c 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004-2005, 2007, 2009-2014, 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
index 4e1746216e357878b6b1ae4edf803dc2df550495..ff40f8abfb31a000f14d3c34f19708563beed47e 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2004, 2007, 2009-2014, 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
index 2efcdf300a9f24160d79c57f0f9f39c979ccce70..878f30fafa707e519dcae398ebdf00160d522133 100644 (file)
@@ -1,6 +1,7 @@
 /*
-    reiserfs.c -- libparted / libreiserfs glue
-    Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+    reiserfs.c -- ReiserFS detection
+    Copyright (C) 2001-2002, 2007, 2009-2014, 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
 
     You should have received a copy of the GNU General Public License
     along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-    This is all rather complicated.  There are a few combinations:
-       * shared libraries full support
-       * dynamic libraries present full support (via dlopen)
-       * dynamic libraries absent (full support disabled) (via dlopen)
-       * discover only
-
-    We'd love to hear comments...
-
-    So far, we've opted for maximum flexibility for the user.  Is it
-    all worth it?
 */
 
 #include <config.h>
@@ -49,9 +39,6 @@
 static PedSector reiserfs_super_offset[] = { 128, 16, -1 };
 static PedFileSystemType* reiserfs_type;
 
-#define FPTR
-#define FCLASS extern
-
 static PedGeometry *reiserfs_probe(PedGeometry *geom)
 {
        int i;
index 33a333b26d3fceae9fb6df4a762c3e48d77eb57e..0ace6332d9c4260cd23766aed578f59a0744f8ae 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000, 2007, 2009-2014, 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
diff --git a/libparted/fs/udf/udf.c b/libparted/fs/udf/udf.c
new file mode 100644 (file)
index 0000000..fd0d21a
--- /dev/null
@@ -0,0 +1,175 @@
+/*
+    libparted - a library for manipulating disk partitions
+    Copyright (C) 2018-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 <http://www.gnu.org/licenses/>.
+*/
+
+#include <config.h>
+
+#include <parted/parted.h>
+
+/* Read bytes using ped_geometry_read() function */
+static int read_bytes (const PedGeometry* geom, void* buffer, PedSector offset, PedSector count)
+{
+       char* sector_buffer;
+       PedSector sector_offset, sector_count, buffer_offset;
+
+       sector_offset = offset / geom->dev->sector_size;
+       sector_count = (offset + count + geom->dev->sector_size - 1) / geom->dev->sector_size - sector_offset;
+       buffer_offset = offset - sector_offset * geom->dev->sector_size;
+
+       sector_buffer = alloca (sector_count * geom->dev->sector_size);
+
+       if (!ped_geometry_read (geom, sector_buffer, sector_offset, sector_count))
+               return 0;
+
+       memcpy (buffer, sector_buffer + buffer_offset, count);
+       return 1;
+}
+
+/* Scan VSR and check for UDF VSD */
+static int check_vrs (const PedGeometry* geom, unsigned int vsdsize)
+{
+       PedSector block;
+       PedSector offset;
+       unsigned char ident[5];
+
+       /* Check only first 64 blocks, but theoretically standard does not define upper limit */
+       for (block = 0; block < 64; block++) {
+               /* VRS starts at fixed offset 32kB, it is independent of block size or vsd size */
+               offset = 32768 + block * vsdsize;
+
+               /* Read VSD identifier, it is at offset 1 */
+               if (!read_bytes (geom, ident, offset + 1, 5))
+                       return 0;
+
+               /* Check for UDF identifier */
+               if (memcmp (ident, "NSR02", 5) == 0 ||
+                   memcmp (ident, "NSR03", 5) == 0)
+                       return 1;
+
+               /* Unknown VSD identifier means end of VRS */
+               if (memcmp (ident, "BEA01", 5) != 0 &&
+                        memcmp (ident, "TEA01", 5) != 0 &&
+                        memcmp (ident, "BOOT2", 5) != 0 &&
+                        memcmp (ident, "CD001", 5) != 0 &&
+                        memcmp (ident, "CDW02", 5) != 0)
+                       break;
+       }
+
+       return 0;
+}
+
+/* Check for UDF AVDP */
+static int check_anchor (const PedGeometry* geom, unsigned int blocksize, int rel_block)
+{
+       PedSector block;
+       unsigned char tag[16];
+
+       /* Negative block means relative to the end of device */
+       if (rel_block < 0) {
+               block = geom->length * geom->dev->sector_size / blocksize;
+               if (block <= (PedSector)(-rel_block))
+                       return 0;
+               block -= (PedSector)(-rel_block);
+               if (block < 257)
+                       return 0;
+       } else {
+               block = rel_block;
+       }
+
+       if (!read_bytes (geom, tag, block * blocksize, 16))
+               return 0;
+
+       /* Check for AVDP type (0x0002) */
+       if (((unsigned short)tag[0] | ((unsigned short)tag[1] << 8)) != 0x0002)
+               return 0;
+
+       /* Check that location stored in AVDP matches */
+       if (((unsigned long)tag[12] | ((unsigned long)tag[13] << 8) | ((unsigned long)tag[14] << 16) | ((unsigned long)tag[15] << 24)) != block)
+               return 0;
+
+       return 1;
+}
+
+/* Detect presence of UDF AVDP */
+static int detect_anchor(const PedGeometry* geom, unsigned int blocksize)
+{
+       /* All possible AVDP locations in preferred order */
+       static int anchors[] = { 256, -257, -1, 512 };
+       size_t i;
+
+       for (i = 0; i < sizeof (anchors)/sizeof (*anchors); i++) {
+               if (check_anchor (geom, blocksize, anchors[i]))
+                       return 1;
+       }
+
+       return 0;
+}
+
+/* Detect UDF filesystem, it must have VRS and AVDP */
+static int detect_udf (const PedGeometry* geom)
+{
+       unsigned int blocksize;
+
+       /* VSD size is min(2048, UDF block size), check for block sizes <= 2048 */
+       if (check_vrs (geom, 2048)) {
+               for (blocksize = 512; blocksize <= 2048; blocksize *= 2) {
+                       if (detect_anchor (geom, blocksize))
+                               return 1;
+               }
+       }
+
+       /* Check for block sizes larger then 2048, maximal theoretical block size is 32kB */
+       for (blocksize = 4096; blocksize <= 32768; blocksize *= 2) {
+               if (!check_vrs (geom, blocksize))
+                       continue;
+               if (detect_anchor (geom, blocksize))
+                       return 1;
+       }
+
+       return 0;
+}
+
+PedGeometry*
+udf_probe (PedGeometry* geom)
+{
+       if (!detect_udf (geom))
+               return NULL;
+
+       return ped_geometry_duplicate (geom);
+}
+
+static PedFileSystemOps udf_ops = {
+       probe:          udf_probe,
+};
+
+static PedFileSystemType udf_type = {
+       next:   NULL,
+       ops:    &udf_ops,
+       name:   "udf",
+};
+
+void
+ped_file_system_udf_init ()
+{
+       ped_file_system_type_register (&udf_type);
+}
+
+void
+ped_file_system_udf_done ()
+{
+       ped_file_system_type_unregister (&udf_type);
+}
index cf0f44146a8763536e5c2a3ac593211cbb1411a8..27cb036b6c606d79caff6debe3ccd8bf2e6248b1 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2001, 2007, 2009-2014, 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
@@ -97,7 +97,7 @@ struct ufs_super_block {
                        uint32_t        fs_npsect;      /* # sectors/track including spares */
                } fs_sun;
                struct {
-                       int32_t         fs_state;       /* file system state time stamp */
+                       int32_t         fs_state;       /* file system state timestamp */
                } fs_sunx86;
        } fs_u1;
        uint32_t        fs_interleave;  /* hardware sector interleave */
@@ -140,7 +140,7 @@ struct ufs_super_block {
                        int32_t         fs_sparecon[53];/* reserved for future constants */
                        int32_t         fs_reclaim;
                        int32_t         fs_sparecon2[1];
-                       int32_t         fs_state;       /* file system state time stamp */
+                       int32_t         fs_state;       /* file system state timestamp */
                        uint32_t        fs_qbmask[2];   /* ~usb_bmask */
                        uint32_t        fs_qfmask[2];   /* ~usb_fmask */
                } fs_sun;
@@ -160,7 +160,7 @@ struct ufs_super_block {
                        uint32_t        fs_maxfilesize[2];      /* max representable file size */
                        uint32_t        fs_qbmask[2];   /* ~usb_bmask */
                        uint32_t        fs_qfmask[2];   /* ~usb_fmask */
-                       int32_t         fs_state;       /* file system state time stamp */
+                       int32_t         fs_state;       /* file system state timestamp */
                } fs_44;
        } fs_u2;
        int32_t fs_postblformat;        /* format of positional layout tables */
index 2b557520baf1265a1b8aa71e784b5c907c64889c..a6ec8fb874378422f50841f2189fdae4bc204822 100644 (file)
@@ -38,6 +38,7 @@
 #include <stdarg.h>
 #include <assert.h>
 #include <endian.h>
+#include <fcntl.h>
 #include <stddef.h>
 #include <stdlib.h>
 #include <string.h>
index e4314a837315ef988aaa2f2ca0804e3c6c6ef368..79cef402df610712830eae72046cdd2eea294534 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2001, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2001, 2009-2014, 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
index c996f8183c86a1aff3739718169596287fc1754a..a6bb9e3911215c5760c7a94990b7bd6a1ac556b9 100644 (file)
@@ -1,5 +1,5 @@
 # This file is part of GNU Parted
-# Copyright (C) 1999-2001, 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2007-2014, 2019 Free Software Foundation, Inc.
 #
 # This file may be modified and/or distributed without restriction.
 
@@ -19,6 +19,7 @@ noinst_LTLIBRARIES    =       liblabels.la
 liblabels_la_SOURCES = \
   $(S390_SRCS) \
   aix.c                \
+  atari.c      \
   bsd.c                \
   dos.c                \
   dvh.c                \
@@ -35,7 +36,7 @@ liblabels_la_SOURCES = \
   rdb.c                \
   sun.c
 
-liblabels_la_LIBADD = $(OS_LIBS) $(INTLLIBS)
+liblabels_la_LIBADD = $(OS_LIBS) $(INTLLIBS) $(LIBICONV)
 
 AM_CPPFLAGS = $(partedincludedir) $(INTLINCS)
 
index c15e80a62359a62489ae7ab7b1b9d66fe1d89be8..73af106f48b0ef2675d10f7c95645e8bd428b136 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 @SET_MAKE@
 
 # This file is part of GNU Parted
-# Copyright (C) 1999-2001, 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2007-2014, 2019 Free Software Foundation, Inc.
 #
 # This file may be modified and/or distributed without restriction.
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,79 +93,101 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = libparted/labels
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(top_srcdir)/build-aux/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -165,6 +197,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -172,14 +205,14 @@ CONFIG_CLEAN_VPATH_FILES =
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 liblabels_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1)
-am__liblabels_la_SOURCES_DIST = dasd.c fdasd.c vtoc.c aix.c bsd.c \
-       dos.c dvh.c dvh.h efi_crc32.c gpt.c loop.c mac.c misc.h pc98.c \
-       pt-common.h pt-tools.c pt-tools.h rdb.c sun.c
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+am__liblabels_la_SOURCES_DIST = dasd.c fdasd.c vtoc.c aix.c atari.c \
+       bsd.c dos.c dvh.c dvh.h efi_crc32.c gpt.c loop.c mac.c misc.h \
+       pc98.c pt-common.h pt-tools.c pt-tools.h rdb.c sun.c
 @COMPILE_FOR_S390_TRUE@am__objects_1 = dasd.lo fdasd.lo vtoc.lo
-am_liblabels_la_OBJECTS = $(am__objects_1) aix.lo bsd.lo dos.lo dvh.lo \
-       efi_crc32.lo gpt.lo loop.lo mac.lo pc98.lo pt-tools.lo rdb.lo \
-       sun.lo
+am_liblabels_la_OBJECTS = $(am__objects_1) aix.lo atari.lo bsd.lo \
+       dos.lo dvh.lo efi_crc32.lo gpt.lo loop.lo mac.lo pc98.lo \
+       pt-tools.lo rdb.lo sun.lo
 liblabels_la_OBJECTS = $(am_liblabels_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -199,7 +232,14 @@ am__v_at_0 = @
 am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/aix.Plo ./$(DEPDIR)/atari.Plo \
+       ./$(DEPDIR)/bsd.Plo ./$(DEPDIR)/dasd.Plo ./$(DEPDIR)/dos.Plo \
+       ./$(DEPDIR)/dvh.Plo ./$(DEPDIR)/efi_crc32.Plo \
+       ./$(DEPDIR)/fdasd.Plo ./$(DEPDIR)/gpt.Plo ./$(DEPDIR)/loop.Plo \
+       ./$(DEPDIR)/mac.Plo ./$(DEPDIR)/pc98.Plo \
+       ./$(DEPDIR)/pt-tools.Plo ./$(DEPDIR)/rdb.Plo \
+       ./$(DEPDIR)/sun.Plo ./$(DEPDIR)/vtoc.Plo
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -245,6 +285,8 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -277,11 +319,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -296,18 +336,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -315,6 +362,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -360,6 +408,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -368,14 +420,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -421,6 +480,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -430,6 +491,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -437,26 +508,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -468,6 +554,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -479,6 +566,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -488,9 +576,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -520,6 +611,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -548,10 +640,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -562,17 +660,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -582,6 +685,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -592,6 +696,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -601,6 +706,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -613,13 +719,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -631,12 +742,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -651,6 +764,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -659,25 +774,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -688,20 +875,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -723,6 +923,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -748,12 +949,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -770,13 +973,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -790,52 +997,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -870,16 +1100,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -888,6 +1119,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -905,8 +1137,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -934,6 +1171,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -943,21 +1181,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -970,6 +1268,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -978,14 +1277,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -998,6 +1301,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1011,16 +1315,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1028,9 +1336,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1107,6 +1416,7 @@ noinst_LTLIBRARIES = liblabels.la
 liblabels_la_SOURCES = \
   $(S390_SRCS) \
   aix.c                \
+  atari.c      \
   bsd.c                \
   dos.c                \
   dvh.c                \
@@ -1123,7 +1433,7 @@ liblabels_la_SOURCES = \
   rdb.c                \
   sun.c
 
-liblabels_la_LIBADD = $(OS_LIBS) $(INTLLIBS)
+liblabels_la_LIBADD = $(OS_LIBS) $(INTLLIBS) $(LIBICONV)
 AM_CPPFLAGS = $(partedincludedir) $(INTLINCS)
 
 # Included by 'pt-tools.c', so needs to be built early.
@@ -1152,14 +1462,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/labels/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu libparted/labels/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1191,21 +1500,28 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dasd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dos.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dvh.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/efi_crc32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdasd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpt.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loop.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mac.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pc98.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pt-tools.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdb.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vtoc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aix.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atari.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dasd.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dos.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dvh.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/efi_crc32.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdasd.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpt.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loop.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mac.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pc98.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pt-tools.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdb.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vtoc.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -1289,7 +1605,10 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1363,7 +1682,22 @@ clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
        mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/aix.Plo
+       -rm -f ./$(DEPDIR)/atari.Plo
+       -rm -f ./$(DEPDIR)/bsd.Plo
+       -rm -f ./$(DEPDIR)/dasd.Plo
+       -rm -f ./$(DEPDIR)/dos.Plo
+       -rm -f ./$(DEPDIR)/dvh.Plo
+       -rm -f ./$(DEPDIR)/efi_crc32.Plo
+       -rm -f ./$(DEPDIR)/fdasd.Plo
+       -rm -f ./$(DEPDIR)/gpt.Plo
+       -rm -f ./$(DEPDIR)/loop.Plo
+       -rm -f ./$(DEPDIR)/mac.Plo
+       -rm -f ./$(DEPDIR)/pc98.Plo
+       -rm -f ./$(DEPDIR)/pt-tools.Plo
+       -rm -f ./$(DEPDIR)/rdb.Plo
+       -rm -f ./$(DEPDIR)/sun.Plo
+       -rm -f ./$(DEPDIR)/vtoc.Plo
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -1409,7 +1743,22 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/aix.Plo
+       -rm -f ./$(DEPDIR)/atari.Plo
+       -rm -f ./$(DEPDIR)/bsd.Plo
+       -rm -f ./$(DEPDIR)/dasd.Plo
+       -rm -f ./$(DEPDIR)/dos.Plo
+       -rm -f ./$(DEPDIR)/dvh.Plo
+       -rm -f ./$(DEPDIR)/efi_crc32.Plo
+       -rm -f ./$(DEPDIR)/fdasd.Plo
+       -rm -f ./$(DEPDIR)/gpt.Plo
+       -rm -f ./$(DEPDIR)/loop.Plo
+       -rm -f ./$(DEPDIR)/mac.Plo
+       -rm -f ./$(DEPDIR)/pc98.Plo
+       -rm -f ./$(DEPDIR)/pt-tools.Plo
+       -rm -f ./$(DEPDIR)/rdb.Plo
+       -rm -f ./$(DEPDIR)/sun.Plo
+       -rm -f ./$(DEPDIR)/vtoc.Plo
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1430,20 +1779,22 @@ uninstall-am:
 
 .MAKE: all check install install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
-       clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
-       ctags-am distclean distclean-compile distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+       clean-generic clean-libtool clean-noinstLTLIBRARIES \
+       cscopelist-am ctags ctags-am distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 pt-limit.c: pt-limit.gperf
        rm -f $@ $@-tmp
index 0fa6fe754e62bf9bf2fb7da573db0aed8e01798f..d6f79ecbebcc2add842d5726e3c54dafa7a8c853 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000-2001, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000-2001, 2007-2014, 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
 #  define _(String) (String)
 #endif /* ENABLE_NLS */
 
-#define        AIX_LABEL_MAGIC         0xc9c2d4c1
+#define        AIX_LABEL_MAGIC         (0xc9c2d4c1UL)
 #define        MAX_TOTAL_PART          16
 
 static PedDiskType aix_disk_type;
 
-static inline int
-aix_label_magic_get (const char *label)
-{
-       return *(unsigned int *)label;
-}
-
-static inline void
-aix_label_magic_set (char *label, int magic_val)
-{
-       *(unsigned int *)label = magic_val;
-}
-
 static int
 aix_probe (const PedDevice *dev)
 {
@@ -59,9 +47,9 @@ aix_probe (const PedDevice *dev)
        void *label;
        if (!ptt_read_sector (dev, 0, &label))
                return 0;
-       unsigned int magic = aix_label_magic_get (label);
+       bool found = PED_BE32_TO_CPU(*(uint32_t *)label) == AIX_LABEL_MAGIC;
        free (label);
-       return magic == AIX_LABEL_MAGIC;
+       return found;
 }
 
 static PedDisk*
diff --git a/libparted/labels/atari.c b/libparted/labels/atari.c
new file mode 100644 (file)
index 0000000..c984685
--- /dev/null
@@ -0,0 +1,1970 @@
+/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+
+    libparted - a library for manipulating disk partitions
+    atari.c - libparted module to manipulate Atari partition tables.
+    Copyright (C) 2000-2001, 2004, 2007-2014, 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 <http://www.gnu.org/licenses/>.
+
+    Contributor:  Guillaume Knispel <k_guillaume@libertysurf.fr>
+                  John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+*/
+
+/*
+       Documentation :
+               README file of atari-fdisk
+               atari-fdisk source code
+               Linux atari partitions parser source code
+                       ( fs/partitions/atari.[ch] )
+*/
+
+#include <config.h>
+
+#include <string.h>
+#include <parted/parted.h>
+#include <parted/debug.h>
+#include <parted/endian.h>
+#include <string.h>
+#include <locale.h>
+#include <stdint.h>
+#include <ctype.h>
+#include <stddef.h>
+
+#include "pt-tools.h"
+
+#if ENABLE_NLS
+#  include <libintl.h>
+#  define _(String) dgettext (PACKAGE, String)
+#else
+#  define _(String) (String)
+#endif /* ENABLE_NLS */
+
+
+/********************** Atari data and structure stuff **********************/
+
+#define BOOTABLE_CKSUM         0x1234
+#define NONBOOT_CKSUM          0x4321
+
+#define GEM_MAX                        ((32*1024*1024)/PED_SECTOR_SIZE_DEFAULT)
+
+#define PART_FLAG_USED         0x01
+#define PART_FLAG_BOOT_GEM     0x80    /* GEMDOS          */
+#define PART_FLAG_BOOT_ASV     0x40    /* Atari System V  */
+#define PART_FLAG_BOOT_BSD     0x20    /* Net(?)BSD       */
+#define PART_FLAG_BOOT_LNX     0x10    /* Linux           */
+#define PART_FLAG_BOOT_UNK     0x08    /* unknown / other */
+
+#define N_AHDI                 4
+#define N_ICD                  8
+
+#define MAXIMUM_PARTS          64
+
+/* what we put instead of id, start and size in empty */
+/* partition tables, to be able to detect it */
+#define SIGNATURE_EMPTY_TABLE  "PARTEDATARI"
+#define SIGNATURE_EMPTY_SIZE   11
+
+/* to be compared to the last two bytes of 1st sector (Big Endian) */
+static const uint16_t atr_forbidden_sign[] = {
+       0x55AA,
+       0
+};
+
+static const char *atr_known_icd_pid[] = {
+       "BGM", "GEM", "LNX", "SWP", "RAW", NULL
+};
+
+/* static const char *atr_known_pid[] = { */
+/*     "BGM", "GEM", "LNX", "MAC", "MIX", "MNX", "RAW", "SWP", "UNX", */
+/*     "F32", "SV4", NULL */
+/* }; */
+
+struct _AtariPartID2BootFlag {
+       const char      pid[4];
+       uint8_t         flag;
+};
+typedef struct _AtariPartID2BootFlag AtariPartID2BootFlag;
+
+static AtariPartID2BootFlag atr_pid2bf[] = {
+       { "GEM", PART_FLAG_BOOT_GEM },
+       { "BGM", PART_FLAG_BOOT_GEM },
+       { "UNX", PART_FLAG_BOOT_ASV },
+       { "LNX", PART_FLAG_BOOT_LNX },
+       { "",    PART_FLAG_BOOT_UNK },
+};
+
+struct _AtariFS2PartId {
+       const char*     fs;
+       const char      pid[4];
+       PedSector       max_sectors;
+};
+typedef struct _AtariFS2PartId AtariFS2PartId;
+
+static AtariFS2PartId atr_fs2pid[] = {
+/* Other ID are available : MIX MNX <= minix
+                               UNX <= Atari SysV Unix
+                               SV4 <= Univ System 4   */
+       { "ext2",       "LNX", INT32_MAX },
+       { "ext3",       "LNX", INT32_MAX },
+       { "fat16",      "GEM",   GEM_MAX },     /* small partitions */
+       { "fat16",      "BGM", INT32_MAX },     /* big partitions */
+       { "fat32",      "F32", INT32_MAX },
+       { "hfs",        "MAC", INT32_MAX },
+       { "hfs+",       "MAC", INT32_MAX },
+       { "hfsx",       "MAC", INT32_MAX },
+       { "jfs",        "LNX", INT32_MAX },
+       { "linux-swap", "SWP", INT32_MAX },
+       { "reiserfs",   "LNX", INT32_MAX },
+       { "hp-ufs",     "LNX", INT32_MAX },
+       { "sun-ufs",    "LNX", INT32_MAX },
+       { "xfs",        "LNX", INT32_MAX },
+       { "ntfs",       "RAW", INT32_MAX },
+       { "",           "RAW", INT32_MAX },     /* default entry */
+       { NULL,          ""  ,         0 }      /* end of list */
+};
+
+struct __attribute__ ((packed)) _AtariRawPartition {
+       uint8_t         flag;   /* bit 0: active; bit 7: bootable */
+       uint8_t         id[3];  /* "GEM", "BGM", "XGM", ... */
+       uint32_t        start;  /* start of partition */
+       uint32_t        size;   /* length of partition */
+};
+typedef struct _AtariRawPartition AtariRawPartition;
+
+struct __attribute__ ((packed,aligned(2))) _AtariRawTable {
+       uint8_t           boot_code[0x156]; /* room for boot code */
+       AtariRawPartition icd_part[N_ICD];  /* info for ICD-partitions 5..12 */
+       uint8_t           unused[0xc];
+       uint32_t          hd_size;      /* size of disk in blocks */
+       AtariRawPartition part[N_AHDI]; /* the four primary partitions */
+       uint32_t          bsl_start;    /* start of bad sector list */
+       uint32_t          bsl_count;    /* length of bad sector list */
+       uint16_t          checksum;     /* checksum for bootable disks */
+};
+typedef struct _AtariRawTable AtariRawTable;
+
+typedef enum {
+       FMT_AHDI = 0,   /* AHDI v1 compatible, no ICD and no XGM */
+       FMT_XGM  = 1,   /* AHDI v3 with XGM / this disable ICD */
+       FMT_ICD  = 2    /* ICD detected / requested because more than 4 prim */
+                       /* no XGM allowed */
+} AtrFmt;
+
+struct _AtariDisk {
+       AtrFmt  format;
+       int     has_been_read;  /* actually means has been read or written... */
+       uint32_t bsl_start;     /* first sector of the Bad Sectors List */
+       uint32_t bsl_count;     /* number of sectors of the BSL */
+       uint8_t HDX_comp;       /* if set to one, atari_write will initialize */
+                               /* the bsl area */
+};
+typedef struct _AtariDisk AtariDisk;
+
+struct _AtariPart {
+       char    part_id[4];     /* ASCIIZ */
+       char    icd_id[4];      /* Linux only parse a limited set of ID */
+                               /* in ICD (why???), so everything else  */
+                               /* is translated to RAW.                */
+       uint8_t flag;           /* without bit 0 (entry used) */
+};
+typedef struct _AtariPart AtariPart;
+
+/* set by initialisation code to C locale */
+static locale_t atr_c_locale;
+
+static PedDiskType atari_disk_type;
+
+
+
+/******************************** Atari Code ********************************/
+
+#define ATARI_DISK(disk)       ((AtariDisk*)((disk)->disk_specific))
+#define ATARI_PART(part)       ((AtariPart*)((part)->disk_specific))
+
+#define atr_pid_eq(a,b)                (!memcmp( (a), (b), 3 ))
+
+#define atr_pid_assign(a, b)   (memcpy ( (a), (b), 3 ))
+
+#define atr_part_used(part)    (((part)->flag) & PART_FLAG_USED)
+
+static int
+atr_start_size_correct (uint32_t start, uint32_t size, uint32_t hd_size)
+{
+       uint32_t end = start + size;
+
+       return  end >= start
+               && 0 < start && start <= hd_size
+               && 0 < size && size <= hd_size
+               && 0 < end && end <= hd_size;
+}
+
+static int
+atr_part_correct (AtariRawPartition* part, uint32_t hd_size)
+{
+       uint32_t start, size;
+
+       start = PED_BE32_TO_CPU (part->start);
+       size = PED_BE32_TO_CPU (part->size);
+
+       return isalnum_l(part->id[0], atr_c_locale)
+               && isalnum_l(part->id[1], atr_c_locale)
+               && isalnum_l(part->id[2], atr_c_locale)
+               && atr_start_size_correct (start, size, hd_size);
+}
+
+static int _GL_ATTRIBUTE_PURE
+atr_pid_known (const char* pid, const char** pid_list)
+{
+       for (; *pid_list; pid_list++) {
+               if (atr_pid_eq(pid, *pid_list))
+                       return 1;
+       }
+
+       return 0;
+}
+
+/* Recognize Parted signature in an AHDI entry, used to
+ * identify empty Atari partition tables */
+static int
+atr_is_signature_entry (AtariRawPartition* part)
+{
+       return part->flag == 0
+               && !memcmp (part->id, SIGNATURE_EMPTY_TABLE,
+                                     SIGNATURE_EMPTY_SIZE );
+}
+
+/* Set Parted signature in an AHDI entry */
+static void
+atr_put_signature_entry (AtariRawPartition* part)
+{
+       part->flag = 0;
+       memcpy (part->id, SIGNATURE_EMPTY_TABLE, SIGNATURE_EMPTY_SIZE);
+}
+
+#define atr_part_known(part, pid_list) (atr_pid_known ((part)->id, pid_list))
+
+#define atr_part_valid(part, sz) (atr_part_used(part)\
+                                 && atr_part_correct((part), (sz)))
+#define atr_part_trash(part, sz) (atr_part_used(part)\
+                                 && !atr_part_correct((part), (sz)))
+
+/* Check if this device can be used with an Atari label */
+static int
+atr_can_use_dev (const PedDevice *dev)
+{
+       /* i really don't know how atari behave with non 512 bytes */
+       /* sectors... */
+       if (dev->sector_size != PED_SECTOR_SIZE_DEFAULT) {
+               ped_exception_throw (
+                       PED_EXCEPTION_ERROR,
+                       PED_EXCEPTION_CANCEL,
+                       _("Can't use Atari partition tables on disks with a "
+                         "sector size not equal to %d bytes."),
+                       (int)PED_SECTOR_SIZE_DEFAULT );
+               return 0;
+       }
+
+       /* the format isn't well defined enough to support > 0x7FFFFFFF */
+       /* sectors */
+       if (dev->length > INT32_MAX) {
+               ped_exception_throw (
+                       PED_EXCEPTION_ERROR,
+                       PED_EXCEPTION_CANCEL,
+                       _("Can't use Atari partition tables on disks with more "
+                         "than %d sectors."),
+                       INT32_MAX );
+               return 0;
+       }
+
+       return 1;
+}
+
+/*
+ * The Atari disk label doesn't have any magic id
+ * so we must completely parse the layout to be sure
+ * we are really dealing with it.
+ */
+static int
+atari_probe (const PedDevice *dev)
+{
+       AtariRawTable   table;
+       uint32_t        rs_hd_size, parts, exts;
+       int             valid_count, xgm_part, xgm_num, i;
+       int             num_sign, total_count = 0;
+
+       PED_ASSERT (dev != NULL);
+       PED_ASSERT (sizeof(table) == 512);
+
+       /* Device Spec ok for Atari label? */
+       if (!atr_can_use_dev (dev))
+               return 0;
+
+       /* read the root sector */
+       if (!ped_device_read (dev, &table, 0, 1))
+               return 0;
+
+       /* number of sectors stored in the root sector > device length ? */
+       /* => just reject the Atari disk label */
+       rs_hd_size = PED_BE32_TO_CPU (table.hd_size);
+       if (rs_hd_size > dev->length
+           || rs_hd_size < 2)
+               return 0;
+
+       /* check the BSL fields */
+       if ((table.bsl_start || table.bsl_count)
+           && !atr_start_size_correct (PED_BE32_TO_CPU (table.bsl_start),
+                                       PED_BE32_TO_CPU (table.bsl_count),
+                                       rs_hd_size ) )
+               return 0;
+
+       /* scan the main AHDI fields */
+       num_sign = 0; xgm_num = 0;
+       valid_count = 0; xgm_part = 0;
+       for (i = 0; i < N_AHDI; i++) {
+               if (atr_part_valid (&table.part[i], rs_hd_size)) {
+                       valid_count++;
+                       total_count++;
+                       if (atr_pid_eq(table.part[i].id, "XGM")) {
+                               xgm_part++;
+                               xgm_num = i;
+                       }
+               } else if (atr_part_trash (&table.part[i], rs_hd_size)) {
+                       return 0;
+               }
+               if (atr_is_signature_entry (&table.part[i]))
+                       num_sign++;
+       }
+
+       /* no way to reliably detect empty Atari disk labels if
+        *    they aren't using parted signature in 4 prim fields
+        * && reject multi XGM labels because Parted can't handle
+        *    multiple extended partitions
+        * && reject if xgm partition in slot 0 because not allowed */
+       if ((!valid_count && num_sign != N_AHDI)
+           || xgm_part > 1
+           || (xgm_part == 1 && xgm_num == 0) )
+               return 0;
+
+       /* check coherency of each logical partitions and ARS */
+       if (xgm_part) { /* ! WARNING ! reuses "table" */
+               /* we must allow empty ext partition even if they're   */
+               /* not valid because parted write the layout to the HD */
+               /* at each operation, and we can't create ext and log  */
+               /* at the same time */
+               int     empty_ars_allowed = 1;
+
+               parts = exts = PED_BE32_TO_CPU (table.part[xgm_num].start);
+               while (1) {
+                       if (!ped_device_read (dev, &table, parts, 1))
+                               return 0;
+
+                       for (i = 0; i < N_AHDI-1; ++i) {
+                               if (atr_part_used (&table.part[i]))
+                                       break;
+                       }
+
+                       /* we allow the ext part to be empty (see above) */
+                       if (i == N_AHDI-1 && empty_ars_allowed)
+                               break;
+
+                       /* data partition must be in slot 0, 1 or 2 */
+                       if (i == N_AHDI-1
+                           || !atr_part_correct (&table.part[i], rs_hd_size
+                                                                 - parts )
+                           || atr_pid_eq (table.part[i].id, "XGM"))
+                               return 0;
+
+                       /* If there is at least one logical partition */
+                       /* then next ARS should not be empty */
+                       empty_ars_allowed = 0;
+
+                       total_count++;
+                       if (total_count > MAXIMUM_PARTS) {
+                               ped_exception_throw (
+                                       PED_EXCEPTION_ERROR,
+                                       PED_EXCEPTION_CANCEL,
+                                       _("Too many Atari partitions detected. "
+                                       " Maybe there is a loop in the XGM "
+                                       "linked list.  Aborting.") );
+                               return 0;
+                       }
+
+                       /* end of logical partitions? */
+                       if (!atr_part_used (&table.part[i+1]))
+                               break;
+
+                       /* is this really the descriptor of the next ARS? */
+                       if (!atr_part_correct (&table.part[i+1], rs_hd_size
+                                                                 - exts )
+                           || !atr_pid_eq (table.part[i+1].id, "XGM"))
+                               return 0;
+
+                       parts = exts + PED_BE32_TO_CPU (table.part[i+1].start);
+               }
+       } /* no XGM so try ICD */
+         else if (atr_part_valid (&table.icd_part[0], rs_hd_size)
+                  && atr_part_known (&table.icd_part[0], atr_known_icd_pid)) {
+               for (i = 1; i < N_ICD; i++) {
+                       if (atr_part_trash (&table.icd_part[i], rs_hd_size))
+                               return 0;
+               }
+       }
+
+       return 1;
+}
+
+static void
+atr_disk_reset (AtariDisk* atr_disk)
+{
+       /* Empty partition table => only AHDI needed right now */
+       atr_disk->format = FMT_AHDI;
+       /* The disk is not in sync with the actual content of the label */
+       atr_disk->has_been_read = 0;
+       /* Create an empty BSL for HDX compatibility */
+       atr_disk->bsl_start = 1;
+       atr_disk->bsl_count = 1;
+       atr_disk->HDX_comp = 1;
+}
+
+/*
+ * Must set up the PedDisk and the associated AtariDisk as if
+ * the user is doing mklabel, since in this case atari_alloc
+ * is called alone whereas when reading an existing partition
+ * table atari_read is called after atari_alloc and can overwrite
+ * the settings.
+ */
+static PedDisk*
+atari_alloc (const PedDevice* dev)
+{
+       PedDisk*        disk;
+       AtariDisk*      atr_disk;
+
+       PED_ASSERT (dev != NULL);
+
+       if (!atr_can_use_dev (dev)
+           || !(disk = _ped_disk_alloc (dev, &atari_disk_type)))
+               return NULL;
+
+       if (!(disk->disk_specific = atr_disk = ped_malloc (sizeof (AtariDisk))))
+               goto error_free_disk;
+
+       atr_disk_reset (atr_disk);
+
+       return disk;
+
+error_free_disk:
+       free (disk);
+       return NULL;
+}
+
+static PedDisk*
+atari_duplicate (const PedDisk* disk)
+{
+       PedDisk*        new_disk;
+       AtariDisk*      old_atr_dsk;
+       AtariDisk*      new_atr_dsk;
+
+       PED_ASSERT (disk != NULL);
+       PED_ASSERT (disk->dev != NULL);
+       PED_ASSERT (disk->disk_specific != NULL);
+
+       old_atr_dsk = ATARI_DISK (disk);
+       if (!(new_disk = ped_disk_new_fresh (disk->dev, &atari_disk_type)))
+               return NULL;
+       new_atr_dsk = ATARI_DISK (new_disk);
+
+       memcpy (new_atr_dsk, old_atr_dsk, sizeof(*old_atr_dsk));
+
+       return new_disk;
+}
+
+static void
+atari_free (PedDisk* disk)
+{
+       AtariDisk* atr_disk;
+       PED_ASSERT (disk != NULL);
+       PED_ASSERT (disk->disk_specific != NULL);
+       atr_disk = ATARI_DISK (disk);
+
+       _ped_disk_free (disk);
+       free (atr_disk);
+}
+
+/* Warning : ID not ASCIIZ but 3 chars long */
+static void
+atr_part_sysraw (PedPartition* part, const char* id, uint8_t flag)
+{
+       AtariPart* atr_part = ATARI_PART (part);
+
+       atr_part->flag = flag & ~PART_FLAG_USED;
+
+       atr_pid_assign (atr_part->part_id, id);
+       atr_part->part_id[3] = 0;
+
+       if (atr_pid_known (id, atr_known_icd_pid)) {
+               atr_pid_assign (atr_part->icd_id, id);
+               atr_part->icd_id[3] = 0;
+       } else {
+               atr_pid_assign (atr_part->icd_id, "RAW");
+               atr_part->icd_id[3] = 0;
+       }
+}
+
+static int
+atr_parse_add_rawpart (PedDisk* disk, PedPartitionType type, PedSector st_off,
+                      int num, const AtariRawPartition* rawpart )
+{
+       PedSector       start, end;
+       PedPartition*   part;
+       PedConstraint*  const_exact;
+       int             added;
+
+       start = st_off + PED_BE32_TO_CPU (rawpart->start);
+       end = start + PED_BE32_TO_CPU (rawpart->size) - 1;
+
+       part = ped_partition_new (disk, type, NULL, start, end);
+       if (!part)
+               return 0;
+
+       /*part->num = num;*/    /* Enumeration will take care of that */
+       part->num = -1;         /* Indeed we can't enumerate here
+                                * because the enumerate function uses
+                                * -1 do detect new partition being
+                                * inserted and update the atrdisk->format */
+       if (type != PED_PARTITION_EXTENDED)
+               part->fs_type = ped_file_system_probe (&part->geom);
+       else
+               part->fs_type = NULL;
+       atr_part_sysraw (part, rawpart->id, rawpart->flag);
+
+       const_exact = ped_constraint_exact (&part->geom);
+       added = ped_disk_add_partition (disk, part, const_exact);
+       ped_constraint_destroy (const_exact);
+       if (!added) {
+               ped_partition_destroy (part);
+               return 0;
+       }
+
+       PED_ASSERT (part->num == num);
+       return 1;
+}
+
+/*
+ * Read the chained list of logical partitions.
+ * exts points to the first Auxiliary Root Sector, at the start
+ * of the extended partition.
+ * In each ARS one partition entry describes to the logical partition
+ * (start relative to the ARS position) and the next entry with ID "XGM"
+ * points to the next ARS (start relative to exts).
+ */
+static int
+atr_read_logicals (PedDisk* disk, PedSector exts, int* pnum)
+{
+       AtariRawTable   table;
+       PedSector       parts = exts;
+       int             i, empty_ars_allowed = 1;
+
+       while (1) {
+               if (!ped_device_read (disk->dev, &table, parts, 1))
+                       return 0;
+
+               for (i = 0; i < N_AHDI-1; ++i)
+                       if (atr_part_used (&table.part[i]))
+                               break;
+
+               if (i == N_AHDI-1 && empty_ars_allowed)
+                       break;
+
+               /* data partition must be in slot 0, 1 or 2 */
+               if (i == N_AHDI-1
+                   || atr_pid_eq (table.part[i].id, "XGM")) {
+                       ped_exception_throw (
+                               PED_EXCEPTION_ERROR,
+                               PED_EXCEPTION_CANCEL,
+                               _("No data partition found in the ARS at "
+                                 "sector %lli."), parts );
+                       return 0;
+               }
+
+               empty_ars_allowed = 0;
+
+               if (!atr_parse_add_rawpart (disk, PED_PARTITION_LOGICAL,
+                                           parts, *pnum, &table.part[i] ) )
+                       return 0;
+
+               (*pnum)++;
+
+               /* end of logical partitions? */
+               if (!atr_part_used (&table.part[i+1]))
+                       break;
+
+               if (!atr_pid_eq (table.part[i+1].id, "XGM")) {
+                       ped_exception_throw (
+                               PED_EXCEPTION_ERROR,
+                               PED_EXCEPTION_CANCEL,
+                               _("The entry of the next logical ARS is not of "
+                                 "type XGM in ARS at sector %lli."), parts );
+                       return 0;
+               }
+
+               parts = exts + PED_BE32_TO_CPU (table.part[i+1].start);
+       }
+
+       return 1;
+}
+
+static int
+atari_read (PedDisk* disk)
+{
+       AtariRawTable   table;
+       AtariDisk*      atr_disk;
+       uint32_t        rs_hd_size;
+       int             i, pnum, xgm, pcount;
+
+       PED_ASSERT (disk != NULL);
+       PED_ASSERT (disk->dev != NULL);
+       PED_ASSERT (disk->disk_specific != NULL);
+       atr_disk = ATARI_DISK (disk);
+
+       ped_disk_delete_all (disk);
+       atr_disk_reset (atr_disk);
+
+       if (!atari_probe (disk->dev)) {
+               if (ped_exception_throw (
+                       PED_EXCEPTION_ERROR,
+                       PED_EXCEPTION_IGNORE_CANCEL,
+                       _("There doesn't seem to be an Atari partition table "
+                         "on this disk (%s), or it is corrupted."),
+                       disk->dev->path )
+                               != PED_EXCEPTION_IGNORE)
+                       return 0;
+       }
+
+       if (!ped_device_read (disk->dev, (void*) &table, 0, 1))
+               goto error;
+
+       /* We are sure that the layout looks coherent so we
+          don't need to check too much */
+
+       rs_hd_size = PED_BE32_TO_CPU (table.hd_size);
+       atr_disk->bsl_start = PED_BE32_TO_CPU (table.bsl_start);
+       atr_disk->bsl_count = PED_BE32_TO_CPU (table.bsl_count);
+       atr_disk->HDX_comp = 0;
+
+       /* AHDI primary partitions */
+       pnum = 1; xgm = 0; pcount = 0;
+       for (i = 0; i < N_AHDI; i++) {
+               if (!atr_part_used (&table.part[i]))
+                       continue;
+
+               pcount++;
+
+               if (atr_pid_eq (table.part[i].id, "XGM")) {
+
+                       atr_disk->format = FMT_XGM;
+                       xgm = 1;
+                       if (!atr_parse_add_rawpart(disk, PED_PARTITION_EXTENDED,
+                                                  0, 0, &table.part[i] )
+                           || !atr_read_logicals (
+                                       disk,
+                                       PED_BE32_TO_CPU (table.part[i].start),
+                                       &pnum ) )
+                               goto error;
+
+               } else {
+
+                       if (!atr_parse_add_rawpart (disk, PED_PARTITION_NORMAL,
+                                                   0, pnum, &table.part[i] ) )
+                               goto error;
+                       pnum++;
+               }
+       }
+
+       /* If no XGM partition has been found, the AHDI table is not empty,  */
+       /* the first entry is valid and its ID ok for ICD, then we parse the */
+       /* ICD table. */
+       if (!xgm && pcount != 0
+                && atr_part_valid (&table.icd_part[0], rs_hd_size)
+                && atr_part_known (&table.icd_part[0], atr_known_icd_pid))
+       for (i = 0; i < N_ICD; i++) {
+
+               if (!atr_part_known (&table.icd_part[i], atr_known_icd_pid)
+                   || !atr_part_used (&table.icd_part[i]))
+                       continue;
+               atr_disk->format = FMT_ICD;
+
+               if (!atr_parse_add_rawpart (disk, PED_PARTITION_NORMAL,
+                                           0, pnum, &table.icd_part[i] ) )
+                       goto error;
+               pnum++;
+       }
+
+       atr_disk->has_been_read = 1;
+       return 1;
+
+error:
+       ped_disk_delete_all (disk);
+       atr_disk_reset (atr_disk);
+       return 0;
+}
+
+/* Returns the number of the first logical partition or -1 if not found */
+static int
+atr_find_first_log (const PedDisk* disk)
+{
+       PedPartition*   part;
+       int             first_log, last;
+
+       last = ped_disk_get_last_partition_num (disk);
+
+       for (first_log = 1; first_log <= last; first_log++) {
+               if ((part = ped_disk_get_partition (disk, first_log))
+                    && (part->type & PED_PARTITION_LOGICAL))
+                       break;
+       }
+
+       return first_log > last ? -1 : first_log;
+}
+
+#ifndef DISCOVER_ONLY
+static int
+atari_clobber (PedDevice* dev)
+{
+       AtariRawTable table;
+
+       PED_ASSERT (dev != NULL);
+       PED_ASSERT (atari_probe (dev));
+
+       if (!ped_device_read (dev, &table, 0, 1))
+               return 0;
+
+       /* clear anything but the boot code and the optional ICD table */
+       memset (table.boot_code + offsetof (AtariRawTable, hd_size),
+               0,
+               PED_SECTOR_SIZE_DEFAULT - offsetof (AtariRawTable, hd_size));
+
+       return ped_device_write (dev, &table, 0, 1);
+}
+
+/* Computes the checksum of the root sector */
+static uint16_t
+atr_calc_rs_sum (const AtariRawTable* table)
+{
+       const uint16_t* word = (uint16_t*)(table);
+       const uint16_t* end  = (uint16_t*)(table + 1);
+       uint16_t sum;
+
+       for (sum = 0; word < end; word++)
+               sum += PED_BE16_TO_CPU(*word);
+
+       return sum;
+}
+
+/* Returns 1 if the root sector is bootable, else returns 0 */
+static int
+atr_is_boot_table (const AtariRawTable* table)
+{
+       return atr_calc_rs_sum (table) == BOOTABLE_CKSUM;
+}
+
+/*
+ * Returns 1 if sign belongs to a set of `forbidden' signatures.
+ * (e.g.: 55AA which is the MSDOS siganture...)
+ * Only used for non bootable root sector since the signature of
+ * a bootable one is unique.
+ */
+static int _GL_ATTRIBUTE_PURE
+atr_sign_is_forbidden (uint16_t sign)
+{
+       const uint16_t* forbidden;
+
+       for (forbidden = atr_forbidden_sign; *forbidden; forbidden++) {
+               if (sign == *forbidden)
+                       return 1;
+       }
+
+       return 0;
+}
+
+/* Updates table->checksum so the RS will be considered bootable (or not) */
+static void
+atr_table_set_boot (AtariRawTable* table, int boot)
+{
+       uint16_t boot_cksum, noboot_cksum;
+       uint16_t sum;
+
+       table->checksum = 0;
+       sum = atr_calc_rs_sum (table);
+       boot_cksum = BOOTABLE_CKSUM - sum;
+
+       if (boot) {
+               table->checksum = PED_CPU_TO_BE16 (boot_cksum);
+               return;
+       }
+
+       noboot_cksum = NONBOOT_CKSUM - sum;
+
+       while (atr_sign_is_forbidden (noboot_cksum)
+              || noboot_cksum == boot_cksum)
+               noboot_cksum++;
+
+       table->checksum = PED_CPU_TO_BE16 (noboot_cksum);
+}
+
+/* Fill an used partition entry */
+static void
+atr_fill_raw_entry (AtariRawPartition* rawpart, uint8_t flag, const char* id,
+                   uint32_t start, uint32_t size )
+{
+       rawpart->flag = PART_FLAG_USED | flag;
+       atr_pid_assign (rawpart->id, id);
+       rawpart->start = PED_CPU_TO_BE32 (start);
+       rawpart->size = PED_CPU_TO_BE32 (size);
+}
+
+static int
+atr_write_logicals (const PedDisk* disk)
+{
+       AtariRawTable   table;
+       PedPartition*   log_curr;
+       PedPartition*   log_next;
+       PedPartition*   ext;
+       PedPartition*   part;
+       PedSector       exts;
+       PedSector       parts;
+       AtariPart*      atr_part;
+       int             first_log, pnum, i;
+
+       PED_ASSERT (disk != NULL);
+
+       ext = ped_disk_extended_partition (disk);
+       exts = parts = ext->geom.start;
+
+       pnum = first_log = atr_find_first_log (disk);
+
+       while (1) {
+               if (pnum != -1) {
+                       log_curr = ped_disk_get_partition (disk, pnum);
+                       log_next = ped_disk_get_partition (disk, pnum + 1);
+               } else {
+                       log_curr = log_next = NULL;
+               }
+
+               if (log_curr && !(log_curr->type & PED_PARTITION_LOGICAL))
+                       log_curr = NULL;
+               if (log_next && !(log_next->type & PED_PARTITION_LOGICAL))
+                       log_next = NULL;
+
+               PED_ASSERT (pnum == first_log || log_curr);
+
+               part = ped_disk_get_partition_by_sector (disk, parts);
+               if (part && ped_partition_is_active (part)) {
+                       if (log_curr)
+                               ped_exception_throw (
+                                       PED_EXCEPTION_ERROR,
+                                       PED_EXCEPTION_CANCEL,
+                                       _("No room at sector %lli to store ARS "
+                                         "of logical partition %d."),
+                                       parts, pnum );
+                       else
+                               ped_exception_throw (
+                                       PED_EXCEPTION_ERROR,
+                                       PED_EXCEPTION_CANCEL,
+                                     _("No room at sector %lli to store ARS."),
+                                       parts );
+                       return 0;
+               }
+
+               if (!ped_device_read (disk->dev, &table, parts, 1))
+                       return 0;
+
+               if (!log_curr) {
+                       PED_ASSERT (!log_next);
+
+                       for (i = 0; i < N_AHDI; i++)
+                               table.part[i].flag &= ~PART_FLAG_USED;
+               } else {
+                       atr_part = ATARI_PART (log_curr);
+                       atr_fill_raw_entry (&table.part[0], atr_part->flag,
+                                           atr_part->part_id,
+                                           log_curr->geom.start - parts,
+                                           log_curr->geom.length );
+
+                       for (i = 1; i < N_AHDI; i++)
+                               table.part[i].flag &= ~PART_FLAG_USED;
+
+                       if (log_next) {
+                               atr_fill_raw_entry (&table.part[1], 0, "XGM",
+                                       log_next->geom.start - 1 - exts,
+                                       log_next->geom.length + 1 );
+                       }
+               }
+
+               /* TODO: check if we can set that bootable, and when */
+               atr_table_set_boot (&table, 0);
+
+               if (!ped_device_write (disk->dev, &table, parts, 1))
+                       return 0;
+
+               if (!log_next)
+                       break;
+
+               parts = log_next->geom.start - 1;
+               pnum++;
+       }
+
+       return 1;
+}
+
+static int _GL_ATTRIBUTE_PURE
+_disk_logical_partition_count (const PedDisk* disk)
+{
+       PedPartition*   walk;
+
+       int             count = 0;
+
+       PED_ASSERT (disk != NULL);
+       for (walk = disk->part_list; walk;
+            walk = ped_disk_next_partition (disk, walk)) {
+               if (ped_partition_is_active (walk)
+                   && (walk->type & PED_PARTITION_LOGICAL))
+                       count++;
+       }
+
+       return count;
+}
+
+/* Load the HD size from the table and ask to fix it if != device size. */
+static int
+atr_load_fix_hdsize (const PedDisk* disk, uint32_t* rs_hd_size, AtariRawTable* table)
+{
+       AtariDisk*      atr_disk = ATARI_DISK (disk);
+       int             result = PED_EXCEPTION_UNHANDLED;
+
+       *rs_hd_size = PED_BE32_TO_CPU (table->hd_size);
+       if (*rs_hd_size != disk->dev->length) {
+               if (atr_disk->has_been_read) {
+                       result = ped_exception_throw (
+                               PED_EXCEPTION_WARNING,
+                               PED_EXCEPTION_FIX | PED_EXCEPTION_IGNORE_CANCEL,
+                               _("The sector count that is stored in the "
+                                 "partition table does not correspond "
+                                 "to the size of your device.  Do you "
+                                 "want to fix the partition table?") );
+                       if (result == PED_EXCEPTION_CANCEL)
+                               return 0;
+               }
+
+               if (result == PED_EXCEPTION_UNHANDLED)
+                       result = PED_EXCEPTION_FIX;
+
+               if (result == PED_EXCEPTION_FIX) {
+                       *rs_hd_size = disk->dev->length;
+                       table->hd_size = PED_CPU_TO_BE32(*rs_hd_size);
+               }
+       }
+       return 1;
+}
+
+/* Try to init the HDX compatibility Bad Sectors List. */
+static int
+atr_empty_init_bsl (const PedDisk* disk)
+{
+       uint8_t         zeros[PED_SECTOR_SIZE_DEFAULT];
+       PedSector       sec;
+       PedPartition*   part;
+       AtariDisk*      atr_disk = ATARI_DISK (disk);
+
+       memset (zeros, 0, PED_SECTOR_SIZE_DEFAULT);
+       for (sec = atr_disk->bsl_start;
+            sec < atr_disk->bsl_start + atr_disk->bsl_count;
+            sec++ ) {
+               if (sec == atr_disk->bsl_start)
+                       zeros[3] = 0xA5;
+               else
+                       zeros[3] = 0;
+               part = ped_disk_get_partition_by_sector (disk, sec);
+               if (part && ped_partition_is_active (part)) {
+                       ped_exception_throw (
+                               PED_EXCEPTION_ERROR,
+                               PED_EXCEPTION_CANCEL,
+                               _("No room at sector %lli to store BSL."),
+                               sec );
+                       return 0;
+               }
+               ped_device_write (disk->dev, zeros, sec, 1);
+       }
+       atr_disk->HDX_comp = 0;
+       return 1;
+}
+
+static int
+atari_write (const PedDisk* disk)
+{
+       AtariRawTable   table;
+       AtariDisk*      atr_disk;
+       AtariPart*      atr_part;
+       PedPartition*   log;
+       PedPartition*   ext_part;
+       PedPartition*   part = NULL;
+       uint32_t        rs_hd_size;
+       int             i, xgm_begin, pnum, append_ext;
+       int             put_sign, boot, prim_count, last_num;
+       PED_ASSERT (disk != NULL);
+       PED_ASSERT (disk->dev != NULL);
+       atr_disk = ATARI_DISK (disk);
+       PED_ASSERT (atr_disk != NULL);
+
+       prim_count = ped_disk_get_primary_partition_count (disk);
+       last_num = ped_disk_get_last_partition_num (disk);
+       ext_part = ped_disk_extended_partition (disk);
+
+       /* WARNING: similar/related code in atari_enumerate */
+       xgm_begin = ((log = ped_disk_get_partition (disk, 1))
+                     && (log->type & PED_PARTITION_LOGICAL));
+       PED_ASSERT (atr_disk->format != FMT_ICD || ext_part == NULL);
+       PED_ASSERT (atr_disk->format != FMT_XGM || prim_count + xgm_begin <= N_AHDI);
+       PED_ASSERT (atr_disk->format != FMT_AHDI || (ext_part == NULL && prim_count + xgm_begin <= N_AHDI));
+
+       /* Device Spec ok for Atari label? */
+       if (!atr_can_use_dev (disk->dev))
+               goto error;
+
+       if (!ped_device_read (disk->dev, (void*) &table, 0, 1))
+               goto error;
+
+       boot = atr_is_boot_table (&table);
+
+       table.bsl_start = PED_CPU_TO_BE32 (atr_disk->bsl_start);
+       table.bsl_count = PED_CPU_TO_BE32 (atr_disk->bsl_count);
+
+       /* Before anything else check the sector count and */
+       /* fix it if necessary */
+       if (!atr_load_fix_hdsize (disk, &rs_hd_size, &table))
+               goto error;
+
+       append_ext =    (ext_part != NULL)
+                    && (_disk_logical_partition_count (disk) == 0);
+
+       /* Fill the AHDI table */
+       put_sign = (prim_count == 0);
+       pnum = 1;
+       for (i = 0; i < N_AHDI; i++) {
+               if (pnum > last_num)
+                       part = NULL;
+               else while (pnum <= last_num
+                           && !(part = ped_disk_get_partition (disk, pnum)))
+                       pnum++;
+
+               if (put_sign) {
+                       atr_put_signature_entry (&table.part[i]);
+                       continue;
+               }
+
+               if (!part && i != 0 && append_ext) {
+                       part = ext_part;
+                       append_ext = 0;
+               }
+
+               if (!part || (i == 0 && xgm_begin)) {
+                       table.part[i].flag &= ~PART_FLAG_USED;
+                       continue;
+               }
+
+               if (part->type & PED_PARTITION_LOGICAL)
+                       part = ext_part;
+
+               PED_ASSERT (part != NULL);
+
+               atr_part = ATARI_PART (part);
+               atr_fill_raw_entry (&table.part[i], atr_part->flag,
+                                   atr_part->part_id, part->geom.start,
+                                   part->geom.length );
+
+               if (part->type & PED_PARTITION_EXTENDED) {
+                       while (pnum <= last_num) {
+                               part = ped_disk_get_partition (disk, pnum);
+                               if (part &&
+                                   !(part->type & PED_PARTITION_LOGICAL))
+                                       break;
+                               pnum++;
+                       }
+               } else
+                       pnum++;
+       }
+
+       if ((ext_part != NULL || atr_disk->format == FMT_AHDI)
+           && pnum <= last_num) {
+               ped_exception_throw (PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL,
+                       _("There were remaining partitions after filling "
+                         "the main AHDI table.") );
+               goto error;
+       }
+
+       /* Leave XGM or ICD mode if uneeded */
+       if (pnum > last_num
+           && (atr_disk->format == FMT_ICD || ext_part == NULL))
+               atr_disk->format = FMT_AHDI;
+
+       /* If AHDI mode, check that no ICD will be detected */
+       /* and propose to fix */
+       if (atr_disk->format == FMT_AHDI
+           && atr_part_valid (&table.icd_part[0], rs_hd_size)
+           && atr_part_known (&table.icd_part[0], atr_known_icd_pid)) {
+               int result = PED_EXCEPTION_UNHANDLED;
+               result = ped_exception_throw (
+                       PED_EXCEPTION_WARNING,
+                       PED_EXCEPTION_YES_NO_CANCEL,
+                       _("The main AHDI table has been filled with all "
+                         "partitions but the ICD table is not empty "
+                         "so more partitions of unknown size and position "
+                         "will be detected by ICD compatible software.  Do "
+                         "you want to invalidate the ICD table?") );
+               if (result == PED_EXCEPTION_YES
+                   || result == PED_EXCEPTION_UNHANDLED)
+                       table.icd_part[0].flag &= ~PART_FLAG_USED;
+               else if (result == PED_EXCEPTION_CANCEL)
+                       goto error;
+       }
+
+       if (put_sign)
+               goto write_to_dev;
+
+       /* Fill the ICD table */
+       if (atr_disk->format == FMT_ICD)
+       for (i = 0; i < N_ICD; i++) {
+               if (pnum > last_num)
+                       part = NULL;
+               else while (pnum <= last_num
+                           && !(part = ped_disk_get_partition (disk, pnum)))
+                       pnum++;
+
+               if (!part) {
+                       table.icd_part[i].flag &= ~PART_FLAG_USED;
+                       continue;
+               }
+
+               if (part->type & PED_PARTITION_EXTENDED
+                   || part->type & PED_PARTITION_LOGICAL) {
+                       ped_exception_throw (
+                               PED_EXCEPTION_BUG,
+                               PED_EXCEPTION_CANCEL,
+                               _("ICD entries can't contain extended or "
+                                 "logical partitions.") );
+                       goto error;
+               }
+
+               atr_part = ATARI_PART (part);
+               atr_fill_raw_entry (&table.icd_part[i], atr_part->flag,
+                                   atr_part->icd_id, part->geom.start,
+                                   part->geom.length );
+
+               pnum++;
+       }
+
+       /* Write the chained list of logical partitions */
+       if (atr_disk->format == FMT_XGM) {
+               if (!atr_write_logicals (disk))
+                       goto error;
+       }
+
+write_to_dev:
+       if (pnum <= last_num) {
+               ped_exception_throw (PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL,
+                       _("There were remaining partitions after filling "
+                         "the tables.") );
+               goto error;
+       }
+
+       /* Do we need to do that in case of failure too??? */
+       atr_table_set_boot (&table, boot);
+
+       /* Commit the root sector... */
+       if (!ped_device_write (disk->dev, (void*) &table, 0, 1)
+           || !ped_device_sync (disk->dev))
+               goto error;
+
+       /* Try to init the HDX compatibility Bad Sectors List if needed. */
+       if (atr_disk->HDX_comp && !atr_empty_init_bsl (disk))
+               goto error;
+
+       atr_disk->has_been_read = 1;
+       return ped_device_sync (disk->dev);
+
+error:
+       atr_disk->has_been_read = 0;
+       return 0;
+}
+#endif
+
+/* If extended partition in ICD mode, generate an error and returns 1 */
+/* else returns 0 */
+static int
+atr_xgm_in_icd (const PedDisk* disk, PedPartitionType part_type)
+{
+       AtariDisk* atrdisk;
+
+       PED_ASSERT (disk != NULL);
+
+       if (part_type & PED_PARTITION_EXTENDED) {
+               atrdisk = ATARI_DISK (disk);
+               if (atrdisk->format == FMT_ICD) {
+                       ped_exception_throw (
+                             PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL,
+                             _("You can't use an extended XGM partition in "
+                               "ICD mode (more than %d primary partitions, if "
+                               "XGM is the first one it counts for two)."),
+                               N_AHDI );
+                       return 1;
+               }
+       }
+
+       return 0;
+}
+
+static PedPartition*
+atari_partition_new (const PedDisk* disk, PedPartitionType part_type,
+                    const PedFileSystemType* fs_type,
+                    PedSector start, PedSector end)
+{
+       PedPartition*   part;
+       AtariPart*      atrpart;
+
+       if (atr_xgm_in_icd(disk, part_type))
+               return 0;
+
+       part = _ped_partition_alloc (disk, part_type, fs_type, start, end);
+       if (!part)
+               goto error;
+       if (ped_partition_is_active (part)) {
+               part->disk_specific = atrpart = ped_malloc (sizeof (AtariPart));
+               if (!atrpart)
+                       goto error_free_part;
+               memset (atrpart, 0, sizeof (AtariPart));
+       } else {
+               part->disk_specific = NULL;
+       }
+       return part;
+
+error_free_part:
+       _ped_partition_free (part);
+error:
+       return NULL;
+}
+
+static PedPartition*
+atari_partition_duplicate (const PedPartition* part)
+{
+       PedPartition*   new_part;
+
+       new_part = ped_partition_new (part->disk, part->type,
+                                     part->fs_type, part->geom.start,
+                                     part->geom.end);
+       if (!new_part)
+               return NULL;
+       new_part->num = part->num;
+       if (ped_partition_is_active (part))
+               memcpy (new_part->disk_specific, part->disk_specific,
+                       sizeof (AtariPart));
+
+       return new_part;
+}
+
+static void
+atari_partition_destroy (PedPartition* part)
+{
+       PED_ASSERT (part != NULL);
+
+       if (ped_partition_is_active (part)) {
+               PED_ASSERT (part->disk_specific != NULL);
+               free (part->disk_specific);
+       }
+       _ped_partition_free (part);
+}
+
+/* Note: fs_type is NULL for extended partitions */
+static int
+atari_partition_set_system (PedPartition* part,
+                           const PedFileSystemType* fs_type)
+{
+       AtariPart*      atrpart;
+       AtariFS2PartId* fs2id;
+       PED_ASSERT (part != NULL);
+       atrpart = ATARI_PART (part);
+       PED_ASSERT (atrpart != NULL);
+
+       part->fs_type = fs_type;
+
+       if (atr_xgm_in_icd(part->disk, part->type))
+               return 0;
+
+       if (part->type & PED_PARTITION_EXTENDED) {
+               strcpy (atrpart->part_id, "XGM");
+               strcpy (atrpart->icd_id,  "XGM");
+               return 1;
+       }
+
+       if (!fs_type) {
+               strcpy (atrpart->part_id, "RAW");
+               strcpy (atrpart->icd_id,  "RAW");
+               return 1;
+       }
+
+       for (fs2id = atr_fs2pid; fs2id->fs; fs2id++) {
+               if (!*fs2id->fs    /* default entry */
+                   || ((!strcmp (fs_type->name, fs2id->fs)
+                       && part->geom.length < fs2id->max_sectors))) {
+
+                       strcpy (atrpart->part_id, fs2id->pid);
+                       if (atr_pid_known (fs2id->pid, atr_known_icd_pid))
+                               strcpy (atrpart->icd_id, fs2id->pid);
+                       else
+                               strcpy (atrpart->icd_id, "RAW");
+
+                       break;
+               }
+       }
+       PED_ASSERT (fs2id->fs != NULL);
+
+       return 1;
+}
+
+static int
+atari_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state)
+{
+       AtariPart* atr_part;
+       AtariPartID2BootFlag* bf;
+
+       PED_ASSERT (part != NULL);
+       atr_part = ATARI_PART (part);
+       PED_ASSERT (atr_part != NULL);
+
+       if (flag != PED_PARTITION_BOOT)
+               return 0;
+
+       if (state == 0) {
+               atr_part->flag = 0;
+       } else {
+               for (bf = atr_pid2bf; *bf->pid; bf++) {
+                       if (atr_pid_eq (bf->pid, atr_part->part_id))
+                               break;
+               }
+               atr_part->flag = bf->flag;
+       }
+
+       return 1;
+}
+
+static int _GL_ATTRIBUTE_PURE
+atari_partition_get_flag (const PedPartition* part, PedPartitionFlag flag)
+{
+       AtariPart* atr_part;
+
+       PED_ASSERT (part != NULL);
+       atr_part = ATARI_PART (part);
+       PED_ASSERT (atr_part != NULL);
+
+       if (flag != PED_PARTITION_BOOT)
+               return 0;
+
+       return (atr_part->flag != 0);
+}
+
+static int
+atari_partition_is_flag_available (const PedPartition* part,
+                                  PedPartitionFlag flag)
+{
+       if (flag == PED_PARTITION_BOOT)
+               return 1;
+
+       return 0;
+}
+
+/* Adapted from disk_dos */
+static PedConstraint*
+atr_log_constraint (const PedPartition* part)
+{
+       const PedGeometry*      geom = &part->geom;
+       PedGeometry     safe_space;
+       PedSector       min_start;
+       PedSector       max_end;
+       PedDisk*        disk;
+       PedDevice*      dev;
+       PedPartition*   ext_part;
+       PedPartition*   walk;
+       int             first_log, not_first;
+
+       PED_ASSERT (part->disk != NULL);
+       PED_ASSERT (part->disk->dev != NULL);
+       ext_part = ped_disk_extended_partition (part->disk);
+       PED_ASSERT (ext_part != NULL);
+
+       dev = (disk = part->disk) -> dev;
+
+       first_log = atr_find_first_log (disk);
+       if (first_log == -1)
+               first_log = part->num;
+
+       not_first = (part->num != first_log);
+
+       walk = ext_part->part_list;
+
+       min_start = ext_part->geom.start + 1 + not_first;
+       max_end = ext_part->geom.end;
+
+       while (walk != NULL
+               && (   walk->geom.start - (walk->num != first_log)
+                                               < geom->start - not_first
+                   || walk->geom.start - (walk->num != first_log)
+                                               < min_start ) ) {
+               if (walk != part && ped_partition_is_active (walk))
+                       min_start = walk->geom.end + 1 + not_first;
+               walk = walk->next;
+       }
+
+       while (walk && (walk == part || !ped_partition_is_active (walk)))
+               walk = walk->next;
+
+       if (walk)
+               max_end = walk->geom.start - 1 - (walk->num != first_log);
+
+       if (min_start >= max_end)
+               return NULL;
+
+       ped_geometry_init (&safe_space, dev, min_start,
+                          max_end - min_start + 1);
+       return ped_constraint_new_from_max (&safe_space);
+}
+
+/* Adapted from disk_dos */
+static PedGeometry*
+art_min_extended_geom (const PedPartition* ext_part)
+{
+       PedDisk*        disk = ext_part->disk;
+       PedPartition*   walk;
+       PedGeometry*    min_geom;
+       int             first_log;
+
+       first_log = atr_find_first_log (disk);
+       if (first_log == -1)
+               return NULL;
+
+       walk = ped_disk_get_partition (disk, first_log);
+       PED_ASSERT (walk->type & PED_PARTITION_LOGICAL);
+       min_geom = ped_geometry_duplicate (&walk->geom);
+       if (!min_geom)
+               return NULL;
+       ped_geometry_set_start (min_geom, walk->geom.start - 1);
+
+       for (walk = ext_part->part_list; walk; walk = walk->next) {
+               if (!ped_partition_is_active (walk) || walk->num == first_log)
+                       continue;
+               if (walk->geom.start < min_geom->start)
+                       ped_geometry_set_start (min_geom, walk->geom.start - 2);
+               if (walk->geom.end > min_geom->end)
+                       ped_geometry_set_end (min_geom, walk->geom.end);
+       }
+
+       return min_geom;
+}
+
+/* Adapted from disk_dos */
+static PedConstraint*
+atr_ext_constraint (const PedPartition* part)
+{
+       PedGeometry     start_range;
+       PedGeometry     end_range;
+       PedConstraint*  constraint;
+       PedDevice*      dev;
+       PedDisk*        disk;
+       PedGeometry*    min;
+
+       PED_ASSERT (part->disk != NULL);
+       PED_ASSERT (part->disk->dev != NULL);
+
+       dev = (disk = part->disk) -> dev;
+       min = art_min_extended_geom (part);
+
+       if (min) {
+               ped_geometry_init (&start_range, dev, 1, min->start);
+               ped_geometry_init (&end_range, dev, min->end,
+                                  dev->length - min->end);
+               ped_geometry_destroy (min);
+       } else {
+               ped_geometry_init (&start_range, dev, 1, dev->length - 1);
+               ped_geometry_init (&end_range, dev, 1, dev->length - 1);
+       }
+
+       constraint = ped_constraint_new (ped_alignment_any, ped_alignment_any,
+                               &start_range, &end_range, 1, dev->length);
+       return constraint;
+}
+
+static PedConstraint*
+atr_prim_constraint (const PedPartition* part)
+{
+       PedDevice*      dev;
+       PedGeometry     max;
+
+       PED_ASSERT (part->disk != NULL);
+       PED_ASSERT (part->disk->dev != NULL);
+
+       dev = part->disk->dev;
+
+       ped_geometry_init (&max, dev, 1, dev->length - 1);
+       return ped_constraint_new_from_max (&max);
+}
+
+/* inspiration from disk_dos */
+static PedGeometry*
+_best_solution (PedGeometry* a, PedGeometry* b)
+{
+       if (!a)
+               return b;
+       if (!b)
+               return a;
+
+       if (a->length < b->length)
+               goto choose_b;
+
+       ped_geometry_destroy (b);
+       return a;
+
+choose_b:
+       ped_geometry_destroy (a);
+       return b;
+}
+
+/* copied from disk_dos */
+static PedGeometry*
+_try_constraint (const PedPartition* part, const PedConstraint* external,
+                PedConstraint* internal)
+{
+       PedConstraint*          intersection;
+       PedGeometry*            solution;
+
+       intersection = ped_constraint_intersect (external, internal);
+       ped_constraint_destroy (internal);
+       if (!intersection)
+               return NULL;
+
+       solution = ped_constraint_solve_nearest (intersection, &part->geom);
+       ped_constraint_destroy (intersection);
+       return solution;
+}
+
+/*
+ * internal is either the primary or extented constraint.
+ * If there's no BSL, the is the only internal constraint considered.
+ * If there's a BSL, try to fit the partition before or after (and
+ * choose the best fit, the one which results in the greatest size...)
+ */
+static int
+atr_prim_align (PedPartition* part, const PedConstraint* constraint,
+               PedConstraint* internal)
+{
+       PedDevice*      dev;
+       AtariDisk*      atr_disk;
+       PedConstraint*  cut;
+       PedGeometry*    solution = NULL;
+       PedGeometry     max;
+       PedSector       bsl_end;
+
+       PED_ASSERT (part->disk != NULL);
+       PED_ASSERT (part->disk->dev != NULL);
+       dev = part->disk->dev;
+       atr_disk = ATARI_DISK (part->disk);
+       PED_ASSERT (atr_disk != NULL);
+
+       /* No BSL */
+       if (!atr_disk->bsl_start && !atr_disk->bsl_count) {
+               /* Note: _ped_partition_attempt_align will destroy internal */
+               return _ped_partition_attempt_align(part, constraint, internal);
+       }
+
+       /* BSL, try to fit before */
+       if (atr_disk->bsl_start > 1) {
+               ped_geometry_init (&max, dev, 1, atr_disk->bsl_start - 1);
+               cut = ped_constraint_new_from_max (&max);
+               solution = _best_solution (solution,
+                               _try_constraint (part, constraint,
+                                    ped_constraint_intersect (internal, cut)));
+               ped_constraint_destroy (cut);
+       }
+
+       /* BSL, try to fit after, take the best solution */
+       bsl_end = atr_disk->bsl_start + atr_disk->bsl_count;
+       if (bsl_end < dev->length) {
+               ped_geometry_init (&max, dev, bsl_end, dev->length - bsl_end);
+               cut = ped_constraint_new_from_max (&max);
+               solution = _best_solution (solution,
+                               _try_constraint (part, constraint,
+                                    ped_constraint_intersect (internal, cut)));
+               ped_constraint_destroy (cut);
+       }
+
+       ped_constraint_destroy (internal);
+
+       if (solution) {
+               ped_geometry_set (&part->geom, solution->start,
+                                 solution->length);
+               ped_geometry_destroy (solution);
+               return 1;
+       }
+
+       return 0;
+}
+
+static int
+atari_partition_align (PedPartition* part, const PedConstraint* constraint)
+{
+       PED_ASSERT (part != NULL);
+
+       switch (part->type) {
+           case PED_PARTITION_LOGICAL:
+               if (_ped_partition_attempt_align (part, constraint,
+                                                 atr_log_constraint (part) ) )
+                       return 1;
+               break;
+           case PED_PARTITION_EXTENDED:
+               if (atr_prim_align (part, constraint,
+                                   atr_ext_constraint (part) ) )
+                       return 1;
+               break;
+           default:
+               if (atr_prim_align (part, constraint,
+                                   atr_prim_constraint (part) ) )
+                       return 1;
+               break;
+       }
+
+#ifndef DISCOVER_ONLY
+       ped_exception_throw (
+               PED_EXCEPTION_ERROR,
+               PED_EXCEPTION_CANCEL,
+               _("Unable to satisfy all constraints on the partition."));
+#endif
+       return 0;
+}
+
+/* increment numbers of any non logical partition found after the last */
+/* logical one, to make room for a new logical partition */
+static int
+art_room_for_logic (PedDisk* disk)
+{
+       PedPartition*   part;
+       int             num, last_logic, last;
+
+       /* too many partitions ? */
+       last = ped_disk_get_last_partition_num (disk);
+       if (last >= MAXIMUM_PARTS)
+               return 0;
+
+       /* find the last logical partition */
+       last_logic = 0;
+       for (num = 1; num <= last; num++) {
+               part = ped_disk_get_partition (disk, num);
+               if (part && ped_partition_is_active (part)
+                        && (part->type & PED_PARTITION_LOGICAL))
+                       last_logic = num;
+       }
+
+       if (!last_logic)
+               return 1;
+
+       /* increment */
+       for (num = last; num > last_logic; num--) {
+               part = ped_disk_get_partition (disk, num);
+               if (part && ped_partition_is_active (part)
+                        && !(part->type & ( PED_PARTITION_LOGICAL
+                                          | PED_PARTITION_EXTENDED))
+                        && part->num > 0 )
+                       part->num++;
+       }
+
+       return 1;
+}
+
+static int
+atari_partition_enumerate (PedPartition* part)
+{
+       AtariDisk*      atrdisk;
+       PedPartition*   ext_part;
+       PedPartition*   log;
+       int             i, want_icd, want_xgm, num_max, xgm_begin, prim_count;
+
+       PED_ASSERT (part != NULL);
+       PED_ASSERT (part->disk != NULL);
+       atrdisk = ATARI_DISK (part->disk);
+       PED_ASSERT (atrdisk != NULL);
+
+       /* WARNING: some similar/related code in atari_write */
+       /* This is quite a <hack> : this function is probably the only way   */
+       /* to know something has been / is going to be modified in the table.*/
+       /* So we detect the current operation mode (AHDI/XGM/ICD) and report */
+       /* errors (in which case we refuse to operate...) */
+
+       prim_count = ped_disk_get_primary_partition_count (part->disk);
+       ext_part = ped_disk_extended_partition (part->disk);
+
+       /* <hack in the hack> : we can't reorder (yet) , so if we begin with */
+       /* XGM the first slot must be empty */
+       xgm_begin = ((log = ped_disk_get_partition (part->disk, 1))
+                     && (log->type & PED_PARTITION_LOGICAL))
+                   || ((part->num == -1)
+                       && (part->type & PED_PARTITION_LOGICAL)
+                       && !ped_disk_get_partition (part->disk, 1));
+       /* </hack in the hack> */
+
+       PED_ASSERT (atrdisk->format != FMT_ICD || ext_part == NULL);
+       PED_ASSERT (atrdisk->format != FMT_XGM
+                   || prim_count + xgm_begin <= N_AHDI);
+       PED_ASSERT (atrdisk->format != FMT_AHDI
+                   || (ext_part == NULL && prim_count + xgm_begin <= N_AHDI));
+
+       want_icd = ( ( prim_count
+                       + xgm_begin
+                       + ( (part->num == -1)
+                           && !(part->type & PED_PARTITION_LOGICAL) ) )
+                     > N_AHDI );
+       want_xgm = ( (part->type & PED_PARTITION_EXTENDED)
+                    || ext_part != NULL );
+
+       if (!want_xgm && !want_icd)
+               atrdisk->format = FMT_AHDI;
+       else if (want_xgm && !want_icd)
+               atrdisk->format = FMT_XGM;
+       else if (!want_xgm && want_icd)
+               atrdisk->format = FMT_ICD;
+       else {
+               if (atr_xgm_in_icd (part->disk, PED_PARTITION_EXTENDED))
+                       return 0;
+               else {
+                       ped_exception_throw (
+                               PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL,
+                             _("You can't use more than %d primary partitions "
+                               "(ICD mode) if you use an extended XGM "
+                               "partition.  If XGM is the first partition "
+                               "it counts for two."),
+                               N_AHDI );
+                       return 0;
+               }
+       }
+       /* End of </hack> */
+
+
+       /* Ext will be numbered 0 and will stay 0... */
+       if (part->num == 0)
+               return 1;
+
+       if (part->num == -1) {
+
+               /* Linux don't show the ext part itself for Atari disk labels */
+               /* so we use number 0 (could use a big number too, but that   */
+               /* would be less cute ;) */
+               if (part->type & PED_PARTITION_EXTENDED) {
+                       part->num = 0;
+                       return 1;
+               }
+
+               switch (atrdisk->format) {
+                   case FMT_AHDI:
+                   case FMT_ICD:
+                       num_max = N_ICD + N_AHDI;
+                       break;
+                   case FMT_XGM:
+                       num_max = MAXIMUM_PARTS;
+                       break;
+                   default:
+                       num_max = 0;
+                       PED_ASSERT (0);
+               }
+
+               /* make room for logical partitions */
+               if (part->type & PED_PARTITION_LOGICAL) {
+                       if (!art_room_for_logic (part->disk))
+                               goto error_alloc_failed;
+               }
+
+               /* find an unused number */
+               for (i = 1; i <= num_max; i++) {
+                       if (!ped_disk_get_partition (part->disk, i)) {
+                               part->num = i;
+                               return 1;
+                       }
+               }
+
+       } else {
+               /* find an unused number before or don't re-number */
+               for (i = 1; i < part->num; i++) {
+                       if (!ped_disk_get_partition (part->disk, i)) {
+                               part->num = i;
+                       }
+               }
+               return 1;
+       }
+
+       /* failed to allocate a number */
+error_alloc_failed:
+#ifndef DISCOVER_ONLY
+       ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL,
+               _("Unable to allocate a partition number."));
+#endif
+       return 0;
+}
+
+static int
+atr_creat_add_metadata (PedDisk* disk, PedSector start, PedSector end,
+                       PedPartitionType type )
+{
+       PedPartition*   new_part;
+       PedConstraint*  const_exact;
+       int             added;
+
+       type |= PED_PARTITION_METADATA;
+       new_part = ped_partition_new (disk, type, NULL, start, end);
+       if (!new_part)
+               goto error;
+
+       const_exact = ped_constraint_exact (&new_part->geom);
+       added = ped_disk_add_partition (disk, new_part, const_exact);
+       ped_constraint_destroy (const_exact);
+       if (!added)
+               goto error_destroy_part;
+
+       return 1;
+
+error_destroy_part:
+       ped_partition_destroy (new_part);
+error:
+       return 0;
+}
+
+static int
+atari_alloc_metadata (PedDisk* disk)
+{
+       PedPartition*   ext;
+       PedPartition*   log;
+       AtariDisk*      atr_disk;
+       int             i;
+
+       PED_ASSERT (disk != NULL);
+       PED_ASSERT (disk->dev != NULL);
+       atr_disk = ATARI_DISK (disk);
+       PED_ASSERT (atr_disk != NULL);
+
+       /* allocate 1 sector for the disk label at the start */
+       if (!atr_creat_add_metadata (disk, 0, 0, 0))
+               return 0;
+
+       /* allocate the sectors containing the BSL */
+       if (atr_disk->bsl_start || atr_disk->bsl_count) {
+               if (!atr_creat_add_metadata (disk, atr_disk->bsl_start,
+                                            atr_disk->bsl_start
+                                             + atr_disk->bsl_count - 1, 0 ) )
+                       return 0;
+       }
+
+       ext = ped_disk_extended_partition (disk);
+       if (ext) {
+               if (!atr_creat_add_metadata (disk, ext->geom.start,
+                                            ext->geom.start,
+                                            PED_PARTITION_LOGICAL ) )
+                       return 0;
+
+               /* Find the first logical part */
+               for (i = 1; i <= ped_disk_get_last_partition_num (disk); i++)
+                       if ((log = ped_disk_get_partition (disk, i))
+                           && (log->type & PED_PARTITION_LOGICAL))
+                               break;
+
+               for (log = ext->part_list; log; log = log->next) {
+                       if ((log->type & ( PED_PARTITION_METADATA
+                                        | PED_PARTITION_FREESPACE))
+                           || log->num == i)
+                               continue;
+
+                       if (!atr_creat_add_metadata (disk, log->geom.start-1,
+                                                    log->geom.start-1,
+                                                    PED_PARTITION_LOGICAL ) )
+                               return 0;
+               }
+       }
+
+       return 1;
+}
+
+static int _GL_ATTRIBUTE_PURE
+atari_get_max_primary_partition_count (const PedDisk* disk)
+{
+       AtariDisk*      atr_disk;
+
+       PED_ASSERT (disk != NULL);
+       atr_disk = ATARI_DISK (disk);
+       PED_ASSERT (atr_disk != NULL);
+
+       return atr_disk->format == FMT_XGM ? N_AHDI : N_AHDI + N_ICD;
+}
+
+static bool
+atari_get_max_supported_partition_count (const PedDisk* disk, int *max_n)
+{
+       AtariDisk*      atr_disk;
+
+       PED_ASSERT (disk != NULL);
+       atr_disk = ATARI_DISK (disk);
+       PED_ASSERT (atr_disk != NULL);
+
+       *max_n = atr_disk->format == FMT_XGM ? N_AHDI : N_AHDI + N_ICD;
+        return true;
+}
+
+#include "pt-common.h"
+PT_define_limit_functions(atari)
+
+static PedDiskOps atari_disk_ops = {
+       clobber:                NULL_IF_DISCOVER_ONLY (atari_clobber),
+       write:                  NULL_IF_DISCOVER_ONLY (atari_write),
+
+       partition_set_name:     NULL,
+       partition_get_name:     NULL,
+
+        PT_op_function_initializers (atari)
+};
+
+static PedDiskType atari_disk_type = {
+       next:           NULL,
+       name:           "atari",
+       ops:            &atari_disk_ops,
+       features:       PED_DISK_TYPE_EXTENDED
+};
+
+void
+ped_disk_atari_init ()
+{
+       PED_ASSERT (sizeof (AtariRawPartition) == 12);
+       PED_ASSERT (sizeof (AtariRawTable) == 512);
+       /* GNU Libc doesn't support NULL instead of the locale name */
+       PED_ASSERT ((atr_c_locale = newlocale(LC_ALL_MASK, "C", NULL)) != NULL);
+
+       ped_disk_type_register (&atari_disk_type);
+}
+
+void
+ped_disk_atari_done ()
+{
+       ped_disk_type_unregister (&atari_disk_type);
+       freelocale(atr_c_locale);
+}
index a8525a4a97bc921c3acc1ed473051c3d19b59eed..6946563ad6c4d38985a4041fd3849dfc4b9ad967 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000-2001, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000-2001, 2007-2014, 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
@@ -44,7 +44,6 @@
 #define BSD_DISKMAGIC  (0x82564557UL)  /* The disk magic number */
 #define BSD_MAXPARTITIONS      8
 #define BSD_FS_UNUSED          0       /* disklabel unused partition entry ID */
-#define BSD_LABEL_OFFSET       64
 
 #define        BSD_DTYPE_SMD           1               /* SMD, XSMD; VAX hp/up */
 #define        BSD_DTYPE_MSCP          2               /* MSCP */
@@ -61,6 +60,7 @@
 
 typedef struct _BSDRawPartition                BSDRawPartition;
 typedef struct _BSDRawLabel            BSDRawLabel;
+typedef struct _BSDDiskData            BSDDiskData;
 
 struct _BSDRawPartition {              /* the partition table */
        uint32_t        p_size;         /* number of sectors in partition */
@@ -104,12 +104,15 @@ struct _BSDRawLabel {
        uint16_t        d_npartitions;          /* number of partitions in following */
        uint32_t        d_bbsize;               /* size of boot area at sn0, bytes */
        uint32_t        d_sbsize;               /* max size of fs superblock, bytes */
+#define D_PARTITIONS_WORDS     59
        BSDRawPartition d_partitions[BSD_MAXPARTITIONS];        /* actually may be more */
-} __attribute__((packed));
+} __attribute__((packed, aligned(2)));
 
-typedef struct {
-       char            boot_code [512];
-} BSDDiskData;
+struct _BSDDiskData {
+       char            boot_code[64];
+       BSDRawLabel     label;                  /* label is offset by 64 bytes */
+       char            unused[172];            /* May contain more partitions */
+} __attribute__((packed, aligned(2)));
 
 typedef struct {
        uint8_t         type;
@@ -123,26 +126,23 @@ static PedDiskType bsd_disk_type;
 /* XXX fixme: endian? */
 static unsigned short
 xbsd_dkcksum (BSDRawLabel *lp) {
-       unsigned short *start, *end;
-       unsigned short sum = 0;
+       const u_short* word = (u_short*)(lp);
+       const u_short* end = word + D_PARTITIONS_WORDS + PED_LE16_TO_CPU(lp->d_npartitions);
+       u_short sum;
 
        lp->d_checksum = 0;
-       start = (u_short*) lp;
-       end = (u_short*) &lp->d_partitions [
-                               PED_LE16_TO_CPU (lp->d_npartitions)];
-       while (start < end)
-               sum ^= *start++;
+       for(sum=0; word < end; word++)
+               sum ^= PED_LE16_TO_CPU(*word);
        return sum;
 }
 
 /* XXX fixme: endian? */
 static void
-alpha_bootblock_checksum (char *boot) {
-       uint64_t *dp, sum;
+alpha_bootblock_checksum (void *boot) {
+       uint64_t* dp = (uint64_t *)boot;
+       uint64_t sum=0;
        int i;
 
-       dp = (uint64_t *)boot;
-       sum = 0;
        for (i = 0; i < 63; i++)
                sum += dp[i];
        dp[63] = sum;
@@ -151,24 +151,24 @@ alpha_bootblock_checksum (char *boot) {
 static int
 bsd_probe (const PedDevice *dev)
 {
-       BSDRawLabel     *partition;
+       BSDRawLabel     *label;
 
        PED_ASSERT (dev != NULL);
 
         if (dev->sector_size < 512)
                 return 0;
 
-       void *label;
-       if (!ptt_read_sector (dev, 0, &label))
+       void *s0;
+       if (!ptt_read_sector (dev, 0, &s0))
                return 0;
 
-       partition = (BSDRawLabel *) ((char *) label + BSD_LABEL_OFFSET);
+       label = &((BSDDiskData*) s0)->label;
 
        alpha_bootblock_checksum(label);
 
        /* check magic */
-        bool found = PED_LE32_TO_CPU (partition->d_magic) == BSD_DISKMAGIC;
-       free (label);
+        bool found = PED_LE32_TO_CPU (label->d_magic) == BSD_DISKMAGIC;
+       free (s0);
        return found;
 }
 
@@ -177,25 +177,19 @@ bsd_alloc (const PedDevice* dev)
 {
        PedDisk*        disk;
        BSDDiskData*    bsd_specific;
-       BSDRawLabel*    label;
+       BSDRawLabel     *label;
 
        PED_ASSERT(dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0);
 
        disk = _ped_disk_alloc ((PedDevice*)dev, &bsd_disk_type);
        if (!disk)
                goto error;
-       disk->disk_specific = bsd_specific = ped_malloc (sizeof (BSDDiskData));
+       disk->disk_specific = bsd_specific = ped_calloc (sizeof (BSDDiskData));
        if (!bsd_specific)
                goto error_free_disk;
-        /* Initialize the first byte to zero, so that the code in bsd_write
-           knows to call _probe_and_add_boot_code.  Initializing all of the
-           remaining buffer is a little wasteful, but the alternative is to
-           figure out why a block at offset 340 would otherwise be used
-           uninitialized.  */
-       memset(bsd_specific->boot_code, 0, sizeof (bsd_specific->boot_code));
-
-       label = (BSDRawLabel*) (bsd_specific->boot_code + BSD_LABEL_OFFSET);
 
+       /* Initialize the disk label's default values */
+       label = &bsd_specific->label;
        label->d_magic = PED_CPU_TO_LE32 (BSD_DISKMAGIC);
        label->d_type = PED_CPU_TO_LE16 (BSD_DTYPE_SCSI);
        label->d_flags = 0;
@@ -211,7 +205,7 @@ bsd_alloc (const PedDevice* dev)
                                   * dev->bios_geom.cylinders);
 
        label->d_rpm = PED_CPU_TO_LE16 (3600);
-       label->d_interleave = PED_CPU_TO_LE16 (1);;
+       label->d_interleave = PED_CPU_TO_LE16 (1);
        label->d_trackskew = 0;
        label->d_cylskew = 0;
        label->d_headswitch = 0;
@@ -223,6 +217,7 @@ bsd_alloc (const PedDevice* dev)
 
        label->d_npartitions = 0;
        label->d_checksum = xbsd_dkcksum (label);
+
        return disk;
 
 error_free_disk:
@@ -243,7 +238,7 @@ bsd_duplicate (const PedDisk* disk)
                return NULL;
 
        new_bsd_data = (BSDDiskData*) new_disk->disk_specific;
-       memcpy (new_bsd_data->boot_code, old_bsd_data->boot_code, 512);
+       memcpy (new_bsd_data, old_bsd_data, sizeof(BSDDiskData));
        return new_disk;
 }
 
@@ -267,10 +262,10 @@ bsd_read (PedDisk* disk)
        if (!ptt_read_sector (disk->dev, 0, &s0))
                return 0;
 
-       memcpy (bsd_specific->boot_code, s0, sizeof (bsd_specific->boot_code));
+       memcpy (bsd_specific, s0, sizeof (BSDDiskData));
        free (s0);
 
-       label = (BSDRawLabel *) (bsd_specific->boot_code + BSD_LABEL_OFFSET);
+       label = &bsd_specific->label;
 
        for (i = 1; i <= BSD_MAXPARTITIONS; i++) {
                PedPartition*           part;
@@ -312,18 +307,19 @@ error:
 static void
 _probe_and_add_boot_code (const PedDisk* disk)
 {
+       char *old_boot_code;
+       BSDRawLabel *old_label;
+
        void *s0;
        if (!ptt_read_sector (disk->dev, 0, &s0))
                return;
-       char *old_boot_code = s0;
-       BSDRawLabel *old_label
-                = (BSDRawLabel*) (old_boot_code + BSD_LABEL_OFFSET);
+       old_boot_code = ((BSDDiskData*) s0)->boot_code;
+       old_label = &((BSDDiskData*) s0)->label;
 
        if (old_boot_code [0]
            && old_label->d_magic == PED_CPU_TO_LE32 (BSD_DISKMAGIC)) {
                BSDDiskData *bsd_specific = (BSDDiskData*) disk->disk_specific;
-               memcpy (bsd_specific->boot_code, old_boot_code,
-                        sizeof (BSDDiskData));
+               memcpy (bsd_specific, old_boot_code, sizeof (BSDDiskData));
         }
        free (s0);
 }
@@ -343,9 +339,9 @@ bsd_write (const PedDisk* disk)
        PED_ASSERT (disk->dev != NULL);
 
        bsd_specific = (BSDDiskData*) disk->disk_specific;
-       label = (BSDRawLabel *) (bsd_specific->boot_code + BSD_LABEL_OFFSET);
+       label = &bsd_specific->label;
 
-       if (!bsd_specific->boot_code [0])
+       if (!bsd_specific->boot_code[0])
                _probe_and_add_boot_code (disk);
 
        memset (label->d_partitions, 0,
@@ -364,12 +360,12 @@ bsd_write (const PedDisk* disk)
                max_part = i;
        }
 
-       label->d_npartitions = PED_CPU_TO_LE16 (max_part) + 1;
+       label->d_npartitions = PED_CPU_TO_LE16 (max_part + 1);
        label->d_checksum = xbsd_dkcksum (label);
 
-       alpha_bootblock_checksum (bsd_specific->boot_code);
+       alpha_bootblock_checksum (bsd_specific);
 
-        if (!ptt_write_sector (disk, bsd_specific->boot_code,
+        if (!ptt_write_sector (disk, bsd_specific,
                                sizeof (BSDDiskData)))
                 goto error;
        return ped_device_sync (disk->dev);
@@ -464,7 +460,6 @@ bsd_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type)
 static int
 bsd_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state)
 {
-//     PedPartition*           walk; // since -Werror, this unused variable would break build
        BSDPartitionData*       bsd_data;
 
        PED_ASSERT (part != NULL);
@@ -488,6 +483,7 @@ bsd_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state)
                                bsd_data->raid = 0;
                        }
                        bsd_data->lvm = state;
+                       return 1;
                default:
                        ;
        }
index fa9414f25239351701e9dff70c7691d4629fccc6..dd08f33c25560dfb49bf00fe00f06869f2db3e16 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000-2001, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000-2001, 2007-2014, 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
@@ -214,19 +214,13 @@ dasd_probe (const PedDevice *dev)
 
        PED_ASSERT(dev != NULL);
 
-       if (!(dev->type == PED_DEVICE_DASD
-              || dev->type == PED_DEVICE_VIODASD
-              || dev->type == PED_DEVICE_FILE))
-               return 0;
-
        arch_specific = LINUX_SPECIFIC(dev);
 
        /* add partition test here */
        fdasd_initialize_anchor(&anchor);
 
-       fdasd_get_geometry(dev, &anchor, arch_specific->fd);
-
-       fdasd_check_api_version(&anchor, arch_specific->fd);
+       if (fdasd_get_geometry(dev, &anchor, arch_specific->fd) == 0)
+                goto error_cleanup;
 
        /* Labels are required on CDL formatted DASDs. */
        if (fdasd_check_volume(&anchor, arch_specific->fd) &&
@@ -276,7 +270,9 @@ dasd_read (PedDisk* disk)
 
        fdasd_initialize_anchor(&anchor);
 
-       fdasd_get_geometry(disk->dev, &anchor, arch_specific->fd);
+       if (fdasd_get_geometry(disk->dev, &anchor, arch_specific->fd) == 0)
+                goto error_close_dev;
+
        disk_specific->label_block = anchor.label_block;
 
        if ((anchor.geo.cylinders * anchor.geo.heads) > BIG_DISK_SIZE)
@@ -334,13 +330,12 @@ dasd_read (PedDisk* disk)
                DasdPartitionData* dasd_data;
 
                union vollabel {
-                       volume_label_t unused;
-                       ldl_volume_label_t ldl;
+                       volume_label_t ldl;
                        cms_volume_label_t cms;
                };
                union vollabel *cms_ptr1 = (union vollabel *) anchor.vlabel;
                cms_volume_label_t *cms_ptr = &cms_ptr1->cms;
-               ldl_volume_label_t *ldl_ptr = &cms_ptr1->ldl;
+               volume_label_t *ldl_ptr = &cms_ptr1->ldl;
                int partition_start_block;
 
                disk_specific->format_type = 1;
@@ -364,8 +359,7 @@ dasd_read (PedDisk* disk)
                                * (long long) cms_ptr->disk_offset;
 
                if (is_ldl)
-                  if (strncmp(ldl_ptr->ldl_version,
-                              vtoc_ebcdic_enc("2", str, 1), 1) >= 0)
+                  if (ldl_ptr->ldl_version >= 0xf2)
                      end = (long long) arch_specific->real_sector_size
                            / (long long) disk->dev->sector_size
                            * (long long) ldl_ptr->formatted_blocks - 1;
@@ -625,12 +619,18 @@ dasd_write (const PedDisk* disk)
        PDEBUG;
 
        /* If not formated in CDL, don't write anything. */
-       if (disk_specific->format_type == 1)
+       if (disk_specific->format_type == 1) {
+               ped_exception_throw (PED_EXCEPTION_ERROR,
+                                    PED_EXCEPTION_CANCEL,
+                                    _("The partition table of DASD-LDL device cannot be changed.\n"));
                return 1;
+       }
 
        /* initialize the anchor */
        fdasd_initialize_anchor(&anchor);
-       fdasd_get_geometry(disk->dev, &anchor, arch_specific->fd);
+       if (fdasd_get_geometry(disk->dev, &anchor, arch_specific->fd) == 0)
+                goto error;
+
        fdasd_check_volume(&anchor, arch_specific->fd);
        memcpy(anchor.vlabel, &disk_specific->vlabel, sizeof(volume_label_t));
        anchor.vlabel_changed++;
@@ -777,10 +777,24 @@ dasd_partition_get_flag (const PedPartition* part, PedPartitionFlag flag)
        }
 }
 
+/*
+ * The DASD-LDL does not support flags now.
+ * So just return 0.
+*/
 static int
 dasd_partition_is_flag_available (const PedPartition* part,
                                   PedPartitionFlag flag)
 {
+       DasdDiskSpecific* disk_specific;
+       PED_ASSERT (part != NULL);
+       PED_ASSERT (part->disk != NULL);
+       PED_ASSERT (part->disk->disk_specific != NULL);
+
+       disk_specific = part->disk->disk_specific;
+
+       if (disk_specific->format_type == 1)
+               return 0;
+
        switch (flag) {
                case PED_PARTITION_RAID:
                        return 1;
@@ -831,6 +845,7 @@ _primary_constraint (PedDisk* disk)
        PedSector sector_size;
        LinuxSpecific* arch_specific;
        DasdDiskSpecific* disk_specific;
+       PedSector start;
 
        PDEBUG;
 
@@ -844,7 +859,12 @@ _primary_constraint (PedDisk* disk)
        if (!ped_alignment_init (&end_align, -1,
                                                     disk->dev->hw_geom.sectors * sector_size))
                return NULL;
-       if (!ped_geometry_init (&max_geom, disk->dev, 0, disk->dev->length))
+
+       start = (FIRST_USABLE_TRK * (long long) disk->dev->hw_geom.sectors
+                           * (long long) arch_specific->real_sector_size
+                           / (long long) disk->dev->sector_size);
+
+       if (!ped_geometry_init (&max_geom, disk->dev, start, disk->dev->length))
                return NULL;
 
        return ped_constraint_new(&start_align, &end_align, &max_geom,
@@ -950,7 +970,6 @@ dasd_alloc_metadata (PedDisk* disk)
        PedPartition* part = NULL; /* initialize solely to placate gcc */
        PedPartition* new_part2;
        PedSector trailing_meta_start, trailing_meta_end;
-       struct fdasd_anchor anchor;
 
        PED_ASSERT (disk != NULL);
        PED_ASSERT (disk->dev != NULL);
@@ -1000,10 +1019,7 @@ dasd_alloc_metadata (PedDisk* disk)
              backed up, then restored to a larger size disk, etc.
           */
           trailing_meta_start = part->geom.end + 1;
-          fdasd_initialize_anchor(&anchor);
-          fdasd_get_geometry(disk->dev, &anchor, arch_specific->fd);
           trailing_meta_end = (long long) disk->dev->length - 1;
-          fdasd_cleanup(&anchor);
           if (trailing_meta_end >= trailing_meta_start) {
                new_part2 = ped_partition_new (disk,PED_PARTITION_METADATA,
                   NULL, trailing_meta_start, trailing_meta_end);
index fa53020443276e4686165ae0bf0dea816e44bb74..ed1341eaad761cd1b9239b1085f362f12b1ec327 100644 (file)
@@ -1,7 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2001, 2004-2005, 2007-2014 Free Software Foundation,
-    Inc.
+    Copyright (C) 1999-2001, 2004-2005, 2007-2014, 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
@@ -65,6 +65,7 @@ static const char MBR_BOOT_CODE[] = {
 #define PARTITION_FAT16                0x06
 #define PARTITION_NTFS         0x07
 #define PARTITION_HPFS         0x07
+#define PARTITION_UDF          0x07
 #define PARTITION_FAT32                0x0b
 #define PARTITION_FAT32_LBA    0x0c
 #define PARTITION_FAT16_LBA    0x0e
@@ -155,6 +156,7 @@ typedef struct {
        unsigned char   system;
        int             boot;
        int             hidden;
+       int             msftres;
        int             raid;
        int             lvm;
        int             lba;
@@ -217,7 +219,7 @@ maybe_FAT (unsigned char const *s)
   if (! (s[0] == 0xeb || s[0] == 0xe9))
     return false;
 
-  unsigned int sector_size = PED_LE16_TO_CPU (*(uint16_t *) (s + 11));
+  uint16_t sector_size = (s[12] << 8) | s[11];
   switch (sector_size)
     {
     case 512:
@@ -948,8 +950,8 @@ raw_part_parse (const PedDisk* disk, const DosRawPartition* raw_part,
        dos_data->system = raw_part->type;
        dos_data->boot = raw_part->boot_ind != 0;
        dos_data->diag = raw_part->type == PARTITION_COMPAQ_DIAG ||
-                        raw_part->type == PARTITION_MSFT_RECOVERY ||
                         raw_part->type == PARTITION_DELL_DIAG;
+       dos_data->msftres = raw_part->type == PARTITION_MSFT_RECOVERY;
        dos_data->hidden = raw_part_is_hidden (raw_part);
        dos_data->raid = raw_part->type == PARTITION_LINUX_RAID;
        dos_data->lvm = raw_part->type == PARTITION_LINUX_LVM_OLD
@@ -1344,6 +1346,7 @@ msdos_partition_new (const PedDisk* disk, PedPartitionType part_type,
                dos_data->orig = NULL;
                dos_data->system = PARTITION_LINUX;
                dos_data->hidden = 0;
+               dos_data->msftres = 0;
                dos_data->boot = 0;
                dos_data->diag = 0;
                dos_data->raid = 0;
@@ -1383,6 +1386,7 @@ msdos_partition_duplicate (const PedPartition* part)
        new_dos_data->boot = old_dos_data->boot;
        new_dos_data->diag = old_dos_data->diag;
        new_dos_data->hidden = old_dos_data->hidden;
+       new_dos_data->msftres = old_dos_data->msftres;
        new_dos_data->raid = old_dos_data->raid;
        new_dos_data->lvm = old_dos_data->lvm;
        new_dos_data->lba = old_dos_data->lba;
@@ -1432,6 +1436,11 @@ msdos_partition_set_system (PedPartition* part,
                    && strcmp (fs_type->name, "ntfs") != 0)
                dos_data->hidden = 0;
 
+       if (dos_data->msftres
+                   && fs_type
+                   && strcmp (fs_type->name, "ntfs") != 0)
+               dos_data->msftres = 0;
+
        if (part->type & PED_PARTITION_EXTENDED) {
                dos_data->diag = 0;
                dos_data->raid = 0;
@@ -1451,11 +1460,14 @@ msdos_partition_set_system (PedPartition* part,
                /* Don't change the system if it already is a diag type,
                   otherwise use Compaq as almost all vendors use that. */
                if (dos_data->system != PARTITION_COMPAQ_DIAG &&
-                   dos_data->system != PARTITION_MSFT_RECOVERY &&
                    dos_data->system != PARTITION_DELL_DIAG)
                        dos_data->system = PARTITION_COMPAQ_DIAG;
                return 1;
        }
+       if (dos_data->msftres) {
+               dos_data->system = PARTITION_MSFT_RECOVERY;
+               return 1;
+       }
        if (dos_data->lvm) {
                dos_data->system = PARTITION_LINUX_LVM;
                return 1;
@@ -1498,6 +1510,8 @@ msdos_partition_set_system (PedPartition* part,
        } else if (!strcmp (fs_type->name, "hfs")
                   || !strcmp (fs_type->name, "hfs+"))
                dos_data->system = PARTITION_HFS;
+       else if (!strcmp (fs_type->name, "udf"))
+               dos_data->system = PARTITION_UDF;
        else if (!strcmp (fs_type->name, "sun-ufs"))
                dos_data->system = PARTITION_SUN_UFS;
        else if (is_linux_swap (fs_type->name))
@@ -1513,6 +1527,7 @@ clear_flags (DosPartitionData *dos_data)
 {
   dos_data->diag = 0;
   dos_data->hidden = 0;
+  dos_data->msftres = 0;
   dos_data->lvm = 0;
   dos_data->palo = 0;
   dos_data->prep = 0;
@@ -1549,6 +1564,18 @@ msdos_partition_set_flag (PedPartition* part,
                dos_data->hidden = state;
                return ped_partition_set_system (part, part->fs_type);
 
+       case PED_PARTITION_MSFT_RESERVED:
+               if (part->type == PED_PARTITION_EXTENDED) {
+                       ped_exception_throw (
+                               PED_EXCEPTION_ERROR,
+                               PED_EXCEPTION_CANCEL,
+                               _("Extended partitions cannot be recovery partitions on "
+                                 "msdos disk labels."));
+                       return 0;
+               }
+               dos_data->msftres = state;
+               return ped_partition_set_system (part, part->fs_type);
+
        case PED_PARTITION_BOOT:
                dos_data->boot = state;
                if (!state)
@@ -1629,6 +1656,12 @@ msdos_partition_get_flag (const PedPartition* part, PedPartitionFlag flag)
                else
                        return dos_data->hidden;
 
+       case PED_PARTITION_MSFT_RESERVED:
+               if (part->type == PED_PARTITION_EXTENDED)
+                       return 0;
+               else
+                       return dos_data->msftres;
+
        case PED_PARTITION_BOOT:
                return dos_data->boot;
 
@@ -1672,6 +1705,12 @@ msdos_partition_is_flag_available (const PedPartition* part,
                else
                        return 1;
 
+       case PED_PARTITION_MSFT_RESERVED:
+               if (part->type == PED_PARTITION_EXTENDED)
+                       return 0;
+               else
+                       return 1;
+
        case PED_PARTITION_BOOT:
        case PED_PARTITION_RAID:
        case PED_PARTITION_LVM:
@@ -1731,8 +1770,8 @@ _best_solution (const PedPartition* part, const PedCHSGeometry* bios_geom,
                PedSector       a_delta;
                PedSector       b_delta;
 
-               a_delta = abs (part->geom.start - a->start);
-               b_delta = abs (part->geom.start - b->start);
+               a_delta = llabs (part->geom.start - a->start);
+               b_delta = llabs (part->geom.start - b->start);
 
                if (a_delta < b_delta)
                        goto choose_a;
index 158b0b3c45d211df966a7d7bace0db59231e4902..72cabcc7b74ad06e17be400c4763568387af933d 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2001-2002, 2005, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2001-2002, 2005, 2007-2014, 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
@@ -250,7 +251,7 @@ _parse_boot_file (PedDisk* disk, struct volume_directory* vd)
        dvh_part_data = part->disk_specific;
        dvh_part_data->real_file_size = length;
 
-       strncpy (dvh_part_data->name, vd->vd_name, VDNAMESIZE);
+       memcpy (dvh_part_data->name, vd->vd_name, VDNAMESIZE);
        dvh_part_data->name[VDNAMESIZE] = 0;
        return part;
 }
@@ -314,8 +315,8 @@ dvh_read (PedDisk* disk)
        PED_ASSERT (PED_BE32_TO_CPU (vh.vh_magic) == VHMAGIC);
 
        dvh_disk_data->dev_params = vh.vh_dp;
-       strncpy (boot_name, vh.vh_bootfile, BFNAMESIZE);
        boot_name[BFNAMESIZE] = 0;
+       strncpy (boot_name, vh.vh_bootfile, BFNAMESIZE);
 
        /* normal partitions */
        for (i = 0; i < NPARTAB; i++) {
@@ -430,7 +431,7 @@ _generate_boot_file (PedPartition* part, struct volume_directory* vd)
        vd->vd_lbn = PED_CPU_TO_BE32 (part->geom.start);
 
        memset (vd->vd_name, 0, VDNAMESIZE);
-       strncpy (vd->vd_name, dvh_part_data->name, VDNAMESIZE);
+       memcpy (vd->vd_name, dvh_part_data->name, VDNAMESIZE);
 }
 
 static int
@@ -708,7 +709,7 @@ dvh_partition_set_name (PedPartition* part, const char* name)
 
        if (part->type == PED_PARTITION_LOGICAL) {
                /* Bootfile */
-               strncpy (dvh_part_data->name, name, VDNAMESIZE);
+               memcpy (dvh_part_data->name, name, VDNAMESIZE);
                dvh_part_data->name[VDNAMESIZE] = 0;
        } else {
 #ifndef DISCOVER_ONLY
index 1f879373dbe1895e6e9335fcd64af736f2ffa215..cee4d4618c0638e0ee72ef68bda18bab8333e675 100644 (file)
@@ -106,28 +106,22 @@ fdasd_cleanup (fdasd_anchor_t *anchor)
 {
        PDEBUG
        int i;
-       partition_info_t *p, *q;
+       partition_info_t *part_info, *next;
 
        if (anchor == NULL)
                return;
 
-        free(anchor->f4);
-        free(anchor->f5);
-        free(anchor->f7);
-        free(anchor->f9);
-        free(anchor->vlabel);
-
-       p = anchor->first;
-       if (p == NULL)
-               return;
-
-       for (i=1; i <= USABLE_PARTITIONS; i++) {
-               if (p == NULL)
-                       return;
-               q = p->next;
-               free(p->f1);
-               free(p);
-               p = q;
+       free(anchor->f4);
+       free(anchor->f5);
+       free(anchor->f7);
+       free(anchor->vlabel);
+
+       part_info = anchor->first;
+       for (i = 1; i <= USABLE_PARTITIONS && part_info != NULL; i++) {
+               next = part_info->next;
+               free(part_info->f1);
+               free(part_info);
+               part_info = next;
        }
 }
 
@@ -190,6 +184,9 @@ fdasd_error (fdasd_anchor_t *anc, enum fdasd_failure why, char const *str)
                                _("Device verification failed"),
                                _("The specified device is not a valid DASD device"));
                        break;
+               case volser_not_found:
+                       sprintf(error, "fdasd: %s -- %s\n", _("VOLSER not found on device"), str);
+                       break;
                default:
                        sprintf(error, "fdasd: %s: %s\n", _("Fatal error"), str);
        }
@@ -210,27 +207,7 @@ fdasd_initialize_anchor (fdasd_anchor_t * anc)
        partition_info_t *p = NULL;
        partition_info_t *q = NULL;
 
-       anc->devno             = 0;
-       anc->dev_type          = 0;
-       anc->used_partitions   = 0;
-
-       anc->silent            = 0;
-       anc->verbose           = 0;
-       anc->big_disk          = 0;
-       anc->volid_specified   = 0;
-       anc->config_specified  = 0;
-       anc->auto_partition    = 0;
-       anc->devname_specified = 0;
-       anc->print_table       = 0;
-
-       anc->option_reuse      = 0;
-       anc->option_recreate   = 0;
-
-       anc->vlabel_changed    = 0;
-       anc->vtoc_changed      = 0;
-       anc->blksize           = 0;
-       anc->fspace_trk        = 0;
-       anc->label_pos         = 0;
+       bzero(anc, sizeof(fdasd_anchor_t));
 
        for (i=0; i<USABLE_PARTITIONS; i++)
                setpos(anc, i, -1);
@@ -272,24 +249,18 @@ fdasd_initialize_anchor (fdasd_anchor_t * anc)
                if (p == NULL)
                        fdasd_error(anc, malloc_failed,
                                    _("No room for partition info."));
-               p->used       = 0x00;
-               p->len_trk    = 0;
-               p->start_trk  = 0;
-               p->fspace_trk = 0;
-               p->type       = 0;
+               bzero(p, sizeof(partition_info_t));
 
                /* add p to double pointered list */
                if (i == 1) {
-               anc->first = p;
-                       p->prev = NULL;
+                       anc->first = p;
                } else if (i == USABLE_PARTITIONS) {
-               anc->last = p;
-               p->next = NULL;
+                       anc->last = p;
                        p->prev = q;
                        q->next = p;
                } else {
-               p->prev = q;
-               q->next = p;
+                       p->prev = q;
+                       q->next = p;
                }
 
                p->f1 = malloc(sizeof(format1_label_t));
@@ -313,7 +284,7 @@ fdasd_write_vtoc_labels (fdasd_anchor_t * anc, int fd)
        PDEBUG
        partition_info_t *p;
        unsigned long b, maxblk;
-       char dsno[6], s1[7], s2[45], *c1, *c2, *ch;
+       char dsno[6], s1[VOLSER_LENGTH + 1], s2[45], *c1, *c2, *ch;
        int i = 0, k = 0;
        cchhb_t f9addr;
        format1_label_t emptyf1;
@@ -545,7 +516,6 @@ fdasd_recreate_vtoc (fdasd_anchor_t *anc)
        int i;
 
        vtoc_init_format4_label(anc->f4,
-                                                       USABLE_PARTITIONS,
                                                        anc->geo.cylinders,
                                                anc->formatted_cylinders,
                                                        anc->geo.heads,
@@ -793,7 +763,7 @@ fdasd_invalid_vtoc_pointer(fdasd_anchor_t *anc)
        anc->formatted_cylinders = anc->hw_cylinders;
        anc->fspace_trk = anc->formatted_cylinders * anc->geo.heads
                        - FIRST_USABLE_TRK;
-       vtoc_init_format4_label(anc->f4, USABLE_PARTITIONS,
+       vtoc_init_format4_label(anc->f4,
                        anc->geo.cylinders, anc->formatted_cylinders,
                        anc->geo.heads, anc->geo.sectors,
                        anc->blksize, anc->dev_type);
@@ -807,6 +777,8 @@ fdasd_invalid_vtoc_pointer(fdasd_anchor_t *anc)
                        anc->formatted_cylinders, anc->geo.heads);
 
        vtoc_set_cchhb(&anc->vlabel->vtoc, VTOC_START_CC, VTOC_START_HH, 0x01);
+       anc->vtoc_changed++;
+       anc->vlabel_changed++;
 }
 
 /*
@@ -818,7 +790,7 @@ fdasd_process_invalid_vtoc(fdasd_anchor_t *anc)
        anc->formatted_cylinders = anc->hw_cylinders;
        anc->fspace_trk = anc->formatted_cylinders * anc->geo.heads
                        - FIRST_USABLE_TRK;
-       vtoc_init_format4_label(anc->f4, USABLE_PARTITIONS,
+       vtoc_init_format4_label(anc->f4,
                        anc->geo.cylinders, anc->formatted_cylinders,
                        anc->geo.heads, anc->geo.sectors,
                        anc->blksize, anc->dev_type);
@@ -829,6 +801,8 @@ fdasd_process_invalid_vtoc(fdasd_anchor_t *anc)
                        FIRST_USABLE_TRK,
                        anc->formatted_cylinders * anc->geo.heads - 1,
                        anc->formatted_cylinders, anc->geo.heads);
+
+       anc->vtoc_changed++;
 }
 
 
@@ -901,7 +875,7 @@ fdasd_check_volume (fdasd_anchor_t *anc, int fd)
 
                fdasd_init_volume_label(anc, fd);
 
-               vtoc_init_format4_label(anc->f4, USABLE_PARTITIONS,
+               vtoc_init_format4_label(anc->f4,
                                anc->geo.cylinders, anc->formatted_cylinders,
                                anc->geo.heads, anc->geo.sectors,
                                anc->blksize, anc->dev_type);
@@ -946,16 +920,78 @@ fdasd_check_api_version (fdasd_anchor_t *anc, int f)
        }
 }
 
+/*
+ * The following two functions match those in the DASD ECKD device driver.
+ * They are used to compute how many records of a given size can be stored
+ * in one track.
+ */
+static unsigned int ceil_quot(unsigned int d1, unsigned int d2)
+{
+       return (d1 + (d2 - 1)) / d2;
+}
+
+/* kl: key length, dl: data length */
+static unsigned int recs_per_track(unsigned short dev_type, unsigned int kl,
+                                  unsigned int dl)
+{
+       unsigned int dn, kn;
+
+       switch (dev_type) {
+       case DASD_3380_TYPE:
+               if (kl)
+                       return 1499 / (15 + 7 + ceil_quot(kl + 12, 32) +
+                                      ceil_quot(dl + 12, 32));
+               else
+                       return 1499 / (15 + ceil_quot(dl + 12, 32));
+       case DASD_3390_TYPE:
+               dn = ceil_quot(dl + 6, 232) + 1;
+               if (kl) {
+                       kn = ceil_quot(kl + 6, 232) + 1;
+                       return 1729 / (10 + 9 + ceil_quot(kl + 6 * kn, 34) +
+                                      9 + ceil_quot(dl + 6 * dn, 34));
+               } else
+                       return 1729 / (10 + 9 + ceil_quot(dl + 6 * dn, 34));
+       case DASD_9345_TYPE:
+               dn = ceil_quot(dl + 6, 232) + 1;
+               if (kl) {
+                       kn = ceil_quot(kl + 6, 232) + 1;
+                       return 1420 / (18 + 7 + ceil_quot(kl + 6 * kn, 34) +
+                                      ceil_quot(dl + 6 * dn, 34));
+               } else
+                       return 1420 / (18 + 7 + ceil_quot(dl + 6 * dn, 34));
+       }
+       return 0;
+}
+
+/*
+ * Verify that number of tracks (heads) per cylinder and number of
+ * sectors per track match the expected values for a given device type
+ * and block size.
+ * Returns 1 for a valid match and 0 otherwise.
+ */
+static int fdasd_verify_geometry(unsigned short dev_type, int blksize,
+                                struct fdasd_hd_geometry *geometry)
+{
+       unsigned int expected_sectors;
+       if (geometry->heads != 15)
+               return 0;
+       expected_sectors = recs_per_track(dev_type, 0, blksize);
+       if (geometry->sectors == expected_sectors)
+               return 1;
+       return 0;
+}
+
 /*
  * reads dasd geometry data
  */
-void
+int
 fdasd_get_geometry (const PedDevice *dev, fdasd_anchor_t *anc, int f)
 {
        PDEBUG
        int blksize = 0;
        dasd_information_t dasd_info;
        struct dasd_eckd_characteristics *characteristics;
+       unsigned long long size_in_bytes;
 
        /* We can't get geometry from a regular file,
           so simulate something usable, for the sake of testing.  */
@@ -979,36 +1015,73 @@ fdasd_get_geometry (const PedDevice *dev, fdasd_anchor_t *anc, int f)
                                anc->geo.heads;
            anc->is_file = 1;
        } else {
-               if (ioctl(f, HDIO_GETGEO, &anc->geo) != 0)
+               if (ioctl(f, BLKGETSIZE64, &size_in_bytes) != 0) {
+                       fdasd_error(anc, unable_to_ioctl,
+                                   _("Could not retrieve disk size."));
+                       goto error;
+               }
+
+               if (ioctl(f, HDIO_GETGEO, &anc->geo) != 0 ||
+                       anc->geo.heads == 0 ||
+                       anc->geo.sectors == 0 ||
+                       anc->geo.cylinders == 0 ) {
                        fdasd_error(anc, unable_to_ioctl,
                            _("Could not retrieve disk geometry information."));
+                       goto error;
+               }
 
-               if (ioctl(f, BLKSSZGET, &blksize) != 0)
+               if (ioctl(f, BLKSSZGET, &blksize) != 0) {
                        fdasd_error(anc, unable_to_ioctl,
                            _("Could not retrieve blocksize information."));
+                       goto error;
+               }
 
                /* get disk type */
-               if (ioctl(f, BIODASDINFO, &dasd_info) != 0)
-                       fdasd_error(anc, unable_to_ioctl,
-                                   _("Could not retrieve disk information."));
-
-               characteristics = (struct dasd_eckd_characteristics *)
-                                       &dasd_info.characteristics;
-               if (characteristics->no_cyl == LV_COMPAT_CYL &&
-                   characteristics->long_no_cyl)
-                       anc->hw_cylinders = characteristics->long_no_cyl;
-               else
-                       anc->hw_cylinders = characteristics->no_cyl;
+               if (ioctl(f, BIODASDINFO, &dasd_info) != 0) {
+                       /* verify that the geometry matches a 3390 DASD */
+                       if (!fdasd_verify_geometry(DASD_3390_TYPE, blksize,
+                                                  &anc->geo)) {
+                               fdasd_error(anc, wrong_disk_type,
+                                           _("Disk geometry does not match a " \
+                                             "DASD device of type 3390."));
+                               goto error;
+                       }
+                       anc->dev_type = DASD_3390_TYPE;
+                       anc->hw_cylinders =
+                               size_in_bytes / (blksize * anc->geo.heads * anc->geo.sectors);
+                       /* The VOL1 label on a CDL formatted ECKD DASD is in block 2
+                        * It will be verified later, if this position actually holds a
+                        * valid label record.
+                        */
+                       anc->label_pos = 2 * blksize;
+                       /* A devno 0 is actually a valid devno, which could exist
+                        * in the system. Since we use this number only to create
+                        * a default volume serial, there is no serious conflict.
+                        */
+                       anc->devno = 0;
+               } else {
+                       characteristics = (struct dasd_eckd_characteristics *)
+                               &dasd_info.characteristics;
+                       if (characteristics->no_cyl == LV_COMPAT_CYL &&
+                               characteristics->long_no_cyl)
+                               anc->hw_cylinders = characteristics->long_no_cyl;
+                       else
+                               anc->hw_cylinders = characteristics->no_cyl;
+                       anc->dev_type = dasd_info.dev_type;
+                       anc->label_pos = dasd_info.label_block * blksize;
+                       anc->devno = dasd_info.devno;
+                       anc->label_block = dasd_info.label_block;
+                       anc->FBA_layout = dasd_info.FBA_layout;
+               }
 
                anc->is_file = 0;
        }
 
-       anc->dev_type   = dasd_info.dev_type;
-       anc->blksize    = blksize;
-       anc->label_pos  = dasd_info.label_block * blksize;
-       anc->devno      = dasd_info.devno;
-       anc->label_block = dasd_info.label_block;
-       anc->FBA_layout = dasd_info.FBA_layout;
+       anc->blksize = blksize;
+       return 1;
+
+ error:
+       return 0;
 }
 
 /*
@@ -1213,12 +1286,10 @@ fdasd_add_partition (fdasd_anchor_t *anc, unsigned int start,
                return 0;
 
        if (anc->formatted_cylinders > LV_COMPAT_CYL) {
-               vtoc_init_format8_label(anc->vlabel->volid, anc->blksize, &ext,
-                                       p->f1);
+               vtoc_init_format8_label(anc->blksize, &ext, p->f1);
        } else {
                PDEBUG;
-               vtoc_init_format1_label(anc->vlabel->volid, anc->blksize, &ext,
-                                       p->f1);
+               vtoc_init_format1_label(anc->blksize, &ext, p->f1);
        }
 
        PDEBUG;
@@ -1245,4 +1316,127 @@ fdasd_add_partition (fdasd_anchor_t *anc, unsigned int start,
        return p;
 }
 
+/*
+ * Check for valid volume serial characters (max. 6) - remove invalid.
+ * If volser is empty, fill with default volser.
+ */
+void fdasd_check_volser (char *volser, int devno)
+{
+       int from, to;
+
+       for (from = 0, to = 0; volser[from] && from < VOLSER_LENGTH; from++) {
+
+                       if ((volser[from] >= 0x23 &&
+                            volser[from] <= 0x25) ||
+                           (volser[from] >= 0x30 &&
+                            volser[from] <= 0x39) ||
+                           (volser[from] >= 0x40 &&
+                            volser[from] <= 0x5a) ||
+                           (volser[from] >= 0x61 &&
+                            volser[from] <= 0x7a))
+                               volser[to++] = toupper(volser[from]);
+       }
+
+       volser[to] = 0x00;
+
+       if (volser[0] == 0x00)
+               sprintf(volser, "0X%04x", devno);
+}
+
+/*
+ * get volser from vtoc
+ */
+int fdasd_get_volser (fdasd_anchor_t *anc, char *volser, int fd)
+{
+       volume_label_t vlabel;
+
+       vtoc_read_volume_label(fd, anc->label_pos, &vlabel);
+       vtoc_volume_label_get_volser(&vlabel, volser);
+       return 0;
+}
+
+/* Changes the volume serial (menu option)
+ *
+ */
+void fdasd_change_volser (fdasd_anchor_t *anc, char *str)
+{
+       fdasd_check_volser(str, anc->devno);
+       vtoc_volume_label_set_volser(anc->vlabel, str);
+
+       vtoc_set_cchhb(&anc->vlabel->vtoc, VTOC_START_CC, VTOC_START_HH, 0x01);
+       anc->vlabel_changed++;
+       anc->vtoc_changed++;
+}
+
+/*
+ * re-create all VTOC labels, but use the partition information
+ * from existing VTOC
+ */
+void fdasd_reuse_vtoc (fdasd_anchor_t *anc)
+{
+       partition_info_t *part_info = anc->first;
+       struct fdasd_hd_geometry geo = anc->geo;
+       format1_label_t f1;
+       format4_label_t f4;
+       format5_label_t f5;
+       format7_label_t f7;
+
+       vtoc_init_format4_label(&f4, geo.cylinders, anc->formatted_cylinders,
+                               geo.heads, geo.sectors,
+                               anc->blksize, anc->dev_type);
+
+       /* reuse some FMT4 values */
+       f4.DS4HPCHR = anc->f4->DS4HPCHR;
+       f4.DS4DSREC = anc->f4->DS4DSREC;
+
+       /* re-initialize both free-space labels */
+       vtoc_init_format5_label(&f5);
+       vtoc_init_format7_label(&f7);
+
+       if (anc->fspace_trk > 0)
+               vtoc_set_freespace(&f4, &f5, &f7, '+', anc->verbose,
+                                  FIRST_USABLE_TRK,
+                                  FIRST_USABLE_TRK + anc->fspace_trk - 1,
+                                  anc->formatted_cylinders, geo.heads);
+
+       while (part_info != NULL) {
+               if (part_info->used != 0x01) {
+                       part_info = part_info->next;
+                       continue;
+               }
+
+               if (anc->formatted_cylinders > LV_COMPAT_CYL)
+                       vtoc_init_format8_label(anc->blksize,
+                                               &part_info->f1->DS1EXT1, &f1);
+               else
+                       vtoc_init_format1_label(anc->blksize,
+                                               &part_info->f1->DS1EXT1, &f1);
+
+
+               strncpy(f1.DS1DSNAM, part_info->f1->DS1DSNAM, 44);
+               strncpy((char *)f1.DS1DSSN, (char *)part_info->f1->DS1DSSN, 6);
+               f1.DS1CREDT = part_info->f1->DS1CREDT;
+
+               memcpy(part_info->f1, &f1, sizeof(format1_label_t));
+
+               if (part_info->fspace_trk > 0)
+                       vtoc_set_freespace(&f4, &f5, &f7, '+', anc->verbose,
+                                          part_info->end_trk + 1,
+                                          part_info->end_trk +
+                                          part_info->fspace_trk,
+                                          anc->formatted_cylinders, geo.heads);
+
+               part_info = part_info->next;
+       }
+
+       /* over-write old labels with new ones */
+       memcpy(anc->f4, &f4, sizeof(format4_label_t));
+       memcpy(anc->f5, &f5, sizeof(format5_label_t));
+       memcpy(anc->f7, &f7, sizeof(format7_label_t));
+
+       anc->vtoc_changed++;
+
+       return;
+}
+
 /* vim:set tabstop=4 shiftwidth=4 softtabstop=4: */
index d69377a40469431e3fa92896871def3fdae12e01..8e9500bd715a8a4210036041ec65530fc311454a 100644 (file)
@@ -273,7 +273,7 @@ struct __attribute__ ((packed)) _LegacyMBR_t
 };
 
 /* uses libparted's disk_specific field in PedDisk, to store our info */
-struct __attribute__ ((packed)) _GPTDiskData
+struct __attribute__ ((packed, aligned(8))) _GPTDiskData
 {
   PedGeometry data_area;
   int entry_count;
@@ -290,6 +290,7 @@ typedef struct _GPTPartitionData
   efi_char16_t name[37];
   char *translated_name;
   int lvm;
+  int swap;
   int raid;
   int boot;
   int bios_grub;
@@ -409,11 +410,9 @@ pth_get_raw (const PedDevice *dev, const GuidPartitionTableHeader_t *pth)
  * Blame Intel.
  */
 static void
-swap_uuid_and_efi_guid (uuid_t uuid)
+swap_uuid_and_efi_guid (efi_guid_t *guid)
 {
-  efi_guid_t *guid = (efi_guid_t *) uuid;
-
-  PED_ASSERT (uuid != NULL);
+  PED_ASSERT (guid != NULL);
   guid->time_low = PED_SWAP32 (guid->time_low);
   guid->time_mid = PED_SWAP16 (guid->time_mid);
   guid->time_hi_and_version = PED_SWAP16 (guid->time_hi_and_version);
@@ -542,7 +541,7 @@ gpt_alloc (const PedDevice *dev)
                      data_end - data_start + 1);
   gpt_disk_data->entry_count = GPT_DEFAULT_PARTITION_ENTRIES;
   uuid_generate ((unsigned char *) &gpt_disk_data->uuid);
-  swap_uuid_and_efi_guid ((unsigned char *) (&gpt_disk_data->uuid));
+  swap_uuid_and_efi_guid (&gpt_disk_data->uuid);
   gpt_disk_data->pmbr_boot = 0;
   return disk;
 
@@ -818,7 +817,8 @@ _parse_part_entry (PedDisk *disk, GuidPartitionEntry_t *pte)
   gpt_part_data->name[i] = 0;
   gpt_part_data->translated_name = 0;
 
-  gpt_part_data->lvm = gpt_part_data->raid
+  gpt_part_data->lvm = gpt_part_data->swap
+    = gpt_part_data->raid
     = gpt_part_data->boot = gpt_part_data->hp_service
     = gpt_part_data->hidden = gpt_part_data->msftres
     = gpt_part_data->msftdata
@@ -841,6 +841,8 @@ _parse_part_entry (PedDisk *disk, GuidPartitionEntry_t *pte)
     gpt_part_data->raid = 1;
   else if (!guid_cmp (gpt_part_data->type, PARTITION_LVM_GUID))
     gpt_part_data->lvm = 1;
+  else if (!guid_cmp (gpt_part_data->type, PARTITION_SWAP_GUID))
+    gpt_part_data->swap = 1;
   else if (!guid_cmp (gpt_part_data->type, PARTITION_HPSERVICE_GUID))
     gpt_part_data->hp_service = 1;
   else if (!guid_cmp (gpt_part_data->type, PARTITION_MSFT_RESERVED_GUID))
@@ -1139,8 +1141,8 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot)
 
   pmbr->Signature = PED_CPU_TO_LE16 (MSDOS_MBR_SIGNATURE);
   pmbr->PartitionRecord[0].OSType = EFI_PMBR_OSTYPE_EFI;
-  pmbr->PartitionRecord[0].StartSector = 1;
-  pmbr->PartitionRecord[0].EndHead = 0xFE;
+  pmbr->PartitionRecord[0].StartSector = 2;
+  pmbr->PartitionRecord[0].EndHead = 0xFF;
   pmbr->PartitionRecord[0].EndSector = 0xFF;
   pmbr->PartitionRecord[0].EndTrack = 0xFF;
   pmbr->PartitionRecord[0].StartingLBA = PED_CPU_TO_LE32 (1);
@@ -1361,6 +1363,7 @@ gpt_partition_new (const PedDisk *disk,
 
   gpt_part_data->type = PARTITION_LINUX_DATA_GUID;
   gpt_part_data->lvm = 0;
+  gpt_part_data->swap = 0;
   gpt_part_data->raid = 0;
   gpt_part_data->boot = 0;
   gpt_part_data->bios_grub = 0;
@@ -1375,7 +1378,7 @@ gpt_partition_new (const PedDisk *disk,
   gpt_part_data->translated_name = 0;
   gpt_part_data->irst = 0;
   uuid_generate ((unsigned char *) &gpt_part_data->uuid);
-  swap_uuid_and_efi_guid ((unsigned char *) (&gpt_part_data->uuid));
+  swap_uuid_and_efi_guid (&gpt_part_data->uuid);
   memset (gpt_part_data->name, 0, sizeof gpt_part_data->name);
   return part;
 
@@ -1449,6 +1452,11 @@ gpt_partition_set_system (PedPartition *part,
       gpt_part_data->type = PARTITION_LVM_GUID;
       return 1;
     }
+  if (gpt_part_data->swap)
+    {
+      gpt_part_data->type = PARTITION_SWAP_GUID;
+      return 1;
+    }
   if (gpt_part_data->raid)
     {
       gpt_part_data->type = PARTITION_RAID_GUID;
@@ -1503,6 +1511,7 @@ gpt_partition_set_system (PedPartition *part,
   if (fs_type)
     {
       if (strncmp (fs_type->name, "fat", 3) == 0
+          || strcmp (fs_type->name, "udf") == 0
           || strcmp (fs_type->name, "ntfs") == 0)
         {
           gpt_part_data->type = PARTITION_BASIC_DATA_GUID;
@@ -1636,6 +1645,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
       if (state)
         gpt_part_data->raid
           = gpt_part_data->lvm
+          = gpt_part_data->swap
           = gpt_part_data->bios_grub
           = gpt_part_data->hp_service
           = gpt_part_data->msftres
@@ -1650,6 +1660,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
       if (state)
         gpt_part_data->raid
           = gpt_part_data->lvm
+          = gpt_part_data->swap
           = gpt_part_data->boot
           = gpt_part_data->hp_service
           = gpt_part_data->msftres
@@ -1664,6 +1675,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
       if (state)
         gpt_part_data->boot
           = gpt_part_data->lvm
+          = gpt_part_data->swap
           = gpt_part_data->bios_grub
           = gpt_part_data->hp_service
           = gpt_part_data->msftres
@@ -1677,6 +1689,22 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
       gpt_part_data->lvm = state;
       if (state)
         gpt_part_data->boot
+          = gpt_part_data->swap
+          = gpt_part_data->raid
+          = gpt_part_data->bios_grub
+          = gpt_part_data->hp_service
+          = gpt_part_data->msftres
+          = gpt_part_data->msftdata
+          = gpt_part_data->msftrecv
+          = gpt_part_data->prep
+          = gpt_part_data->irst
+          = gpt_part_data->atvrecv = 0;
+      return gpt_partition_set_system (part, part->fs_type);
+    case PED_PARTITION_SWAP:
+      gpt_part_data->swap = state;
+      if (state)
+        gpt_part_data->boot
+          = gpt_part_data->lvm
           = gpt_part_data->raid
           = gpt_part_data->bios_grub
           = gpt_part_data->hp_service
@@ -1693,6 +1721,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
         gpt_part_data->boot
           = gpt_part_data->raid
           = gpt_part_data->lvm
+          = gpt_part_data->swap
           = gpt_part_data->bios_grub
           = gpt_part_data->msftres
           = gpt_part_data->msftdata
@@ -1707,6 +1736,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
         gpt_part_data->boot
           = gpt_part_data->raid
           = gpt_part_data->lvm
+          = gpt_part_data->swap
           = gpt_part_data->bios_grub
           = gpt_part_data->hp_service
           = gpt_part_data->msftdata
@@ -1721,6 +1751,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
         gpt_part_data->boot
           = gpt_part_data->raid
           = gpt_part_data->lvm
+          = gpt_part_data->swap
           = gpt_part_data->bios_grub
           = gpt_part_data->hp_service
           = gpt_part_data->msftres
@@ -1739,6 +1770,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
         gpt_part_data->boot
           = gpt_part_data->raid
           = gpt_part_data->lvm
+          = gpt_part_data->swap
           = gpt_part_data->bios_grub
           = gpt_part_data->hp_service
           = gpt_part_data->msftdata
@@ -1753,6 +1785,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
         gpt_part_data->boot
           = gpt_part_data->raid
           = gpt_part_data->lvm
+          = gpt_part_data->swap
           = gpt_part_data->bios_grub
           = gpt_part_data->hp_service
           = gpt_part_data->msftres
@@ -1766,6 +1799,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
         gpt_part_data->boot
           = gpt_part_data->raid
           = gpt_part_data->lvm
+          = gpt_part_data->swap
           = gpt_part_data->bios_grub
           = gpt_part_data->hp_service
           = gpt_part_data->msftres
@@ -1779,6 +1813,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
         gpt_part_data->boot
           = gpt_part_data->raid
           = gpt_part_data->lvm
+          = gpt_part_data->swap
           = gpt_part_data->bios_grub
           = gpt_part_data->hp_service
           = gpt_part_data->msftres
@@ -1793,7 +1828,6 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
     case PED_PARTITION_LEGACY_BOOT:
       gpt_part_data->legacy_boot = state;
       return 1;
-    case PED_PARTITION_SWAP:
     case PED_PARTITION_ROOT:
     case PED_PARTITION_LBA:
     default:
@@ -1839,6 +1873,7 @@ gpt_partition_get_flag (const PedPartition *part, PedPartitionFlag flag)
     case PED_PARTITION_IRST:
       return gpt_part_data->irst;
     case PED_PARTITION_SWAP:
+       return gpt_part_data->swap;
     case PED_PARTITION_LBA:
     case PED_PARTITION_ROOT:
     default:
@@ -1855,6 +1890,7 @@ gpt_partition_is_flag_available (const PedPartition *part,
     {
     case PED_PARTITION_RAID:
     case PED_PARTITION_LVM:
+    case PED_PARTITION_SWAP:
     case PED_PARTITION_BOOT:
     case PED_PARTITION_BIOS_GRUB:
     case PED_PARTITION_HPSERVICE:
@@ -1868,7 +1904,6 @@ gpt_partition_is_flag_available (const PedPartition *part,
     case PED_PARTITION_IRST:
     case PED_PARTITION_ESP:
       return 1;
-    case PED_PARTITION_SWAP:
     case PED_PARTITION_ROOT:
     case PED_PARTITION_LBA:
     default:
index aa233a3090eb0c64a03b790c593f1832370fffc5..88e47f943a074a813f51fb94c4b4eeb0214e287b 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2000, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2000, 2007-2014, 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
index 1034418189f60082d92cb3c9f20b6a0d12837901..8980885736dfe0b9b56fc52e030981313f14c303 100644 (file)
@@ -1,6 +1,7 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000, 2002, 2004, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000, 2002, 2004, 2007-2014, 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
@@ -411,14 +412,14 @@ _rawpart_has_driver (const MacRawPartition* raw_part, MacDiskData* mac_disk_data
 {
        MacDeviceDriver *driverlist;
        uint16_t i;
-       uint32_t driver_bs, driver_be, part_be;
+       uint32_t start_block, block_count;
 
+       start_block = PED_BE32_TO_CPU(raw_part->start_block);
+       block_count = PED_BE32_TO_CPU(raw_part->block_count);
        driverlist = &mac_disk_data->driverlist[0];
        for (i = 0; i < mac_disk_data->driver_count; i++) {
-               driver_bs = driverlist->block;
-               driver_be = driver_bs + driverlist->size;
-               part_be = raw_part->start_block + raw_part->block_count;
-               if (driver_bs >= raw_part->start_block && driver_be <= part_be)
+               if (start_block == PED_BE32_TO_CPU(driverlist->block) &&
+                    block_count == PED_BE16_TO_CPU(driverlist->size))
                        return 1;
                driverlist++;
        }
@@ -751,11 +752,12 @@ mac_read (PedDisk* disk)
        if (!ped_disk_delete_all (disk))
                goto error;
 
-       if (raw_disk->driver_count && raw_disk->driver_count < 62) {
+       if (PED_BE16_TO_CPU(raw_disk->driver_count) &&
+            PED_BE16_TO_CPU(raw_disk->driver_count) < 62) {
                memcpy(&mac_disk_data->driverlist[0], &raw_disk->driverlist[0],
                                sizeof(mac_disk_data->driverlist));
-               mac_disk_data->driver_count = raw_disk->driver_count;
-               mac_disk_data->block_size = raw_disk->block_size;
+               mac_disk_data->driver_count = PED_BE16_TO_CPU(raw_disk->driver_count);
+               mac_disk_data->block_size = PED_BE16_TO_CPU(raw_disk->block_size);
        }
 
        /* If _disk_analyse_block_size has increased the sector_size,
@@ -877,17 +879,16 @@ static void
 _update_driver_count (MacRawPartition* part_map_entry,
                      MacDiskData *mac_driverdata, const MacDiskData* mac_disk_data)
 {
-       uint16_t        i, count_orig, count_cur;
-       uint32_t        driver_bs, driver_be, part_be;
-
-       count_cur = mac_driverdata->driver_count;
-       count_orig = mac_disk_data->driver_count;
-       for (i = 0; i < count_orig; i++) {
-               driver_bs = mac_disk_data->driverlist[i].block;
-               driver_be = driver_bs + mac_disk_data->driverlist[i].size;
-               part_be = part_map_entry->start_block + part_map_entry->block_count;
-               if (driver_bs >= part_map_entry->start_block
-                               && driver_be <= part_be) {
+       uint16_t        i;
+       uint32_t        start_block, block_count;
+
+       start_block = PED_BE32_TO_CPU(part_map_entry->start_block);
+       block_count = PED_BE32_TO_CPU(part_map_entry->block_count);
+
+       for (i = 0; i < mac_disk_data->driver_count; i++) {
+               if (start_block == PED_BE32_TO_CPU(mac_disk_data->driverlist[i].block) &&
+                   block_count == PED_BE16_TO_CPU(mac_disk_data->driverlist[i].size)) {
+                       uint16_t count_cur = mac_driverdata->driver_count;
                        mac_driverdata->driverlist[count_cur].block
                                = mac_disk_data->driverlist[i].block;
                        mac_driverdata->driverlist[count_cur].size
@@ -930,11 +931,12 @@ _generate_raw_part (PedDisk* disk, PedPartition* part,
                = PED_CPU_TO_BE32 (mac_disk_data->last_part_entry_num);
        part_map_entry->start_block = PED_CPU_TO_BE32 (part->geom.start);
        part_map_entry->block_count = PED_CPU_TO_BE32 (part->geom.length);
-       strcpy (part_map_entry->name, mac_part_data->volume_name);
-       strcpy (part_map_entry->type, mac_part_data->system_name);
+       strncpy (part_map_entry->name, mac_part_data->volume_name, 31);
+       part_map_entry->name[31] = '\0';
+       strncpy (part_map_entry->type, mac_part_data->system_name, 31);
+       part_map_entry->type[31] = '\0';
 
        if (mac_part_data->is_driver) {
-               mac_part_data->boot_region_length = part->geom.length;
                if (mac_part_data->has_driver)
                        _update_driver_count(part_map_entry, mac_driverdata,
                                        mac_disk_data);
@@ -955,7 +957,8 @@ _generate_raw_part (PedDisk* disk, PedPartition* part,
        part_map_entry->boot_cksum =
                PED_CPU_TO_BE32 (mac_part_data->boot_checksum);
 
-       strncpy (part_map_entry->processor, mac_part_data->processor_name, 16);
+       strncpy (part_map_entry->processor, mac_part_data->processor_name, 15);
+       part_map_entry->processor[15] = '\0';
 
        if (!_pad_raw_part (disk, part->num, part_map))
                goto error;
@@ -1042,7 +1045,7 @@ write_block_zero (PedDisk* disk, MacDiskData* mac_driverdata)
        raw_disk->block_size = PED_CPU_TO_BE16 (dev->sector_size);
        raw_disk->block_count = PED_CPU_TO_BE32 (dev->length);
 
-       raw_disk->driver_count = mac_driverdata->driver_count;
+       raw_disk->driver_count = PED_CPU_TO_BE16(mac_driverdata->driver_count);
        memcpy(&raw_disk->driverlist[0], &mac_driverdata->driverlist[0],
                        sizeof(raw_disk->driverlist));
 
index d32e0dd0c95bba9f952e1c09f78b17fe1aadd767..c1b5e3c9a23b8fe7418542e7df683dbab469e85b 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- Mode: c; indent-tabs-mode: nil -*-
 
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2007, 2009-2014, 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
index b2ce5915b24380d3c05472c7ad44d91811c55c68..328cd8dcef1899dc1e3cf8967656efb27db3cbde 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000-2001, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000-2001, 2007-2014, 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
index fa427a843baa986dca045891d922eda6aa7c2e65..f1c7a09ba8388426426c6d502955d96853f78c3b 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.4 */
+/* ANSI-C code produced by gperf version 3.1 */
 /* Command-line: gperf -C -N pt_limit_lookup -n -t -s 6 -k '*' --language=ANSI-C pt-limit.gperf  */
 
 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -25,7 +25,7 @@
       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
 /* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
 #line 1 "pt-limit.gperf"
@@ -36,12 +36,12 @@ struct partition_limit
   uint64_t max_length;
 };
 
-#define TOTAL_KEYWORDS 10
+#define TOTAL_KEYWORDS 11
 #define MIN_WORD_LENGTH 3
 #define MAX_WORD_LENGTH 5
-#define MIN_HASH_VALUE 0
-#define MAX_HASH_VALUE 45
-/* maximum key range = 46, duplicates = 0 */
+#define MIN_HASH_VALUE 5
+#define MAX_HASH_VALUE 55
+/* maximum key range = 51, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -51,38 +51,38 @@ inline
 #endif
 #endif
 static unsigned int
-hash (register const char *str, register unsigned int len)
+hash (register const char *str, register size_t len)
 {
   static const unsigned char asso_values[] =
     {
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 10,  5, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46,  0, 30, 30,
-      10, 46, 46,  5, 10, 15, 46, 46,  5,  5,
-       0,  0,  0, 46, 46,  0,  5,  0, 10, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 10,  5, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56,  5, 40, 40,
+       5, 56, 56,  5, 20,  0, 56, 56, 15,  0,
+      15, 10,  0, 56,  0,  5,  0, 10, 15, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56
     };
-  register int hval = 0;
+  register unsigned int hval = 0;
 
   switch (len)
     {
@@ -105,35 +105,32 @@ hash (register const char *str, register unsigned int len)
   return hval;
 }
 
-#ifdef __GNUC__
-__inline
-static
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 const struct partition_limit *
-pt_limit_lookup (register const char *str, register unsigned int len)
+pt_limit_lookup (register const char *str, register size_t len)
 {
   static const struct partition_limit wordlist[] =
     {
-#line 18 "pt-limit.gperf"
-      {"sun",128ULL*UINT32_MAX,UINT32_MAX},
-      {""}, {""}, {""}, {""},
-#line 23 "pt-limit.gperf"
-      {"loop",UINT64_MAX,UINT64_MAX},
-      {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""},
 #line 10 "pt-limit.gperf"
       {"gpt",UINT64_MAX,UINT64_MAX},
       {""}, {""}, {""}, {""},
-#line 12 "pt-limit.gperf"
-      {"msdos",UINT32_MAX,UINT32_MAX},
+#line 28 "pt-limit.gperf"
+      {"atari",INT32_MAX,INT32_MAX},
+      {""}, {""}, {""}, {""},
+#line 27 "pt-limit.gperf"
+      {"amiga",UINT32_MAX,UINT32_MAX},
       {""}, {""}, {""}, {""},
 #line 8 "pt-limit.gperf"
       {"dasd",UINT32_MAX,UINT32_MAX},
       {""}, {""}, {""}, {""},
-#line 27 "pt-limit.gperf"
-      {"amiga",UINT32_MAX,UINT32_MAX},
+#line 12 "pt-limit.gperf"
+      {"msdos",UINT32_MAX,UINT32_MAX},
+      {""}, {""}, {""}, {""},
+#line 18 "pt-limit.gperf"
+      {"sun",128ULL*UINT32_MAX,UINT32_MAX},
+      {""}, {""}, {""}, {""},
+#line 23 "pt-limit.gperf"
+      {"loop",UINT64_MAX,UINT64_MAX},
       {""}, {""}, {""}, {""},
 #line 9 "pt-limit.gperf"
       {"dvh",UINT32_MAX,UINT32_MAX},
@@ -150,9 +147,9 @@ pt_limit_lookup (register const char *str, register unsigned int len)
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = hash (str, len);
+      register unsigned int key = hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register const char *s = wordlist[key].name;
 
index 3d764ae291f5f28f272bf1e77e5f8d965b5b029e..d5a580dfd33d3e1ed47d4bcba117341e103172dc 100644 (file)
@@ -25,3 +25,4 @@ pc98,UINT32_MAX,UINT32_MAX
 #
 # FIXME: not verified.  looks like these are cylinder aligned, too
 amiga,UINT32_MAX,UINT32_MAX
+atari,INT32_MAX,INT32_MAX
index 8100f320ebc2a21cce4efe85a6f94271c2a10db5..ff30df2275786fdd3bcbe714854e1b4dbbf56f03 100644 (file)
@@ -1,5 +1,5 @@
 /* partition table tools
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014, 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
@@ -111,6 +111,7 @@ ptt_geom_clear_sectors (PedGeometry *geom, PedSector start, PedSector n)
   return ptt_clear_sectors (geom->dev, geom->start + start, n);
 }
 
+#define pt_limit_lookup _GL_ATTRIBUTE_PURE __pt_limit_lookup
 #include "pt-limit.c"
 
 /* Throw an exception and return 0 if PART's starting sector number or
@@ -120,7 +121,7 @@ int
 ptt_partition_max_start_len (char const *pt_type, const PedPartition *part)
 {
   struct partition_limit const *pt_lim
-    = pt_limit_lookup (pt_type, strlen (pt_type));
+    = __pt_limit_lookup (pt_type, strlen (pt_type));
 
   /* If we don't have info on the type, return "true".  */
   if (pt_lim == NULL)
@@ -162,7 +163,7 @@ int
 ptt_partition_max_start_sector (char const *pt_type, PedSector *max)
 {
   struct partition_limit const *pt_lim
-    = pt_limit_lookup (pt_type, strlen (pt_type));
+    = __pt_limit_lookup (pt_type, strlen (pt_type));
   if (pt_lim == NULL)
     return -1;
 
@@ -176,7 +177,7 @@ int
 ptt_partition_max_length (char const *pt_type, PedSector *max)
 {
   struct partition_limit const *pt_lim
-    = pt_limit_lookup (pt_type, strlen (pt_type));
+    = __pt_limit_lookup (pt_type, strlen (pt_type));
   if (pt_lim == NULL)
     return -1;
 
index cd98a1ea5ee6f1102c71c6d40f84daf0aa6344c7..be1daf1c034333918ebb98d56103fc54c4ea38ba 100644 (file)
@@ -1,5 +1,5 @@
 /* libparted - a library for manipulating disk partitions
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014, 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
index 34b59aa6220a9b5fe18614564fd09fcea3376aa1..63c90bff53eec9ebd190ddc8d54a065732eacaf4 100644 (file)
@@ -2,7 +2,8 @@
 
     libparted - a library for manipulating disk partitions
     disk_amiga.c - libparted module to manipulate amiga RDB partition tables.
-    Copyright (C) 2000-2001, 2004, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000-2001, 2004, 2007-2014, 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
@@ -175,6 +176,7 @@ _amiga_read_block (const PedDevice *dev, struct AmigaBlock *blk,
                                _amiga_calculate_checksum(AMIGA(blk));
                                if (!ped_device_write ((PedDevice*)dev, blk, block, 1))
                                        return NULL;
+                               /* FALLTHROUGH */
                        case PED_EXCEPTION_IGNORE :
                        case PED_EXCEPTION_UNHANDLED :
                        default :
index b23ff865d6595f0ff967fb4895bf41f5615c5a45..9b9c2c052695257716146e8c5c1ded4701b82544 100644 (file)
@@ -1,7 +1,8 @@
 /* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000-2001, 2005, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000-2001, 2005, 2007-2014, 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
@@ -68,7 +69,7 @@ struct __attribute__ ((packed)) _SunPartitionInfo {
        u_int8_t        flags;          /* Partition flags */
 };
 
-struct __attribute__ ((packed)) _SunRawLabel {
+struct __attribute__ ((packed, aligned(2))) _SunRawLabel {
        char            info[128];      /* Informative text string */
        u_int32_t       version;        /* Layout version */
        u_int8_t        volume[8];      /* Volume name */
index fdfa94f86f85bb3d97fb32866f2eca8057c332fe..d4671642f3f95a1ef76a64ff0f5e601ef12d6512 100644 (file)
@@ -150,7 +150,7 @@ enum failure {
        unable_to_read
 };
 
-static char buffer[89];
+static char buffer[93];
 
 static void
 vtoc_error (enum failure why, char const *s1, char const *s2)
@@ -329,7 +329,7 @@ void
 vtoc_volume_label_init (volume_label_t *vlabel)
 {
        PDEBUG
-       sprintf(buffer, "%88s", " ");
+       sprintf(buffer, "%92s", " ");
        vtoc_ebcdic_enc(buffer, buffer, sizeof *vlabel);
        memcpy(vlabel, buffer, sizeof *vlabel);
 }
@@ -348,8 +348,8 @@ vtoc_read_volume_label (int f, unsigned long vlabel_start,
        typedef union vollabel vollabel_t;
 
        union __attribute__((packed)) vollabel {
+               /* cdl and ldl have the same data struct */
                volume_label_t cdl;
-               ldl_volume_label_t ldl;
                cms_volume_label_t cms;
        };
 
@@ -373,9 +373,7 @@ vtoc_read_volume_label (int f, unsigned long vlabel_start,
        }
 
        rc = read(f, vlabel, sizeof(volume_label_t));
-       if (rc != sizeof(volume_label_t) &&
-       /* For CDL we ask to read 88 bytes, but only get 84 */
-            rc != sizeof(volume_label_t) - 4) {
+       if (rc != sizeof(volume_label_t)) {
                vtoc_error(unable_to_read, "vtoc_read_volume_label",
                           _("Could not read volume label."));
                return 1;
@@ -427,10 +425,8 @@ vtoc_write_volume_label (int f, unsigned long vlabel_start,
                vtoc_error(unable_to_seek, "vtoc_write_volume_label",
                           _("Could not write volume label."));
 
-       rc = write(f, vlabel, sizeof(volume_label_t) - 4);
-       /* Subtract 4 to leave off the "fudge" variable when writing.
-           We only write CDL volume labels, never LDL or CMS.  */
-       if (rc != sizeof(volume_label_t) - 4)
+       rc = write(f, vlabel, sizeof(volume_label_t));
+       if (rc != sizeof(volume_label_t))
                vtoc_error(unable_to_write, "vtoc_write_volume_label",
                           _("Could not write volume label."));
 
@@ -632,7 +628,7 @@ vtoc_write_label (int f, unsigned long position,
  * initializes a format4 label
  */
 void
-vtoc_init_format4_label (format4_label_t *f4, unsigned int usable_partitions,
+vtoc_init_format4_label (format4_label_t *f4,
                          unsigned int compat_cylinders,
                          unsigned int real_cylinders, unsigned int tracks,
                          unsigned int blocks, unsigned int blksize,
@@ -673,7 +669,7 @@ vtoc_init_format4_label (format4_label_t *f4, unsigned int usable_partitions,
                        f4->DS4DEVCT.DS4DEVTK = DASD_9345_VALUE;
                        break;
                default:
-                       f4->DS4DEVCT.DS4DEVTK = blocks * blksize;;
+                       f4->DS4DEVCT.DS4DEVTK = blocks * blksize;
        }
 
        f4->DS4DEVCT.DS4DEVI  = 0x00;
@@ -740,7 +736,7 @@ vtoc_init_format7_label (format7_label_t *f7)
  * format1 or format 8 label, all but the field DS1FMTID
  */
 void
-vtoc_init_format_1_8_label (char *volid, unsigned int blksize,
+vtoc_init_format_1_8_label (unsigned int blksize,
                             extent_t *part_extent, format1_label_t *f1)
 {
        PDEBUG
@@ -794,18 +790,18 @@ vtoc_init_format_1_8_label (char *volid, unsigned int blksize,
 }
 
 void
-vtoc_init_format1_label (char *volid, unsigned int blksize,
+vtoc_init_format1_label (unsigned int blksize,
                          extent_t *part_extent, format1_label_t *f1)
 {
-       vtoc_init_format_1_8_label(volid, blksize, part_extent, f1);
+       vtoc_init_format_1_8_label(blksize, part_extent, f1);
        f1->DS1FMTID = 0xf1;
 }
 
 void
-vtoc_init_format8_label (char *volid, unsigned int blksize,
+vtoc_init_format8_label (unsigned int blksize,
                          extent_t *part_extent, format1_label_t *f8)
 {
-       vtoc_init_format_1_8_label(volid, blksize, part_extent, f8);
+       vtoc_init_format_1_8_label(blksize, part_extent, f8);
        f8->DS1FMTID = 0xf8;
 }
 
@@ -886,7 +882,7 @@ vtoc_reorganize_FMT5_extents (format5_label_t *f5)
  * add a free space extent description to the VTOC FMT5 DSCB
  */
 void
-vtoc_update_format5_label_add (format5_label_t *f5, int verbose, int cyl,
+vtoc_update_format5_label_add (format5_label_t *f5, int verbose,
                                int trk, u_int16_t a, u_int16_t b, u_int8_t c)
 {
        PDEBUG
@@ -974,7 +970,7 @@ vtoc_update_format5_label_add (format5_label_t *f5, int verbose, int cyl,
  * remove a free space extent description from the VTOC FMT5 DSCB
  */
 void
-vtoc_update_format5_label_del (format5_label_t *f5, int verbose, int cyl,
+vtoc_update_format5_label_del (format5_label_t *f5, int verbose,
                                int trk, u_int16_t a, u_int16_t b, u_int8_t c)
 {
        PDEBUG
@@ -1054,7 +1050,7 @@ vtoc_update_format5_label_del (format5_label_t *f5, int verbose, int cyl,
                        ext->ft = (a - ext->t) % trk;
 
                        vtoc_update_format5_label_add(f5, verbose,
-                                                     cyl, trk, x, y, z);
+                                                     trk, x, y, z);
 
                        if (verbose)
                                puts ("FMT5 del extent: 2 pieces");
@@ -1322,9 +1318,9 @@ vtoc_set_freespace(format4_label_t *f4, format5_label_t *f5,
                z =  (u_int8_t) ((stop - start + 1) % trk);
 
                if (ch == '+')
-                       vtoc_update_format5_label_add(f5, verbose, cyl, trk, x, y, z);
+                       vtoc_update_format5_label_add(f5, verbose, trk, x, y, z);
                else if (ch == '-')
-                       vtoc_update_format5_label_del(f5, verbose, cyl, trk, x, y, z);
+                       vtoc_update_format5_label_del(f5, verbose, trk, x, y, z);
                else
                        puts ("BUG: syntax error in vtoc_set_freespace call");
 
index d5cbb3a4c61e9ae6c892a6c96fa6a70a0919ca60..00f5ff8f524dc83a01a5403c53a79a48a96df724 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999-2001, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2001, 2007-2014, 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
@@ -75,16 +75,18 @@ extern void ped_disk_pc98_init ();
 extern void ped_disk_sun_init ();
 extern void ped_disk_amiga_init ();
 extern void ped_disk_dasd_init ();
+extern void ped_disk_atari_init ();
 
 static void
 init_disk_types ()
 {
+       /* Note that probing is done in the reverse order of init */
        ped_disk_loop_init ();  /* must be last in the probe list */
 
 #if defined __s390__ || defined __s390x__
        ped_disk_dasd_init();
 #endif
-
+       ped_disk_atari_init (); /* easy false positives, so probe others first */
        ped_disk_sun_init ();
 #ifdef ENABLE_PC98
        ped_disk_pc98_init ();
@@ -110,6 +112,7 @@ extern void ped_file_system_fat_init (void);
 extern void ped_file_system_ext2_init (void);
 extern void ped_file_system_nilfs2_init (void);
 extern void ped_file_system_btrfs_init (void);
+extern void ped_file_system_udf_init (void);
 
 static void
 init_file_system_types ()
@@ -126,6 +129,7 @@ init_file_system_types ()
        ped_file_system_ext2_init ();
        ped_file_system_nilfs2_init ();
        ped_file_system_btrfs_init ();
+       ped_file_system_udf_init ();
 }
 
 extern void ped_disk_aix_done ();
@@ -139,6 +143,7 @@ extern void ped_disk_pc98_done ();
 extern void ped_disk_sun_done ();
 extern void ped_disk_amiga_done ();
 extern void ped_disk_dasd_done ();
+extern void ped_disk_atari_done ();
 
 static void
 done_disk_types ()
@@ -158,6 +163,7 @@ done_disk_types ()
        ped_disk_bsd_done ();
        ped_disk_amiga_done ();
        ped_disk_aix_done ();
+       ped_disk_atari_done ();
 }
 
 static void _init() __attribute__ ((constructor));
@@ -189,6 +195,7 @@ extern void ped_file_system_ufs_done (void);
 extern void ped_file_system_xfs_done (void);
 extern void ped_file_system_amiga_done (void);
 extern void ped_file_system_btrfs_done (void);
+extern void ped_file_system_udf_done (void);
 
 static void
 done_file_system_types ()
@@ -205,6 +212,7 @@ done_file_system_types ()
        ped_file_system_xfs_done ();
        ped_file_system_amiga_done ();
        ped_file_system_btrfs_done ();
+       ped_file_system_udf_done ();
 }
 
 static void _done() __attribute__ ((destructor));
index 5dd12bd4b73f960b6165912ef35fb027c97f0831..b80c3302c244f3a9a7d7f9ffb8eb6e3c3428af57 100644 (file)
@@ -1,5 +1,6 @@
 ;   libparted - a library for manipulating disk partitions
-;   Copyright (C) 1999-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+;   Copyright (C) 1999-2000, 2007, 2009-2014, 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
index c7c10a95432c28bed53d0ae3ec7c53e052a80e81..58ac920ba99a652306d1b7b544278f5c14eeffa5 100644 (file)
@@ -1,11 +1,11 @@
 # This file is part of GNU Parted
-# Copyright (C) 1999-2001, 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2007-2014, 2019 Free Software Foundation, Inc.
 #
 # This file may be modified and/or distributed without restriction.
 
-TESTS = t1000-label.sh t2000-disk.sh t2100-zerolen.sh t3000-symlink.sh
+TESTS = t1000-label.sh t2000-disk.sh t2100-zerolen.sh t3000-symlink.sh t4000-volser.sh
 EXTRA_DIST = $(TESTS)
-check_PROGRAMS = label disk zerolen symlink
+check_PROGRAMS = label disk zerolen symlink volser
 AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
 
 LDADD = \
@@ -23,6 +23,7 @@ label_SOURCES = common.h common.c label.c
 disk_SOURCES  = common.h common.c disk.c
 zerolen_SOURCES = common.h common.c zerolen.c
 symlink_SOURCES = common.h common.c symlink.c
+volser_SOURCES = common.h common.c volser.c
 
 # Arrange to symlink to tests/init.sh.
 CLEANFILES = init.sh
@@ -34,5 +35,4 @@ $(TEST_LOGS): prereq
 TESTS_ENVIRONMENT = \
   top_srcdir='$(top_srcdir)' \
   abs_top_srcdir='$(abs_top_srcdir)' \
-  DYNAMIC_LOADING=$(DYNAMIC_LOADING) \
   ENABLE_DEVICE_MAPPER=$(ENABLE_DEVICE_MAPPER)
index fdae5f33ca62a3b383950f2dd158c441304de19e..c2bbd08fbcd0cb3d2d6253913481aedf45eab9a0 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 @SET_MAKE@
 
 # This file is part of GNU Parted
-# Copyright (C) 1999-2001, 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2007-2014, 2019 Free Software Foundation, Inc.
 #
 # This file may be modified and/or distributed without restriction.
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -82,82 +92,103 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 check_PROGRAMS = label$(EXEEXT) disk$(EXEEXT) zerolen$(EXEEXT) \
-       symlink$(EXEEXT)
+       symlink$(EXEEXT) volser$(EXEEXT)
 subdir = libparted/tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(top_srcdir)/build-aux/depcomp \
-       $(top_srcdir)/build-aux/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -167,6 +198,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -191,6 +223,11 @@ symlink_OBJECTS = $(am_symlink_OBJECTS)
 symlink_LDADD = $(LDADD)
 symlink_DEPENDENCIES = $(top_builddir)/libparted/libparted.la \
        $(am__DEPENDENCIES_1)
+am_volser_OBJECTS = common.$(OBJEXT) volser.$(OBJEXT)
+volser_OBJECTS = $(am_volser_OBJECTS)
+volser_LDADD = $(LDADD)
+volser_DEPENDENCIES = $(top_builddir)/libparted/libparted.la \
+       $(am__DEPENDENCIES_1)
 am_zerolen_OBJECTS = common.$(OBJEXT) zerolen.$(OBJEXT)
 zerolen_OBJECTS = $(am_zerolen_OBJECTS)
 zerolen_LDADD = $(LDADD)
@@ -210,7 +247,10 @@ am__v_at_0 = @
 am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/common.Po ./$(DEPDIR)/disk.Po \
+       ./$(DEPDIR)/label.Po ./$(DEPDIR)/symlink.Po \
+       ./$(DEPDIR)/volser.Po ./$(DEPDIR)/zerolen.Po
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -231,9 +271,9 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
 SOURCES = $(disk_SOURCES) $(label_SOURCES) $(symlink_SOURCES) \
-       $(zerolen_SOURCES)
+       $(volser_SOURCES) $(zerolen_SOURCES)
 DIST_SOURCES = $(disk_SOURCES) $(label_SOURCES) $(symlink_SOURCES) \
-       $(zerolen_SOURCES)
+       $(volser_SOURCES) $(zerolen_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -462,6 +502,9 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
 TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
        $(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/depcomp \
+       $(top_srcdir)/build-aux/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -494,11 +537,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -513,18 +554,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -532,6 +580,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -577,6 +626,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -585,14 +638,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -638,6 +698,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -647,6 +709,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -654,26 +726,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -685,6 +772,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -696,6 +784,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -705,9 +794,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -737,6 +829,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -765,10 +858,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -779,17 +878,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -799,6 +903,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -809,6 +914,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -818,6 +924,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -830,13 +937,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -848,12 +960,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -868,6 +982,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -876,25 +992,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -905,20 +1093,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -940,6 +1141,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -965,12 +1167,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -987,13 +1191,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -1007,52 +1215,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -1087,16 +1318,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -1105,6 +1337,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -1122,8 +1355,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -1151,6 +1389,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1160,21 +1399,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -1187,6 +1486,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -1195,14 +1495,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -1215,6 +1519,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1228,16 +1533,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1245,9 +1554,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1313,7 +1623,7 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-TESTS = t1000-label.sh t2000-disk.sh t2100-zerolen.sh t3000-symlink.sh
+TESTS = t1000-label.sh t2000-disk.sh t2100-zerolen.sh t3000-symlink.sh t4000-volser.sh
 EXTRA_DIST = $(TESTS)
 AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
 LDADD = \
@@ -1331,13 +1641,13 @@ label_SOURCES = common.h common.c label.c
 disk_SOURCES = common.h common.c disk.c
 zerolen_SOURCES = common.h common.c zerolen.c
 symlink_SOURCES = common.h common.c symlink.c
+volser_SOURCES = common.h common.c volser.c
 
 # Arrange to symlink to tests/init.sh.
 CLEANFILES = init.sh
 TESTS_ENVIRONMENT = \
   top_srcdir='$(top_srcdir)' \
   abs_top_srcdir='$(abs_top_srcdir)' \
-  DYNAMIC_LOADING=$(DYNAMIC_LOADING) \
   ENABLE_DEVICE_MAPPER=$(ENABLE_DEVICE_MAPPER)
 
 all: all-am
@@ -1356,14 +1666,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/tests/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu libparted/tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1396,6 +1705,10 @@ symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEP
        @rm -f symlink$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
 
+volser$(EXEEXT): $(volser_OBJECTS) $(volser_DEPENDENCIES) $(EXTRA_volser_DEPENDENCIES) 
+       @rm -f volser$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(volser_OBJECTS) $(volser_LDADD) $(LIBS)
+
 zerolen$(EXEEXT): $(zerolen_OBJECTS) $(zerolen_DEPENDENCIES) $(EXTRA_zerolen_DEPENDENCIES) 
        @rm -f zerolen$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(zerolen_OBJECTS) $(zerolen_LDADD) $(LIBS)
@@ -1406,11 +1719,18 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disk.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/label.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zerolen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disk.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/label.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/volser.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zerolen.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -1524,7 +1844,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
        if test -n "$$am__remaking_logs"; then \
          echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
               "recursion detected" >&2; \
-       else \
+       elif test -n "$$redo_logs"; then \
          am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
        fi; \
        if $(am__make_dryrun); then :; else \
@@ -1614,7 +1934,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
        fi;                                                             \
        $$success || exit 1
 
-check-TESTS:
+check-TESTS: $(check_PROGRAMS)
        @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
        @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
        @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@@ -1663,6 +1983,13 @@ t3000-symlink.sh.log: t3000-symlink.sh
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
+t4000-volser.sh.log: t4000-volser.sh
+       @p='t4000-volser.sh'; \
+       b='t4000-volser.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 .test.log:
        @p='$<'; \
        $(am__set_b); \
@@ -1678,7 +2005,10 @@ t3000-symlink.sh.log: t3000-symlink.sh
 @am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
 @am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1754,7 +2084,12 @@ clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
        mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/common.Po
+       -rm -f ./$(DEPDIR)/disk.Po
+       -rm -f ./$(DEPDIR)/label.Po
+       -rm -f ./$(DEPDIR)/symlink.Po
+       -rm -f ./$(DEPDIR)/volser.Po
+       -rm -f ./$(DEPDIR)/zerolen.Po
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -1800,7 +2135,12 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/common.Po
+       -rm -f ./$(DEPDIR)/disk.Po
+       -rm -f ./$(DEPDIR)/label.Po
+       -rm -f ./$(DEPDIR)/symlink.Po
+       -rm -f ./$(DEPDIR)/volser.Po
+       -rm -f ./$(DEPDIR)/zerolen.Po
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1821,20 +2161,22 @@ uninstall-am:
 
 .MAKE: check-am install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
-       clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
-       ctags ctags-am distclean distclean-compile distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
+       check-am clean clean-checkPROGRAMS clean-generic clean-libtool \
+       cscopelist-am ctags ctags-am distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        recheck tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 .PHONY: prereq
 prereq:
        $(AM_V_GEN)ln -sf $(abs_top_srcdir)/tests/init.sh .
index a0be99789426f9c216e50ba750876ff4082392fe..2be0e3a312fa872b4c03641fb4eed8843845efbe 100644 (file)
@@ -7,9 +7,23 @@
 #include <check.h>
 
 #include "common.h"
+#include "xstrtol.h"
 
 #define STREQ(a, b) (strcmp (a, b) == 0)
 
+size_t get_sector_size (void)
+{
+  char *p = getenv ("PARTED_SECTOR_SIZE");
+  size_t ss = 512;
+  unsigned long val;
+  if (p
+      && xstrtoul (p, NULL, 10, &val, NULL) == LONGINT_OK
+      && val % 512 == 0)
+    ss = val;
+
+  return ss;
+}
+
 PedExceptionOption
 _test_exception_handler (PedException* e)
 {
@@ -69,6 +83,9 @@ _implemented_disk_label (const char *label)
         /* FIXME: these have minor problems, so skip them, temporarily.  */
         if (STREQ (label, "amiga")) return 0;
 
+        if (STREQ (label, "atari") && get_sector_size() != 512)
+                return 0;
+
         /* Not implemented yet */
         if (STREQ (label, "aix")) return 0;
         if (STREQ (label, "pc98")) return 0;
index 1b1c80148dfeb1ad6b861020711c9dc538b2d0b4..5d7485edb5dd7561af11023026c64cdd1d7527b3 100644 (file)
@@ -1,5 +1,10 @@
 #include <parted/parted.h>
 
+/* Determine sector size from environment
+ *
+ */
+size_t get_sector_size (void);
+
 /* Create an empty disk image
  *
  * filename: file (with full path) where to write the disk image
index 48561b9583ea669975da79cd9fd1637304dd9560..62d20c1ea41adbc382a869b001211ed447e8fbd6 100644 (file)
@@ -7,24 +7,9 @@
 
 #include "common.h"
 #include "progname.h"
-#include "xstrtol.h"
 
 static char* temporary_disk;
 
-static
-size_t get_sector_size (void)
-{
-  char *p = getenv ("PARTED_SECTOR_SIZE");
-  size_t ss = 512;
-  unsigned long val;
-  if (p
-      && xstrtoul (p, NULL, 10, &val, NULL) == LONGINT_OK
-      && val % 512 == 0)
-    ss = val;
-
-  return ss;
-}
-
 static void
 create_disk (void)
 {
index 188fd1093fe8843e14e2125c1ca40ee3fb08b9bb..c508c694ee340bb98925cd14beb25e174a3e5207 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # run the label unit tests in a directory supporting O_DIRECT
 
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014, 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
index c19e4909fd6f06cb2b44fb319787f121b37fe7e7..050178fffb7d5cc854881484ec3ab3b2277f7b0a 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # run the disk unit tests in a directory supporting O_DIRECT
 
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014, 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
index ecd579c9d497726866fdafee106019887bd55b5c..924d4a22f3bf8883ebb680667011b71a242efe76 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # run the zerolen unit tests in a directory supporting O_DIRECT
 
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014, 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
@@ -28,9 +28,6 @@ init_root_dir_
 test "$(uname -s)" = Linux \
   || skip_ "not on Linux"
 
-test "x$DYNAMIC_LOADING" = xyes \
-  || skip_ "no dynamic loading support"
-
 test "x$ENABLE_DEVICE_MAPPER" = xyes \
   || skip_ "no device-mapper support"
 
index 4eb565482daf0947fc5af34db00f36809a3d6d7d..56615f5ecf08c9dd17a87befc47a47b7dbd7205a 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # run the /dev/mapper symlink test
 
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014, 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
diff --git a/libparted/tests/t4000-volser.sh b/libparted/tests/t4000-volser.sh
new file mode 100755 (executable)
index 0000000..89688ba
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# 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 <http://www.gnu.org/licenses/>.
+
+. "${top_srcdir=../..}/tests/init.sh"; path_prepend_ .
+
+volser || fail=1
+
+Exit $fail
diff --git a/libparted/tests/volser.c b/libparted/tests/volser.c
new file mode 100644 (file)
index 0000000..c6efa5f
--- /dev/null
@@ -0,0 +1,191 @@
+/*
+ * Author: Wang Dong <dongdwdw@cn.ibm.com>
+ */
+
+#include <config.h>
+#include <unistd.h>
+#include <check.h>
+
+#include <parted/vtoc.h>
+#include <parted/device.h>
+#include <parted/fdasd.h>
+#include <parted/vtoc.h>
+#include "../arch/linux.h"
+#include "common.h"
+#include "progname.h"
+
+#if defined __s390__ || defined __s390x__
+
+/* set dasd first */
+static char vol_devno[7] = {0};
+static char *tmp_disk;
+static int fd;
+
+static PedDisk *disk;
+static struct fdasd_anchor anc;
+static fdasd_anchor_t *anchor = &anc;
+static LinuxSpecific *arch_specific;
+
+/* set the enviroment */
+static void set_test (void)
+{
+        PedDevice *dev;
+        PedDiskType *type;
+        type = ped_disk_type_get ("dasd");
+
+        tmp_disk = _create_disk (20*1024*1024);
+        fail_if (tmp_disk == NULL, "Failed to create temporary disk");
+        dev = ped_device_get (tmp_disk);
+        if (dev == NULL)
+                return;
+
+        disk = _create_disk_label (dev, type);
+        if (!ped_device_open (disk->dev))
+                return;
+
+        fdasd_initialize_anchor (anchor);
+        arch_specific = LINUX_SPECIFIC (disk->dev);
+        fd = arch_specific->fd;
+        if (!fdasd_get_geometry (dev, anchor, fd))
+                return;
+
+        fdasd_check_volume (anchor, fd);
+        sprintf (vol_devno, "0X%04x", anchor->devno);
+        ck_assert (strlen (vol_devno) == VOLSER_LENGTH);
+}
+
+static void free_test (void)
+{
+        ped_device_close (disk->dev);
+        ped_device_destroy (disk->dev);
+        unlink (tmp_disk);
+        free (tmp_disk);
+        fdasd_cleanup (anchor);
+}
+
+/* Test with default volser */
+START_TEST (test_get_volser)
+{
+        char volser[7] = {0};
+        fdasd_change_volser (anchor, vol_devno);
+        fdasd_write_labels (anchor, fd);
+
+        fdasd_get_volser (anchor, volser, fd);
+        ck_assert (!strcmp (volser, vol_devno));
+}
+END_TEST
+
+START_TEST (test_check_volser)
+{
+        char vol_long[] = "abcdefg";
+        char vol_short[] = "ab_c   ";
+        char vol_null[] = "      ";
+        char *vol_input = NULL;
+
+        vol_input = vol_long;
+        fdasd_check_volser (vol_input, anchor->devno);
+        ck_assert(!strcmp (vol_input, "ABCDEF"));
+
+        vol_input = vol_short;
+        fdasd_check_volser (vol_input, anchor->devno);
+        ck_assert (!strcmp (vol_input, "ABC"));
+
+        vol_input = vol_null;
+        fdasd_check_volser (vol_input, anchor->devno);
+        ck_assert (!strcmp (vol_input, vol_devno));
+}
+END_TEST
+
+START_TEST (test_change_volser)
+{
+
+        char vol[] = "000000";
+        char volser[7] = {0};
+
+        fdasd_change_volser (anchor, vol);
+        fdasd_write_labels (anchor, fd);
+
+        fdasd_get_volser (anchor, volser, fd);
+        ck_assert (!strcmp (volser, vol));
+}
+END_TEST
+
+/*
+ * fdsad_recreate_vtoc recreate the VTOC with existing one.
+ * So the partition information should be not changed after recreating
+ * VTOC.
+*/
+START_TEST (test_reuse_vtoc)
+{
+        ds5ext_t before;
+        ds5ext_t after;
+
+        memcpy (&before, &anchor->f5->DS5AVEXT, sizeof(ds5ext_t));
+
+        if (anchor->fspace_trk) {
+                fdasd_reuse_vtoc (anchor);
+                memcpy (&after, &anchor->f5->DS5AVEXT, sizeof(ds5ext_t));
+                if ((before.t != after.t) && (before.fc != after.fc) && (before.ft != after.ft))
+                        ck_abort ();
+        } else {
+                fdasd_reuse_vtoc (anchor);
+                memcpy (&after, &anchor->f5->DS5AVEXT, sizeof(ds5ext_t));
+                if ((before.t != after.t) && (before.fc != after.fc) && (before.ft != after.ft))
+                        ck_abort ();
+        }
+}
+END_TEST
+
+#endif
+
+int main (int argc, char **argv)
+{
+
+        set_program_name (argv[0]);
+
+#if defined __s390__ || defined __s390x__
+
+        int number_failed = 0;
+
+        Suite *suite = suite_create ("Volser");
+
+        TCase *tcase_get = tcase_create ("Get");
+        TCase *tcase_check = tcase_create ("Check");
+        TCase *tcase_change = tcase_create ("Change");
+        TCase *tcase_vtoc = tcase_create ("Vtoc");
+
+        ped_exception_set_handler (_test_exception_handler);
+
+        tcase_add_checked_fixture (tcase_check, set_test, free_test);
+        tcase_add_test (tcase_check, test_check_volser);
+        tcase_set_timeout (tcase_check, 0);
+        suite_add_tcase (suite, tcase_check);
+
+        tcase_add_checked_fixture (tcase_change, set_test, free_test);
+        tcase_add_test (tcase_change, test_change_volser);
+        tcase_set_timeout (tcase_change, 0);
+        suite_add_tcase (suite, tcase_change);
+
+        tcase_add_checked_fixture (tcase_get, set_test, free_test);
+        tcase_add_test (tcase_get, test_get_volser);
+        tcase_set_timeout (tcase_get, 0);
+        suite_add_tcase (suite, tcase_get);
+
+        tcase_add_checked_fixture (tcase_vtoc, set_test, free_test);
+        tcase_add_test (tcase_vtoc, test_reuse_vtoc);
+        tcase_set_timeout (tcase_vtoc, 0);
+        suite_add_tcase (suite, tcase_vtoc);
+
+        SRunner *srunner = srunner_create (suite);
+        /* When to debug, uncomment this line */
+        /* srunner_set_fork_status (srunner, CK_NOFORK); */
+
+        srunner_run_all (srunner, CK_VERBOSE);
+
+        number_failed = srunner_ntests_failed (srunner);
+        srunner_free (srunner);
+        return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
+
+#endif
+       return 0;
+}
index 06670518838654c4c39b5169f2f6f82a03a84a43..94a9287b87ed9ec88e0e5dedcc76905cb695399e 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2001, 2007, 2009-2014, 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
index dddb5dbc3575f4591dfba2a20940a0591d7022ee..7cc98fcbc92f07c617781c67393925f5c045a110 100644 (file)
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2005, 2007, 2009-2014, 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
@@ -481,12 +481,6 @@ parse_unit_suffix (const char* suffix, PedUnit suggested_unit)
        return suggested_unit;
 }
 
-static bool
-is_power_of_2 (long long n)
-{
-  return (n & (n - 1)) == 0;
-}
-
 /**
  * If \p str contains a valid description of a location on \p dev, then
  * \p *sector is modified to describe the location and a geometry is created
@@ -540,16 +534,23 @@ ped_unit_parse_custom (const char* str, const PedDevice* dev, PedUnit unit,
         }
 
        unit_size = ped_unit_get_size (dev, unit);
-       radius = (ped_div_round_up (unit_size, dev->sector_size) / 2) - 1;
-       if (radius < 0)
-               radius = 0;
-       /* If the user specifies units in a power of 2, e.g., 4MiB, as in
-              parted -s -- $dev mklabel gpt mkpart P-NAME 4MiB -34s
-          do not use 4MiB as the range.  Rather, presume that they
-          are specifying precisely the starting or ending number,
-          and treat "4MiB" just as we would treat "4194304B".  */
-       if (is_power_of_2 (unit_size) && unit != PED_UNIT_PERCENT)
-               radius = 0;
+       switch (unit) {
+               /* If the user specifies the address using IEC units e.g., 4MiB, as in
+                  parted -s -- $dev mklabel gpt mkpart P-NAME 4MiB -34s
+                  do not use size of the unit as the range.  Rather, presume that they
+                  are specifying precisely the starting or ending number,
+                  and treat "4MiB" just as we would treat "4194304B".  */
+               case PED_UNIT_KIBIBYTE:
+               case PED_UNIT_MEBIBYTE:
+               case PED_UNIT_GIBIBYTE:
+               case PED_UNIT_TEBIBYTE:
+                       radius = 0;
+                       break;
+               default:
+                       radius = (ped_div_round_up (unit_size, dev->sector_size) / 2) - 1;
+                       if (radius < 0)
+                               radius = 0;
+       }
 
        *sector = num * unit_size / dev->sector_size;
        /* negative numbers count from the end */
index 8eca5518ad64a5925ee4b2c8d194fbf7d1591b6b..e3e0fb6daa21ed823fbfdf509a2a712918855ec6 100644 (file)
@@ -1,5 +1,5 @@
 # 00gnulib.m4 serial 3
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 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,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/__inline.m4 b/m4/__inline.m4
new file mode 100644 (file)
index 0000000..e1aa310
--- /dev/null
@@ -0,0 +1,22 @@
+# Test for __inline keyword
+dnl Copyright 2017-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.
+
+AC_DEFUN([gl___INLINE],
+[
+  AC_CACHE_CHECK([whether the compiler supports the __inline keyword],
+    [gl_cv_c___inline],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+         [[typedef int foo_t;
+           static __inline foo_t foo (void) { return 0; }]],
+         [[return foo ();]])],
+       [gl_cv_c___inline=yes],
+       [gl_cv_c___inline=no])])
+  if test $gl_cv_c___inline = yes; then
+    AC_DEFINE([HAVE___INLINE], [1],
+      [Define to 1 if the compiler supports the keyword '__inline'.])
+  fi
+])
index ce3e39e9b7d2e938fcfc49a0a8f3c5be8cb5db6b..a8f2cba173f39d504b2899f2c7a749579af1bc17 100644 (file)
@@ -1,5 +1,5 @@
 # absolute-header.m4 serial 16
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+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,
 dnl with or without modifications, as long as this notice is preserved.
index d7bdea631ff310b189b5c5e1f6a8946e3c448a85..29bd289b02af1143455f6c129d79accf3c4f288a 100644 (file)
@@ -1,5 +1,5 @@
-# alloca.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2014 Free Software Foundation,
+# 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
 dnl gives unlimited permission to copy and/or distribute it,
@@ -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.
@@ -44,12 +51,12 @@ AC_DEFUN([gl_FUNC_ALLOCA],
 AC_DEFUN([gl_PREREQ_ALLOCA], [:])
 
 # This works around a bug in autoconf <= 2.68.
-# See <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00277.html>.
+# See <https://lists.gnu.org/r/bug-gnulib/2011-06/msg00277.html>.
 
 m4_version_prereq([2.69], [] ,[
 
 # This is taken from the following Autoconf patch:
-# http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497
+# https://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=6cd9f12520b0d6f76d3230d7565feba1ecf29497
 
 # _AC_LIBOBJ_ALLOCA
 # -----------------
diff --git a/m4/arpa_inet_h.m4 b/m4/arpa_inet_h.m4
new file mode 100644 (file)
index 0000000..645011d
--- /dev/null
@@ -0,0 +1,59 @@
+# arpa_inet_h.m4 serial 14
+dnl Copyright (C) 2006, 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 Written by Simon Josefsson and Bruno Haible
+
+AC_DEFUN([gl_HEADER_ARPA_INET],
+[
+  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+  dnl once only, before all statements that occur in other macros.
+  AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS])
+
+  AC_CHECK_HEADERS_ONCE([arpa/inet.h])
+  if test $ac_cv_header_arpa_inet_h = yes; then
+    HAVE_ARPA_INET_H=1
+  else
+    HAVE_ARPA_INET_H=0
+  fi
+  AC_SUBST([HAVE_ARPA_INET_H])
+  dnl <arpa/inet.h> is always overridden, because of GNULIB_POSIXCHECK.
+  gl_CHECK_NEXT_HEADERS([arpa/inet.h])
+
+  AC_REQUIRE([gl_FEATURES_H])
+
+  gl_PREREQ_SYS_H_WS2TCPIP
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use.
+  gl_WARN_ON_USE_PREPARE([[
+/* On some systems, this header is not self-consistent.  */
+#if !(defined __GLIBC__ || defined __UCLIBC__)
+# include <sys/socket.h>
+#endif
+#ifdef __TANDEM
+# include <netdb.h>
+#endif
+#include <arpa/inet.h>
+    ]], [inet_ntop inet_pton])
+])
+
+AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+])
+
+AC_DEFUN([gl_ARPA_INET_H_DEFAULTS],
+[
+  GNULIB_INET_NTOP=0;     AC_SUBST([GNULIB_INET_NTOP])
+  GNULIB_INET_PTON=0;     AC_SUBST([GNULIB_INET_PTON])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_DECL_INET_NTOP=1;  AC_SUBST([HAVE_DECL_INET_NTOP])
+  HAVE_DECL_INET_PTON=1;  AC_SUBST([HAVE_DECL_INET_PTON])
+  REPLACE_INET_NTOP=0;    AC_SUBST([REPLACE_INET_NTOP])
+  REPLACE_INET_PTON=0;    AC_SUBST([REPLACE_INET_PTON])
+])
index b9bb634ec9cd562175b458e23ae9976009f12603..15048a73af13aed88182e4ccaf11223493d42f54 100644 (file)
@@ -1,6 +1,6 @@
 #serial 7
 
-# Copyright (C) 1998-1999, 2001, 2004, 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-1999, 2001, 2004, 2008-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
index 99889445f564716a6556abd83b1b9dbf906d7500..85c2cbf6dcabb263e0600391ff9f3c7e70169558 100644 (file)
@@ -1,5 +1,5 @@
-# btowc.m4 serial 10
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# btowc.m4 serial 11
+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.
@@ -10,7 +10,7 @@ AC_DEFUN([gl_FUNC_BTOWC],
 
   dnl Check whether <wchar.h> is usable at all, first. Otherwise the test
   dnl program below may lead to an endless loop. See
-  dnl <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>.
+  dnl <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>.
   AC_REQUIRE([gl_WCHAR_H_INLINE_OK])
 
   AC_CHECK_FUNCS_ONCE([btowc])
@@ -50,6 +50,8 @@ changequote(,)dnl
            case "$host_os" in
                       # Guess no on Cygwin.
              cygwin*) gl_cv_func_btowc_nul="guessing no" ;;
+                      # Guess yes on native Windows.
+             mingw*)  gl_cv_func_btowc_nul="guessing yes" ;;
                       # Guess yes otherwise.
              *)       gl_cv_func_btowc_nul="guessing yes" ;;
            esac
@@ -65,10 +67,12 @@ changequote([,])dnl
         dnl is present.
 changequote(,)dnl
         case "$host_os" in
-                 # Guess no on IRIX.
-          irix*) gl_cv_func_btowc_eof="guessing no" ;;
-                 # Guess yes otherwise.
-          *)     gl_cv_func_btowc_eof="guessing yes" ;;
+                  # Guess no on IRIX.
+          irix*)  gl_cv_func_btowc_eof="guessing no" ;;
+                  # Guess yes on native Windows.
+          mingw*) gl_cv_func_btowc_eof="guessing yes" ;;
+                  # Guess yes otherwise.
+          *)      gl_cv_func_btowc_eof="guessing yes" ;;
         esac
 changequote([,])dnl
         if test $LOCALE_FR != none; then
diff --git a/m4/builtin-expect.m4 b/m4/builtin-expect.m4
new file mode 100644 (file)
index 0000000..b65fbf8
--- /dev/null
@@ -0,0 +1,49 @@
+dnl Check for __builtin_expect.
+
+dnl Copyright 2016-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 Written by Paul Eggert.
+
+AC_DEFUN([gl___BUILTIN_EXPECT],
+[
+  AC_CACHE_CHECK([for __builtin_expect],
+    [gl_cv___builtin_expect],
+    [AC_LINK_IFELSE(
+       [AC_LANG_SOURCE([[
+         int
+         main (int argc, char **argv)
+         {
+           argc = __builtin_expect (argc, 100);
+           return argv[argc != 100][0];
+         }]])],
+       [gl_cv___builtin_expect=yes],
+       [AC_LINK_IFELSE(
+          [AC_LANG_SOURCE([[
+             #include <builtins.h>
+             int
+             main (int argc, char **argv)
+             {
+               argc = __builtin_expect (argc, 100);
+               return argv[argc != 100][0];
+             }]])],
+          [gl_cv___builtin_expect="in <builtins.h>"],
+          [gl_cv___builtin_expect=no])])])
+  if test "$gl_cv___builtin_expect" = yes; then
+    AC_DEFINE([HAVE___BUILTIN_EXPECT], [1])
+  elif test "$gl_cv___builtin_expect" = "in <builtins.h>"; then
+    AC_DEFINE([HAVE___BUILTIN_EXPECT], [2])
+  fi
+  AH_VERBATIM([HAVE___BUILTIN_EXPECT],
+    [/* Define to 1 if the compiler supports __builtin_expect,
+   and to 2 if <builtins.h> does.  */
+#undef HAVE___BUILTIN_EXPECT
+#ifndef HAVE___BUILTIN_EXPECT
+# define __builtin_expect(e, c) (e)
+#elif HAVE___BUILTIN_EXPECT == 2
+# include <builtins.h>
+#endif
+    ])
+])
index a63daf82af297dc4927493844becc75f796929bd..d76535d8044bc0a00dc8a67c3d9876a4765ae400 100644 (file)
@@ -1,6 +1,6 @@
-# calloc.m4 serial 15
+# calloc.m4 serial 19
 
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -25,19 +25,27 @@ AC_DEFUN([_AC_FUNC_CALLOC_IF],
        [AC_LANG_PROGRAM(
           [AC_INCLUDES_DEFAULT],
           [[int result = 0;
-            if (!calloc (0, 0))
+            char *p = calloc (0, 0);
+            if (!p)
               result |= 1;
-            if (calloc ((size_t) -1 / 8 + 1, 8))
+            free (p);
+            p = calloc ((size_t) -1 / 8 + 1, 8);
+            if (p)
               result |= 2;
+            free (p);
             return result;
           ]])],
        [ac_cv_func_calloc_0_nonnull=yes],
        [ac_cv_func_calloc_0_nonnull=no],
        [case "$host_os" in
-                  # Guess yes on glibc systems.
-          *-gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
-                  # If we don't know, assume the worst.
-          *)      ac_cv_func_calloc_0_nonnull="guessing no" ;;
+                         # Guess yes on glibc systems.
+          *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+                         # Guess yes on musl systems.
+          *-musl*)       ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+                         # Guess yes on native Windows.
+          mingw*)        ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+                         # If we don't know, assume the worst.
+          *)             ac_cv_func_calloc_0_nonnull="guessing no" ;;
         esac
        ])])
   case "$ac_cv_func_calloc_0_nonnull" in
index ace45566142f83d7c2c6afe677c191772e2a3dfc..b61747bd1a5282eead62fb94f2ec66a7acc17087 100644 (file)
@@ -1,6 +1,6 @@
-# canonicalize.m4 serial 26
+# canonicalize.m4 serial 30
 
-dnl Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-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,
@@ -35,8 +35,8 @@ AC_DEFUN([gl_CANONICALIZE_LGPL],
       HAVE_REALPATH=0
     else
       case "$gl_cv_func_realpath_works" in
-       *yes) ;;
-       *)    REPLACE_REALPATH=1 ;;
+        *yes) ;;
+        *)    REPLACE_REALPATH=1 ;;
       esac
     fi
   else
@@ -83,22 +83,27 @@ AC_DEFUN([gl_FUNC_REALPATH_WORKS],
           char *name = realpath ("conftest.a", NULL);
           if (!(name && *name == '/'))
             result |= 1;
+          free (name);
         }
         {
           char *name = realpath ("conftest.b/../conftest.a", NULL);
           if (name != NULL)
             result |= 2;
+          free (name);
         }
         {
           char *name = realpath ("conftest.a/", NULL);
           if (name != NULL)
             result |= 4;
+          free (name);
         }
         {
           char *name1 = realpath (".", NULL);
           char *name2 = realpath ("conftest.d//./..", NULL);
-          if (strcmp (name1, name2) != 0)
+          if (! name1 || ! name2 || strcmp (name1, name2))
             result |= 8;
+          free (name1);
+          free (name2);
         }
         return result;
       ]])
@@ -108,6 +113,10 @@ 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.
         *)             gl_cv_func_realpath_works="guessing no" ;;
       esac
diff --git a/m4/close-stream.m4 b/m4/close-stream.m4
deleted file mode 100644 (file)
index 80cde85..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#serial 4
-dnl Copyright (C) 2006-2007, 2009-2014 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 Prerequisites of lib/close-stream.c.
-AC_DEFUN([gl_CLOSE_STREAM],
-[
-  :
-])
index 68510c5c5212ed78324f9b0406e55409fd89c86d..7013a130433b666500daff67a115aa3ec2c2aa72 100644 (file)
@@ -1,5 +1,5 @@
-# close.m4 serial 8
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# close.m4 serial 9
+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.
@@ -7,10 +7,12 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_CLOSE],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  AC_REQUIRE([gl_MSVC_INVAL])
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_CLOSE=1
-  fi
+  m4_ifdef([gl_MSVC_INVAL], [
+    AC_REQUIRE([gl_MSVC_INVAL])
+    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+      REPLACE_CLOSE=1
+    fi
+  ])
   m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [
     gl_PREREQ_SYS_H_WINSOCK2
     if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
diff --git a/m4/closeout.m4 b/m4/closeout.m4
deleted file mode 100644 (file)
index 2f0c87e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-# closeout.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
-dnl 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 Prerequisites of lib/closeout.c.
-AC_DEFUN([gl_CLOSEOUT],
-[
-  :
-])
index d7de8d67e0d2c0a70dcdb911f6ac7893d2c3bca4..280f556fe83dfb4ac832f8533cfc5610feb57275 100644 (file)
@@ -1,5 +1,6 @@
 # codeset.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019 Free Software
+dnl 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.
index 52629960e3aabf58a0718822097c77e66480abad..7379df7d5620600b0e84f188fafdd3c219454c6e 100644 (file)
@@ -1,6 +1,6 @@
 # Say that -DHAVE_CONFIG_H is not needed.
 
-dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 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,
 dnl with or without modifications, as long as this notice is preserved.
index 0cd86cf99215ad40fef56e88b572c5ee3d00f795..057195264cc2aa487869eb3caa3b4367e524042d 100644 (file)
@@ -1,55 +1,27 @@
-# configmake.m4 serial 2
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# configmake.m4 serial 3
+dnl Copyright (C) 2010-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.
 
+AC_PREREQ([2.60])
+
 # gl_CONFIGMAKE_PREP
 # ------------------
 # Guarantee all of the standard directory variables, even when used with
-# autoconf 2.59 (datarootdir wasn't supported until 2.59c, and runstatedir
-# in 2.70) or automake 1.9.6 (pkglibexecdir wasn't supported until 1.10b,
-# and runstatedir in 1.14.1).
+# autoconf 2.63 (runstatedir wasn't supported before 2.70) or
+# automake 1.11 (runstatedir isn't supported even in 1.16.1).
 AC_DEFUN([gl_CONFIGMAKE_PREP],
 [
-  dnl Technically, datadir should default to datarootdir.  But if
-  dnl autoconf is too old to provide datarootdir, then reversing the
-  dnl definition is a reasonable compromise.  Only AC_SUBST a variable
-  dnl if it was not already defined earlier by autoconf.
-  if test "x$datarootdir" = x; then
-    AC_SUBST([datarootdir], ['${datadir}'])
-  fi
-  dnl Copy the approach used in autoconf 2.60.
-  if test "x$docdir" = x; then
-    AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
-      ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
-      ['${datarootdir}/doc/${PACKAGE}'])])
-  fi
-  dnl The remaining variables missing from autoconf 2.59 are easier.
-  if test "x$htmldir" = x; then
-    AC_SUBST([htmldir], ['${docdir}'])
-  fi
-  if test "x$dvidir" = x; then
-    AC_SUBST([dvidir], ['${docdir}'])
-  fi
-  if test "x$pdfdir" = x; then
-    AC_SUBST([pdfdir], ['${docdir}'])
-  fi
-  if test "x$psdir" = x; then
-    AC_SUBST([psdir], ['${docdir}'])
-  fi
   if test "x$lispdir" = x; then
     AC_SUBST([lispdir], ['${datarootdir}/emacs/site-lisp'])
   fi
-  if test "x$localedir" = x; then
-    AC_SUBST([localedir], ['${datarootdir}/locale'])
-  fi
-  dnl Added in autoconf 2.70
+  dnl Added in autoconf 2.70.
   if test "x$runstatedir" = x; then
     AC_SUBST([runstatedir], ['${localstatedir}/run'])
   fi
 
-  dnl Automake 1.9.6 only lacks pkglibexecdir; and since 1.11 merely
-  dnl provides it without AC_SUBST, this blind use of AC_SUBST is safe.
+  dnl Automake 1.11 provides pkglibexecdir merely without AC_SUBST.
+  dnl This blind use of AC_SUBST is safe.
   AC_SUBST([pkglibexecdir], ['${libexecdir}/${PACKAGE}'])
 ])
diff --git a/m4/ctype.m4 b/m4/ctype.m4
new file mode 100644 (file)
index 0000000..bd30e11
--- /dev/null
@@ -0,0 +1,32 @@
+# ctype_h.m4 serial 6
+dnl Copyright (C) 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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_CTYPE_H],
+[
+  AC_REQUIRE([gl_CTYPE_H_DEFAULTS])
+
+  dnl <ctype.h> is always overridden, because of GNULIB_POSIXCHECK.
+  gl_NEXT_HEADERS([ctype.h])
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use.
+  gl_WARN_ON_USE_PREPARE([[#include <ctype.h>
+    ]], [isblank])
+])
+
+AC_DEFUN([gl_CTYPE_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_CTYPE_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+])
+
+AC_DEFUN([gl_CTYPE_H_DEFAULTS],
+[
+  GNULIB_ISBLANK=0; AC_SUBST([GNULIB_ISBLANK])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_ISBLANK=1;   AC_SUBST([HAVE_ISBLANK])
+])
index d2627b8a8ec4ac6420a691a810d4ed1e4e424f99..32141ae6ff0d2d9b0dfdd86d32fd5f43ea80f7a2 100644 (file)
@@ -1,5 +1,5 @@
 #serial 10   -*- autoconf -*-
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 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,
 dnl with or without modifications, as long as this notice is preserved.
index 937f4bca9a9991dd5a103d19e552421f9ae47823..0c5afb17156d1da2ab3d1e03551f8ca6117b2805 100644 (file)
@@ -1,5 +1,5 @@
 # double-slash-root.m4 serial 4   -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 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.
index 89638a0bfe3f2d82edfb2966adbe6065467c8314..b314247d3bc360bc460ac2bcd86f32e1f719e6d3 100644 (file)
@@ -1,5 +1,5 @@
-#serial 20
-dnl Copyright (C) 2002, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+#serial 25
+dnl Copyright (C) 2002, 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -19,33 +19,60 @@ AC_DEFUN([gl_FUNC_DUP2],
   if test $HAVE_DUP2 = 1; then
     AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works],
       [AC_RUN_IFELSE([
-         AC_LANG_PROGRAM([[#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>]],
-           [int result = 0;
-#ifdef FD_CLOEXEC
-            if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
-              result |= 1;
-#endif
-            if (dup2 (1, 1) == 0)
-              result |= 2;
-#ifdef FD_CLOEXEC
-            if (fcntl (1, F_GETFD) != FD_CLOEXEC)
-              result |= 4;
-#endif
-            close (0);
-            if (dup2 (0, 0) != -1)
-              result |= 8;
-            /* Many gnulib modules require POSIX conformance of EBADF.  */
-            if (dup2 (2, 1000000) == -1 && errno != EBADF)
-              result |= 16;
-            /* Flush out some cygwin core dumps.  */
-            if (dup2 (2, -1) != -1 || errno != EBADF)
-              result |= 32;
-            dup2 (2, 255);
-            dup2 (2, 256);
-            return result;
-           ])
+         AC_LANG_PROGRAM(
+           [[#include <errno.h>
+             #include <fcntl.h>
+             #include <limits.h>
+             #include <sys/resource.h>
+             #include <unistd.h>
+             #ifndef RLIM_SAVED_CUR
+             # define RLIM_SAVED_CUR RLIM_INFINITY
+             #endif
+             #ifndef RLIM_SAVED_MAX
+             # define RLIM_SAVED_MAX RLIM_INFINITY
+             #endif
+           ]],
+           [[int result = 0;
+             int bad_fd = INT_MAX;
+             struct rlimit rlim;
+             if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+                 && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+                 && rlim.rlim_cur != RLIM_INFINITY
+                 && rlim.rlim_cur != RLIM_SAVED_MAX
+                 && rlim.rlim_cur != RLIM_SAVED_CUR)
+               bad_fd = rlim.rlim_cur;
+             #ifdef FD_CLOEXEC
+               if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
+                 result |= 1;
+             #endif
+             if (dup2 (1, 1) != 1)
+               result |= 2;
+             #ifdef FD_CLOEXEC
+               if (fcntl (1, F_GETFD) != FD_CLOEXEC)
+                 result |= 4;
+             #endif
+             close (0);
+             if (dup2 (0, 0) != -1)
+               result |= 8;
+             /* Many gnulib modules require POSIX conformance of EBADF.  */
+             if (dup2 (2, bad_fd) == -1 && errno != EBADF)
+               result |= 16;
+             /* Flush out some cygwin core dumps.  */
+             if (dup2 (2, -1) != -1 || errno != EBADF)
+               result |= 32;
+             dup2 (2, 255);
+             dup2 (2, 256);
+             /* On OS/2 kLIBC, dup2() does not work on a directory fd.  */
+             {
+               int fd = open (".", O_RDONLY);
+               if (fd == -1)
+                 result |= 64;
+               else if (dup2 (fd, fd + 1) == -1)
+                 result |= 128;
+
+               close (fd);
+             }
+             return result;]])
         ],
         [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no],
         [case "$host_os" in
@@ -53,13 +80,16 @@ AC_DEFUN([gl_FUNC_DUP2],
              gl_cv_func_dup2_works="guessing no" ;;
            cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
              gl_cv_func_dup2_works="guessing no" ;;
-           linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
-                   # closed fd may yield -EBADF instead of -1 / errno=EBADF.
-             gl_cv_func_dup2_works="guessing no" ;;
-           freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF.
+           aix* | freebsd*)
+                   # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE,
+                   # not EBADF.
              gl_cv_func_dup2_works="guessing no" ;;
            haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
              gl_cv_func_dup2_works="guessing no" ;;
+           *-android*) # implemented using dup3(), which fails if oldfd == newfd
+             gl_cv_func_dup2_works="guessing no" ;;
+           os2*) # on OS/2 kLIBC, dup2() does not work on a directory fd.
+             gl_cv_func_dup2_works="guessing no" ;;
            *) gl_cv_func_dup2_works="guessing yes" ;;
          esac])
       ])
index 8a51fe7c55151468c5128940e429f973f7376749..2a4b120a172fac47269c524aaede94ad732d99e7 100644 (file)
@@ -1,5 +1,5 @@
 # eealloc.m4 serial 3
-dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 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,
 dnl with or without modifications, as long as this notice is preserved.
index cfabe46f5674e9b8062cc244687c4231a6f114b2..c1a6fa374687cd913d317e73d3c48d87fe416846 100644 (file)
@@ -1,5 +1,5 @@
-# environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+# environ.m4 serial 7
+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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -29,16 +29,14 @@ AC_DEFUN_ONCE([gl_ENVIRON],
 AC_DEFUN([gt_CHECK_VAR_DECL],
 [
   define([gt_cv_var], [gt_cv_var_]$2[_declaration])
-  AC_MSG_CHECKING([if $2 is properly declared])
-  AC_CACHE_VAL([gt_cv_var], [
-    AC_COMPILE_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[$1
-           extern struct { int foo; } $2;]],
-         [[$2.foo = 1;]])],
-      [gt_cv_var=no],
-      [gt_cv_var=yes])])
-  AC_MSG_RESULT([$gt_cv_var])
+  AC_CACHE_CHECK([if $2 is properly declared], [gt_cv_var],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[$1
+            extern struct { int foo; } $2;]],
+          [[$2.foo = 1;]])],
+       [gt_cv_var=no],
+       [gt_cv_var=yes])])
   if test $gt_cv_var = yes; then
     AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1,
               [Define if you have the declaration of $2.])
index 4ee9e6a14514e6987fa99ba9a29ed91df430cb0b..2388854e05731abe0edc9a58164280cdfd0c782a 100644 (file)
@@ -1,9 +1,11 @@
-# errno_h.m4 serial 12
-dnl Copyright (C) 2004, 2006, 2008-2014 Free Software Foundation, Inc.
+# errno_h.m4 serial 13
+dnl Copyright (C) 2004, 2006, 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.
 
+AC_PREREQ([2.61])
+
 AC_DEFUN_ONCE([gl_HEADER_ERRNO_H],
 [
   AC_REQUIRE([AC_PROG_CC])
@@ -129,9 +131,3 @@ yes
     AC_SUBST($1[_VALUE])
   fi
 ])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
-  AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
index f08ae50f3bfb86bfe9675760971d31e365004641..393adb54c64e4bd366957bba64626eebb6631986 100644 (file)
@@ -1,6 +1,6 @@
 #serial 14
 
-# Copyright (C) 1996-1998, 2001-2004, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 37f55ca3d155220a09276b97984a456b99dccc45..fd1ce817f069f4841643f53e20ca060773b2ed6b 100644 (file)
@@ -1,7 +1,7 @@
-# serial 13  -*- Autoconf -*-
+# serial 18  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -60,7 +60,7 @@ dnl configure.ac when using autoheader 2.62.
 #ifndef _ALL_SOURCE
 # undef _ALL_SOURCE
 #endif
-/* Enable general extensions on OS X.  */
+/* Enable general extensions on macOS.  */
 #ifndef _DARWIN_C_SOURCE
 # undef _DARWIN_C_SOURCE
 #endif
@@ -68,10 +68,46 @@ dnl configure.ac when using autoheader 2.62.
 #ifndef _GNU_SOURCE
 # undef _GNU_SOURCE
 #endif
+/* Enable NetBSD extensions on NetBSD.  */
+#ifndef _NETBSD_SOURCE
+# undef _NETBSD_SOURCE
+#endif
+/* Enable OpenBSD extensions on NetBSD.  */
+#ifndef _OPENBSD_SOURCE
+# undef _OPENBSD_SOURCE
+#endif
 /* Enable threading extensions on Solaris.  */
 #ifndef _POSIX_PTHREAD_SEMANTICS
 # undef _POSIX_PTHREAD_SEMANTICS
 #endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# undef __STDC_WANT_IEC_60559_BFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# undef __STDC_WANT_IEC_60559_DFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# undef __STDC_WANT_IEC_60559_TYPES_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# undef __STDC_WANT_LIB_EXT2__
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# undef __STDC_WANT_MATH_SPEC_FUNCS__
+#endif
 /* Enable extensions on HP NonStop.  */
 #ifndef _TANDEM_SOURCE
 # undef _TANDEM_SOURCE
@@ -82,6 +118,11 @@ dnl configure.ac when using autoheader 2.62.
 #ifndef _XOPEN_SOURCE
 # undef _XOPEN_SOURCE
 #endif
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# undef _HPUX_ALT_XOPEN_SOCKET_API
+#endif
 /* Enable general extensions on Solaris.  */
 #ifndef __EXTENSIONS__
 # undef __EXTENSIONS__
@@ -100,7 +141,16 @@ dnl configure.ac when using autoheader 2.62.
   AC_DEFINE([_ALL_SOURCE])
   AC_DEFINE([_DARWIN_C_SOURCE])
   AC_DEFINE([_GNU_SOURCE])
+  AC_DEFINE([_NETBSD_SOURCE])
+  AC_DEFINE([_OPENBSD_SOURCE])
   AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
+  AC_DEFINE([__STDC_WANT_IEC_60559_ATTRIBS_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_BFP_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_DFP_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_FUNCS_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_TYPES_EXT__])
+  AC_DEFINE([__STDC_WANT_LIB_EXT2__])
+  AC_DEFINE([__STDC_WANT_MATH_SPEC_FUNCS__])
   AC_DEFINE([_TANDEM_SOURCE])
   AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined],
     [ac_cv_should_define__xopen_source],
@@ -118,6 +168,7 @@ dnl configure.ac when using autoheader 2.62.
           [ac_cv_should_define__xopen_source=yes])])])
   test $ac_cv_should_define__xopen_source = yes &&
     AC_DEFINE([_XOPEN_SOURCE], [500])
+  AC_DEFINE([_HPUX_ALT_XOPEN_SOCKET_API])
 ])# AC_USE_SYSTEM_EXTENSIONS
 
 # gl_USE_SYSTEM_EXTENSIONS
index 240150efbc73ae400b8e00017f8a4c9c836e565e..ec9f2218bf33c31f37ca41f8a914116d055010a0 100644 (file)
@@ -1,6 +1,6 @@
 dnl 'extern inline' a la ISO C99.
 
-dnl Copyright 2012-2014 Free Software Foundation, Inc.
+dnl Copyright 2012-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.
@@ -11,7 +11,7 @@ AC_DEFUN([gl_EXTERN_INLINE],
 [/* Please see the Gnulib manual for how to use these macros.
 
    Suppress extern inline with HP-UX cc, as it appears to be broken; see
-   <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
+   <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
 
    Suppress extern inline with Sun C in standards-conformance mode, as it
    mishandles inline functions that call each other.  E.g., for 'inline void f
@@ -19,13 +19,40 @@ AC_DEFUN([gl_EXTERN_INLINE],
    'reference to static identifier "f" in extern inline function'.
    This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
 
-   Suppress the use of extern inline on problematic Apple configurations.
-   OS X 10.8 and earlier mishandle it; see, e.g.,
-   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions (ISO C 99 section 6.7.4.(3).
+   This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
+
    OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
-   for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
-   Perhaps Apple will fix this some day.  */
-#if (defined __APPLE__ \
+   for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
+   Assume DragonFly and FreeBSD will be similar.
+
+   GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  It defines a macro
+   __GNUC_STDC_INLINE__ to indicate this situation or a macro
+   __GNUC_GNU_INLINE__ to indicate the opposite situation.
+   GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
+   semantics but warns, unless -fgnu89-inline is used:
+     warning: C99 inline functions are not supported; using GNU89
+     warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
+   It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
+ */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
      && (defined __header_inline \
          ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
             && ! defined __clang__) \
@@ -33,19 +60,20 @@ AC_DEFUN([gl_EXTERN_INLINE],
              && (defined __GNUC__ || defined __cplusplus)) \
             || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
                 && defined __GNUC__ && ! defined __cplusplus))))
-# define _GL_EXTERN_INLINE_APPLE_BUG
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
 #endif
 #if ((__GNUC__ \
       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
       : (199901L <= __STDC_VERSION__ \
          && !defined __HP_cc \
+         && !defined __PGI \
          && !(defined __SUNPRO_C && __STDC__))) \
-     && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # define _GL_INLINE inline
 # define _GL_EXTERN_INLINE extern inline
 # define _GL_EXTERN_INLINE_IN_USE
 #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
-       && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
    /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
 #  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
@@ -59,17 +87,19 @@ AC_DEFUN([gl_EXTERN_INLINE],
 # define _GL_EXTERN_INLINE static _GL_UNUSED
 #endif
 
-#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
+   suppress bogus "no previous prototype for 'FOO'"
+   and "no previous declaration for 'FOO'" diagnostics,
+   when FOO is an inline function in the header; see
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
+#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
 # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
 #  define _GL_INLINE_HEADER_CONST_PRAGMA
 # else
 #  define _GL_INLINE_HEADER_CONST_PRAGMA \
      _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
 # endif
-  /* Suppress GCC's bogus "no previous prototype for 'FOO'"
-     and "no previous declaration for 'FOO'"  diagnostics,
-     when FOO is an inline function in the header; see
-     <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.  */
 # define _GL_INLINE_HEADER_BEGIN \
     _Pragma ("GCC diagnostic push") \
     _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
index 43c93124ed5874a66282ed01b365a4fcfb9c1632..6ab3387dafab1f7105fb0f4c019fa6822982026f 100644 (file)
@@ -1,23 +1,22 @@
-# fcntl-o.m4 serial 4
-dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+# fcntl-o.m4 serial 6
+dnl Copyright (C) 2006, 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,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl Written by Paul Eggert.
 
+AC_PREREQ([2.60])
+
 # Test whether the flags O_NOATIME and O_NOFOLLOW actually work.
 # Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise.
 # Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise.
 AC_DEFUN([gl_FCNTL_O_FLAGS],
 [
   dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW.
-  dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
-  dnl AC_GNU_SOURCE.
-  m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
-    [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
-    [AC_REQUIRE([AC_GNU_SOURCE])])
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_CHECK_HEADERS_ONCE([unistd.h])
   AC_CHECK_FUNCS_ONCE([symlink])
   AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],
@@ -116,7 +115,13 @@ AC_DEFUN([gl_FCNTL_O_FLAGS],
         68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
          *) gl_cv_header_working_fcntl_h='no';;
         esac],
-       [gl_cv_header_working_fcntl_h=cross-compiling])])
+       [case "$host_os" in
+                  # Guess 'no' on native Windows.
+          mingw*) gl_cv_header_working_fcntl_h='no' ;;
+          *)      gl_cv_header_working_fcntl_h=cross-compiling ;;
+        esac
+       ])
+    ])
 
   case $gl_cv_header_working_fcntl_h in #(
   *O_NOATIME* | no | cross-compiling) ac_val=0;; #(
diff --git a/m4/fcntl.m4 b/m4/fcntl.m4
new file mode 100644 (file)
index 0000000..e409e96
--- /dev/null
@@ -0,0 +1,126 @@
+# fcntl.m4 serial 9
+dnl Copyright (C) 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,
+dnl with or without modifications, as long as this notice is preserved.
+
+# For now, this module ensures that fcntl()
+# - supports F_DUPFD correctly
+# - supports or emulates F_DUPFD_CLOEXEC
+# - supports F_GETFD
+# Still to be ported to mingw:
+# - F_SETFD
+# - F_GETFL, F_SETFL
+# - F_GETOWN, F_SETOWN
+# - F_GETLK, F_SETLK, F_SETLKW
+AC_DEFUN([gl_FUNC_FCNTL],
+[
+  dnl Persuade glibc to expose F_DUPFD_CLOEXEC.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CHECK_FUNCS_ONCE([fcntl])
+  if test $ac_cv_func_fcntl = no; then
+    gl_REPLACE_FCNTL
+  else
+    dnl cygwin 1.5.x F_DUPFD has wrong errno, and allows negative target
+    dnl haiku alpha 2 F_DUPFD has wrong errno
+    AC_CACHE_CHECK([whether fcntl handles F_DUPFD correctly],
+      [gl_cv_func_fcntl_f_dupfd_works],
+      [AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#include <errno.h>
+              #include <fcntl.h>
+              #include <limits.h>
+              #include <sys/resource.h>
+              #include <unistd.h>
+              #ifndef RLIM_SAVED_CUR
+              # define RLIM_SAVED_CUR RLIM_INFINITY
+              #endif
+              #ifndef RLIM_SAVED_MAX
+              # define RLIM_SAVED_MAX RLIM_INFINITY
+              #endif
+            ]],
+            [[int result = 0;
+              int bad_fd = INT_MAX;
+              struct rlimit rlim;
+              if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+                  && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+                  && rlim.rlim_cur != RLIM_INFINITY
+                  && rlim.rlim_cur != RLIM_SAVED_MAX
+                  && rlim.rlim_cur != RLIM_SAVED_CUR)
+                bad_fd = rlim.rlim_cur;
+              if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
+              if (errno != EINVAL) result |= 2;
+              if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
+              if (errno != EINVAL) result |= 8;
+              /* On OS/2 kLIBC, F_DUPFD does not work on a directory fd */
+              {
+                int fd;
+                fd = open (".", O_RDONLY);
+                if (fd == -1)
+                  result |= 16;
+                else if (fcntl (fd, F_DUPFD, STDERR_FILENO + 1) == -1)
+                  result |= 32;
+
+                close (fd);
+              }
+              return result;]])],
+         [gl_cv_func_fcntl_f_dupfd_works=yes],
+         [gl_cv_func_fcntl_f_dupfd_works=no],
+         [case $host_os in
+            aix* | cygwin* | haiku*)
+               gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
+            *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
+          esac])])
+    case $gl_cv_func_fcntl_f_dupfd_works in
+      *yes) ;;
+      *) gl_REPLACE_FCNTL
+        AC_DEFINE([FCNTL_DUPFD_BUGGY], [1], [Define this to 1 if F_DUPFD
+          behavior does not match POSIX]) ;;
+    esac
+
+    dnl Many systems lack F_DUPFD_CLOEXEC
+    AC_CACHE_CHECK([whether fcntl understands F_DUPFD_CLOEXEC],
+      [gl_cv_func_fcntl_f_dupfd_cloexec],
+      [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <fcntl.h>
+#ifndef F_DUPFD_CLOEXEC
+choke me
+#endif
+         ]])],
+         [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef __linux__
+/* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace
+   it to support the semantics on older kernels that failed with EINVAL.  */
+choke me
+#endif
+           ]])],
+           [gl_cv_func_fcntl_f_dupfd_cloexec=yes],
+           [gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"])],
+         [gl_cv_func_fcntl_f_dupfd_cloexec=no])])
+    if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then
+      gl_REPLACE_FCNTL
+      dnl No witness macro needed for this bug.
+    fi
+  fi
+  dnl Replace fcntl() for supporting the gnulib-defined fchdir() function,
+  dnl to keep fchdir's bookkeeping up-to-date.
+  m4_ifdef([gl_FUNC_FCHDIR], [
+    gl_TEST_FCHDIR
+    if test $HAVE_FCHDIR = 0; then
+      gl_REPLACE_FCNTL
+    fi
+  ])
+])
+
+AC_DEFUN([gl_REPLACE_FCNTL],
+[
+  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
+  AC_CHECK_FUNCS_ONCE([fcntl])
+  if test $ac_cv_func_fcntl = no; then
+    HAVE_FCNTL=0
+  else
+    REPLACE_FCNTL=1
+  fi
+])
index fb2556d37e3b21baa89eb35279963392df330ef1..a86fdae5feb6ba160c068261d5d0a54814c95fa2 100644 (file)
@@ -1,6 +1,6 @@
 # serial 15
 # Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-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,
 dnl with or without modifications, as long as this notice is preserved.
index 4cf8f359ca9c9170a0bef3faa1dbfad5bbbd8d8e..06b43f668727b3e74eb4319d26c919988f76d4d2 100644 (file)
@@ -1,5 +1,5 @@
-# fdopen.m4 serial 3
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# fdopen.m4 serial 4
+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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -8,10 +8,13 @@ AC_DEFUN([gl_FUNC_FDOPEN],
 [
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_REQUIRE([gl_MSVC_INVAL])
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_FDOPEN=1
-  else
+  m4_ifdef([gl_MSVC_INVAL], [
+    AC_REQUIRE([gl_MSVC_INVAL])
+    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+      REPLACE_FDOPEN=1
+    fi
+  ])
+  if test $REPLACE_FDOPEN = 0; then
     dnl Test whether fdopen() sets errno when it fails due to a bad fd argument.
     AC_CACHE_CHECK([whether fdopen sets errno], [gl_cv_func_fdopen_works],
       [
diff --git a/m4/flexmember.m4 b/m4/flexmember.m4
new file mode 100644 (file)
index 0000000..c245ab0
--- /dev/null
@@ -0,0 +1,44 @@
+# serial 5
+# Check for flexible array member support.
+
+# Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Written by Paul Eggert.
+
+AC_DEFUN([AC_C_FLEXIBLE_ARRAY_MEMBER],
+[
+  AC_CACHE_CHECK([for flexible array member],
+    ac_cv_c_flexmember,
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stdlib.h>
+            #include <stdio.h>
+            #include <stddef.h>
+            struct m { struct m *next, **list; char name[]; };
+            struct s { struct s *p; struct m *m; int n; double d[]; };]],
+          [[int m = getchar ();
+            size_t nbytes = offsetof (struct s, d) + m * sizeof (double);
+            nbytes += sizeof (struct s) - 1;
+            nbytes -= nbytes % sizeof (struct s);
+            struct s *p = malloc (nbytes);
+            p->p = p;
+            p->m = NULL;
+            p->d[0] = 0.0;
+            return p->d != (double *) NULL;]])],
+       [ac_cv_c_flexmember=yes],
+       [ac_cv_c_flexmember=no])])
+  if test $ac_cv_c_flexmember = yes; then
+    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; short d@<:@FLEXIBLE_ARRAY_MEMBER@:>@; };', the struct hack
+       can be used with pre-C99 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
+])
index c2d01ef0713c23834ebe41c6ff34dd328c81a041..402ec4033164cc85e915079a35080c1f4b231e13 100644 (file)
@@ -1,6 +1,6 @@
-# serial 21
+# serial 22
 
-# Copyright (C) 2000-2001, 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2004-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,7 +11,7 @@ dnl and Ulrich Drepper.
 
 dnl Find out how to determine the number of pending output bytes on a stream.
 dnl glibc (2.1.93 and newer) and Solaris provide __fpending.  On other systems,
-dnl we have to grub around in the FILE struct.
+dnl we have to grub around in the (possibly opaque) FILE struct.
 
 AC_DEFUN([gl_FUNC_FPENDING],
 [
@@ -34,66 +34,3 @@ AC_DEFUN([gl_FUNC_FPENDING],
     AC_CHECK_DECLS([__fpending], [], [], [$fp_headers])
   fi
 ])
-
-AC_DEFUN([gl_PREREQ_FPENDING],
-[
-  AC_CACHE_CHECK(
-              [how to determine the number of pending output bytes on a stream],
-                 ac_cv_sys_pending_output_n_bytes,
-    [
-      for ac_expr in                                                    \
-                                                                        \
-          '# glibc2'                                                    \
-          'fp->_IO_write_ptr - fp->_IO_write_base'                      \
-                                                                        \
-          '# traditional Unix'                                          \
-          'fp->_ptr - fp->_base'                                        \
-                                                                        \
-          '# BSD'                                                       \
-          'fp->_p - fp->_bf._base'                                      \
-                                                                        \
-          '# SCO, Unixware'                                             \
-          '(fp->__ptr ? fp->__ptr - fp->__base : 0)'                    \
-                                                                        \
-          '# QNX'                                                       \
-          '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \
-                                                                        \
-          '# old glibc?'                                                \
-          'fp->__bufp - fp->__buffer'                                   \
-                                                                        \
-          '# old glibc iostream?'                                       \
-          'fp->_pptr - fp->_pbase'                                      \
-                                                                        \
-          '# emx+gcc'                                                   \
-          'fp->_ptr - fp->_buffer'                                      \
-                                                                        \
-          '# Minix'                                                     \
-          'fp->_ptr - fp->_buf'                                         \
-                                                                        \
-          '# Plan9'                                                     \
-          'fp->wp - fp->buf'                                            \
-                                                                        \
-          '# VMS'                                                       \
-          '(*fp)->_ptr - (*fp)->_base'                                  \
-                                                                        \
-          '# e.g., DGUX R4.11; the info is not available'               \
-          1                                                             \
-          ; do
-
-        # Skip each embedded comment.
-        case "$ac_expr" in '#'*) continue;; esac
-
-        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
-          [[FILE *fp = stdin; (void) ($ac_expr);]])],
-          [fp_done=yes]
-        )
-        test "$fp_done" = yes && break
-      done
-
-      ac_cv_sys_pending_output_n_bytes=$ac_expr
-    ]
-  )
-  AC_DEFINE_UNQUOTED([PENDING_OUTPUT_N_BYTES],
-    $ac_cv_sys_pending_output_n_bytes,
-    [the number of pending output bytes on stream 'fp'])
-])
index ddd3fb976801d8f2bcbd02854d698b9a671aa960..2a59c8ff4063d07ddb60c25906bd21e351d7f78a 100644 (file)
@@ -1,22 +1,22 @@
-# fstat.m4 serial 4
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# fstat.m4 serial 6
+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,
 dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([gl_FUNC_FSTAT],
 [
+  AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
 
-  AC_REQUIRE([gl_MSVC_INVAL])
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_FSTAT=1
-  fi
-
-  AC_REQUIRE([gl_HEADER_SYS_STAT_H])
-  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
-    REPLACE_FSTAT=1
-  fi
+  case "$host_os" in
+    mingw* | solaris*)
+      dnl On MinGW, the original stat() returns st_atime, st_mtime,
+      dnl st_ctime values that are affected by the time zone.
+      dnl Solaris stat can return a negative tv_nsec.
+      REPLACE_FSTAT=1
+      ;;
+  esac
 
   dnl Replace fstat() for supporting the gnulib-defined open() on directories.
   m4_ifdef([gl_FUNC_FCHDIR], [
@@ -32,5 +32,8 @@ AC_DEFUN([gl_FUNC_FSTAT],
   ])
 ])
 
-# Prerequisites of lib/fstat.c.
-AC_DEFUN([gl_PREREQ_FSTAT], [:])
+# Prerequisites of lib/fstat.c and lib/stat-w32.c.
+AC_DEFUN([gl_PREREQ_FSTAT], [
+  AC_REQUIRE([gl_HEADER_SYS_STAT_H])
+  :
+])
index 888a65def52ab0f1e9b5b1d9c0627ce8810ac826..1b94a258f9716ffb330ebe0619e5ba0cc0a5debd 100644 (file)
@@ -1,5 +1,5 @@
 # fsync.m4 serial 2
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+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.
diff --git a/m4/ftruncate.m4 b/m4/ftruncate.m4
new file mode 100644 (file)
index 0000000..5151bdc
--- /dev/null
@@ -0,0 +1,40 @@
+# serial 20
+
+# See if we need to emulate a missing ftruncate function using chsize.
+
+# Copyright (C) 2000-2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_FTRUNCATE],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_CHECK_FUNCS_ONCE([ftruncate])
+  if test $ac_cv_func_ftruncate = yes; then
+    m4_ifdef([gl_LARGEFILE], [
+      AC_REQUIRE([AC_CANONICAL_HOST])
+      case "$host_os" in
+        mingw*)
+          dnl Native Windows, and Large File Support is requested.
+          dnl The MSVCRT _chsize() function only accepts a 32-bit file size,
+          dnl and the mingw64 ftruncate64() function is unreliable (it may
+          dnl delete the file, see
+          dnl <http://mingw-w64.sourcearchive.com/documentation/2.0-1/ftruncate64_8c_source.html>).
+          dnl Use gnulib's ftruncate() implementation instead.
+          REPLACE_FTRUNCATE=1
+          ;;
+      esac
+    ], [
+      :
+    ])
+  else
+    HAVE_FTRUNCATE=0
+  fi
+])
+
+# Prerequisites of lib/ftruncate.c.
+AC_DEFUN([gl_PREREQ_FTRUNCATE],
+[
+  AC_CHECK_FUNCS([chsize])
+])
index fc986cdab5feb095e122577742e710867e47329d..625171a2fa93b1c3ca6e8cecdc042520dfec14f0 100644 (file)
@@ -1,12 +1,12 @@
 # getcwd.m4 - check for working getcwd that is compatible with glibc
 
-# Copyright (C) 2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 # Written by Paul Eggert.
-# serial 12
+# serial 17
 
 AC_DEFUN([gl_FUNC_GETCWD_NULL],
   [
@@ -15,6 +15,7 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
    AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
      [gl_cv_func_getcwd_null],
      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#       include <stdlib.h>
 #        if HAVE_UNISTD_H
 #         include <unistd.h>
 #        else /* on Windows with MSVC */
@@ -24,7 +25,7 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
          char *getcwd ();
 #        endif
 ]], [[
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 /* mingw cwd does not start with '/', but getcwd does allocate.
    However, mingw fails to honor non-zero size.  */
 #else
@@ -36,9 +37,10 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
                if (! f)
                  return 2;
                if (f[0] != '/')
-                 return 3;
+                 { free (f); return 3; }
                if (f[1] != '\0')
-                 return 4;
+                 { free (f); return 4; }
+               free (f);
                return 0;
              }
 #endif
@@ -46,12 +48,14 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
         [gl_cv_func_getcwd_null=yes],
         [gl_cv_func_getcwd_null=no],
         [[case "$host_os" in
-                     # Guess yes on glibc systems.
-            *-gnu*)  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.
-            *)       gl_cv_func_getcwd_null="guessing no";;
+                           # 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.
+            *)             gl_cv_func_getcwd_null="guessing no";;
           esac
         ]])])
 ])
@@ -136,11 +140,16 @@ AC_DEFUN([gl_FUNC_GETCWD],
         [Define to 1 if getcwd works, except it sometimes fails when it
          shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT.])
       ;;
+    "yes, but with shorter paths")
+      AC_DEFINE([HAVE_GETCWD_SHORTER], [1],
+        [Define to 1 if getcwd works, but with shorter paths
+         than is generally tested with the replacement.])
+      ;;
   esac
 
   if { case "$gl_cv_func_getcwd_null" in *yes) false;; *) true;; esac; } \
      || test $gl_cv_func_getcwd_posix_signature != yes \
-     || test "$gl_cv_func_getcwd_path_max" != yes \
+     || { case "$gl_cv_func_getcwd_path_max" in *yes*) false;; *) true;; esac; } \
      || test $gl_abort_bug = yes; then
     REPLACE_GETCWD=1
   fi
index aa523b63d7bf0e97f530d4d3952ac85ce59e7ae5..96aa241b1922bc9013340f67cced8b2a73d350f7 100644 (file)
@@ -1,5 +1,5 @@
-# getdtablesize.m4 serial 5
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# getdtablesize.m4 serial 7
+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.
@@ -9,30 +9,46 @@ AC_DEFUN([gl_FUNC_GETDTABLESIZE],
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST])
   AC_CHECK_FUNCS_ONCE([getdtablesize])
-  if test $ac_cv_func_getdtablesize = yes; then
-    # Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit
-    # up to an unchangeable hard limit; all other platforms correctly
-    # require setrlimit before getdtablesize() can report a larger value.
+  AC_CHECK_DECLS_ONCE([getdtablesize])
+  if test $ac_cv_func_getdtablesize = yes &&
+     test $ac_cv_have_decl_getdtablesize = yes; then
     AC_CACHE_CHECK([whether getdtablesize works],
       [gl_cv_func_getdtablesize_works],
-      [AC_RUN_IFELSE([
-        AC_LANG_PROGRAM([[#include <unistd.h>]],
-          [int size = getdtablesize();
-           if (dup2 (0, getdtablesize()) != -1)
-             return 1;
-           if (size != getdtablesize())
-             return 2;
-          ])],
-        [gl_cv_func_getdtablesize_works=yes],
-        [gl_cv_func_getdtablesize_works=no],
-        [case "$host_os" in
-          cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows
-            gl_cv_func_getdtablesize_works="guessing no" ;;
-          *) gl_cv_func_getdtablesize_works="guessing yes" ;;
-         esac])
+      [dnl There are two concepts: the "maximum possible file descriptor value + 1"
+       dnl and the "maximum number of open file descriptors in a process".
+       dnl Per SUSv2 and POSIX, getdtablesize() should return the first one.
+       dnl On most platforms, the first and the second concept are the same.
+       dnl On OpenVMS, however, they are different and getdtablesize() returns
+       dnl the second one; thus the test below fails. But we don't care
+       dnl because there's no good way to write a replacement getdtablesize().
+       case "$host_os" in
+         vms*) gl_cv_func_getdtablesize_works="no (limitation)" ;;
+         *)
+           dnl Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft
+           dnl limit up to an unchangeable hard limit; all other platforms
+           dnl correctly require setrlimit before getdtablesize() can report
+           dnl a larger value.
+           AC_RUN_IFELSE([
+             AC_LANG_PROGRAM([[#include <unistd.h>]],
+               [int size = getdtablesize();
+                if (dup2 (0, getdtablesize()) != -1)
+                  return 1;
+                if (size != getdtablesize())
+                  return 2;
+               ])],
+             [gl_cv_func_getdtablesize_works=yes],
+             [gl_cv_func_getdtablesize_works=no],
+             [case "$host_os" in
+                cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows
+                  gl_cv_func_getdtablesize_works="guessing no" ;;
+                *) gl_cv_func_getdtablesize_works="guessing yes" ;;
+              esac
+             ])
+           ;;
+       esac
       ])
     case "$gl_cv_func_getdtablesize_works" in
-      *yes) ;;
+      *yes | "no (limitation)") ;;
       *) REPLACE_GETDTABLESIZE=1 ;;
     esac
   else
index f127028f9486e18c471eb628e4e9cd42555c46e8..5991bf83e8916c9ed24895f2b3a2af8ff3c69d42 100644 (file)
@@ -1,5 +1,5 @@
-# getopt.m4 serial 44
-dnl Copyright (C) 2002-2006, 2008-2014 Free Software Foundation, Inc.
+# getopt.m4 serial 46
+dnl Copyright (C) 2002-2006, 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.
@@ -32,9 +32,16 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX],
 # getopt_long_only.
 AC_DEFUN([gl_FUNC_GETOPT_GNU],
 [
+  dnl Set the variable gl_getopt_required, so that all invocations of
+  dnl gl_GETOPT_CHECK_HEADERS in the scope of the current configure file
+  dnl will check for getopt with GNU extensions.
+  dnl This means that if one gnulib-tool invocation requests getopt-posix
+  dnl and another gnulib-tool invocation requests getopt-gnu, it is as if
+  dnl both had requested getopt-gnu.
   m4_divert_text([INIT_PREPARE], [gl_getopt_required=GNU])
 
-  AC_REQUIRE([gl_FUNC_GETOPT_POSIX])
+  dnl No need to invoke gl_FUNC_GETOPT_POSIX here; this is automatically
+  dnl done through the module dependency getopt-gnu -> getopt-posix.
 ])
 
 # Determine whether to replace the entire getopt facility.
@@ -354,15 +361,19 @@ dnl is ambiguous with environment values that contain newlines.
 
 AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
 [
-  GETOPT_H=getopt.h
+  AC_CHECK_HEADERS_ONCE([sys/cdefs.h])
+  if test $ac_cv_header_sys_cdefs_h = yes; then
+    HAVE_SYS_CDEFS_H=1
+  else
+    HAVE_SYS_CDEFS_H=0
+  fi
+  AC_SUBST([HAVE_SYS_CDEFS_H])
+
   AC_DEFINE([__GETOPT_PREFIX], [[rpl_]],
     [Define to rpl_ if the getopt replacement functions and variables
      should be used.])
+  GETOPT_H=getopt.h
+  GETOPT_CDEFS_H=getopt-cdefs.h
   AC_SUBST([GETOPT_H])
-])
-
-# Prerequisites of lib/getopt*.
-AC_DEFUN([gl_PREREQ_GETOPT],
-[
-  AC_CHECK_DECLS_ONCE([getenv])
+  AC_SUBST([GETOPT_CDEFS_H])
 ])
index ce506952ef25d11f311b026fcdbde948d12b3a50..546c3ad11ebee5e916c416dd821c5f37846bc241 100644 (file)
@@ -1,5 +1,5 @@
-# getpagesize.m4 serial 9
-dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2014 Free Software Foundation,
+# getpagesize.m4 serial 10
+dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2019 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -9,8 +9,8 @@ AC_DEFUN([gl_FUNC_GETPAGESIZE],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_CHECK_FUNCS([getpagesize])
-  if test $ac_cv_func_getpagesize = no; then
+  gl_CHECK_FUNC_GETPAGESIZE
+  if test $gl_cv_func_getpagesize = no; then
     HAVE_GETPAGESIZE=0
     AC_CHECK_HEADERS([OS.h])
     if test $ac_cv_header_OS_h = yes; then
@@ -30,3 +30,20 @@ AC_DEFUN([gl_FUNC_GETPAGESIZE],
   dnl mingw has getpagesize() in libgcc.a but doesn't declare it.
   AC_CHECK_DECL([getpagesize], , [HAVE_DECL_GETPAGESIZE=0])
 ])
+
+dnl Tests whether the function getpagesize() exists.
+dnl Sets gl_cv_func_getpagesize.
+AC_DEFUN([gl_CHECK_FUNC_GETPAGESIZE],
+[
+  dnl We can't use AC_CHECK_FUNC here, because getpagesize() is defined as a
+  dnl static inline function when compiling for Android 4.4 or older.
+  AC_CACHE_CHECK([for getpagesize], [gl_cv_func_getpagesize],
+    [AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <unistd.h>]],
+          [[return getpagesize();]])
+       ],
+       [gl_cv_func_getpagesize=yes],
+       [gl_cv_func_getpagesize=no])
+    ])
+])
diff --git a/m4/getprogname.m4 b/m4/getprogname.m4
new file mode 100644 (file)
index 0000000..4a96d06
--- /dev/null
@@ -0,0 +1,43 @@
+# getprogname.m4 - check for getprogname or replacements for it
+
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([gl_FUNC_GETPROGNAME],
+[
+  AC_CHECK_FUNCS_ONCE([getprogname getexecname])
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  ac_found=0
+  AC_CHECK_DECLS([program_invocation_name], [ac_found=1], [],
+    [#include <errno.h>])
+  AC_CHECK_DECLS([program_invocation_short_name], [ac_found=1], [],
+    [#include <errno.h>])
+  AC_CHECK_DECLS([__argv], [ac_found=1], [], [#include <stdlib.h>])
+
+  # Incur the cost of this test only if none of the above worked.
+  if test $ac_found = 0; then
+    # On OpenBSD 5.1, using the global __progname variable appears to be
+    # the only way to implement getprogname.
+    AC_CACHE_CHECK([whether __progname is defined in default libraries],
+      [gl_cv_var___progname],
+      [
+        gl_cv_var___progname=
+        AC_LINK_IFELSE(
+          [AC_LANG_PROGRAM(
+            [[extern char *__progname;]],
+            [[return *__progname;]]
+          )],
+          [gl_cv_var___progname=yes]
+        )
+      ]
+    )
+    if test "$gl_cv_var___progname" = yes; then
+      AC_DEFINE([HAVE_VAR___PROGNAME], 1,
+        [Define if you have a global __progname variable])
+    fi
+  fi
+])
index 1c2d66ee261f90b739ea3efce59529a08cfeb817..5e2ef6f47e2f3cbd56e9dbdbb3e151cfed1b80d3 100644 (file)
@@ -1,6 +1,6 @@
-# serial 21
+# serial 26
 
-# Copyright (C) 2001-2003, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2007, 2009-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -9,9 +9,10 @@ dnl From Jim Meyering.
 
 AC_DEFUN([gl_FUNC_GETTIMEOFDAY],
 [
+  AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS])
   AC_REQUIRE([AC_C_RESTRICT])
+  AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([gl_HEADER_SYS_TIME_H])
-  AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS])
   AC_CHECK_FUNCS_ONCE([gettimeofday])
 
   gl_gettimeofday_timezone=void
@@ -54,19 +55,11 @@ int gettimeofday (struct timeval *restrict, struct timezone *restrict);
     if test $REPLACE_STRUCT_TIMEVAL = 1; then
       REPLACE_GETTIMEOFDAY=1
     fi
-    m4_ifdef([gl_FUNC_TZSET_CLOBBER], [
-      gl_FUNC_TZSET_CLOBBER
-      case "$gl_cv_func_tzset_clobber" in
-        *yes)
-          REPLACE_GETTIMEOFDAY=1
-          gl_GETTIMEOFDAY_REPLACE_LOCALTIME
-          AC_DEFINE([tzset], [rpl_tzset],
-            [Define to rpl_tzset if the wrapper function should be used.])
-          AC_DEFINE([TZSET_CLOBBERS_LOCALTIME], [1],
-            [Define if tzset clobbers localtime's static buffer.])
-          ;;
-      esac
-    ])
+    dnl On mingw, the original gettimeofday has only a precision of 15.6
+    dnl milliseconds. So override it.
+    case "$host_os" in
+      mingw*) REPLACE_GETTIMEOFDAY=1 ;;
+    esac
   fi
   AC_DEFINE_UNQUOTED([GETTIMEOFDAY_TIMEZONE], [$gl_gettimeofday_timezone],
     [Define this to 'void' or 'struct timezone' to match the system's
@@ -85,6 +78,7 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
 [
  AC_REQUIRE([gl_HEADER_SYS_TIME_H])
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([gl_LOCALTIME_BUFFER_DEFAULTS])
 
  AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
   [gl_cv_func_gettimeofday_clobber],
@@ -109,30 +103,26 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
      [gl_cv_func_gettimeofday_clobber=yes],
      [# When cross-compiling:
       case "$host_os" in
-                # Guess all is fine on glibc systems.
-        *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
-                # If we don't know, assume the worst.
-        *)      gl_cv_func_gettimeofday_clobber="guessing yes" ;;
+                       # 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.
+        *)             gl_cv_func_gettimeofday_clobber="guessing yes" ;;
       esac
      ])])
 
  case "$gl_cv_func_gettimeofday_clobber" in
    *yes)
      REPLACE_GETTIMEOFDAY=1
-     gl_GETTIMEOFDAY_REPLACE_LOCALTIME
      AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1],
        [Define if gettimeofday clobbers the localtime buffer.])
+     gl_LOCALTIME_BUFFER_NEEDED
      ;;
  esac
 ])
 
-AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [
-  REPLACE_GMTIME=1
-  REPLACE_LOCALTIME=1
-])
-
 # Prerequisites of lib/gettimeofday.c.
-AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [
-  AC_CHECK_HEADERS([sys/timeb.h])
-  AC_CHECK_FUNCS([_ftime])
-])
+AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [:])
index ab58b712137677e1f8aafd8ee561dad5ffac77aa..0ab0f235a66224be382dfaacade43e977f3a3855 100644 (file)
@@ -1,5 +1,5 @@
 # glibc21.m4 serial 5
-dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2014 Free Software Foundation,
+dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2019 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
index 20ce40e7441dcab0c3ccb5ca902e1f04b37d4e39..57b94ed53256c3df5bbcd1b674fb2cad3693d793 100644 (file)
@@ -1,9 +1,11 @@
-# gnulib-common.m4 serial 34
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
 
+AC_PREREQ([2.62])
+
 # gl_COMMON
 # is expanded unconditionally through gnulib-tool magic.
 AC_DEFUN([gl_COMMON], [
@@ -14,12 +16,18 @@ AC_DEFUN([gl_COMMON], [
 AC_DEFUN([gl_COMMON_BODY], [
   AH_VERBATIM([_Noreturn],
 [/* The _Noreturn keyword of C11.  */
-#if ! (defined _Noreturn \
-       || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
-# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
-      || 0x5110 <= __SUNPRO_C)
+#ifndef _Noreturn
+# if (defined __cplusplus \
+      && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
+          || (defined _MSC_VER && 1900 <= _MSC_VER)))
+#  define _Noreturn [[noreturn]]
+# 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__))
-# elif defined _MSC_VER && 1200 <= _MSC_VER
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
 #  define _Noreturn __declspec (noreturn)
 # else
 #  define _Noreturn
@@ -49,6 +57,16 @@ AC_DEFUN([gl_COMMON_BODY], [
    is a misnomer outside of parameter lists.  */
 #define _UNUSED_PARAMETER_ _GL_UNUSED
 
+/* gcc supports the "unused" attribute on possibly unused labels, and
+   g++ has since version 4.5.  Note to support C++ as well as C,
+   _GL_UNUSED_LABEL should be used with a trailing ;  */
+#if !defined __cplusplus || __GNUC__ > 4 \
+    || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+# define _GL_UNUSED_LABEL _GL_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
 /* The __pure__ attribute was added in gcc 2.96.  */
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
@@ -62,6 +80,40 @@ AC_DEFUN([gl_COMMON_BODY], [
 #else
 # define _GL_ATTRIBUTE_CONST /* empty */
 #endif
+
+/* The __malloc__ attribute was added in gcc 3.  */
+#if 3 <= __GNUC__
+# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+#else
+# 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
@@ -197,13 +249,6 @@ AC_DEFUN([gl_FEATURES_H],
   AC_SUBST([HAVE_FEATURES_H])
 ])
 
-# m4_foreach_w
-# is a backport of autoconf-2.59c's m4_foreach_w.
-# Remove this macro when we can assume autoconf >= 2.60.
-m4_ifndef([m4_foreach_w],
-  [m4_define([m4_foreach_w],
-    [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
-
 # AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH])
 # ----------------------------------------------------
 # Backport of autoconf-2.63b's macro.
@@ -216,15 +261,14 @@ m4_ifndef([AS_VAR_IF],
 # Modifies the value of the shell variable CC in an attempt to make $CC
 # understand ISO C99 source code.
 # This is like AC_PROG_CC_C99, except that
-# - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60,
 # - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC
-#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00367.html>,
+#   <https://lists.gnu.org/r/bug-gnulib/2011-09/msg00367.html>,
 #   but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99
-#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00441.html>.
+#   <https://lists.gnu.org/r/bug-gnulib/2011-09/msg00441.html>.
 # Remaining problems:
 # - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options
 #   to CC twice
-#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00431.html>.
+#   <https://lists.gnu.org/r/bug-gnulib/2011-09/msg00431.html>.
 # - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard.
 AC_DEFUN([gl_PROG_CC_C99],
 [
@@ -243,9 +287,11 @@ AC_DEFUN([gl_PROG_AR_RANLIB],
 [
   dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler
   dnl as "cc", and GCC as "gcc". They have different object file formats and
-  dnl library formats. In particular, the GNU binutils programs ar, ranlib
+  dnl library formats. In particular, the GNU binutils programs ar and ranlib
   dnl produce libraries that work only with gcc, not with cc.
   AC_REQUIRE([AC_PROG_CC])
+  dnl The '][' hides this use from 'aclocal'.
+  AC_BEFORE([$0], [A][M_PROG_AR])
   AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler],
     [
       AC_EGREP_CPP([Amsterdam],
@@ -257,25 +303,39 @@ Amsterdam
         [gl_cv_c_amsterdam_compiler=yes],
         [gl_cv_c_amsterdam_compiler=no])
     ])
-  if test -z "$AR"; then
-    if test $gl_cv_c_amsterdam_compiler = yes; then
+
+  dnl Don't compete with AM_PROG_AR's decision about AR/ARFLAGS if we are not
+  dnl building with __ACK__.
+  if test $gl_cv_c_amsterdam_compiler = yes; then
+    if test -z "$AR"; then
       AR='cc -c.a'
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='-o'
-      fi
-    else
-      dnl Use the Automake-documented default values for AR and ARFLAGS,
-      dnl but prefer ${host}-ar over ar (useful for cross-compiling).
-      AC_CHECK_TOOL([AR], [ar], [ar])
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='cru'
-      fi
     fi
-  else
     if test -z "$ARFLAGS"; then
-      ARFLAGS='cru'
+      ARFLAGS='-o'
     fi
+  else
+    dnl AM_PROG_AR was added in automake v1.11.2.  AM_PROG_AR does not AC_SUBST
+    dnl ARFLAGS variable (it is filed into Makefile.in directly by automake
+    dnl script on-demand, if not specified by ./configure of course).
+    dnl Don't AC_REQUIRE the AM_PROG_AR otherwise the code for __ACK__ above
+    dnl will be ignored.  Also, pay attention to call AM_PROG_AR in else block
+    dnl because AM_PROG_AR is written so it could re-set AR variable even for
+    dnl __ACK__.  It may seem like its easier to avoid calling the macro here,
+    dnl but we need to AC_SUBST both AR/ARFLAGS (thus those must have some good
+    dnl default value and automake should usually know them).
+    dnl
+    dnl The '][' hides this use from 'aclocal'.
+    m4_ifdef([A][M_PROG_AR], [A][M_PROG_AR], [:])
   fi
+
+  dnl In case the code above has not helped with setting AR/ARFLAGS, use
+  dnl Automake-documented default values for AR and ARFLAGS, but prefer
+  dnl ${host}-ar over ar (useful for cross-compiling).
+  AC_CHECK_TOOL([AR], [ar], [ar])
+  if test -z "$ARFLAGS"; then
+    ARFLAGS='cr'
+  fi
+
   AC_SUBST([AR])
   AC_SUBST([ARFLAGS])
   if test -z "$RANLIB"; then
@@ -289,46 +349,29 @@ Amsterdam
   AC_SUBST([RANLIB])
 ])
 
-# AC_PROG_MKDIR_P
-# is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix
-# for interoperability with automake-1.9.6 from autoconf-2.62.
-# Remove this macro when we can assume autoconf >= 2.62 or
-# autoconf >= 2.60 && automake >= 1.10.
-# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness.
-m4_ifndef([AC_AUTOCONF_VERSION],[
-m4_ifdef([AC_PROG_MKDIR_P], [
-  dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed.
-  m4_define([AC_PROG_MKDIR_P],
-    m4_defn([AC_PROG_MKDIR_P])[
-    AC_SUBST([MKDIR_P])])], [
-  dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P.
-  AC_DEFUN_ONCE([AC_PROG_MKDIR_P],
-    [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
-     MKDIR_P='$(mkdir_p)'
-     AC_SUBST([MKDIR_P])])])
-])
-
 # AC_C_RESTRICT
-# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
-# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
-# works.
-# This definition can be removed once autoconf >= 2.62 can be assumed.
-# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness.
-m4_ifndef([AC_AUTOCONF_VERSION],[
+# This definition is copied from post-2.69 Autoconf and overrides the
+# AC_C_RESTRICT macro from autoconf 2.60..2.69.  It can be removed
+# once autoconf >= 2.70 can be assumed.  It's painful to check version
+# numbers, and in practice this macro is more up-to-date than Autoconf
+# is, so override Autoconf unconditionally.
 AC_DEFUN([AC_C_RESTRICT],
 [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
   [ac_cv_c_restrict=no
    # The order here caters to the fact that C++ does not require restrict.
    for ac_kw in __restrict __restrict__ _Restrict restrict; do
-     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-      [[typedef int * int_ptr;
-        int foo (int_ptr $ac_kw ip) {
-        return ip[0];
-       }]],
-      [[int s[1];
-        int * $ac_kw t = s;
-        t[0] = 0;
-        return foo(t)]])],
+     AC_COMPILE_IFELSE(
+      [AC_LANG_PROGRAM(
+         [[typedef int *int_ptr;
+           int foo (int_ptr $ac_kw ip) { return ip[0]; }
+           int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+           int bar (int ip[$ac_kw]) { return ip[0]; }
+         ]],
+         [[int s[1];
+           int *$ac_kw t = s;
+           t[0] = 0;
+           return foo (t) + bar (t);
+         ]])],
       [ac_cv_c_restrict=$ac_kw])
      test "$ac_cv_c_restrict" != no && break
    done
@@ -338,21 +381,21 @@ AC_DEFUN([AC_C_RESTRICT],
    nothing if this is not supported.  Do not define if restrict is
    supported directly.  */
 #undef restrict
-/* Work around a bug in Sun C++: it does not support _Restrict, even
-   though the corresponding Sun C compiler does, which causes
-   "#define restrict _Restrict" in the previous line.  Perhaps some future
-   version of Sun C++ will work with _Restrict; if so, it'll probably
-   define __RESTRICT, just as Sun C does.  */
+/* Work around a bug in Sun C++: it does not support _Restrict or
+   __restrict__, even though the corresponding Sun C compiler ends up with
+   "#define restrict _Restrict" or "#define restrict __restrict__" in the
+   previous line.  Perhaps some future version of Sun C++ will work with
+   restrict; if so, hopefully it defines __RESTRICT like Sun C does.  */
 #if defined __SUNPRO_CC && !defined __RESTRICT
 # define _Restrict
+# define __restrict__
 #endif])
  case $ac_cv_c_restrict in
    restrict) ;;
    no) AC_DEFINE([restrict], []) ;;
    *)  AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
  esac
-])
-])
+])# AC_C_RESTRICT
 
 # gl_BIGENDIAN
 # is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd.
@@ -379,59 +422,3 @@ AC_DEFUN([gl_CACHE_VAL_SILENT],
 # AS_VAR_COPY was added in autoconf 2.63b
 m4_define_default([AS_VAR_COPY],
 [AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])])
-
-# AC_PROG_SED was added in autoconf 2.59b
-m4_ifndef([AC_PROG_SED],
-[AC_DEFUN([AC_PROG_SED],
-[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED,
-    [dnl ac_script should not contain more than 99 commands (for HP-UX sed),
-     dnl but more than about 7000 bytes, to catch a limit in Solaris 8 /usr/ucb/sed.
-     ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     AS_UNSET([ac_script])
-     if test -z "$SED"; then
-       ac_path_SED_found=false
-       _AS_PATH_WALK([], [
-         for ac_prog in sed gsed; do
-           for ac_exec_ext in '' $ac_executable_extensions; do
-             ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-             AS_EXECUTABLE_P(["$ac_path_SED"]) || continue
-             case `"$ac_path_SED" --version 2>&1` in
-               *GNU*) ac_cv_path_SED=$ac_path_SED ac_path_SED_found=:;;
-               *)
-                 ac_count=0
-                 _AS_ECHO_N([0123456789]) >conftest.in
-                 while :
-                 do
-                   cat conftest.in conftest.in >conftest.tmp
-                   mv conftest.tmp conftest.in
-                   cp conftest.in conftest.nl
-                   echo >> conftest.nl
-                   "$ac_path_SED" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
-                   diff conftest.out conftest.nl >/dev/null 2>&1 || break
-                   ac_count=`expr $ac_count + 1`
-                   if test $ac_count -gt ${ac_path_SED_max-0}; then
-                     # Best so far, but keep looking for better
-                     ac_cv_path_SED=$ac_path_SED
-                     ac_path_SED_max=$ac_count
-                   fi
-                   test $ac_count -gt 10 && break
-                 done
-                 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-             esac
-             $ac_path_SED_found && break 3
-           done
-         done])
-       if test -z "$ac_cv_path_SED"; then
-         AC_ERROR([no acceptable sed could be found in \$PATH])
-       fi
-     else
-       ac_cv_path_SED=$SED
-     fi
- SED="$ac_cv_path_SED"
- AC_SUBST([SED])dnl
- rm -f conftest.sed
-])])])
index 7793906cfc4ad5b38b136162e31c992d1ddce47e..f46f178eabeb207a78e780076fbc547ec7399879 100644 (file)
@@ -1,5 +1,5 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2019 Free Software Foundation, Inc.
 #
 # 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
@@ -12,7 +12,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License,
 # this file may be distributed as part of a program that
@@ -37,36 +37,55 @@ AC_DEFUN([gl_EARLY],
   m4_pattern_allow([^gl_ES$])dnl a valid locale name
   m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
   m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+
+  # Pre-early section.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([gl_PROG_AR_RANLIB])
+
   AC_REQUIRE([AM_PROG_CC_C_O])
   # Code from module absolute-header:
+  # Code from module accept:
+  # Code from module accept-tests:
   # Code from module alloca:
   # Code from module alloca-opt:
   # Code from module alloca-opt-tests:
   # Code from module announce-gen:
   # Code from module argmatch:
   # Code from module argmatch-tests:
+  # Code from module arpa_inet:
+  # Code from module arpa_inet-tests:
   # Code from module assert:
+  # Code from module assure:
   # Code from module binary-io:
   # Code from module binary-io-tests:
+  # Code from module bind:
+  # Code from module bind-tests:
   # Code from module btowc:
   # Code from module btowc-tests:
+  # Code from module builtin-expect:
   # Code from module c-ctype:
   # Code from module c-ctype-tests:
   # Code from module c-strcase:
   # Code from module c-strcase-tests:
   # Code from module c-strcaseeq:
+  # Code from module c99:
   # Code from module calloc-gnu:
   # Code from module calloc-gnu-tests:
   # Code from module calloc-posix:
   # Code from module canonicalize-lgpl:
   # Code from module canonicalize-lgpl-tests:
+  # Code from module cloexec:
+  # Code from module cloexec-tests:
   # Code from module close:
   # Code from module close-stream:
   # Code from module close-tests:
   # Code from module closeout:
   # Code from module config-h:
   # Code from module configmake:
+  # Code from module connect:
+  # Code from module connect-tests:
+  # Code from module ctype:
+  # Code from module ctype-tests:
   # Code from module dirname:
   # Code from module dirname-lgpl:
   # Code from module dirname-tests:
@@ -82,15 +101,18 @@ AC_DEFUN([gl_EARLY],
   # Code from module error:
   # Code from module exitfail:
   # Code from module extensions:
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   # Code from module extern-inline:
+  # Code from module fcntl:
   # Code from module fcntl-h:
   # Code from module fcntl-h-tests:
+  # Code from module fcntl-tests:
   # Code from module fd-hook:
   # Code from module fdl:
   # Code from module fdopen:
   # Code from module fdopen-tests:
   # Code from module fgetc-tests:
+  # Code from module filename:
+  # Code from module flexmember:
   # Code from module fpending:
   # Code from module fpending-tests:
   # Code from module fputc-tests:
@@ -99,6 +121,8 @@ AC_DEFUN([gl_EARLY],
   # Code from module fstat-tests:
   # Code from module fsync:
   # Code from module fsync-tests:
+  # Code from module ftruncate:
+  # Code from module ftruncate-tests:
   # Code from module fwrite-tests:
   # Code from module gendocs:
   # Code from module getcwd-lgpl:
@@ -106,9 +130,12 @@ AC_DEFUN([gl_EARLY],
   # Code from module getdtablesize:
   # Code from module getdtablesize-tests:
   # Code from module getopt-gnu:
+  # Code from module getopt-gnu-tests:
   # Code from module getopt-posix:
   # Code from module getopt-posix-tests:
   # Code from module getpagesize:
+  # Code from module getprogname:
+  # Code from module getprogname-tests:
   # Code from module gettext-h:
   # Code from module gettimeofday:
   # Code from module gettimeofday-tests:
@@ -117,27 +144,41 @@ AC_DEFUN([gl_EARLY],
   # Code from module gnu-web-doc-update:
   # Code from module gnumakefile:
   # Code from module gnupload:
+  # Code from module hard-locale:
   # Code from module havelib:
   # Code from module ignore-value:
   # Code from module ignore-value-tests:
   # Code from module include_next:
+  # Code from module inet_pton:
+  # Code from module inet_pton-tests:
   # Code from module intprops:
   # Code from module intprops-tests:
   # Code from module inttypes:
   # Code from module inttypes-incomplete:
   # Code from module inttypes-tests:
+  # Code from module ioctl:
+  # Code from module ioctl-tests:
+  # Code from module isblank:
+  # Code from module isblank-tests:
   # Code from module langinfo:
   # Code from module langinfo-tests:
   # Code from module largefile:
   AC_REQUIRE([AC_SYS_LARGEFILE])
   # Code from module lib-ignore:
+  # Code from module libc-config:
+  # Code from module limits-h:
+  # Code from module limits-h-tests:
+  # Code from module listen:
+  # Code from module listen-tests:
   # Code from module localcharset:
+  # Code from module localcharset-tests:
   # Code from module locale:
   # Code from module locale-tests:
   # Code from module localeconv:
   # Code from module localeconv-tests:
   # Code from module localename:
   # Code from module localename-tests:
+  # Code from module localtime-buffer:
   # Code from module lock:
   # Code from module lock-tests:
   # Code from module long-options:
@@ -157,11 +198,18 @@ AC_DEFUN([gl_EARLY],
   # Code from module mbsinit:
   # Code from module mbsinit-tests:
   # Code from module mbtowc:
+  # Code from module minmax:
+  # Code from module mkdir:
+  # Code from module mkdir-tests:
   # Code from module mkstemp:
   # Code from module mktempd:
   # Code from module msvc-inval:
   # Code from module msvc-nothrow:
   # Code from module multiarch:
+  # Code from module nanosleep:
+  # Code from module nanosleep-tests:
+  # Code from module netinet_in:
+  # Code from module netinet_in-tests:
   # Code from module nl_langinfo:
   # Code from module nl_langinfo-tests:
   # Code from module nocrash:
@@ -169,14 +217,28 @@ AC_DEFUN([gl_EARLY],
   # Code from module open-tests:
   # Code from module pathmax:
   # Code from module pathmax-tests:
+  # Code from module perror:
+  # Code from module perror-tests:
+  # Code from module pipe-posix:
+  # Code from module pipe-posix-tests:
   # Code from module priv-set:
   # Code from module priv-set-tests:
   # Code from module progname:
+  # Code from module pthread-h:
+  AC_DEFINE([_REENTRANT], 1, [For thread-safety on OSF/1, Solaris.])
+  AC_DEFINE([_THREAD_SAFE], 1, [For thread-safety on AIX, FreeBSD.])
+  # Code from module pthread-h-tests:
+  # Code from module pthread-thread:
+  # Code from module pthread-thread-tests:
+  # Code from module pthread_sigmask:
+  # Code from module pthread_sigmask-tests:
   # Code from module putenv:
   # Code from module quote:
   # Code from module quotearg:
   # Code from module quotearg-simple:
   # Code from module quotearg-simple-tests:
+  # Code from module raise:
+  # Code from module raise-tests:
   # Code from module read:
   # Code from module read-tests:
   # Code from module readlink:
@@ -190,25 +252,44 @@ AC_DEFUN([gl_EARLY],
   # Code from module rpmatch:
   # Code from module safe-read:
   # Code from module same-inode:
-  # Code from module secure_getenv:
+  # Code from module sched:
+  # Code from module sched-tests:
+  # Code from module select:
+  # Code from module select-tests:
   # Code from module setenv:
   # Code from module setenv-tests:
   # Code from module setlocale:
   # Code from module setlocale-tests:
+  # Code from module setsockopt:
+  # Code from module setsockopt-tests:
+  # Code from module sigaction:
+  # Code from module sigaction-tests:
+  # Code from module signal-h:
+  # Code from module signal-h-tests:
+  # Code from module sigprocmask:
+  # Code from module sigprocmask-tests:
   # Code from module sleep:
   # Code from module sleep-tests:
   # Code from module snippet/_Noreturn:
   # Code from module snippet/arg-nonnull:
   # Code from module snippet/c++defs:
   # Code from module snippet/warn-on-use:
+  # Code from module socket:
+  # Code from module socketlib:
+  # Code from module sockets:
+  # Code from module sockets-tests:
+  # Code from module socklen:
   # Code from module ssize_t:
   # Code from module stat:
   # Code from module stat-tests:
+  # Code from module stat-time:
+  # Code from module stat-time-tests:
+  # Code from module std-gnu11:
+  # Code from module stdalign:
+  # Code from module stdalign-tests:
   # Code from module stdarg:
   dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode
-  dnl for the builtin va_copy to work.  With Autoconf 2.60 or later,
-  dnl gl_PROG_CC_C99 arranges for this.  With older Autoconf gl_PROG_CC_C99
-  dnl shouldn't hurt, though installers are on their own to set c99 mode.
+  dnl for the builtin va_copy to work.  gl_PROG_CC_C99 arranges for this.
   gl_PROG_CC_C99
   # Code from module stdbool:
   # Code from module stdbool-tests:
@@ -225,6 +306,8 @@ AC_DEFUN([gl_EARLY],
   # Code from module strerror:
   # Code from module strerror-override:
   # Code from module strerror-tests:
+  # Code from module strerror_r-posix:
+  # Code from module strerror_r-posix-tests:
   # Code from module string:
   # Code from module string-tests:
   # Code from module strndup:
@@ -236,12 +319,20 @@ AC_DEFUN([gl_EARLY],
   # Code from module strtoull-tests:
   # Code from module symlink:
   # Code from module symlink-tests:
+  # Code from module sys_ioctl:
+  # Code from module sys_ioctl-tests:
+  # Code from module sys_select:
+  # Code from module sys_select-tests:
+  # Code from module sys_socket:
+  # Code from module sys_socket-tests:
   # Code from module sys_stat:
   # Code from module sys_stat-tests:
   # Code from module sys_time:
   # Code from module sys_time-tests:
   # Code from module sys_types:
   # Code from module sys_types-tests:
+  # Code from module sys_uio:
+  # Code from module sys_uio-tests:
   # Code from module tempname:
   # Code from module test-framework-sh:
   # Code from module test-framework-sh-tests:
@@ -279,6 +370,12 @@ AC_DEFUN([gl_EARLY],
   # Code from module wctomb:
   # Code from module wctype-h:
   # Code from module wctype-h-tests:
+  # Code from module windows-mutex:
+  # Code from module windows-once:
+  # Code from module windows-recmutex:
+  # Code from module windows-rwlock:
+  # Code from module windows-thread:
+  # Code from module windows-tls:
   # Code from module xalloc:
   # Code from module xalloc-die:
   # Code from module xalloc-die-tests:
@@ -317,6 +414,7 @@ AC_SUBST([LTALLOCA])
     gl_PREREQ_BTOWC
   fi
   gl_WCHAR_MODULE_INDICATOR([btowc])
+  gl___BUILTIN_EXPECT
   gl_FUNC_CALLOC_GNU
   if test $REPLACE_CALLOC = 1; then
     AC_LIBOBJ([calloc])
@@ -339,9 +437,7 @@ AC_SUBST([LTALLOCA])
     AC_LIBOBJ([close])
   fi
   gl_UNISTD_MODULE_INDICATOR([close])
-  gl_CLOSE_STREAM
   gl_MODULE_INDICATOR([close-stream])
-  gl_CLOSEOUT
   gl_CONFIG_H
   gl_CONFIGMAKE_PREP
   gl_DIRNAME
@@ -362,11 +458,15 @@ AC_SUBST([LTALLOCA])
   gl_FUNC_FPENDING
   if test $gl_cv_func___fpending = no; then
     AC_LIBOBJ([fpending])
-    gl_PREREQ_FPENDING
   fi
   gl_FUNC_FSTAT
   if test $REPLACE_FSTAT = 1; then
     AC_LIBOBJ([fstat])
+    case "$host_os" in
+      mingw*)
+        AC_LIBOBJ([stat-w32])
+        ;;
+    esac
     gl_PREREQ_FSTAT
   fi
   gl_SYS_STAT_MODULE_INDICATOR([fstat])
@@ -377,24 +477,18 @@ AC_SUBST([LTALLOCA])
   fi
   gl_UNISTD_MODULE_INDICATOR([fsync])
   gl_FUNC_GETOPT_GNU
-  if test $REPLACE_GETOPT = 1; then
-    AC_LIBOBJ([getopt])
-    AC_LIBOBJ([getopt1])
-    gl_PREREQ_GETOPT
-    dnl Arrange for unistd.h to include getopt.h.
-    GNULIB_GL_UNISTD_H_GETOPT=1
-  fi
-  AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
-  gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu])
+  dnl Because of the way gl_FUNC_GETOPT_GNU is implemented (the gl_getopt_required
+  dnl mechanism), there is no need to do any AC_LIBOBJ or AC_SUBST here; they are
+  dnl done in the getopt-posix module.
   gl_FUNC_GETOPT_POSIX
   if test $REPLACE_GETOPT = 1; then
     AC_LIBOBJ([getopt])
     AC_LIBOBJ([getopt1])
-    gl_PREREQ_GETOPT
     dnl Arrange for unistd.h to include getopt.h.
     GNULIB_GL_UNISTD_H_GETOPT=1
   fi
   AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
+  gl_FUNC_GETPROGNAME
   AC_SUBST([LIBINTL])
   AC_SUBST([LTLIBINTL])
   gl_FUNC_GETTIMEOFDAY
@@ -418,8 +512,11 @@ AC_SUBST([LTALLOCA])
   gl_LANGINFO_H
   AC_REQUIRE([gl_LARGEFILE])
   gl_IGNORE_UNUSED_LIBRARIES
+  gl___INLINE
+  gl_LIMITS_H
   gl_LOCALCHARSET
-  LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
+  dnl For backward compatibility. Some packages still use this.
+  LOCALCHARSET_TESTS_ENVIRONMENT=
   AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
   gl_LOCALE_H
   gl_FUNC_LOCALECONV
@@ -428,6 +525,8 @@ AC_SUBST([LTALLOCA])
     gl_PREREQ_LOCALECONV
   fi
   gl_LOCALE_MODULE_INDICATOR([localeconv])
+  AC_REQUIRE([gl_LOCALTIME_BUFFER_DEFAULTS])
+  AC_LIBOBJ([localtime-buffer])
   gl_LOCK
   gl_MODULE_INDICATOR([lock])
   gl_FUNC_LSEEK
@@ -444,6 +543,7 @@ AC_SUBST([LTALLOCA])
   AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER],
     [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])])
   AC_REQUIRE([AC_PROG_SED])
+  AC_REQUIRE([AC_PROG_GREP])
   gl_FUNC_MALLOC_GNU
   if test $REPLACE_MALLOC = 1; then
     AC_LIBOBJ([malloc])
@@ -468,25 +568,31 @@ AC_SUBST([LTALLOCA])
   fi
   gl_WCHAR_MODULE_INDICATOR([mbsinit])
   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
   gl_STDLIB_MODULE_INDICATOR([mbtowc])
+  gl_MINMAX
+  gl_FUNC_MKDIR
+  if test $REPLACE_MKDIR = 1; then
+    AC_LIBOBJ([mkdir])
+  fi
   gl_FUNC_MKSTEMP
   if test $HAVE_MKSTEMP = 0 || test $REPLACE_MKSTEMP = 1; then
     AC_LIBOBJ([mkstemp])
     gl_PREREQ_MKSTEMP
   fi
   gl_STDLIB_MODULE_INDICATOR([mkstemp])
-  gl_MSVC_INVAL
+  AC_REQUIRE([gl_MSVC_INVAL])
   if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
     AC_LIBOBJ([msvc-inval])
   fi
-  gl_MSVC_NOTHROW
+  AC_REQUIRE([gl_MSVC_NOTHROW])
   if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
     AC_LIBOBJ([msvc-nothrow])
   fi
+  gl_MODULE_INDICATOR([msvc-nothrow])
   gl_MULTIARCH
   gl_FUNC_NL_LANGINFO
   if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then
@@ -532,12 +638,6 @@ AC_SUBST([LTALLOCA])
   fi
   gl_STDLIB_MODULE_INDICATOR([rpmatch])
   gl_PREREQ_SAFE_READ
-  gl_FUNC_SECURE_GETENV
-  if test $HAVE_SECURE_GETENV = 0; then
-    AC_LIBOBJ([secure_getenv])
-    gl_PREREQ_SECURE_GETENV
-  fi
-  gl_STDLIB_MODULE_INDICATOR([secure_getenv])
   gl_FUNC_SLEEP
   if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then
     AC_LIBOBJ([sleep])
@@ -547,9 +647,16 @@ AC_SUBST([LTALLOCA])
   gl_FUNC_STAT
   if test $REPLACE_STAT = 1; then
     AC_LIBOBJ([stat])
+    case "$host_os" in
+      mingw*)
+        AC_LIBOBJ([stat-w32])
+        ;;
+    esac
     gl_PREREQ_STAT
   fi
   gl_SYS_STAT_MODULE_INDICATOR([stat])
+  gl_STAT_TIME
+  gl_STAT_BIRTHTIME
   gl_STDARG_H
   AM_STDBOOL_H
   gl_STDDEF_H
@@ -605,7 +712,7 @@ AC_SUBST([LTALLOCA])
   gl_SYS_TYPES_H
   AC_PROG_MKDIR_P
   gl_FUNC_GEN_TEMPNAME
-  gl_THREADLIB
+  AC_REQUIRE([gl_THREADLIB])
   gl_HEADER_TIME_H
   gl_UNISTD_H
   gl_FUNC_UNLINK
@@ -627,6 +734,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_XSTRNDUP
   gl_XSTRTOL
@@ -682,10 +813,29 @@ changequote([, ])dnl
   AC_SUBST([gltests_WITNESS])
   gl_module_indicator_condition=$gltests_WITNESS
   m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition])
+  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    AC_LIBOBJ([accept])
+  fi
+  gl_SYS_SOCKET_MODULE_INDICATOR([accept])
+  gl_HEADER_ARPA_INET
+  AC_PROG_MKDIR_P
+  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    AC_LIBOBJ([bind])
+  fi
+  gl_SYS_SOCKET_MODULE_INDICATOR([bind])
   gt_LOCALE_FR
   gt_LOCALE_FR_UTF8
   gt_LOCALE_FR
   gt_LOCALE_TR_UTF8
+  gl_MODULE_INDICATOR_FOR_TESTS([cloexec])
+  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    AC_LIBOBJ([connect])
+  fi
+  gl_SYS_SOCKET_MODULE_INDICATOR([connect])
+  gl_CTYPE_H
   gl_FUNC_DUP2
   if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
     AC_LIBOBJ([dup2])
@@ -694,12 +844,24 @@ changequote([, ])dnl
   gl_UNISTD_MODULE_INDICATOR([dup2])
   gl_ENVIRON
   gl_UNISTD_MODULE_INDICATOR([environ])
+  gl_FUNC_FCNTL
+  if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
+    AC_LIBOBJ([fcntl])
+  fi
+  gl_FCNTL_MODULE_INDICATOR([fcntl])
   gl_FUNC_FDOPEN
   if test $REPLACE_FDOPEN = 1; then
     AC_LIBOBJ([fdopen])
     gl_PREREQ_FDOPEN
   fi
   gl_STDIO_MODULE_INDICATOR([fdopen])
+  AC_C_FLEXIBLE_ARRAY_MEMBER
+  gl_FUNC_FTRUNCATE
+  if test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1; then
+    AC_LIBOBJ([ftruncate])
+    gl_PREREQ_FTRUNCATE
+  fi
+  gl_UNISTD_MODULE_INDICATOR([ftruncate])
   gl_FUNC_GETCWD_LGPL
   if test $REPLACE_GETCWD = 1; then
     AC_LIBOBJ([getcwd-lgpl])
@@ -716,14 +878,48 @@ changequote([, ])dnl
     AC_LIBOBJ([getpagesize])
   fi
   gl_UNISTD_MODULE_INDICATOR([getpagesize])
+  gl_FUNC_INET_PTON
+  if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_PTON = 1; then
+    AC_LIBOBJ([inet_pton])
+    gl_PREREQ_INET_PTON
+  fi
+  gl_ARPA_INET_MODULE_INDICATOR([inet_pton])
+  AC_C_BIGENDIAN
+  gl_FUNC_IOCTL
+  if test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1; then
+    AC_LIBOBJ([ioctl])
+  fi
+  gl_SYS_IOCTL_MODULE_INDICATOR([ioctl])
+  gl_FUNC_ISBLANK
+  if test $HAVE_ISBLANK = 0; then
+    AC_LIBOBJ([isblank])
+  fi
+  gl_CTYPE_MODULE_INDICATOR([isblank])
+  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    AC_LIBOBJ([listen])
+  fi
+  gl_SYS_SOCKET_MODULE_INDICATOR([listen])
   AC_CHECK_FUNCS_ONCE([newlocale])
   gl_LOCALENAME
+  gl_LOCALE_MODULE_INDICATOR([localename])
   AC_CHECK_FUNCS_ONCE([newlocale])
+  AC_CHECK_HEADERS_ONCE([semaphore.h])
+  AC_CHECK_DECLS_ONCE([alarm])
   gt_LOCALE_FR
   gt_LOCALE_FR_UTF8
   gt_LOCALE_JA
   gt_LOCALE_ZH_CN
   gt_LOCALE_FR_UTF8
+  gl_FUNC_NANOSLEEP
+  if test $HAVE_NANOSLEEP = 0 || test $REPLACE_NANOSLEEP = 1; then
+    AC_LIBOBJ([nanosleep])
+    gl_PREREQ_NANOSLEEP
+  fi
+  gl_TIME_MODULE_INDICATOR([nanosleep])
+  AC_CHECK_DECLS_ONCE([alarm])
+  gl_HEADER_NETINET_IN
+  AC_PROG_MKDIR_P
   gt_LOCALE_FR
   gt_LOCALE_FR_UTF8
   gl_FUNC_OPEN
@@ -732,7 +928,29 @@ changequote([, ])dnl
     gl_PREREQ_OPEN
   fi
   gl_FCNTL_MODULE_INDICATOR([open])
+  gl_FUNC_PERROR
+  if test $REPLACE_PERROR = 1; then
+    AC_LIBOBJ([perror])
+  fi
+  gl_STRING_MODULE_INDICATOR([perror])
+  gl_FUNC_PIPE
+  if test $HAVE_PIPE = 0; then
+    AC_LIBOBJ([pipe])
+  fi
+  gl_UNISTD_MODULE_INDICATOR([pipe])
   gl_PRIV_SET
+  gl_PTHREAD_H
+  gl_PTHREAD_THREAD
+  if test $HAVE_PTHREAD_CREATE = 0 || test $REPLACE_PTHREAD_CREATE = 1; then
+    AC_LIBOBJ([pthread-thread])
+  fi
+  gl_PTHREAD_MODULE_INDICATOR([pthread-thread])
+  gl_FUNC_PTHREAD_SIGMASK
+  if test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1; then
+    AC_LIBOBJ([pthread_sigmask])
+    gl_PREREQ_PTHREAD_SIGMASK
+  fi
+  gl_SIGNAL_MODULE_INDICATOR([pthread_sigmask])
   gl_FUNC_PUTENV
   if test $REPLACE_PUTENV = 1; then
     AC_LIBOBJ([putenv])
@@ -744,6 +962,19 @@ changequote([, ])dnl
   gl_FUNC_MMAP_ANON
   AC_CHECK_HEADERS_ONCE([sys/mman.h])
   AC_CHECK_FUNCS_ONCE([mprotect])
+  gl_FUNC_RAISE
+  if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then
+    AC_LIBOBJ([raise])
+    gl_PREREQ_RAISE
+  fi
+  gl_SIGNAL_MODULE_INDICATOR([raise])
+  gl_SCHED_H
+  gl_FUNC_SELECT
+  if test $REPLACE_SELECT = 1; then
+    AC_LIBOBJ([select])
+  fi
+  gl_SYS_SELECT_MODULE_INDICATOR([select])
+  AC_CHECK_HEADERS_ONCE([sys/wait.h])
   gl_FUNC_SETENV
   if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
     AC_LIBOBJ([setenv])
@@ -759,9 +990,53 @@ changequote([, ])dnl
   gt_LOCALE_FR_UTF8
   gt_LOCALE_JA
   gt_LOCALE_ZH_CN
+  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    AC_LIBOBJ([setsockopt])
+  fi
+  gl_SYS_SOCKET_MODULE_INDICATOR([setsockopt])
+  gl_SIGACTION
+  if test $HAVE_SIGACTION = 0; then
+    AC_LIBOBJ([sigaction])
+    gl_PREREQ_SIGACTION
+  fi
+  gl_SIGNAL_MODULE_INDICATOR([sigaction])
+  gl_SIGNAL_H
+  gl_SIGNALBLOCKING
+  if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
+    AC_LIBOBJ([sigprocmask])
+    gl_PREREQ_SIGPROCMASK
+  fi
+  gl_SIGNAL_MODULE_INDICATOR([sigprocmask])
   AC_CHECK_DECLS_ONCE([alarm])
+  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    AC_LIBOBJ([socket])
+  fi
+  # When this module is used, sockets may actually occur as file descriptors,
+  # hence it is worth warning if the modules 'close' and 'ioctl' are not used.
+  m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])])
+  m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])])
+  AC_REQUIRE([gl_PREREQ_SYS_H_WINSOCK2])
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1
+  fi
+  gl_SYS_SOCKET_MODULE_INDICATOR([socket])
+  AC_REQUIRE([gl_SOCKETLIB])
+  AC_REQUIRE([gl_SOCKETS])
+  gl_TYPE_SOCKLEN_T
+  gl_STDALIGN_H
   AC_REQUIRE([gt_TYPE_WCHAR_T])
   AC_REQUIRE([gt_TYPE_WINT_T])
+  gl_FUNC_STRERROR_R
+  if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then
+    AC_LIBOBJ([strerror_r])
+    gl_PREREQ_STRERROR_R
+  fi
+  gl_STRING_MODULE_INDICATOR([strerror_r])
+  dnl For the modules argp, error.
+  gl_MODULE_INDICATOR([strerror_r-posix])
   dnl Check for prerequisites for memory fence checks.
   gl_FUNC_MMAP_ANON
   AC_CHECK_HEADERS_ONCE([sys/mman.h])
@@ -771,6 +1046,15 @@ changequote([, ])dnl
     AC_LIBOBJ([symlink])
   fi
   gl_UNISTD_MODULE_INDICATOR([symlink])
+  gl_SYS_IOCTL_H
+  AC_PROG_MKDIR_P
+  AC_REQUIRE([gl_HEADER_SYS_SELECT])
+  AC_PROG_MKDIR_P
+  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+  AC_PROG_MKDIR_P
+  AC_CHECK_FUNCS_ONCE([shutdown])
+  gl_HEADER_SYS_UIO
+  AC_PROG_MKDIR_P
   gl_THREAD
   gl_UNLINKDIR
   gl_FUNC_UNSETENV
@@ -799,7 +1083,19 @@ changequote([, ])dnl
     gl_PREREQ_WCTOMB
   fi
   gl_STDLIB_MODULE_INDICATOR([wctomb])
-  gl_YIELD
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  case "$host_os" in
+    mingw*)
+      AC_LIBOBJ([windows-thread])
+      ;;
+  esac
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  case "$host_os" in
+    mingw*)
+      AC_LIBOBJ([windows-tls])
+      ;;
+  esac
+  AC_REQUIRE([gl_YIELD])
   m4_popdef([gl_MODULE_INDICATOR_CONDITION])
   m4_ifval(gltests_LIBSOURCES_LIST, [
     m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ ||
@@ -901,22 +1197,23 @@ AC_DEFUN([gl_FILE_LIST], [
   build-aux/gnu-web-doc-update
   build-aux/gnupload
   build-aux/mktempd
-  build-aux/snippet/_Noreturn.h
-  build-aux/snippet/arg-nonnull.h
-  build-aux/snippet/c++defs.h
-  build-aux/snippet/warn-on-use.h
   build-aux/update-copyright
   build-aux/useless-if-before-free
   build-aux/vc-list-files
   doc/fdl.texi
   doc/gendocs_template
+  doc/gendocs_template_min
+  lib/_Noreturn.h
   lib/alloca.c
   lib/alloca.in.h
+  lib/arg-nonnull.h
   lib/argmatch.c
   lib/argmatch.h
+  lib/assure.h
   lib/basename-lgpl.c
   lib/basename.c
   lib/btowc.c
+  lib/c++defs.h
   lib/c-ctype.c
   lib/c-ctype.h
   lib/c-strcase.h
@@ -925,12 +1222,12 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/c-strncasecmp.c
   lib/calloc.c
   lib/canonicalize-lgpl.c
+  lib/cdefs.h
   lib/close-stream.c
   lib/close-stream.h
   lib/close.c
   lib/closeout.c
   lib/closeout.h
-  lib/config.charset
   lib/dirname-lgpl.c
   lib/dirname.c
   lib/dirname.h
@@ -943,26 +1240,40 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/fcntl.in.h
   lib/fd-hook.c
   lib/fd-hook.h
+  lib/filename.h
   lib/fpending.c
   lib/fpending.h
   lib/fstat.c
   lib/fsync.c
+  lib/getopt-cdefs.in.h
+  lib/getopt-core.h
+  lib/getopt-ext.h
+  lib/getopt-pfx-core.h
+  lib/getopt-pfx-ext.h
   lib/getopt.c
   lib/getopt.in.h
   lib/getopt1.c
   lib/getopt_int.h
+  lib/getprogname.c
+  lib/getprogname.h
   lib/gettext.h
   lib/gettimeofday.c
   lib/glthread/lock.c
   lib/glthread/lock.h
   lib/glthread/threadlib.c
+  lib/hard-locale.c
+  lib/hard-locale.h
   lib/intprops.h
   lib/inttypes.in.h
   lib/langinfo.in.h
+  lib/libc-config.h
+  lib/limits.in.h
   lib/localcharset.c
   lib/localcharset.h
   lib/locale.in.h
   lib/localeconv.c
+  lib/localtime-buffer.c
+  lib/localtime-buffer.h
   lib/long-options.c
   lib/long-options.h
   lib/lseek.c
@@ -970,11 +1281,12 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/malloc.c
   lib/malloca.c
   lib/malloca.h
-  lib/malloca.valgrind
   lib/mbrtowc.c
   lib/mbsinit.c
   lib/mbtowc-impl.h
   lib/mbtowc.c
+  lib/minmax.h
+  lib/mkdir.c
   lib/mkstemp.c
   lib/msvc-inval.c
   lib/msvc-inval.h
@@ -990,8 +1302,6 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/read.c
   lib/readlink.c
   lib/realloc.c
-  lib/ref-add.sin
-  lib/ref-del.sin
   lib/regcomp.c
   lib/regex.c
   lib/regex.h
@@ -1001,13 +1311,17 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/rpmatch.c
   lib/safe-read.c
   lib/safe-read.h
-  lib/secure_getenv.c
   lib/sleep.c
+  lib/stat-time.c
+  lib/stat-time.h
+  lib/stat-w32.c
+  lib/stat-w32.h
   lib/stat.c
   lib/stdarg.in.h
   lib/stdbool.in.h
   lib/stddef.in.h
   lib/stdint.in.h
+  lib/stdio-impl.h
   lib/stdio.in.h
   lib/stdlib.in.h
   lib/strdup.c
@@ -1023,6 +1337,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/strtoll.c
   lib/strtoul.c
   lib/strtoull.c
+  lib/sys-limits.h
   lib/sys_stat.in.h
   lib/sys_time.in.h
   lib/sys_types.in.h
@@ -1037,10 +1352,20 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/version-etc-fsf.c
   lib/version-etc.c
   lib/version-etc.h
+  lib/warn-on-use.h
   lib/wchar.in.h
   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
@@ -1054,18 +1379,20 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/xstrtoul.c
   lib/xstrtoull.c
   m4/00gnulib.m4
+  m4/__inline.m4
   m4/absolute-header.m4
   m4/alloca.m4
+  m4/arpa_inet_h.m4
   m4/assert.m4
   m4/btowc.m4
+  m4/builtin-expect.m4
   m4/calloc.m4
   m4/canonicalize.m4
-  m4/close-stream.m4
   m4/close.m4
-  m4/closeout.m4
   m4/codeset.m4
   m4/config-h.m4
   m4/configmake.m4
+  m4/ctype.m4
   m4/dirname.m4
   m4/double-slash-root.m4
   m4/dup2.m4
@@ -1076,22 +1403,31 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/extensions.m4
   m4/extern-inline.m4
   m4/fcntl-o.m4
+  m4/fcntl.m4
   m4/fcntl_h.m4
   m4/fdopen.m4
+  m4/flexmember.m4
   m4/fpending.m4
   m4/fstat.m4
   m4/fsync.m4
+  m4/ftruncate.m4
   m4/getcwd.m4
   m4/getdtablesize.m4
   m4/getopt.m4
   m4/getpagesize.m4
+  m4/getprogname.m4
   m4/gettimeofday.m4
   m4/glibc21.m4
   m4/gnulib-common.m4
+  m4/host-cpu-c-abi.m4
   m4/include_next.m4
+  m4/inet_pton.m4
+  m4/intl-thread-locale.m4
   m4/intlmacosx.m4
   m4/inttypes-pri.m4
   m4/inttypes.m4
+  m4/ioctl.m4
+  m4/isblank.m4
   m4/langinfo_h.m4
   m4/largefile.m4
   m4/lcmessage.m4
@@ -1099,6 +1435,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/lib-ld.m4
   m4/lib-link.m4
   m4/lib-prefix.m4
+  m4/limits-h.m4
   m4/localcharset.m4
   m4/locale-fr.m4
   m4/locale-ja.m4
@@ -1107,44 +1444,69 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/locale_h.m4
   m4/localeconv.m4
   m4/localename.m4
+  m4/localtime-buffer.m4
   m4/lock.m4
   m4/longlong.m4
   m4/lseek.m4
   m4/lstat.m4
   m4/malloc.m4
   m4/malloca.m4
+  m4/manywarnings-c++.m4
   m4/manywarnings.m4
   m4/mbrtowc.m4
   m4/mbsinit.m4
   m4/mbstate_t.m4
   m4/mbtowc.m4
+  m4/minmax.m4
+  m4/mkdir.m4
   m4/mkstemp.m4
   m4/mmap-anon.m4
   m4/mode_t.m4
   m4/msvc-inval.m4
   m4/msvc-nothrow.m4
   m4/multiarch.m4
+  m4/nanosleep.m4
+  m4/netinet_in_h.m4
   m4/nl_langinfo.m4
   m4/nocrash.m4
   m4/off_t.m4
+  m4/open-cloexec.m4
   m4/open.m4
   m4/pathmax.m4
+  m4/perror.m4
+  m4/pipe.m4
   m4/priv-set.m4
+  m4/pthread-thread.m4
+  m4/pthread_h.m4
+  m4/pthread_rwlock_rdlock.m4
+  m4/pthread_sigmask.m4
   m4/putenv.m4
   m4/quote.m4
   m4/quotearg.m4
+  m4/raise.m4
   m4/read.m4
   m4/readlink.m4
   m4/realloc.m4
   m4/regex.m4
   m4/rpmatch.m4
   m4/safe-read.m4
-  m4/secure_getenv.m4
+  m4/sched_h.m4
+  m4/select.m4
   m4/setenv.m4
   m4/setlocale.m4
+  m4/sigaction.m4
+  m4/signal_h.m4
+  m4/signalblocking.m4
   m4/sleep.m4
+  m4/socketlib.m4
+  m4/sockets.m4
+  m4/socklen.m4
+  m4/sockpfaf.m4
   m4/ssize_t.m4
+  m4/stat-time.m4
   m4/stat.m4
+  m4/std-gnu11.m4
+  m4/stdalign.m4
   m4/stdarg.m4
   m4/stdbool.m4
   m4/stddef_h.m4
@@ -1153,16 +1515,20 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/stdlib_h.m4
   m4/strdup.m4
   m4/strerror.m4
+  m4/strerror_r.m4
   m4/string_h.m4
   m4/strndup.m4
   m4/strnlen.m4
   m4/strtoll.m4
   m4/strtoull.m4
   m4/symlink.m4
+  m4/sys_ioctl_h.m4
+  m4/sys_select_h.m4
   m4/sys_socket_h.m4
   m4/sys_stat_h.m4
   m4/sys_time_h.m4
   m4/sys_types_h.m4
+  m4/sys_uio_h.m4
   m4/tempname.m4
   m4/thread.m4
   m4/threadlib.m4
@@ -1187,11 +1553,16 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/yield.m4
   tests/init.sh
   tests/macros.h
+  tests/nap.h
+  tests/null-ptr.h
   tests/signature.h
+  tests/test-accept.c
   tests/test-alloca-opt.c
   tests/test-argmatch.c
+  tests/test-arpa_inet.c
   tests/test-binary-io.c
   tests/test-binary-io.sh
+  tests/test-bind.c
   tests/test-btowc.c
   tests/test-btowc1.sh
   tests/test-btowc2.sh
@@ -1201,12 +1572,16 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-c-strncasecmp.c
   tests/test-calloc-gnu.c
   tests/test-canonicalize-lgpl.c
+  tests/test-cloexec.c
   tests/test-close.c
+  tests/test-connect.c
+  tests/test-ctype.c
   tests/test-dirname.c
   tests/test-dup2.c
   tests/test-environ.c
   tests/test-errno.c
   tests/test-fcntl-h.c
+  tests/test-fcntl.c
   tests/test-fdopen.c
   tests/test-fgetc.c
   tests/test-fpending.c
@@ -1215,18 +1590,29 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-fread.c
   tests/test-fstat.c
   tests/test-fsync.c
+  tests/test-ftruncate.c
+  tests/test-ftruncate.sh
   tests/test-fwrite.c
   tests/test-getcwd-lgpl.c
   tests/test-getdtablesize.c
-  tests/test-getopt.c
+  tests/test-getopt-gnu.c
+  tests/test-getopt-main.h
+  tests/test-getopt-posix.c
   tests/test-getopt.h
   tests/test-getopt_long.h
+  tests/test-getprogname.c
   tests/test-gettimeofday.c
   tests/test-ignore-value.c
+  tests/test-inet_pton.c
   tests/test-init.sh
   tests/test-intprops.c
   tests/test-inttypes.c
+  tests/test-ioctl.c
+  tests/test-isblank.c
   tests/test-langinfo.c
+  tests/test-limits-h.c
+  tests/test-listen.c
+  tests/test-localcharset.c
   tests/test-locale.c
   tests/test-localeconv.c
   tests/test-localename.c
@@ -1248,44 +1634,79 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-mbrtowc2.sh
   tests/test-mbrtowc3.sh
   tests/test-mbrtowc4.sh
+  tests/test-mbrtowc5.sh
   tests/test-mbsinit.c
   tests/test-mbsinit.sh
+  tests/test-mkdir.c
+  tests/test-mkdir.h
+  tests/test-nanosleep.c
+  tests/test-netinet_in.c
   tests/test-nl_langinfo.c
   tests/test-nl_langinfo.sh
+  tests/test-once.c
   tests/test-open.c
   tests/test-open.h
   tests/test-pathmax.c
+  tests/test-perror.c
+  tests/test-perror.sh
+  tests/test-perror2.c
+  tests/test-pipe.c
   tests/test-priv-set.c
+  tests/test-pthread-thread.c
+  tests/test-pthread.c
+  tests/test-pthread_sigmask1.c
+  tests/test-pthread_sigmask2.c
   tests/test-quotearg-simple.c
   tests/test-quotearg.h
+  tests/test-raise.c
   tests/test-read.c
   tests/test-readlink.c
   tests/test-readlink.h
   tests/test-realloc-gnu.c
   tests/test-regex.c
+  tests/test-rwlock1.c
+  tests/test-sched.c
+  tests/test-select-fd.c
+  tests/test-select-in.sh
+  tests/test-select-out.sh
+  tests/test-select-stdin.c
+  tests/test-select.c
+  tests/test-select.h
   tests/test-setenv.c
   tests/test-setlocale1.c
   tests/test-setlocale1.sh
   tests/test-setlocale2.c
   tests/test-setlocale2.sh
+  tests/test-setsockopt.c
+  tests/test-sigaction.c
+  tests/test-signal-h.c
+  tests/test-sigprocmask.c
   tests/test-sleep.c
+  tests/test-sockets.c
+  tests/test-stat-time.c
   tests/test-stat.c
   tests/test-stat.h
+  tests/test-stdalign.c
   tests/test-stdbool.c
   tests/test-stddef.c
   tests/test-stdint.c
   tests/test-stdio.c
   tests/test-stdlib.c
   tests/test-strerror.c
+  tests/test-strerror_r.c
   tests/test-string.c
   tests/test-strnlen.c
   tests/test-strtoll.c
   tests/test-strtoull.c
   tests/test-symlink.c
   tests/test-symlink.h
+  tests/test-sys_ioctl.c
+  tests/test-sys_select.c
+  tests/test-sys_socket.c
   tests/test-sys_stat.c
   tests/test-sys_time.c
   tests/test-sys_types.c
+  tests/test-sys_uio.c
   tests/test-sys_wait.h
   tests/test-thread_create.c
   tests/test-thread_self.c
@@ -1298,6 +1719,7 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-usleep.c
   tests/test-vc-list-files-cvs.sh
   tests/test-vc-list-files-git.sh
+  tests/test-verify-try.c
   tests/test-verify.c
   tests/test-verify.sh
   tests/test-version-etc.c
@@ -1321,10 +1743,23 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-xstrtoul.c
   tests/test-xstrtoull.c
   tests/zerosize-ptr.h
+  tests=lib/_Noreturn.h
+  tests=lib/accept.c
+  tests=lib/arg-nonnull.h
+  tests=lib/arpa_inet.in.h
   tests=lib/binary-io.c
   tests=lib/binary-io.h
+  tests=lib/bind.c
+  tests=lib/c++defs.h
+  tests=lib/cloexec.c
+  tests=lib/cloexec.h
+  tests=lib/connect.c
+  tests=lib/ctype.in.h
   tests=lib/dup2.c
+  tests=lib/fcntl.c
   tests=lib/fdopen.c
+  tests=lib/flexmember.h
+  tests=lib/ftruncate.c
   tests=lib/getcwd-lgpl.c
   tests=lib/getdtablesize.c
   tests=lib/getpagesize.c
@@ -1332,23 +1767,61 @@ AC_DEFUN([gl_FILE_LIST], [
   tests=lib/glthread/thread.h
   tests=lib/glthread/yield.h
   tests=lib/ignore-value.h
+  tests=lib/inet_pton.c
+  tests=lib/ioctl.c
+  tests=lib/isblank.c
+  tests=lib/listen.c
+  tests=lib/localename-table.c
+  tests=lib/localename-table.h
   tests=lib/localename.c
   tests=lib/localename.h
+  tests=lib/nanosleep.c
+  tests=lib/netinet_in.in.h
   tests=lib/open.c
+  tests=lib/perror.c
+  tests=lib/pipe.c
   tests=lib/priv-set.c
   tests=lib/priv-set.h
+  tests=lib/pthread-thread.c
+  tests=lib/pthread.in.h
+  tests=lib/pthread_sigmask.c
   tests=lib/putenv.c
+  tests=lib/raise.c
   tests=lib/root-uid.h
   tests=lib/same-inode.h
+  tests=lib/sched.in.h
+  tests=lib/select.c
   tests=lib/setenv.c
   tests=lib/setlocale.c
+  tests=lib/setsockopt.c
+  tests=lib/sig-handler.c
+  tests=lib/sig-handler.h
+  tests=lib/sigaction.c
+  tests=lib/signal.in.h
+  tests=lib/sigprocmask.c
+  tests=lib/socket.c
+  tests=lib/sockets.c
+  tests=lib/sockets.h
+  tests=lib/stdalign.in.h
+  tests=lib/strerror_r.c
   tests=lib/symlink.c
+  tests=lib/sys_ioctl.in.h
+  tests=lib/sys_select.in.h
+  tests=lib/sys_socket.c
+  tests=lib/sys_socket.in.h
+  tests=lib/sys_uio.in.h
   tests=lib/unlinkdir.c
   tests=lib/unlinkdir.h
   tests=lib/unsetenv.c
+  tests=lib/w32sock.h
+  tests=lib/warn-on-use.h
   tests=lib/wctob.c
   tests=lib/wctomb-impl.h
   tests=lib/wctomb.c
+  tests=lib/windows-thread.c
+  tests=lib/windows-thread.h
+  tests=lib/windows-tls.c
+  tests=lib/windows-tls.h
   top/GNUmakefile
   top/maint.mk
 ])
diff --git a/m4/host-cpu-c-abi.m4 b/m4/host-cpu-c-abi.m4
new file mode 100644 (file)
index 0000000..4407296
--- /dev/null
@@ -0,0 +1,644 @@
+# host-cpu-c-abi.m4 serial 11
+dnl Copyright (C) 2002-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 Bruno Haible and Sam Steingold.
+
+dnl Sets the HOST_CPU variable to the canonical name of the CPU.
+dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its
+dnl C language ABI (application binary interface).
+dnl Also defines __${HOST_CPU}__ and __${HOST_CPU_C_ABI}__ as C macros in
+dnl config.h.
+dnl
+dnl This canonical name can be used to select a particular assembly language
+dnl source file that will interoperate with C code on the given host.
+dnl
+dnl For example:
+dnl * 'i386' and 'sparc' are different canonical names, because code for i386
+dnl   will not run on SPARC CPUs and vice versa. They have different
+dnl   instruction sets.
+dnl * 'sparc' and 'sparc64' are different canonical names, because code for
+dnl   'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code
+dnl   contains 32-bit instructions, whereas 'sparc64' code contains 64-bit
+dnl   instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit
+dnl   mode, but not both.
+dnl * 'mips' and 'mipsn32' are different canonical names, because they use
+dnl   different argument passing and return conventions for C functions, and
+dnl   although the instruction set of 'mips' is a large subset of the
+dnl   instruction set of 'mipsn32'.
+dnl * 'mipsn32' and 'mips64' are different canonical names, because they use
+dnl   different sizes for the C types like 'int' and 'void *', and although
+dnl   the instruction sets of 'mipsn32' and 'mips64' are the same.
+dnl * The same canonical name is used for different endiannesses. You can
+dnl   determine the endianness through preprocessor symbols:
+dnl   - 'arm': test __ARMEL__.
+dnl   - 'mips', 'mipsn32', 'mips64': test _MIPSEB vs. _MIPSEL.
+dnl   - 'powerpc64': test _BIG_ENDIAN vs. _LITTLE_ENDIAN.
+dnl * The same name 'i386' is used for CPUs of type i386, i486, i586
+dnl   (Pentium), AMD K7, Pentium II, Pentium IV, etc., because
+dnl   - Instructions that do not exist on all of these CPUs (cmpxchg,
+dnl     MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your
+dnl     assembly language source files use such instructions, you will
+dnl     need to make the distinction.
+dnl   - Speed of execution of the common instruction set is reasonable across
+dnl     the entire family of CPUs. If you have assembly language source files
+dnl     that are optimized for particular CPU types (like GNU gmp has), you
+dnl     will need to make the distinction.
+dnl   See <https://en.wikipedia.org/wiki/X86_instruction_listings>.
+AC_DEFUN([gl_HOST_CPU_C_ABI],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_C_ASM])
+  AC_CACHE_CHECK([host CPU and C ABI], [gl_cv_host_cpu_c_abi],
+    [case "$host_cpu" in
+
+changequote(,)dnl
+       i[4567]86 )
+changequote([,])dnl
+         gl_cv_host_cpu_c_abi=i386
+         ;;
+
+       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.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if (defined __x86_64__ || defined __amd64__ \
+                     || defined _M_X64 || defined _M_AMD64)
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined __ILP32__ || defined _ILP32
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
+              [gl_cv_host_cpu_c_abi=x86_64-x32],
+              [gl_cv_host_cpu_c_abi=x86_64])],
+           [gl_cv_host_cpu_c_abi=i386])
+         ;;
+
+changequote(,)dnl
+       alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] )
+changequote([,])dnl
+         gl_cv_host_cpu_c_abi=alpha
+         ;;
+
+       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.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef __aarch64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                [[#if defined __ILP32__ || defined _ILP32
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+              [gl_cv_host_cpu_c_abi=arm64-ilp32],
+              [gl_cv_host_cpu_c_abi=arm64])],
+           [# Don't distinguish little-endian and big-endian arm, since they
+            # don't require different machine code for simple operations and
+            # since the user can distinguish them through the preprocessor
+            # defines __ARMEL__ vs. __ARMEB__.
+            # But distinguish arm which passes floating-point arguments and
+            # return values in integer registers (r0, r1, ...) - this is
+            # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which
+            # passes them in float registers (s0, s1, ...) and double registers
+            # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer
+            # sets the preprocessor defines __ARM_PCS (for the first case) and
+            # __ARM_PCS_VFP (for the second case), but older GCC does not.
+            echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c
+            # Look for a reference to the register d0 in the .s file.
+            AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1
+            if LC_ALL=C grep 'd0,' conftest.$gl_asmext >/dev/null; then
+              gl_cv_host_cpu_c_abi=armhf
+            else
+              gl_cv_host_cpu_c_abi=arm
+            fi
+            rm -f conftest*
+           ])
+         ;;
+
+       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__.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef __LP64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=hppa64],
+           [gl_cv_host_cpu_c_abi=hppa])
+         ;;
+
+       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.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef _ILP32
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=ia64-ilp32],
+           [gl_cv_host_cpu_c_abi=ia64])
+         ;;
+
+       mips* )
+         # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
+         # at 32.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=mips64],
+           [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but
+            # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIN32.
+            # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but
+            # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIO32.
+            AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if (_MIPS_SIM == _ABIN32)
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
+              [gl_cv_host_cpu_c_abi=mipsn32],
+              [gl_cv_host_cpu_c_abi=mips])])
+         ;;
+
+       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.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __powerpc64__ || defined _ARCH_PPC64
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [# On powerpc64, there are two ABIs on Linux: The AIX compatible
+            # one and the ELFv2 one. The latter defines _CALL_ELF=2.
+            AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined _CALL_ELF && _CALL_ELF == 2
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
+              [gl_cv_host_cpu_c_abi=powerpc64-elfv2],
+              [gl_cv_host_cpu_c_abi=powerpc64])
+           ],
+           [gl_cv_host_cpu_c_abi=powerpc])
+         ;;
+
+       rs6000 )
+         gl_cv_host_cpu_c_abi=powerpc
+         ;;
+
+       riscv32 | riscv64 )
+         # There are 2 architectures (with variants): rv32* and rv64*.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if __riscv_xlen == 64
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [cpu=riscv64],
+           [cpu=riscv32])
+         # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
+         # Size of 'long' and 'void *':
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __LP64__
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [main_abi=lp64],
+           [main_abi=ilp32])
+         # Float ABIs:
+         # __riscv_float_abi_double:
+         #   'float' and 'double' are passed in floating-point registers.
+         # __riscv_float_abi_single:
+         #   'float' are passed in floating-point registers.
+         # __riscv_float_abi_soft:
+         #   No values are passed in floating-point registers.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __riscv_float_abi_double
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [float_abi=d],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined __riscv_float_abi_single
+                     int ok;
+                   #else
+                     error fail
+                   #endif
+                 ]])],
+              [float_abi=f],
+              [float_abi=''])
+           ])
+         gl_cv_host_cpu_c_abi="${cpu}-${main_abi}${float_abi}"
+         ;;
+
+       s390* )
+         # On s390x, the C compiler may be generating 64-bit (= s390x) code
+         # or 31-bit (= s390) code.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __LP64__ || defined __s390x__
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=s390x],
+           [gl_cv_host_cpu_c_abi=s390])
+         ;;
+
+       sparc | sparc64 )
+         # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
+         # C compiler still generates 32-bit code.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __sparcv9 || defined __arch64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=sparc64],
+           [gl_cv_host_cpu_c_abi=sparc])
+         ;;
+
+       *)
+         gl_cv_host_cpu_c_abi="$host_cpu"
+         ;;
+     esac
+    ])
+
+  dnl In most cases, $HOST_CPU and $HOST_CPU_C_ABI are the same.
+  HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'`
+  HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi"
+  AC_SUBST([HOST_CPU])
+  AC_SUBST([HOST_CPU_C_ABI])
+
+  # This was
+  #   AC_DEFINE_UNQUOTED([__${HOST_CPU}__])
+  #   AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__])
+  # earlier, but KAI C++ 3.2d doesn't like this.
+  sed -e 's/-/_/g' >> confdefs.h <<EOF
+#ifndef __${HOST_CPU}__
+#define __${HOST_CPU}__ 1
+#endif
+#ifndef __${HOST_CPU_C_ABI}__
+#define __${HOST_CPU_C_ABI}__ 1
+#endif
+EOF
+  AH_TOP([/* CPU and C ABI indicator */
+#ifndef __i386__
+#undef __i386__
+#endif
+#ifndef __x86_64_x32__
+#undef __x86_64_x32__
+#endif
+#ifndef __x86_64__
+#undef __x86_64__
+#endif
+#ifndef __alpha__
+#undef __alpha__
+#endif
+#ifndef __arm__
+#undef __arm__
+#endif
+#ifndef __armhf__
+#undef __armhf__
+#endif
+#ifndef __arm64_ilp32__
+#undef __arm64_ilp32__
+#endif
+#ifndef __arm64__
+#undef __arm64__
+#endif
+#ifndef __hppa__
+#undef __hppa__
+#endif
+#ifndef __hppa64__
+#undef __hppa64__
+#endif
+#ifndef __ia64_ilp32__
+#undef __ia64_ilp32__
+#endif
+#ifndef __ia64__
+#undef __ia64__
+#endif
+#ifndef __m68k__
+#undef __m68k__
+#endif
+#ifndef __mips__
+#undef __mips__
+#endif
+#ifndef __mipsn32__
+#undef __mipsn32__
+#endif
+#ifndef __mips64__
+#undef __mips64__
+#endif
+#ifndef __powerpc__
+#undef __powerpc__
+#endif
+#ifndef __powerpc64__
+#undef __powerpc64__
+#endif
+#ifndef __powerpc64_elfv2__
+#undef __powerpc64_elfv2__
+#endif
+#ifndef __riscv32__
+#undef __riscv32__
+#endif
+#ifndef __riscv64__
+#undef __riscv64__
+#endif
+#ifndef __riscv32_ilp32__
+#undef __riscv32_ilp32__
+#endif
+#ifndef __riscv32_ilp32f__
+#undef __riscv32_ilp32f__
+#endif
+#ifndef __riscv32_ilp32d__
+#undef __riscv32_ilp32d__
+#endif
+#ifndef __riscv64_ilp32__
+#undef __riscv64_ilp32__
+#endif
+#ifndef __riscv64_ilp32f__
+#undef __riscv64_ilp32f__
+#endif
+#ifndef __riscv64_ilp32d__
+#undef __riscv64_ilp32d__
+#endif
+#ifndef __riscv64_lp64__
+#undef __riscv64_lp64__
+#endif
+#ifndef __riscv64_lp64f__
+#undef __riscv64_lp64f__
+#endif
+#ifndef __riscv64_lp64d__
+#undef __riscv64_lp64d__
+#endif
+#ifndef __s390__
+#undef __s390__
+#endif
+#ifndef __s390x__
+#undef __s390x__
+#endif
+#ifndef __sh__
+#undef __sh__
+#endif
+#ifndef __sparc__
+#undef __sparc__
+#endif
+#ifndef __sparc64__
+#undef __sparc64__
+#endif
+])
+
+])
+
+
+dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI
+dnl (application binary interface) is a 32-bit one, or to 'no' otherwise.
+dnl This is a simplified variant of gl_HOST_CPU_C_ABI.
+AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit],
+    [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
+
+changequote(,)dnl
+         i[4567]86 )
+changequote([,])dnl
+           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.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if (defined __x86_64__ || defined __amd64__ \
+                       || defined _M_X64 || defined _M_AMD64) \
+                      && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         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.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         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__.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#ifdef __LP64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         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.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#ifdef _ILP32
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=yes],
+             [gl_cv_host_cpu_c_abi_32bit=no])
+           ;;
+
+         mips* )
+           # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
+           # at 32.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         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.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __powerpc64__ || defined _ARCH_PPC64
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         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 *':
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __LP64__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         s390* )
+           # On s390x, the C compiler may be generating 64-bit (= s390x) code
+           # or 31-bit (= s390) code.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __LP64__ || defined __s390x__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         sparc | sparc64 )
+           # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
+           # C compiler still generates 32-bit code.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __sparcv9 || defined __arch64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         *)
+           gl_cv_host_cpu_c_abi_32bit=no
+           ;;
+       esac
+     fi
+    ])
+
+  HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit"
+])
index 69ad3dbb0f736436fa9a39c3445ff5a30af04ff2..86eb2c97c925bbdee4fa337e4661a9f728669e9e 100644 (file)
@@ -1,12 +1,13 @@
-# include_next.m4 serial 23
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# include_next.m4 serial 24
+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,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Paul Eggert and Derek Price.
 
-dnl Sets INCLUDE_NEXT and PRAGMA_SYSTEM_HEADER.
+dnl Sets INCLUDE_NEXT, INCLUDE_NEXT_AS_FIRST_DIRECTIVE, PRAGMA_SYSTEM_HEADER,
+dnl and PRAGMA_COLUMNS.
 dnl
 dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to
 dnl 'include' otherwise.
diff --git a/m4/inet_pton.m4 b/m4/inet_pton.m4
new file mode 100644 (file)
index 0000000..264892c
--- /dev/null
@@ -0,0 +1,70 @@
+# inet_pton.m4 serial 19
+dnl Copyright (C) 2006, 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.
+
+AC_DEFUN([gl_FUNC_INET_PTON],
+[
+  AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS])
+
+  dnl Persuade Solaris <arpa/inet.h> to declare inet_pton.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+  AC_REQUIRE([AC_C_RESTRICT])
+
+  dnl Most platforms that provide inet_pton define it in libc.
+  dnl Solaris 8..10 provide inet_pton in libnsl instead.
+  dnl Solaris 2.6..7 provide inet_pton in libresolv instead.
+  dnl Haiku provides it in -lnetwork.
+  dnl Native Windows provides it in -lws2_32 instead, with a declaration in
+  dnl <ws2tcpip.h>, and it uses stdcall calling convention, not cdecl
+  dnl (hence we cannot use AC_CHECK_FUNCS, AC_SEARCH_LIBS to find it).
+  HAVE_INET_PTON=1
+  INET_PTON_LIB=
+  gl_PREREQ_SYS_H_WINSOCK2
+  if test $HAVE_WINSOCK2_H = 1; then
+    dnl It needs to be overridden, because the stdcall calling convention
+    dnl is not compliant with POSIX.  Set REPLACE_INET_PTON in order to avoid
+    dnl a name conflict at the linker level, even though the header file
+    dnl <ws2tcpip.h> declares inet_pton only if _WIN32_WINNT >= 0x0600.
+    REPLACE_INET_PTON=1
+    AC_CHECK_DECLS([inet_pton],,, [[#include <ws2tcpip.h>]])
+    if test $ac_cv_have_decl_inet_pton = yes; then
+      INET_PTON_LIB="-lws2_32"
+    else
+      HAVE_DECL_INET_PTON=0
+    fi
+  else
+    gl_save_LIBS=$LIBS
+    AC_SEARCH_LIBS([inet_pton], [nsl resolv network], [],
+      [AC_CHECK_FUNCS([inet_pton])
+       if test $ac_cv_func_inet_pton = no; then
+         HAVE_INET_PTON=0
+       fi
+      ])
+    LIBS=$gl_save_LIBS
+
+    if test "$ac_cv_search_inet_pton" != "no" \
+       && test "$ac_cv_search_inet_pton" != "none required"; then
+      INET_PTON_LIB="$ac_cv_search_inet_pton"
+    fi
+
+    AC_CHECK_HEADERS_ONCE([netdb.h])
+    AC_CHECK_DECLS([inet_pton],,,
+      [[#include <arpa/inet.h>
+        #if HAVE_NETDB_H
+        # include <netdb.h>
+        #endif
+      ]])
+    if test $ac_cv_have_decl_inet_pton = no; then
+      HAVE_DECL_INET_PTON=0
+    fi
+  fi
+  AC_SUBST([INET_PTON_LIB])
+])
+
+# Prerequisites of lib/inet_pton.c.
+AC_DEFUN([gl_PREREQ_INET_PTON], [
+  AC_REQUIRE([gl_SOCKET_FAMILIES])
+])
diff --git a/m4/intl-thread-locale.m4 b/m4/intl-thread-locale.m4
new file mode 100644 (file)
index 0000000..3ecba86
--- /dev/null
@@ -0,0 +1,183 @@
+# intl-thread-locale.m4 serial 4
+dnl Copyright (C) 2015-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
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Check how to retrieve the name of a per-thread locale (POSIX locale_t).
+dnl Sets gt_nameless_locales.
+AC_DEFUN([gt_INTL_THREAD_LOCALE_NAME],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+  dnl Persuade Solaris <locale.h> to define 'locale_t'.
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  dnl Test whether uselocale() exists and works at all.
+  gt_FUNC_USELOCALE
+
+  dnl On OpenBSD >= 6.2, the locale_t type and the uselocale(), newlocale(),
+  dnl duplocale(), freelocale() functions exist but are effectively useless,
+  dnl because the locale_t value depends only on the LC_CTYPE category of the
+  dnl locale and furthermore contains only one bit of information (it
+  dnl distinguishes the "C" locale from the *.UTF-8 locales). See
+  dnl <https://cvsweb.openbsd.org/src/lib/libc/locale/newlocale.c?rev=1.1&content-type=text/x-cvsweb-markup>.
+  dnl In the setlocale() implementation they have thought about the programs
+  dnl that use the API ("Even though only LC_CTYPE has any effect in the
+  dnl OpenBSD base system, store complete information about the global locale,
+  dnl such that third-party software can access it"), but for uselocale()
+  dnl they did not think about the programs.
+  dnl In this situation, even the HAVE_NAMELESS_LOCALES support does not work.
+  dnl So, define HAVE_FAKE_LOCALES and disable all locale_t support.
+  case "$gt_cv_func_uselocale_works" in
+    *yes)
+      AC_CHECK_HEADERS_ONCE([xlocale.h])
+      AC_CACHE_CHECK([for fake locale system (OpenBSD)],
+        [gt_cv_locale_fake],
+        [AC_RUN_IFELSE(
+           [AC_LANG_SOURCE([[
+#include <locale.h>
+#if HAVE_XLOCALE_H
+# include <xlocale.h>
+#endif
+int main ()
+{
+  locale_t loc1, loc2;
+  if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL) return 1;
+  if (setlocale (LC_ALL, "fr_FR.UTF-8") == NULL) return 1;
+  loc1 = newlocale (LC_ALL_MASK, "de_DE.UTF-8", (locale_t)0);
+  loc2 = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", (locale_t)0);
+  return !(loc1 == loc2);
+}]])],
+           [gt_cv_locale_fake=yes],
+           [gt_cv_locale_fake=no],
+           [dnl Guess the locale system is fake only on OpenBSD.
+            case "$host_os" in
+              openbsd*) gt_cv_locale_fake="guessing yes" ;;
+              *)        gt_cv_locale_fake="guessing no" ;;
+            esac
+           ])
+        ])
+      ;;
+    *) gt_cv_locale_fake=no ;;
+  esac
+  case "$gt_cv_locale_fake" in
+    *yes)
+      AC_DEFINE([HAVE_FAKE_LOCALES], [1],
+        [Define if the locale_t type contains insufficient information, as on OpenBSD.])
+      ;;
+  esac
+
+  case "$gt_cv_func_uselocale_works" in
+    *yes)
+      AC_CACHE_CHECK([for Solaris 11.4 locale system],
+        [gt_cv_locale_solaris114],
+        [case "$host_os" in
+           solaris*)
+             dnl Test whether <locale.h> defines locale_t as a typedef of
+             dnl 'struct _LC_locale_t **' (whereas Illumos defines it as a
+             dnl typedef of 'struct _locale *').
+             dnl Another possible test would be to include <sys/localedef.h>
+             dnl and test whether it defines the _LC_core_data_locale_t type.
+             dnl This type was added in Solaris 11.4.
+             AC_COMPILE_IFELSE(
+               [AC_LANG_PROGRAM([[
+                  #include <locale.h>
+                  struct _LC_locale_t *x;
+                  locale_t y;
+                ]],
+                [[*y = x;]])],
+               [gt_cv_locale_solaris114=yes],
+               [gt_cv_locale_solaris114=no])
+             ;;
+           *) gt_cv_locale_solaris114=no ;;
+         esac
+        ])
+      ;;
+    *) gt_cv_locale_solaris114=no ;;
+  esac
+  if test $gt_cv_locale_solaris114 = yes; then
+    AC_DEFINE([HAVE_SOLARIS114_LOCALES], [1],
+      [Define if the locale_t type is as on Solaris 11.4.])
+  fi
+
+  dnl Solaris 12 will maybe provide getlocalename_l.  If it does, it will
+  dnl improve the implementation of gl_locale_name_thread(), by removing
+  dnl the use of undocumented structures.
+  case "$gt_cv_func_uselocale_works" in
+    *yes)
+      AC_CHECK_FUNCS([getlocalename_l])
+      ;;
+  esac
+
+  dnl This code is for future use, in case we some day have to port to a
+  dnl platform where the locale_t type does not provide access to the name of
+  dnl each locale category.  This code has the drawback that it requires the
+  dnl gnulib overrides of 'newlocale', 'duplocale', 'freelocale', which is a
+  dnl problem for GNU libunistring.  Therefore try hard to avoid enabling this
+  dnl code!
+  gt_nameless_locales=no
+  if false; then
+    gt_nameless_locales=yes
+    AC_DEFINE([HAVE_NAMELESS_LOCALES], [1],
+      [Define if the locale_t type does not contain the name of each locale category.])
+  fi
+])
+
+dnl Tests whether uselocale() exists and is usable.
+dnl Sets gt_cv_func_uselocale_works. Defines HAVE_WORKING_USELOCALE.
+AC_DEFUN([gt_FUNC_USELOCALE],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+  dnl Persuade Solaris <locale.h> to define 'locale_t'.
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  AC_CHECK_FUNCS_ONCE([uselocale])
+
+  dnl On AIX 7.2, the uselocale() function is not documented and leads to
+  dnl crashes in subsequent setlocale() invocations.
+  if test $ac_cv_func_uselocale = yes; then
+    AC_CHECK_HEADERS_ONCE([xlocale.h])
+    AC_CACHE_CHECK([whether uselocale works],
+      [gt_cv_func_uselocale_works],
+      [AC_RUN_IFELSE(
+         [AC_LANG_SOURCE([[
+#include <locale.h>
+#if HAVE_XLOCALE_H
+# include <xlocale.h>
+#endif
+int main ()
+{
+  uselocale (NULL);
+  setlocale (LC_ALL, "en_US.UTF-8");
+  return 0;
+}]])],
+         [gt_cv_func_uselocale_works=yes],
+         [gt_cv_func_uselocale_works=no],
+         [# Guess no on AIX, yes otherwise.
+          case "$host_os" in
+            aix*) gt_cv_func_uselocale_works="guessing no" ;;
+            *)    gt_cv_func_uselocale_works="guessing yes" ;;
+          esac
+         ])
+      ])
+  else
+    gt_cv_func_uselocale_works=no
+  fi
+  case "$gt_cv_func_uselocale_works" in
+    *yes)
+      AC_DEFINE([HAVE_WORKING_USELOCALE], [1],
+        [Define if the uselocale function exists any may safely be called.])
+      ;;
+  esac
+])
index 8a045f6a295781c3c08e38df8d053e30011b65f1..3495174304347dde7accb8861d6ded584f165bdf 100644 (file)
@@ -1,23 +1,23 @@
-# intlmacosx.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# intlmacosx.m4 serial 7 (gettext-0.20.2)
+dnl Copyright (C) 2004-2014, 2016, 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
-dnl This file can can be used in projects which are not available under
+dnl This file can be used in projects which are not available under
 dnl the GNU General Public License or the GNU Library General Public
 dnl License but which still want to provide support for the GNU gettext
 dnl functionality.
 dnl Please note that the actual code of the GNU gettext library is covered
 dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
+dnl gettext package is covered by the GNU General Public License.
 dnl They are *not* in the public domain.
 
 dnl Checks for special options needed on Mac OS X.
 dnl Defines INTL_MACOSX_LIBS.
 AC_DEFUN([gt_INTL_MACOSX],
 [
-  dnl Check for API introduced in Mac OS X 10.2.
+  dnl Check for API introduced in Mac OS X 10.4.
   AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
     [gt_cv_func_CFPreferencesCopyAppValue],
     [gt_save_LIBS="$LIBS"
@@ -33,23 +33,32 @@ AC_DEFUN([gt_INTL_MACOSX],
     AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
       [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
   fi
-  dnl Check for API introduced in Mac OS X 10.3.
-  AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
+  dnl Don't check for the API introduced in Mac OS X 10.5, CFLocaleCopyCurrent,
+  dnl because in macOS 10.13.4 it has the following behaviour:
+  dnl When two or more languages are specified in the
+  dnl "System Preferences > Language & Region > Preferred Languages" panel,
+  dnl it returns en_CC where CC is the territory (even when English is not among
+  dnl the preferred languages!).  What we want instead is what
+  dnl CFLocaleCopyCurrent returned in earlier macOS releases and what
+  dnl CFPreferencesCopyAppValue still returns, namely ll_CC where ll is the
+  dnl first among the preferred languages and CC is the territory.
+  AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages],
     [gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
      AC_LINK_IFELSE(
        [AC_LANG_PROGRAM(
           [[#include <CoreFoundation/CFLocale.h>]],
-          [[CFLocaleCopyCurrent();]])],
-       [gt_cv_func_CFLocaleCopyCurrent=yes],
-       [gt_cv_func_CFLocaleCopyCurrent=no])
+          [[CFLocaleCopyPreferredLanguages();]])],
+       [gt_cv_func_CFLocaleCopyPreferredLanguages=yes],
+       [gt_cv_func_CFLocaleCopyPreferredLanguages=no])
      LIBS="$gt_save_LIBS"])
-  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
-      [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+  if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
+    AC_DEFINE([HAVE_CFLOCALECOPYPREFERREDLANGUAGES], [1],
+      [Define to 1 if you have the Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework.])
   fi
   INTL_MACOSX_LIBS=
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
+     || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
     INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
   fi
   AC_SUBST([INTL_MACOSX_LIBS])
index 00251e1dbf487ceaf58c48c925da23312bee5cf4..38fe118a3426f64f0db3d60ef98b3cb07453a9b5 100644 (file)
@@ -1,5 +1,5 @@
 # inttypes-pri.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1997-2002, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2002, 2006, 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.
index 2f9317d9550532e946e99d347651428a036f7815..c58a1bec4744437efe43a774d8c061b6e15293f1 100644 (file)
@@ -1,5 +1,5 @@
-# inttypes.m4 serial 26
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# inttypes.m4 serial 27
+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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -147,6 +147,7 @@ AC_DEFUN([gl_INTTYPES_H_DEFAULTS],
   HAVE_DECL_IMAXDIV=1;   AC_SUBST([HAVE_DECL_IMAXDIV])
   HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX])
   HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX])
+  HAVE_IMAXDIV_T=1;      AC_SUBST([HAVE_IMAXDIV_T])
   REPLACE_STRTOIMAX=0;   AC_SUBST([REPLACE_STRTOIMAX])
   REPLACE_STRTOUMAX=0;   AC_SUBST([REPLACE_STRTOUMAX])
   INT32_MAX_LT_INTMAX_MAX=1;  AC_SUBST([INT32_MAX_LT_INTMAX_MAX])
diff --git a/m4/ioctl.m4 b/m4/ioctl.m4
new file mode 100644 (file)
index 0000000..2d00611
--- /dev/null
@@ -0,0 +1,44 @@
+# ioctl.m4 serial 5
+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.
+
+AC_DEFUN([gl_FUNC_IOCTL],
+[
+  AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])
+  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+  HAVE_IOCTL=1
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    dnl Even if the 'socket' module is not used here, another part of the
+    dnl application may use it and pass file descriptors that refer to
+    dnl sockets to the ioctl() function. So enable the support for sockets.
+    HAVE_IOCTL=0
+  else
+    AC_CHECK_FUNCS([ioctl])
+    dnl On glibc systems, the second parameter is 'unsigned long int request',
+    dnl not 'int request'. We cannot simply cast the function pointer, but
+    dnl instead need a wrapper.
+    AC_CACHE_CHECK([for ioctl with POSIX signature],
+      [gl_cv_func_ioctl_posix_signature],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#include <sys/ioctl.h>
+              /* On some platforms, ioctl() is declared in <unistd.h>.  */
+              #include <unistd.h>
+            ]],
+            [[extern
+              #ifdef __cplusplus
+              "C"
+              #endif
+              int ioctl (int, int, ...);
+            ]])
+         ],
+         [gl_cv_func_ioctl_posix_signature=yes],
+         [gl_cv_func_ioctl_posix_signature=no])
+      ])
+    if test $gl_cv_func_ioctl_posix_signature != yes; then
+      REPLACE_IOCTL=1
+    fi
+  fi
+])
diff --git a/m4/isblank.m4 b/m4/isblank.m4
new file mode 100644 (file)
index 0000000..817084e
--- /dev/null
@@ -0,0 +1,17 @@
+# isblank.m4 serial 3
+dnl Copyright (C) 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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_ISBLANK],
+[
+  dnl Persuade glibc <ctype.h> to declare isblank().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  AC_REQUIRE([gl_CTYPE_H_DEFAULTS])
+  AC_CHECK_FUNCS_ONCE([isblank])
+  if test $ac_cv_func_isblank = no; then
+    HAVE_ISBLANK=0
+  fi
+])
index e8d78f9d01aa35176b1d57e2999344071456b50a..76385d817c433f9f70d76fc22d4aeae309ba8fc2 100644 (file)
@@ -1,5 +1,5 @@
-# langinfo_h.m4 serial 7
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# langinfo_h.m4 serial 8
+dnl Copyright (C) 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -17,6 +17,7 @@ AC_DEFUN([gl_LANGINFO_H],
   dnl Determine whether <langinfo.h> exists. It is missing on mingw and BeOS.
   HAVE_LANGINFO_CODESET=0
   HAVE_LANGINFO_T_FMT_AMPM=0
+  HAVE_LANGINFO_ALTMON=0
   HAVE_LANGINFO_ERA=0
   HAVE_LANGINFO_YESEXPR=0
   AC_CHECK_HEADERS_ONCE([langinfo.h])
@@ -24,6 +25,7 @@ AC_DEFUN([gl_LANGINFO_H],
     HAVE_LANGINFO_H=1
     dnl Determine what <langinfo.h> defines. CODESET and ERA etc. are missing
     dnl on OpenBSD 3.8. T_FMT_AMPM and YESEXPR, NOEXPR are missing on IRIX 5.3.
+    dnl ALTMON_* are missing on glibc 2.26 and many other systems.
     AC_CACHE_CHECK([whether langinfo.h defines CODESET],
       [gl_cv_header_langinfo_codeset],
       [AC_COMPILE_IFELSE(
@@ -48,6 +50,18 @@ int a = T_FMT_AMPM;
     if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then
       HAVE_LANGINFO_T_FMT_AMPM=1
     fi
+    AC_CACHE_CHECK([whether langinfo.h defines ALTMON_1],
+      [gl_cv_header_langinfo_altmon],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[#include <langinfo.h>
+int a = ALTMON_1;
+]])],
+         [gl_cv_header_langinfo_altmon=yes],
+         [gl_cv_header_langinfo_altmon=no])
+      ])
+    if test $gl_cv_header_langinfo_altmon = yes; then
+      HAVE_LANGINFO_ALTMON=1
+    fi
     AC_CACHE_CHECK([whether langinfo.h defines ERA],
       [gl_cv_header_langinfo_era],
       [AC_COMPILE_IFELSE(
@@ -78,6 +92,7 @@ int a = YESEXPR;
   AC_SUBST([HAVE_LANGINFO_H])
   AC_SUBST([HAVE_LANGINFO_CODESET])
   AC_SUBST([HAVE_LANGINFO_T_FMT_AMPM])
+  AC_SUBST([HAVE_LANGINFO_ALTMON])
   AC_SUBST([HAVE_LANGINFO_ERA])
   AC_SUBST([HAVE_LANGINFO_YESEXPR])
 
index a1b564ad9afbc598da1ce9e57b8feca53f16f497..1938188c17b998ff7eb1c5edb2b439d824aab4b6 100644 (file)
@@ -1,6 +1,6 @@
 # Enable large files on systems where this is not the default.
 
-# Copyright 1992-1996, 1998-2014 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -126,9 +126,24 @@ AC_DEFUN([gl_LARGEFILE],
       else
         WINDOWS_64_BIT_OFF_T=0
       fi
-      dnl But all native Windows platforms (including mingw64) have a 32-bit
-      dnl st_size member in 'struct stat'.
-      WINDOWS_64_BIT_ST_SIZE=1
+      dnl Some mingw versions define, if _FILE_OFFSET_BITS=64, 'struct stat'
+      dnl to 'struct _stat32i64' or 'struct _stat64' (depending on
+      dnl _USE_32BIT_TIME_T), which has a 32-bit st_size member.
+      AC_CACHE_CHECK([for 64-bit st_size], [gl_cv_member_st_size_64],
+        [AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM(
+              [[#include <sys/types.h>
+                struct stat buf;
+                int verify_st_size_size[sizeof (buf.st_size) >= 8 ? 1 : -1];
+              ]],
+              [[]])],
+           [gl_cv_member_st_size_64=yes], [gl_cv_member_st_size_64=no])
+        ])
+      if test $gl_cv_member_st_size_64 = no; then
+        WINDOWS_64_BIT_ST_SIZE=1
+      else
+        WINDOWS_64_BIT_ST_SIZE=0
+      fi
       ;;
     *)
       dnl Nothing to do on gnulib's side.
index 7470ec5973ad7e98438b1786153ce76505583c05..8d32e10f9f1fd81af3be0cd1ab4b104d7be8f8e1 100644 (file)
@@ -1,17 +1,17 @@
 # lcmessage.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014 Free Software Foundation,
-dnl Inc.
+dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014, 2016, 2019 Free Software
+dnl 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
-dnl This file can can be used in projects which are not available under
+dnl This file can be used in projects which are not available under
 dnl the GNU General Public License or the GNU Library General Public
 dnl License but which still want to provide support for the GNU gettext
 dnl functionality.
 dnl Please note that the actual code of the GNU gettext library is covered
 dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
+dnl gettext package is covered by the GNU General Public License.
 dnl They are *not* in the public domain.
 
 dnl Authors:
index 7baa52833f8a524ae6f2e04a49c55d1b6f15c53b..1c198f9650b2704e4093bd877a6f31893040c29e 100644 (file)
@@ -1,6 +1,6 @@
 # If possible, ignore libraries that are not depended on.
 
-dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -53,7 +53,7 @@ AC_DEFUN([gl_IGNORE_UNUSED_LIBRARIES],
      gl_saved_ldflags=$LDFLAGS
      gl_saved_libs=$LIBS
      # Link with -lm to detect binutils 2.16 bug with --as-needed; see
-     # <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00131.html>.
+     # <https://lists.gnu.org/r/bug-gnulib/2006-06/msg00131.html>.
      LIBS="$LIBS -lm"
      # Use long option sequences like '-z ignore' to test for the feature,
      # to forestall problems with linkers that have -z, -i, -g, -n, etc. flags.
index ddc569f73646f480b6bf5f8afa9ba3cf67d21dc4..a18719630d59538c0c03a8677aca2adcd63313aa 100644 (file)
@@ -1,5 +1,5 @@
-# lib-ld.m4 serial 6
-dnl Copyright (C) 1996-2003, 2009-2014 Free Software Foundation, Inc.
+# lib-ld.m4 serial 9
+dnl Copyright (C) 1996-2003, 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -47,73 +47,122 @@ if test "${PATH_SEPARATOR+set}" != set; then
        }
 fi
 
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
+if test -n "$LD"; then
+  AC_MSG_CHECKING([for ld])
+elif test "$GCC" = yes; then
   AC_MSG_CHECKING([for ld used by $CC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]]* | ?:[[\\/]]*)
-      re_direlt='/[[^/]][[^/]]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
-      while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
-        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
 elif test "$with_gnu_ld" = yes; then
   AC_MSG_CHECKING([for GNU ld])
 else
   AC_MSG_CHECKING([for non-GNU ld])
 fi
-AC_CACHE_VAL([acl_cv_path_LD],
-[if test -z "$LD"; then
-  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
-        ;;
+if test -n "$LD"; then
+  # Let the user override the test with a path.
+  :
+else
+  AC_CACHE_VAL([acl_cv_path_LD],
+  [
+    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
-  done
-  IFS="$acl_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
+    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*)
+        AC_COMPILE_IFELSE(
+          [AC_LANG_SOURCE(
+             [[#if defined __powerpc64__ || defined _ARCH_PPC64
+                int ok;
+               #else
+                error fail
+               #endif
+             ]])],
+          [# 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
+          ], [])
+        ;;
+      sparc64-*-netbsd*)
+        AC_COMPILE_IFELSE(
+          [AC_LANG_SOURCE(
+             [[#if defined __sparcv9 || defined __arch64__
+                int ok;
+               #else
+                error fail
+               #endif
+             ]])],
+          [],
+          [# 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
+          ])
+        ;;
+    esac
+  ])
+  LD="$acl_cv_path_LD"
+fi
 if test -n "$LD"; then
   AC_MSG_RESULT([$LD])
 else
   AC_MSG_RESULT([no])
+  AC_MSG_ERROR([no acceptable ld found in \$PATH])
 fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
 AC_LIB_PROG_LD_GNU
 ])
index 3522d994d271334afbb80d173c3e998a8697f967..0ff10731facd82df2d2e94453bbbf44b0d475965 100644 (file)
@@ -1,12 +1,12 @@
-# lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# lib-link.m4 serial 28
+dnl Copyright (C) 2001-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 Bruno Haible.
 
-AC_PREREQ([2.54])
+AC_PREREQ([2.61])
 
 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
 dnl the libraries corresponding to explicit and implicit dependencies.
@@ -124,8 +124,8 @@ dnl   acl_hardcode_direct,
 dnl   acl_hardcode_minus_L.
 AC_DEFUN([AC_LIB_RPATH],
 [
-  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
-  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+  dnl Complain if config.rpath is missing.
+  AC_REQUIRE_AUX_FILE([config.rpath])
   AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
@@ -187,17 +187,15 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
   pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
                                      [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
-  dnl Autoconf >= 2.61 supports dots in --with options.
-  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
   dnl By default, look in $includedir and $libdir.
   use_additional=yes
   AC_LIB_WITH_FINAL_PREFIX([
     eval additional_includedir=\"$includedir\"
     eval additional_libdir=\"$libdir\"
   ])
-  AC_ARG_WITH(P_A_C_K[-prefix],
-[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
-  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
+  AC_ARG_WITH(PACK[-prefix],
+[[  --with-]]PACK[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
+  --without-]]PACK[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
 [
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -211,7 +209,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
         if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
+           && test ! -d "$withval/$acl_libdirstem"; then
           additional_libdir="$withval/$acl_libdirstem2"
         fi
       fi
@@ -670,7 +668,6 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
     done
   fi
-  popdef([P_A_C_K])
   popdef([PACKLIBS])
   popdef([PACKUP])
   popdef([PACK])
index 31f49e40aa4bb3ca7f28e14e819395b58438b923..8adb17bb9167df0d9efa87e3da6e5bec47033389 100644 (file)
@@ -1,18 +1,11 @@
-# lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2014 Free Software Foundation, Inc.
+# lib-prefix.m4 serial 14
+dnl Copyright (C) 2001-2005, 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 Bruno Haible.
 
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
 dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
 dnl to access previously installed libraries. The basic assumption is that
 dnl a user will want packages to use other packages he previously installed
@@ -32,9 +25,9 @@ AC_DEFUN([AC_LIB_PREFIX],
     eval additional_includedir=\"$includedir\"
     eval additional_libdir=\"$libdir\"
   ])
-  AC_LIB_ARG_WITH([lib-prefix],
-[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
-  --without-lib-prefix    don't search for libraries in includedir and libdir],
+  AC_ARG_WITH([lib-prefix],
+[[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+  --without-lib-prefix    don't search for libraries in includedir and libdir]],
 [
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -174,51 +167,83 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
   dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
   dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
   AC_REQUIRE([AC_CANONICAL_HOST])
-  acl_libdirstem=lib
-  acl_libdirstem2=
+  AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT])
+
   case "$host_os" in
     solaris*)
-      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
-      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
-      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
-      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
-      dnl symlink is missing, so we set acl_libdirstem2 too.
       AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
-        [AC_EGREP_CPP([sixtyfour bits], [
-#ifdef _LP64
-sixtyfour bits
-#endif
-           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
-        ])
-      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
-      ;;
-    *)
-      searchpath=`(LC_ALL=C $CC -print-search-dirs) 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
-      ;;
+        [AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef _LP64
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_solaris_64bit=yes],
+           [gl_cv_solaris_64bit=no])
+        ]);;
   esac
-  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+
+  dnl Allow the user to override the result by setting acl_cv_libdirstems.
+  AC_CACHE_CHECK([for the common suffixes of directories in the library search path],
+    [acl_cv_libdirstems],
+    [acl_libdirstem=lib
+     acl_libdirstem2=
+     case "$host_os" in
+       solaris*)
+         dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+         dnl <https://docs.oracle.com/cd/E19253-01/816-5138/dev-env/index.html>.
+         dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+         dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+         dnl symlink is missing, so we set acl_libdirstem2 too.
+         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
+         ;;
+       *)
+         dnl If $CC generates code for a 32-bit ABI, the libraries are
+         dnl surely under $prefix/lib, not $prefix/lib64.
+         if test "$HOST_CPU_C_ABI_32BIT" != yes; then
+           dnl The result is a property of the system. However, non-system
+           dnl compilers sometimes have odd library search paths. Therefore
+           dnl prefer asking /usr/bin/gcc, if available, rather than $CC.
+           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"
+    ])
+  # 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/.*,//'`
 ])
index d7c043f4f998971f1b81f7ab2c1e095fef45dee5..a644432f431895cff03337b765a7389c7fd0c221 100644 (file)
@@ -1,8 +1,6 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-#                 Foundation, Inc.
+#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
 # modifications, as long as this notice is preserved.
 
 m4_define([_LT_COPYING], [dnl
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-#                 Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool 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 2 of
-# the License, or (at your option) any later version.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool 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 2 of of the License, or
+# (at your option) any later version.
 #
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the  same
+# distribution terms that you use for the rest of that program.
 #
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 ])
 
-# serial 57 LT_INIT
+# serial 58 LT_INIT
 
 
 # LT_PREREQ(VERSION)
@@ -67,7 +59,7 @@ esac
 # LT_INIT([OPTIONS])
 # ------------------
 AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
 AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
 AC_BEFORE([$0], [LT_LANG])dnl
 AC_BEFORE([$0], [LT_OUTPUT])dnl
@@ -91,7 +83,7 @@ dnl Parse OPTIONS
 _LT_SET_OPTIONS([$0], [$1])
 
 # This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
+LIBTOOL_DEPS=$ltmain
 
 # Always use our own libtool.
 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -111,26 +103,43 @@ dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
 dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
 
 
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in @S|@*""; do
+      case $cc_temp in
+        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
 # _LT_CC_BASENAME(CC)
 # -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
 m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
-  case $cc_temp in
-    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
 ])
 
 
 # _LT_FILEUTILS_DEFAULTS
 # ----------------------
 # It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
 m4_defun([_LT_FILEUTILS_DEFAULTS],
 [: ${CP="cp -f"}
 : ${MV="mv -f"}
@@ -177,15 +186,16 @@ m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
 m4_require([_LT_CMD_OLD_ARCHIVE])dnl
 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
 m4_require([_LT_WITH_SYSROOT])dnl
+m4_require([_LT_CMD_TRUNCATE])dnl
 
 _LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
+# See if we are running on zsh, and set the options that allow our
 # commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
+if test -n "\${ZSH_VERSION+set}"; then
    setopt NO_GLOB_SUBST
 fi
 ])
-if test -n "${ZSH_VERSION+set}" ; then
+if test -n "${ZSH_VERSION+set}"; then
    setopt NO_GLOB_SUBST
 fi
 
@@ -198,7 +208,7 @@ aix3*)
   # AIX sometimes has problems with the GCC collect2 program.  For some
   # reason, if we set the COLLECT_NAMES environment variable, the problems
   # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
+  if test set != "${COLLECT_NAMES+set}"; then
     COLLECT_NAMES=
     export COLLECT_NAMES
   fi
@@ -209,14 +219,14 @@ esac
 ofile=libtool
 can_build_shared=yes
 
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+with_gnu_ld=$lt_cv_prog_gnu_ld
 
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+old_CC=$CC
+old_CFLAGS=$CFLAGS
 
 # Set sane defaults for various variables
 test -z "$CC" && CC=cc
@@ -269,14 +279,14 @@ no_glob_subst='s/\*/\\\*/g'
 
 # _LT_PROG_LTMAIN
 # ---------------
-# Note that this code is called both from `configure', and `config.status'
+# Note that this code is called both from 'configure', and 'config.status'
 # now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# 'config.status' has no value for ac_aux_dir unless we are using Automake,
 # so we pass a copy along to make sure it has a sensible value anyway.
 m4_defun([_LT_PROG_LTMAIN],
 [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
 _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
 ])# _LT_PROG_LTMAIN
 
 
@@ -286,7 +296,7 @@ ltmain="$ac_aux_dir/ltmain.sh"
 
 # So that we can recreate a full libtool script including additional
 # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
+# in macros and then make a single call at the end using the 'libtool'
 # label.
 
 
@@ -421,8 +431,8 @@ m4_define([_lt_decl_all_varnames],
 
 # _LT_CONFIG_STATUS_DECLARE([VARNAME])
 # ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'.  VARNAME
+# Quote a variable value, and forward it to 'config.status' so that its
+# declaration there will have the same value as in 'configure'.  VARNAME
 # must have a single quote delimited value for this to work.
 m4_define([_LT_CONFIG_STATUS_DECLARE],
 [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
@@ -446,7 +456,7 @@ m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
 # Output comment and list of tags supported by the script
 m4_defun([_LT_LIBTOOL_TAGS],
 [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
+available_tags='_LT_TAGS'dnl
 ])
 
 
@@ -474,7 +484,7 @@ m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
 # _LT_LIBTOOL_CONFIG_VARS
 # -----------------------
 # Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
 # script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
 # section) are produced by _LT_LIBTOOL_TAG_VARS.
 m4_defun([_LT_LIBTOOL_CONFIG_VARS],
@@ -500,8 +510,8 @@ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
 # Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
 # variables for single and double quote escaping we saved from calls
 # to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'.  Finally, any additional code accumulated
+# into 'config.status', and then the shell code to quote escape them in
+# for loops in 'config.status'.  Finally, any additional code accumulated
 # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
 m4_defun([_LT_CONFIG_COMMANDS],
 [AC_PROVIDE_IFELSE([LT_OUTPUT],
@@ -547,7 +557,7 @@ for var in lt_decl_all_varnames([[ \
 ]], lt_decl_quote_varnames); do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -560,7 +570,7 @@ for var in lt_decl_all_varnames([[ \
 ]], lt_decl_dquote_varnames); do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -576,7 +586,7 @@ _LT_OUTPUT_LIBTOOL_INIT
 # Generate a child script FILE with all initialization necessary to
 # reuse the environment learned by the parent script, and make the
 # file executable.  If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins.  After this
+# '#!' sequence but before initialization text begins.  After this
 # macro, additional text can be appended to FILE to form the body of
 # the child script.  The macro ends with non-zero status if the
 # file could not be fully written (such as if the disk is full).
@@ -598,7 +608,7 @@ AS_SHELL_SANITIZE
 _AS_PREPARE
 exec AS_MESSAGE_FD>&1
 _ASEOF
-test $lt_write_fail = 0 && chmod +x $1[]dnl
+test 0 = "$lt_write_fail" && chmod +x $1[]dnl
 m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
 
 # LT_OUTPUT
@@ -621,7 +631,7 @@ exec AS_MESSAGE_LOG_FD>>config.log
 } >&AS_MESSAGE_LOG_FD
 
 lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
+'$as_me' creates a local libtool stub from the current configuration,
 for use in further configure time tests before the real libtool is
 generated.
 
@@ -643,7 +653,7 @@ Copyright (C) 2011 Free Software Foundation, Inc.
 This config.lt script is free software; the Free Software Foundation
 gives unlimited permision to copy, distribute and modify it."
 
-while test $[#] != 0
+while test 0 != $[#]
 do
   case $[1] in
     --version | --v* | -V )
@@ -656,10 +666,10 @@ do
       lt_cl_silent=: ;;
 
     -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
+Try '$[0] --help' for more information.]) ;;
 
     *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
+Try '$[0] --help' for more information.]) ;;
   esac
   shift
 done
@@ -685,7 +695,7 @@ chmod +x "$CONFIG_LT"
 # open by configure.  Here we exec the FD to /dev/null, effectively closing
 # config.log, so it can be properly (re)opened and appended to by config.lt.
 lt_cl_success=:
-test "$silent" = yes &&
+test yes = "$silent" &&
   lt_config_lt_args="$lt_config_lt_args --quiet"
 exec AS_MESSAGE_LOG_FD>/dev/null
 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
@@ -705,32 +715,47 @@ m4_defun([_LT_CONFIG],
 _LT_CONFIG_SAVE_COMMANDS([
   m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
   m4_if(_LT_TAG, [C], [
-    # See if we are running on zsh, and set the options which allow our
+    # See if we are running on zsh, and set the options that allow our
     # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
+    if test -n "${ZSH_VERSION+set}"; then
       setopt NO_GLOB_SUBST
     fi
 
-    cfgfile="${ofile}T"
+    cfgfile=${ofile}T
     trap "$RM \"$cfgfile\"; exit 1" 1 2 15
     $RM "$cfgfile"
 
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Generated automatically by $as_me ($PACKAGE) $VERSION
 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
 _LT_COPYING
 _LT_LIBTOOL_TAGS
 
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
 # ### BEGIN LIBTOOL CONFIG
 _LT_LIBTOOL_CONFIG_VARS
 _LT_LIBTOOL_TAG_VARS
 # ### END LIBTOOL CONFIG
 
+_LT_EOF
+
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
 _LT_EOF
 
   case $host_os in
@@ -739,7 +764,7 @@ _LT_EOF
 # AIX sometimes has problems with the GCC collect2 program.  For some
 # reason, if we set the COLLECT_NAMES environment variable, the problems
 # vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
+if test set != "${COLLECT_NAMES+set}"; then
   COLLECT_NAMES=
   export COLLECT_NAMES
 fi
@@ -756,8 +781,6 @@ _LT_EOF
   sed '$q' "$ltmain" >> "$cfgfile" \
      || (rm -f "$cfgfile"; exit 1)
 
-  _LT_PROG_REPLACE_SHELLFNS
-
    mv -f "$cfgfile" "$ofile" ||
     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
   chmod +x "$ofile"
@@ -775,7 +798,6 @@ _LT_EOF
 [m4_if([$1], [], [
     PACKAGE='$PACKAGE'
     VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
     RM='$RM'
     ofile='$ofile'], [])
 ])dnl /_LT_CONFIG_SAVE_COMMANDS
@@ -974,7 +996,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 
     AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
       [lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
+      if test -z "$LT_MULTI_MODULE"; then
        # By default we will add the -single_module flag. You can override
        # by either setting the environment variable LT_MULTI_MODULE
        # non-empty at configure time, or by adding -multi_module to the
@@ -992,7 +1014,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
          cat conftest.err >&AS_MESSAGE_LOG_FD
        # Otherwise, if the output was created with a 0 exit code from
        # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+       elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
          lt_cv_apple_cc_single_mod=yes
        else
          cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1010,7 +1032,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
       AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
        [lt_cv_ld_exported_symbols_list=yes],
        [lt_cv_ld_exported_symbols_list=no])
-       LDFLAGS="$save_LDFLAGS"
+       LDFLAGS=$save_LDFLAGS
     ])
 
     AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
@@ -1032,7 +1054,7 @@ _LT_EOF
       _lt_result=$?
       if test -s conftest.err && $GREP force_load conftest.err; then
        cat conftest.err >&AS_MESSAGE_LOG_FD
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
        lt_cv_ld_force_load=yes
       else
        cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1042,32 +1064,32 @@ _LT_EOF
     ])
     case $host_os in
     rhapsody* | darwin1.[[012]])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
     darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
     darwin*) # darwin 5.x on
       # if running on 10.5 or later, the deployment target defaults
       # to the OS version, if on x86, and 10.4, the deployment
       # target defaults to 10.4. Don't you love it?
       case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
        10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[[012]]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+       10.[[012]][[,.]]*)
+         _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
        10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
       esac
     ;;
   esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+    if test yes = "$lt_cv_apple_cc_single_mod"; then
       _lt_dar_single_mod='$single_module'
     fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    if test yes = "$lt_cv_ld_exported_symbols_list"; then
+      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
     else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
     fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
       _lt_dsymutil='~$DSYMUTIL $lib || :'
     else
       _lt_dsymutil=
@@ -1087,29 +1109,29 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
   _LT_TAGVAR(hardcode_direct, $1)=no
   _LT_TAGVAR(hardcode_automatic, $1)=yes
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+  if test yes = "$lt_cv_ld_force_load"; then
+    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
     m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
                   [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
   else
     _LT_TAGVAR(whole_archive_flag_spec, $1)=''
   fi
   _LT_TAGVAR(link_all_deplibs, $1)=yes
-  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
   case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
+     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
      *) _lt_dar_can_shared=$GCC ;;
   esac
-  if test "$_lt_dar_can_shared" = "yes"; then
+  if test yes = "$_lt_dar_can_shared"; then
     output_verbose_link_cmd=func_echo_all
-    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
     m4_if([$1], [CXX],
-[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+[   if test yes != "$lt_cv_apple_cc_single_mod"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
     fi
 ],[])
   else
@@ -1129,7 +1151,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
 # Allow to override them for all tags through lt_cv_aix_libpath.
 m4_defun([_LT_SYS_MODULE_PATH_AIX],
 [m4_require([_LT_DECL_SED])dnl
-if test "${lt_cv_aix_libpath+set}" = set; then
+if test set = "${lt_cv_aix_libpath+set}"; then
   aix_libpath=$lt_cv_aix_libpath
 else
   AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
@@ -1147,7 +1169,7 @@ else
     _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
   fi],[])
   if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
-    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
   fi
   ])
   aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
@@ -1167,8 +1189,8 @@ m4_define([_LT_SHELL_INIT],
 # -----------------------
 # Find how we can fake an echo command that does not interpret backslash.
 # In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script which will find a shell with a builtin
-# printf (which we can use as an echo command).
+# of the generated configure script that will find a shell with a builtin
+# printf (that we can use as an echo command).
 m4_defun([_LT_PROG_ECHO_BACKSLASH],
 [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
@@ -1196,10 +1218,10 @@ fi
 # Invoke $ECHO with all args, space-separated.
 func_echo_all ()
 {
-    $ECHO "$*" 
+    $ECHO "$*"
 }
 
-case "$ECHO" in
+case $ECHO in
   printf*) AC_MSG_RESULT([printf]) ;;
   print*) AC_MSG_RESULT([print -r]) ;;
   *) AC_MSG_RESULT([cat]) ;;
@@ -1225,16 +1247,17 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
 AC_DEFUN([_LT_WITH_SYSROOT],
 [AC_MSG_CHECKING([for sysroot])
 AC_ARG_WITH([sysroot],
-[  --with-sysroot[=DIR] Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
+  [Search for dependent libraries within DIR (or the compiler's sysroot
+   if not specified).])],
 [], [with_sysroot=no])
 
 dnl lt_sysroot will always be passed unquoted.  We quote it here
 dnl in case the user passed a directory name.
 lt_sysroot=
-case ${with_sysroot} in #(
+case $with_sysroot in #(
  yes)
-   if test "$GCC" = yes; then
+   if test yes = "$GCC"; then
      lt_sysroot=`$CC --print-sysroot 2>/dev/null`
    fi
    ;; #(
@@ -1244,14 +1267,14 @@ case ${with_sysroot} in #(
  no|'')
    ;; #(
  *)
-   AC_MSG_RESULT([${with_sysroot}])
+   AC_MSG_RESULT([$with_sysroot])
    AC_MSG_ERROR([The sysroot must be an absolute path.])
    ;;
 esac
 
  AC_MSG_RESULT([${lt_sysroot:-no}])
 _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and in which our libraries should be installed.])])
+[dependent libraries, and where our libraries should be installed.])])
 
 # _LT_ENABLE_LOCK
 # ---------------
@@ -1259,31 +1282,33 @@ m4_defun([_LT_ENABLE_LOCK],
 [AC_ARG_ENABLE([libtool-lock],
   [AS_HELP_STRING([--disable-libtool-lock],
     [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
 
 # Some flags need to be propagated to the compiler or linker for good
 # libtool support.
 case $host in
 ia64-*-hpux*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set mode
+  # options accordingly.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.$ac_objext` in
       *ELF-32*)
-       HPUX_IA64_MODE="32"
+       HPUX_IA64_MODE=32
        ;;
       *ELF-64*)
-       HPUX_IA64_MODE="64"
+       HPUX_IA64_MODE=64
        ;;
     esac
   fi
   rm -rf conftest*
   ;;
 *-*-irix6*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
   echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
+    if test yes = "$lt_cv_prog_gnu_ld"; then
       case `/usr/bin/file conftest.$ac_objext` in
        *32-bit*)
          LD="${LD-ld} -melf32bsmip"
@@ -1312,9 +1337,46 @@ ia64-*-hpux*)
   rm -rf conftest*
   ;;
 
+mips64*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    emul=elf
+    case `/usr/bin/file conftest.$ac_objext` in
+      *32-bit*)
+       emul="${emul}32"
+       ;;
+      *64-bit*)
+       emul="${emul}64"
+       ;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *MSB*)
+       emul="${emul}btsmip"
+       ;;
+      *LSB*)
+       emul="${emul}ltsmip"
+       ;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *N32*)
+       emul="${emul}n32"
+       ;;
+    esac
+    LD="${LD-ld} -m $emul"
+  fi
+  rm -rf conftest*
+  ;;
+
 x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.  Note that the listed cases only cover the
+  # situations where additional linker options are needed (such as when
+  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+  # vice versa); the common cases where no linker options are needed do
+  # not appear in the list.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
@@ -1333,10 +1395,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
                ;;
            esac
            ;;
-         powerpc64le-*)
+         powerpc64le-*linux*)
            LD="${LD-ld} -m elf32lppclinux"
            ;;
-         powerpc64-*)
+         powerpc64-*linux*)
            LD="${LD-ld} -m elf32ppclinux"
            ;;
          s390x-*linux*)
@@ -1355,10 +1417,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
          x86_64-*linux*)
            LD="${LD-ld} -m elf_x86_64"
            ;;
-         powerpcle-*)
+         powerpcle-*linux*)
            LD="${LD-ld} -m elf64lppc"
            ;;
-         powerpc-*)
+         powerpc-*linux*)
            LD="${LD-ld} -m elf64ppc"
            ;;
          s390*-*linux*|s390*-*tpf*)
@@ -1376,19 +1438,20 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 
 *-*-sco3.2v5*)
   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
+  SAVE_CFLAGS=$CFLAGS
   CFLAGS="$CFLAGS -belf"
   AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
     [AC_LANG_PUSH(C)
      AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
      AC_LANG_POP])
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+  if test yes != "$lt_cv_cc_needs_belf"; then
     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
+    CFLAGS=$SAVE_CFLAGS
   fi
   ;;
 *-*solaris*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
@@ -1396,7 +1459,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
       case $lt_cv_prog_gnu_ld in
       yes*)
         case $host in
-        i?86-*-solaris*)
+        i?86-*-solaris*|x86_64-*-solaris*)
           LD="${LD-ld} -m elf_x86_64"
           ;;
         sparc*-*-solaris*)
@@ -1405,7 +1468,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
         esac
         # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
         if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
+          LD=${LD-ld}_sol2
         fi
         ;;
       *)
@@ -1421,7 +1484,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
   ;;
 esac
 
-need_locks="$enable_libtool_lock"
+need_locks=$enable_libtool_lock
 ])# _LT_ENABLE_LOCK
 
 
@@ -1440,11 +1503,11 @@ AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
      [echo conftest.$ac_objext > conftest.lst
       lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
       AC_TRY_EVAL([lt_ar_try])
-      if test "$ac_status" -eq 0; then
+      if test 0 -eq "$ac_status"; then
        # Ensure the archiver fails upon bogus file names.
        rm -f conftest.$ac_objext libconftest.a
        AC_TRY_EVAL([lt_ar_try])
-       if test "$ac_status" -ne 0; then
+       if test 0 -ne "$ac_status"; then
           lt_cv_ar_at_file=@
         fi
       fi
@@ -1452,7 +1515,7 @@ AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
      ])
   ])
 
-if test "x$lt_cv_ar_at_file" = xno; then
+if test no = "$lt_cv_ar_at_file"; then
   archiver_list_spec=
 else
   archiver_list_spec=$lt_cv_ar_at_file
@@ -1483,7 +1546,7 @@ old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
   case $host_os in
-  openbsd*)
+  bitrig* | openbsd*)
     old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
@@ -1519,7 +1582,7 @@ AC_CACHE_CHECK([$1], [$2],
   [$2=no
    m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"
+   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
    # Note that $ac_compile itself does not contain backslashes and begins
@@ -1546,7 +1609,7 @@ AC_CACHE_CHECK([$1], [$2],
    $RM conftest*
 ])
 
-if test x"[$]$2" = xyes; then
+if test yes = "[$]$2"; then
     m4_if([$5], , :, [$5])
 else
     m4_if([$6], , :, [$6])
@@ -1568,7 +1631,7 @@ AC_DEFUN([_LT_LINKER_OPTION],
 m4_require([_LT_DECL_SED])dnl
 AC_CACHE_CHECK([$1], [$2],
   [$2=no
-   save_LDFLAGS="$LDFLAGS"
+   save_LDFLAGS=$LDFLAGS
    LDFLAGS="$LDFLAGS $3"
    echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -1587,10 +1650,10 @@ AC_CACHE_CHECK([$1], [$2],
      fi
    fi
    $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
+   LDFLAGS=$save_LDFLAGS
 ])
 
-if test x"[$]$2" = xyes; then
+if test yes = "[$]$2"; then
     m4_if([$4], , :, [$4])
 else
     m4_if([$5], , :, [$5])
@@ -1611,7 +1674,7 @@ AC_DEFUN([LT_CMD_MAX_LEN],
 AC_MSG_CHECKING([the maximum length of command line arguments])
 AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
   i=0
-  teststring="ABCD"
+  teststring=ABCD
 
   case $build_os in
   msdosdjgpp*)
@@ -1651,7 +1714,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
     # This has been around since 386BSD, at least.  Likely further.
     if test -x /sbin/sysctl; then
       lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -1702,22 +1765,22 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
   *)
     lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
     if test -n "$lt_cv_sys_max_cmd_len" && \
-       test undefined != "$lt_cv_sys_max_cmd_len"; then
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     else
       # Make teststring a little bigger before we do anything with it.
       # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
+      for i in 1 2 3 4 5 6 7 8; do
         teststring=$teststring$teststring
       done
       SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
                 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
+             test 17 != "$i" # 1/2 MB should be enough
       do
         i=`expr $i + 1`
         teststring=$teststring$teststring
@@ -1733,7 +1796,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     ;;
   esac
 ])
-if test -n $lt_cv_sys_max_cmd_len ; then
+if test -n "$lt_cv_sys_max_cmd_len"; then
   AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
 else
   AC_MSG_RESULT(none)
@@ -1761,7 +1824,7 @@ m4_defun([_LT_HEADER_DLFCN],
 # ----------------------------------------------------------------
 m4_defun([_LT_TRY_DLOPEN_SELF],
 [m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
+if test yes = "$cross_compiling"; then :
   [$4]
 else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -1808,9 +1871,9 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
    correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
 int fnord () __attribute__((visibility("default")));
 #endif
 
@@ -1836,7 +1899,7 @@ int main ()
   return status;
 }]
 _LT_EOF
-  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
     (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -1857,7 +1920,7 @@ rm -fr conftest*
 # ------------------
 AC_DEFUN([LT_SYS_DLOPEN_SELF],
 [m4_require([_LT_HEADER_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
+if test yes != "$enable_dlopen"; then
   enable_dlopen=unknown
   enable_dlopen_self=unknown
   enable_dlopen_self_static=unknown
@@ -1867,44 +1930,52 @@ else
 
   case $host_os in
   beos*)
-    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen=load_add_on
     lt_cv_dlopen_libs=
     lt_cv_dlopen_self=yes
     ;;
 
   mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen=LoadLibrary
     lt_cv_dlopen_libs=
     ;;
 
   cygwin*)
-    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen=dlopen
     lt_cv_dlopen_libs=
     ;;
 
   darwin*)
-  # if libdl is installed we need to link against it
+    # if libdl is installed we need to link against it
     AC_CHECK_LIB([dl], [dlopen],
-               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-    lt_cv_dlopen="dyld"
+               [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
+    lt_cv_dlopen=dyld
     lt_cv_dlopen_libs=
     lt_cv_dlopen_self=yes
     ])
     ;;
 
+  tpf*)
+    # Don't try to run any link tests for TPF.  We know it's impossible
+    # because TPF is a cross-compiler, and we know how we open DSOs.
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=no
+    ;;
+
   *)
     AC_CHECK_FUNC([shl_load],
-         [lt_cv_dlopen="shl_load"],
+         [lt_cv_dlopen=shl_load],
       [AC_CHECK_LIB([dld], [shl_load],
-           [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+           [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
        [AC_CHECK_FUNC([dlopen],
-             [lt_cv_dlopen="dlopen"],
+             [lt_cv_dlopen=dlopen],
          [AC_CHECK_LIB([dl], [dlopen],
-               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+               [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
            [AC_CHECK_LIB([svld], [dlopen],
-                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+                 [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
              [AC_CHECK_LIB([dld], [dld_link],
-                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+                   [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
              ])
            ])
          ])
@@ -1913,21 +1984,21 @@ else
     ;;
   esac
 
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
+  if test no = "$lt_cv_dlopen"; then
     enable_dlopen=no
+  else
+    enable_dlopen=yes
   fi
 
   case $lt_cv_dlopen in
   dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+    save_CPPFLAGS=$CPPFLAGS
+    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
 
-    save_LDFLAGS="$LDFLAGS"
+    save_LDFLAGS=$LDFLAGS
     wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
 
-    save_LIBS="$LIBS"
+    save_LIBS=$LIBS
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
     AC_CACHE_CHECK([whether a program can dlopen itself],
@@ -1937,7 +2008,7 @@ else
            lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
     ])
 
-    if test "x$lt_cv_dlopen_self" = xyes; then
+    if test yes = "$lt_cv_dlopen_self"; then
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
          lt_cv_dlopen_self_static, [dnl
@@ -1947,9 +2018,9 @@ else
       ])
     fi
 
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
+    CPPFLAGS=$save_CPPFLAGS
+    LDFLAGS=$save_LDFLAGS
+    LIBS=$save_LIBS
     ;;
   esac
 
@@ -2041,8 +2112,8 @@ m4_defun([_LT_COMPILER_FILE_LOCKS],
 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 _LT_COMPILER_C_O([$1])
 
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
   # do not overwrite the value of need_locks provided by the user
   AC_MSG_CHECKING([if we can lock with hard links])
   hard_links=yes
@@ -2052,8 +2123,8 @@ if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" !=
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   AC_MSG_RESULT([$hard_links])
-  if test "$hard_links" = no; then
-    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+  if test no = "$hard_links"; then
+    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
     need_locks=warn
   fi
 else
@@ -2080,8 +2151,8 @@ objdir=$lt_cv_objdir
 _LT_DECL([], [objdir], [0],
          [The name of the directory that contains temporary libtool files])dnl
 m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
-  [Define to the sub-directory in which libtool stores uninstalled libraries.])
+AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
+  [Define to the sub-directory where libtool stores uninstalled libraries.])
 ])# _LT_CHECK_OBJDIR
 
 
@@ -2093,15 +2164,15 @@ m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
 _LT_TAGVAR(hardcode_action, $1)=
 if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
    test -n "$_LT_TAGVAR(runpath_var, $1)" ||
-   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
 
   # We can hardcode non-existent directories.
-  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
      # If the only mechanism to avoid hardcoding is shlibpath_var, we
      # have to relink, otherwise we might link with an installed library
      # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
-     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
+     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
     # Linking always hardcodes the temporary library directory.
     _LT_TAGVAR(hardcode_action, $1)=relink
   else
@@ -2115,12 +2186,12 @@ else
 fi
 AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
 
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
-   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
+   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
   # Fast installation is not supported
   enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+     test no = "$enable_shared"; then
   # Fast installation is not necessary
   enable_fast_install=needless
 fi
@@ -2144,7 +2215,7 @@ else
 # FIXME - insert some real tests, host_os isn't really good enough
   case $host_os in
   darwin*)
-    if test -n "$STRIP" ; then
+    if test -n "$STRIP"; then
       striplib="$STRIP -x"
       old_striplib="$STRIP -S"
       AC_MSG_RESULT([yes])
@@ -2162,6 +2233,47 @@ _LT_DECL([], [striplib], [1])
 ])# _LT_CMD_STRIPLIB
 
 
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x@S|@2 in
+    x)
+        ;;
+    *:)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+        ;;
+    x:*)
+        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+        ;;
+    *)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
 # _LT_SYS_DYNAMIC_LINKER([TAG])
 # -----------------------------
 # PORTME Fill in your ld.so characteristics
@@ -2172,17 +2284,18 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_OBJDUMP])dnl
 m4_require([_LT_DECL_SED])dnl
 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
 AC_MSG_CHECKING([dynamic linker characteristics])
 m4_if([$1],
        [], [
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
+    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+    *) lt_awk_arg='/^libraries:/' ;;
   esac
   case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
+    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+    *) lt_sed_strip_eq='s|=/|/|g' ;;
   esac
   lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
   case $lt_search_path_spec in
@@ -2198,28 +2311,35 @@ if test "$GCC" = yes; then
     ;;
   esac
   # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
+  # and add multilib dir if necessary...
   lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  # ...but if some path component already ends with the multilib dir we assume
+  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+  case "$lt_multi_os_dir; $lt_search_path_spec " in
+  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+    lt_multi_os_dir=
+    ;;
+  esac
   for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
+    if test -d "$lt_sys_path$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+    elif test -n "$lt_multi_os_dir"; then
       test -d "$lt_sys_path" && \
        lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     fi
   done
   lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
+BEGIN {RS = " "; FS = "/|\n";} {
+  lt_foo = "";
+  lt_count = 0;
   for (lt_i = NF; lt_i > 0; lt_i--) {
     if ($lt_i != "" && $lt_i != ".") {
       if ($lt_i == "..") {
         lt_count++;
       } else {
         if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
+          lt_foo = "/" $lt_i lt_foo;
         } else {
           lt_count--;
         }
@@ -2233,7 +2353,7 @@ BEGIN {RS=" "; FS="/|\n";} {
   # for these hosts.
   case $host_os in
     mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
   esac
   sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
 else
@@ -2242,7 +2362,7 @@ fi])
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
 postinstall_cmds=
 postuninstall_cmds=
 finish_cmds=
@@ -2259,14 +2379,17 @@ hardcode_into_libs=no
 # flags to be left without arguments
 need_version=unknown
 
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
 case $host_os in
 aix3*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
   # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
+  soname_spec='$libname$release$shared_ext$major'
   ;;
 
 aix[[4-9]]*)
@@ -2274,41 +2397,91 @@ aix[[4-9]]*)
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
+  if test ia64 = "$host_cpu"; then
     # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
     shlibpath_var=LD_LIBRARY_PATH
   else
     # With GCC up to 2.95.x, collect2 would create an import file
     # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
+    # the line '#! .'.  This would cause the generated library to
+    # depend on '.', always an invalid library.  This was fixed in
     # development snapshots of GCC prior to 3.0.
     case $host_os in
       aix4 | aix4.[[01]] | aix4.[[01]].*)
       if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
           echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+          echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
        :
       else
        can_build_shared=no
       fi
       ;;
     esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
+    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     # soname into executable. Probably we can add versioning support to
     # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
       # If using run time linking (on AIX 4.2 or later) use lib<name>.so
       # instead of lib<name>.a to let people know that these are not
       # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
       # We preserve .a as extension for shared libraries through AIX4.2
       # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
     shlibpath_var=LIBPATH
   fi
   ;;
@@ -2318,18 +2491,18 @@ amigaos*)
   powerpc)
     # Since July 2007 AmigaOS4 officially supports .so libraries.
     # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     ;;
   m68k)
     library_names_spec='$libname.ixlibrary $libname.a'
     # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
     ;;
   esac
   ;;
 
 beos*)
-  library_names_spec='${libname}${shared_ext}'
+  library_names_spec='$libname$shared_ext'
   dynamic_linker="$host_os ld.so"
   shlibpath_var=LIBRARY_PATH
   ;;
@@ -2337,8 +2510,8 @@ beos*)
 bsdi[[45]]*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -2350,7 +2523,7 @@ bsdi[[45]]*)
 
 cygwin* | mingw* | pw32* | cegcc*)
   version_type=windows
-  shrext_cmds=".dll"
+  shrext_cmds=.dll
   need_version=no
   need_lib_prefix=no
 
@@ -2359,8 +2532,8 @@ cygwin* | mingw* | pw32* | cegcc*)
     # gcc
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
       $install_prog $dir/$dlname \$dldir/$dlname~
@@ -2376,17 +2549,17 @@ cygwin* | mingw* | pw32* | cegcc*)
     case $host_os in
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
 m4_if([$1], [],[
       sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
       ;;
     mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
       ;;
     esac
     dynamic_linker='Win32 ld.exe'
@@ -2395,8 +2568,8 @@ m4_if([$1], [],[
   *,cl*)
     # Native MSVC
     libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
+    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+    library_names_spec='$libname.dll.lib'
 
     case $build_os in
     mingw*)
@@ -2423,7 +2596,7 @@ m4_if([$1], [],[
       sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
       ;;
     *)
-      sys_lib_search_path_spec="$LIB"
+      sys_lib_search_path_spec=$LIB
       if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
         # It is most probably a Windows format PATH.
         sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
@@ -2436,8 +2609,8 @@ m4_if([$1], [],[
     esac
 
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
       $install_prog $dir/$dlname \$dldir/$dlname'
@@ -2450,7 +2623,7 @@ m4_if([$1], [],[
 
   *)
     # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
     dynamic_linker='Win32 ld.exe'
     ;;
   esac
@@ -2463,8 +2636,8 @@ darwin* | rhapsody*)
   version_type=darwin
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
+  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$major$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
@@ -2477,8 +2650,8 @@ dgux*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -2496,12 +2669,13 @@ freebsd* | dragonfly*)
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
     freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
       need_version=yes
       ;;
   esac
@@ -2531,10 +2705,10 @@ haiku*)
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
+  shlibpath_overrides_runpath=no
   sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
   hardcode_into_libs=yes
   ;;
@@ -2552,14 +2726,15 @@ hpux9* | hpux10* | hpux11*)
     dynamic_linker="$host_os dld.so"
     shlibpath_var=LD_LIBRARY_PATH
     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    if test 32 = "$HPUX_IA64_MODE"; then
       sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     else
       sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
   hppa*64*)
     shrext_cmds='.sl'
@@ -2567,8 +2742,8 @@ hpux9* | hpux10* | hpux11*)
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
@@ -2577,8 +2752,8 @@ hpux9* | hpux10* | hpux11*)
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=SHLIB_PATH
     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     ;;
   esac
   # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
@@ -2591,8 +2766,8 @@ interix[[3-9]]*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
@@ -2603,7 +2778,7 @@ irix5* | irix6* | nonstopux*)
   case $host_os in
     nonstopux*) version_type=nonstopux ;;
     *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
+       if test yes = "$lt_cv_prog_gnu_ld"; then
                version_type=linux # correct to gnu/linux during the next big refactor
        else
                version_type=irix
@@ -2611,8 +2786,8 @@ irix5* | irix6* | nonstopux*)
   esac
   need_lib_prefix=no
   need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
   case $host_os in
   irix5* | nonstopux*)
     libsuff= shlibsuff=
@@ -2631,8 +2806,8 @@ irix5* | irix6* | nonstopux*)
   esac
   shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
   shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
   hardcode_into_libs=yes
   ;;
 
@@ -2641,13 +2816,33 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
+linux*android*)
+  version_type=none # Android doesn't support versioned libraries.
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext'
+  soname_spec='$libname$release$shared_ext'
+  finish_cmds=
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  dynamic_linker='Android linker'
+  # Don't embed -rpath directories since the linker doesn't support them.
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+  ;;
+
 # This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
@@ -2672,10 +2867,18 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[  ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -2687,29 +2890,17 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
   if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker='NetBSD (a.out) ld.so'
   else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     dynamic_linker='NetBSD ld.elf_so'
   fi
   shlibpath_var=LD_LIBRARY_PATH
@@ -2719,7 +2910,7 @@ netbsd*)
 
 newsos6)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   ;;
@@ -2728,58 +2919,68 @@ newsos6)
   version_type=qnx
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   dynamic_linker='ldqnx.so'
   ;;
 
-openbsd*)
+openbsd* | bitrig*)
   version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
+  sys_lib_dlsearch_path_spec=/usr/lib
   need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[[89]] | openbsd2.[[89]].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    need_version=no
   else
-    shlibpath_overrides_runpath=yes
+    need_version=yes
   fi
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
   ;;
 
 os2*)
   libname_spec='$name'
-  shrext_cmds=".dll"
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
   need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
   dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  postinstall_cmds='base_file=`basename \$file`~
+    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+    dldir=$destdir/`dirname \$dlpath`~
+    test -d \$dldir || mkdir -p \$dldir~
+    $install_prog $dir/$dlname \$dldir/$dlname~
+    chmod a+x \$dldir/$dlname~
+    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+    fi'
+  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+    dlpath=$dir/\$dldll~
+    $RM \$dlpath'
   ;;
 
 osf3* | osf4* | osf5*)
   version_type=osf
   need_lib_prefix=no
   need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
   ;;
 
 rdos*)
@@ -2790,8 +2991,8 @@ solaris*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
@@ -2801,11 +3002,11 @@ solaris*)
 
 sunos4*)
   version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
   finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     need_lib_prefix=no
   fi
   need_version=yes
@@ -2813,8 +3014,8 @@ sunos4*)
 
 sysv4 | sysv4.3*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   case $host_vendor in
     sni)
@@ -2835,24 +3036,24 @@ sysv4 | sysv4.3*)
   ;;
 
 sysv4*MP*)
-  if test -d /usr/nec ;then
+  if test -d /usr/necthen
     version_type=linux # correct to gnu/linux during the next big refactor
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
+    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+    soname_spec='$libname$shared_ext.$major'
     shlibpath_var=LD_LIBRARY_PATH
   fi
   ;;
 
 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
+  version_type=sco
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
   else
     sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
@@ -2870,7 +3071,7 @@ tpf*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
@@ -2878,8 +3079,8 @@ tpf*)
 
 uts4*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -2888,20 +3089,30 @@ uts4*)
   ;;
 esac
 AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
+test no = "$dynamic_linker" && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
 fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
 fi
 
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
 _LT_DECL([], [variables_saved_for_relink], [1],
     [Variables whose values should be saved in libtool wrapper scripts and
     restored at link time])
@@ -2934,39 +3145,41 @@ _LT_DECL([], [hardcode_into_libs], [0],
     [Whether we should hardcode library paths into libraries])
 _LT_DECL([], [sys_lib_search_path_spec], [2],
     [Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
-    [Run-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+    [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
 ])# _LT_SYS_DYNAMIC_LINKER
 
 
 # _LT_PATH_TOOL_PREFIX(TOOL)
 # --------------------------
-# find a file program which can recognize shared library
+# find a file program that can recognize shared library
 AC_DEFUN([_LT_PATH_TOOL_PREFIX],
 [m4_require([_LT_DECL_EGREP])dnl
 AC_MSG_CHECKING([for $1])
 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
 [case $MAGIC_CMD in
 [[\\/*] |  ?:[\\/]*])
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
   ;;
 *)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
 dnl $ac_dummy forces splitting on constant user-supplied paths.
 dnl POSIX.2 word splitting is done only on the output of word expansions,
 dnl not every word.  This closes a longstanding sh security hole.
   ac_dummy="m4_if([$2], , $PATH, [$2])"
   for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
     test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$1; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+    if test -f "$ac_dir/$1"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
       if test -n "$file_magic_test_file"; then
        case $deplibs_check_method in
        "file_magic "*)
          file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         MAGIC_CMD=$lt_cv_path_MAGIC_CMD
          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
            $EGREP "$file_magic_regex" > /dev/null; then
            :
@@ -2989,11 +3202,11 @@ _LT_EOF
       break
     fi
   done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
   ;;
 esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
 if test -n "$MAGIC_CMD"; then
   AC_MSG_RESULT($MAGIC_CMD)
 else
@@ -3011,7 +3224,7 @@ dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
 
 # _LT_PATH_MAGIC
 # --------------
-# find a file program which can recognize a shared library
+# find a file program that can recognize a shared library
 m4_defun([_LT_PATH_MAGIC],
 [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
 if test -z "$lt_cv_path_MAGIC_CMD"; then
@@ -3038,16 +3251,16 @@ m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
 AC_ARG_WITH([gnu-ld],
     [AS_HELP_STRING([--with-gnu-ld],
        [assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test "$withval" = no || with_gnu_ld=yes],
+    [test no = "$withval" || with_gnu_ld=yes],
     [with_gnu_ld=no])dnl
 
 ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   # Check if gcc -print-prog-name=ld gives a path.
   AC_MSG_CHECKING([for ld used by $CC])
   case $host in
   *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
+    # gcc leaves a trailing carriage return, which upsets mingw
     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
   *)
     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -3061,7 +3274,7 @@ if test "$GCC" = yes; then
       while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
        ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
       done
-      test -z "$LD" && LD="$ac_prog"
+      test -z "$LD" && LD=$ac_prog
       ;;
   "")
     # If it fails, then pretend we aren't using GCC.
@@ -3072,37 +3285,37 @@ if test "$GCC" = yes; then
     with_gnu_ld=unknown
     ;;
   esac
-elif test "$with_gnu_ld" = yes; then
+elif test yes = "$with_gnu_ld"; then
   AC_MSG_CHECKING([for GNU ld])
 else
   AC_MSG_CHECKING([for non-GNU ld])
 fi
 AC_CACHE_VAL(lt_cv_path_LD,
 [if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
     test -z "$ac_dir" && ac_dir=.
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
+      lt_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 `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
       *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
+       test no != "$with_gnu_ld" && break
        ;;
       *)
-       test "$with_gnu_ld" != yes && break
+       test yes != "$with_gnu_ld" && break
        ;;
       esac
     fi
   done
-  IFS="$lt_save_ifs"
+  IFS=$lt_save_ifs
 else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+  lt_cv_path_LD=$LD # Let the user override the test with a path.
 fi])
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
 if test -n "$LD"; then
   AC_MSG_RESULT($LD)
 else
@@ -3156,13 +3369,13 @@ esac
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
 case $host_os in
   cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
+    if test yes != "$GCC"; then
       reload_cmds=false
     fi
     ;;
   darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    if test yes = "$GCC"; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
     else
       reload_cmds='$LD$reload_flag -o $output$reload_objs'
     fi
@@ -3173,6 +3386,43 @@ _LT_TAGDECL([], [reload_cmds], [2])dnl
 ])# _LT_CMD_RELOAD
 
 
+# _LT_PATH_DD
+# -----------
+# find a working dd
+m4_defun([_LT_PATH_DD],
+[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
+[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi])
+rm -f conftest.i conftest2.i conftest.out])
+])# _LT_PATH_DD
+
+
+# _LT_CMD_TRUNCATE
+# ----------------
+# find command to truncate a binary pipe
+m4_defun([_LT_CMD_TRUNCATE],
+[m4_require([_LT_PATH_DD])
+AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
+_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
+  [Command to truncate a binary pipe])
+])# _LT_CMD_TRUNCATE
+
+
 # _LT_CHECK_MAGIC_METHOD
 # ----------------------
 # how to check for library dependencies
@@ -3188,13 +3438,13 @@ lt_cv_deplibs_check_method='unknown'
 # Need to set the preceding variable on all platforms that support
 # interlibrary dependencies.
 # 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
+# 'unknown' -- same as none, but documents that we really don't know.
 # 'pass_all' -- all dependencies passed with no checks.
 # 'test_compile' -- check by making test program.
 # 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
 
 case $host_os in
 aix[[4-9]]*)
@@ -3221,8 +3471,7 @@ mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
   # func_win32_libid shell function, so use a weaker test based on 'objdump',
   # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+  if ( file / ) >/dev/null 2>&1; then
     lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     lt_cv_file_magic_cmd='func_win32_libid'
   else
@@ -3300,7 +3549,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -3318,8 +3567,8 @@ newos6*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+openbsd* | bitrig*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
   else
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
@@ -3372,6 +3621,9 @@ sysv4 | sysv4.3*)
 tpf*)
   lt_cv_deplibs_check_method=pass_all
   ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 esac
 ])
 
@@ -3412,33 +3664,38 @@ AC_DEFUN([LT_PATH_NM],
 AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
 [if test -n "$NM"; then
   # Let the user override the test.
-  lt_cv_path_NM="$NM"
+  lt_cv_path_NM=$NM
 else
-  lt_nm_to_check="${ac_tool_prefix}nm"
+  lt_nm_to_check=${ac_tool_prefix}nm
   if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
     lt_nm_to_check="$lt_nm_to_check nm"
   fi
   for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+      tmp_nm=$ac_dir/$lt_tmp_nm
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
        # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+       # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
        #   nm: unknown option "B" ignored
        # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
+       # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+       case $build_os in
+       mingw*) lt_bad_file=conftest.nm/nofile ;;
+       *) lt_bad_file=/dev/null ;;
+       esac
+       case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+       *$lt_bad_file* | *'Invalid file or object type'*)
          lt_cv_path_NM="$tmp_nm -B"
-         break
+         break 2
          ;;
        *)
          case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
          */dev/null*)
            lt_cv_path_NM="$tmp_nm -p"
-           break
+           break 2
            ;;
          *)
            lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
@@ -3449,21 +3706,21 @@ else
        esac
       fi
     done
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
   done
   : ${lt_cv_path_NM=no}
 fi])
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
+if test no != "$lt_cv_path_NM"; then
+  NM=$lt_cv_path_NM
 else
   # Didn't find any BSD compatible name lister, look for dumpbin.
   if test -n "$DUMPBIN"; then :
     # Let the user override the test.
   else
     AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
     *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
+      DUMPBIN="$DUMPBIN -symbols -headers"
       ;;
     *)
       DUMPBIN=:
@@ -3471,8 +3728,8 @@ else
     esac
   fi
   AC_SUBST([DUMPBIN])
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
+  if test : != "$DUMPBIN"; then
+    NM=$DUMPBIN
   fi
 fi
 test -z "$NM" && NM=nm
@@ -3518,8 +3775,8 @@ lt_cv_sharedlib_from_linklib_cmd,
 
 case $host_os in
 cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
+  # two different shell functions defined in ltmain.sh;
+  # decide which one to use based on capabilities of $DLLTOOL
   case `$DLLTOOL --help 2>&1` in
   *--identify-strict*)
     lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
@@ -3531,7 +3788,7 @@ cygwin* | mingw* | pw32* | cegcc*)
   ;;
 *)
   # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+  lt_cv_sharedlib_from_linklib_cmd=$ECHO
   ;;
 esac
 ])
@@ -3558,13 +3815,28 @@ AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool
     lt_cv_path_mainfest_tool=yes
   fi
   rm -f conftest*])
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
+if test yes != "$lt_cv_path_mainfest_tool"; then
   MANIFEST_TOOL=:
 fi
 _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
 ])# _LT_PATH_MANIFEST_TOOL
 
 
+# _LT_DLL_DEF_P([FILE])
+# ---------------------
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with func_dll_def_p in the libtool script
+AC_DEFUN([_LT_DLL_DEF_P],
+[dnl
+  test DEF = "`$SED -n dnl
+    -e '\''s/^[[        ]]*//'\'' dnl Strip leading whitespace
+    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
+    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[  ]].*\)*$/DEF/p'\'' dnl
+    -e q dnl                          Only consider the first "real" line
+    $1`" dnl
+])# _LT_DLL_DEF_P
+
+
 # LT_LIB_M
 # --------
 # check for math library
@@ -3576,11 +3848,11 @@ case $host in
   # These system don't have libm, or don't need it
   ;;
 *-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
   AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
   ;;
 *)
-  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  AC_CHECK_LIB(m, cos, LIBM=-lm)
   ;;
 esac
 AC_SUBST([LIBM])
@@ -3599,7 +3871,7 @@ m4_defun([_LT_COMPILER_NO_RTTI],
 
 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
 
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   case $cc_basename in
   nvcc*)
     _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
@@ -3651,7 +3923,7 @@ cygwin* | mingw* | pw32* | cegcc*)
   symcode='[[ABCDGISTW]]'
   ;;
 hpux*)
-  if test "$host_cpu" = ia64; then
+  if test ia64 = "$host_cpu"; then
     symcode='[[ABCDEGRST]]'
   fi
   ;;
@@ -3684,14 +3956,44 @@ case `$NM -V 2>&1` in
   symcode='[[ABCDGIRSTW]]' ;;
 esac
 
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  # Gets list of data symbols to import.
+  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+  # Adjust the below global symbol transforms to fixup imported variables.
+  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
+  lt_c_name_lib_hook="\
+  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
+  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
+else
+  # Disable hooks by default.
+  lt_cv_sys_global_symbol_to_import=
+  lt_cdecl_hook=
+  lt_c_name_hook=
+  lt_c_name_lib_hook=
+fi
+
 # Transform an extracted symbol line into a proper C declaration.
 # Some systems (esp. on ia64) link data and code symbols differently,
 # so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
 
 # Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
 
 # Handle CRLF in mingw tool chain
 opt_cr=
@@ -3709,21 +4011,24 @@ for ac_symprfx in "" "_"; do
 
   # Write the raw and C identifiers.
   if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
+    # Fake it for dumpbin and say T for any non-static function,
+    # D for any global variable and I for any imported variable.
     # Also find C++ and __fastcall symbols from MSVC++,
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK ['"\
 "     {last_section=section; section=\$ 3};"\
 "     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
 "     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
 "     ' prfx=^$ac_symprfx]"
   else
     lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[    ]]\($symcode$symcode*\)[[       ]][[    ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
@@ -3763,11 +4068,11 @@ _LT_EOF
        if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
          cat <<_LT_EOF > conftest.$ac_ext
 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
    relocations are performed -- see ld's documentation on pseudo-relocs.  */
 # define LT@&t@_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
 /* This system does not cope well with relocations in const data.  */
 # define LT@&t@_DLSYM_CONST
 #else
@@ -3793,7 +4098,7 @@ lt__PROGRAM__LTX_preloaded_symbols[[]] =
 {
   { "@PROGRAM@", (void *) 0 },
 _LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+         $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
          cat <<\_LT_EOF >> conftest.$ac_ext
   {0, (void *) 0}
 };
@@ -3813,9 +4118,9 @@ _LT_EOF
          mv conftest.$ac_objext conftstm.$ac_objext
          lt_globsym_save_LIBS=$LIBS
          lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
+         LIBS=conftstm.$ac_objext
          CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-         if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+         if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
            pipe_works=yes
          fi
          LIBS=$lt_globsym_save_LIBS
@@ -3836,7 +4141,7 @@ _LT_EOF
   rm -rf conftest* conftst*
 
   # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
+  if test yes = "$pipe_works"; then
     break
   else
     lt_cv_sys_global_symbol_pipe=
@@ -3863,12 +4168,16 @@ _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
     [Take the output of nm and produce a listing of raw symbols and C names])
 _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
     [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
+    [Transform the output of nm into a list of symbols to manually relocate])
 _LT_DECL([global_symbol_to_c_name_address],
     [lt_cv_sys_global_symbol_to_c_name_address], [1],
     [Transform the output of nm in a C name address pair])
 _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
     [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
     [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
+    [The name lister interface])
 _LT_DECL([], [nm_file_list_spec], [1],
     [Specify filename containing input files for $NM])
 ]) # _LT_CMD_GLOBAL_SYMBOLS
@@ -3884,17 +4193,18 @@ _LT_TAGVAR(lt_prog_compiler_static, $1)=
 
 m4_if([$1], [CXX], [
   # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
+  if test yes = "$GXX"; then
     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
     _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
 
     case $host_os in
     aix*)
       # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
        # AIX 5 now supports IA64 processor
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       fi
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
       ;;
 
     amigaos*)
@@ -3905,8 +4215,8 @@ m4_if([$1], [CXX], [
         ;;
       m68k)
             # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
             _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
         ;;
       esac
@@ -3922,6 +4232,11 @@ m4_if([$1], [CXX], [
       # (--disable-auto-import) libraries
       m4_if([$1], [GCJ], [],
        [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+       ;;
+      esac
       ;;
     darwin* | rhapsody*)
       # PIC is the default on this platform
@@ -3971,7 +4286,7 @@ m4_if([$1], [CXX], [
     case $host_os in
       aix[[4-9]]*)
        # All AIX code is PIC.
-       if test "$host_cpu" = ia64; then
+       if test ia64 = "$host_cpu"; then
          # AIX 5 now supports IA64 processor
          _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
        else
@@ -4012,14 +4327,14 @@ m4_if([$1], [CXX], [
        case $cc_basename in
          CC*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-           if test "$host_cpu" != ia64; then
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+           if test ia64 != "$host_cpu"; then
              _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
            fi
            ;;
          aCC*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
            case $host_cpu in
            hppa*64*|ia64*)
              # +Z the default
@@ -4056,7 +4371,7 @@ m4_if([$1], [CXX], [
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
          ecpc* )
-           # old Intel C++ for x86_64 which still supported -KPIC.
+           # old Intel C++ for x86_64, which still supported -KPIC.
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
@@ -4112,7 +4427,7 @@ m4_if([$1], [CXX], [
            ;;
        esac
        ;;
-      netbsd* | netbsdelf*-gnu)
+      netbsd*)
        ;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4201,17 +4516,18 @@ m4_if([$1], [CXX], [
   fi
 ],
 [
-  if test "$GCC" = yes; then
+  if test yes = "$GCC"; then
     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
     _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
 
     case $host_os in
       aix*)
       # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
        # AIX 5 now supports IA64 processor
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       fi
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
       ;;
 
     amigaos*)
@@ -4222,8 +4538,8 @@ m4_if([$1], [CXX], [
         ;;
       m68k)
             # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
             _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
         ;;
       esac
@@ -4240,6 +4556,11 @@ m4_if([$1], [CXX], [
       # (--disable-auto-import) libraries
       m4_if([$1], [GCJ], [],
        [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+       ;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -4310,7 +4631,7 @@ m4_if([$1], [CXX], [
     case $host_os in
     aix*)
       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
        # AIX 5 now supports IA64 processor
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       else
@@ -4318,11 +4639,30 @@ m4_if([$1], [CXX], [
       fi
       ;;
 
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      case $cc_basename in
+      nagfor*)
+        # NAG Fortran compiler
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      esac
+      ;;
+
     mingw* | cygwin* | pw32* | os2* | cegcc*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       m4_if([$1], [GCJ], [],
        [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+       ;;
+      esac
       ;;
 
     hpux9* | hpux10* | hpux11*)
@@ -4338,7 +4678,7 @@ m4_if([$1], [CXX], [
        ;;
       esac
       # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
       ;;
 
     irix5* | irix6* | nonstopux*)
@@ -4349,7 +4689,7 @@ m4_if([$1], [CXX], [
 
     linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
       case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
+      # old Intel for x86_64, which still supported -KPIC.
       ecc*)
        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
@@ -4374,6 +4714,12 @@ m4_if([$1], [CXX], [
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
        ;;
+      tcc*)
+       # Fabrice Bellard et al's Tiny C Compiler
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+       ;;
       pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
@@ -4471,7 +4817,7 @@ m4_if([$1], [CXX], [
       ;;
 
     sysv4*MP*)
-      if test -d /usr/nec ;then
+      if test -d /usr/necthen
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       fi
@@ -4500,7 +4846,7 @@ m4_if([$1], [CXX], [
   fi
 ])
 case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
+  # For platforms that do not support PIC, -DPIC is meaningless:
   *djgpp*)
     _LT_TAGVAR(lt_prog_compiler_pic, $1)=
     ;;
@@ -4566,17 +4912,21 @@ m4_if([$1], [CXX], [
   case $host_os in
   aix[[4-9]]*)
     # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    # Also, AIX nm treats weak defined symbols like other global defined
-    # symbols, whereas GNU nm marks them as "W".
+    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+    # Without the "-l" option, or with the "-B" option, AIX nm treats
+    # weak defined symbols like other global defined symbols, whereas
+    # GNU nm marks them as "W".
+    # While the 'weak' keyword is ignored in the Export File, we need
+    # it in the Import File for the 'aix-soname' feature, so we have
+    # to replace the "-B" option with "-P" for AIX nm.
     if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
     else
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+      _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
     fi
     ;;
   pw32*)
-    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
     ;;
   cygwin* | mingw* | cegcc*)
     case $cc_basename in
@@ -4589,9 +4939,6 @@ m4_if([$1], [CXX], [
       ;;
     esac
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -4625,9 +4972,9 @@ m4_if([$1], [CXX], [
   # included in the symbol list
   _LT_TAGVAR(include_expsyms, $1)=
   # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
+  # it will be wrapped by ' (' and ')$', so one must not match beginning or
+  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+  # as well as any symbol that contains 'd'.
   _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
   # platforms (ab)use it in PIC code, but their linkers get confused if
@@ -4643,7 +4990,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
     # When not using gcc, we currently assume that we are using
     # Microsoft Visual C++.
-    if test "$GCC" != yes; then
+    if test yes != "$GCC"; then
       with_gnu_ld=no
     fi
     ;;
@@ -4651,12 +4998,9 @@ dnl Note also adjust exclude_expsyms for C++ above.
     # we just hope/assume this is gcc and not c89 (= MSVC++)
     with_gnu_ld=yes
     ;;
-  openbsd*)
+  openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
@@ -4664,7 +5008,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
   # On some targets, GNU ld is compatible enough with the native linker
   # that we're better off using the native interface for both.
   lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     case $host_os in
       aix*)
        # The AIX port of GNU ld has always aspired to compatibility
@@ -4686,24 +5030,24 @@ dnl Note also adjust exclude_expsyms for C++ above.
     esac
   fi
 
-  if test "$lt_use_gnu_ld_interface" = yes; then
+  if test yes = "$lt_use_gnu_ld_interface"; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
+    wlarc='$wl'
 
     # Set some defaults for GNU ld with shared library support. These
     # are reset later if shared libraries are not supported. Putting them
     # here allows them to be overridden if necessary.
     runpath_var=LD_RUN_PATH
-    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
     # ancient GNU ld didn't support --whole-archive et. al.
     if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     else
       _LT_TAGVAR(whole_archive_flag_spec, $1)=
     fi
     supports_anon_versioning=no
-    case `$LD -v 2>&1` in
+    case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
       *GNU\ gold*) supports_anon_versioning=yes ;;
       *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -4716,7 +5060,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
     case $host_os in
     aix[[3-9]]*)
       # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
+      if test ia64 != "$host_cpu"; then
        _LT_TAGVAR(ld_shlibs, $1)=no
        cat <<_LT_EOF 1>&2
 
@@ -4735,7 +5079,7 @@ _LT_EOF
       case $host_cpu in
       powerpc)
             # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
             _LT_TAGVAR(archive_expsym_cmds, $1)=''
         ;;
       m68k)
@@ -4751,7 +5095,7 @@ _LT_EOF
        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
        # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
        # support --undefined.  This deserves some investigation.  FIXME
-       _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
       else
        _LT_TAGVAR(ld_shlibs, $1)=no
       fi
@@ -4761,7 +5105,7 @@ _LT_EOF
       # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
       # as there is no search path for DLLs.
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_TAGVAR(always_export_symbols, $1)=no
       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -4769,61 +5113,89 @@ _LT_EOF
       _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
 
       if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+       # If the export-symbols file already is a .def file, use it as
+       # is; otherwise, prepend EXPORTS...
+       _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+          cp $export_symbols $output_objdir/$soname.def;
+        else
+          echo EXPORTS > $output_objdir/$soname.def;
+          cat $export_symbols >> $output_objdir/$soname.def;
+        fi~
+        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
       else
        _LT_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
 
     haiku*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       prefix_cmds="$SED"~
+       if test EXPORTS = "`$SED 1q $export_symbols`"; then
+         prefix_cmds="$prefix_cmds -e 1d";
+       fi~
+       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
     interix[[3-9]]*)
       _LT_TAGVAR(hardcode_direct, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
       # Instead, shared libraries are loaded at an image base (0x10000000 by
       # default) and relocated if they conflict, which is a slow very memory
       # consuming and fragmenting process.  To avoid this, we pick a random,
       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
     gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
       tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
+      if test linux-dietlibc = "$host_os"; then
        case $cc_basename in
          diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
        esac
       fi
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
+        && test no = "$tmp_diet"
       then
        tmp_addflag=' $pic_flag'
        tmp_sharedflag='-shared'
        case $cc_basename,$host_cpu in
         pgcc*)                         # Portland Group C compiler
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          tmp_addflag=' $pic_flag'
          ;;
        pgf77* | pgf90* | pgf95* | pgfortran*)
                                        # Portland Group f77 and f90 compilers
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
@@ -4834,42 +5206,47 @@ _LT_EOF
        lf95*)                          # Lahey Fortran 8.1
          _LT_TAGVAR(whole_archive_flag_spec, $1)=
          tmp_sharedflag='--shared' ;;
+        nagfor*)                        # NAGFOR 5.3
+          tmp_sharedflag='-Wl,-shared' ;;
        xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
          tmp_sharedflag='-qmkshrobj'
          tmp_addflag= ;;
        nvcc*)  # Cuda Compiler Driver 2.2
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          _LT_TAGVAR(compiler_needs_object, $1)=yes
          ;;
        esac
        case `$CC -V 2>&1 | sed 5q` in
        *Sun\ C*)                       # Sun C 5.9
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          _LT_TAGVAR(compiler_needs_object, $1)=yes
          tmp_sharedflag='-G' ;;
        *Sun\ F*)                       # Sun Fortran 8.3
          tmp_sharedflag='-G' ;;
        esac
-       _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
 
-        if test "x$supports_anon_versioning" = xyes; then
+        if test yes = "$supports_anon_versioning"; then
           _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+            echo "local: *; };" >> $output_objdir/$libname.ver~
+            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
         fi
 
        case $cc_basename in
+       tcc*)
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+         ;;
        xlf* | bgf* | bgxlf* | mpixlf*)
          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
          _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
          _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
+         if test yes = "$supports_anon_versioning"; then
            _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+              echo "local: *; };" >> $output_objdir/$libname.ver~
+              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
          fi
          ;;
        esac
@@ -4878,13 +5255,13 @@ _LT_EOF
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
       else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       fi
       ;;
 
@@ -4902,8 +5279,8 @@ _LT_EOF
 
 _LT_EOF
       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       else
        _LT_TAGVAR(ld_shlibs, $1)=no
       fi
@@ -4915,7 +5292,7 @@ _LT_EOF
        _LT_TAGVAR(ld_shlibs, $1)=no
        cat <<_LT_EOF 1>&2
 
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
 *** reliably create shared libraries on SCO systems.  Therefore, libtool
 *** is disabling shared libraries support.  We urge you to upgrade GNU
 *** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
@@ -4930,9 +5307,9 @@ _LT_EOF
          # DT_RUNPATH tag from executables and libraries.  But doing so
          # requires that you compile everything twice, which is a pain.
          if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
          else
            _LT_TAGVAR(ld_shlibs, $1)=no
          fi
@@ -4949,15 +5326,15 @@ _LT_EOF
 
     *)
       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       else
        _LT_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
     esac
 
-    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
       runpath_var=
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
       _LT_TAGVAR(export_dynamic_flag_spec, $1)=
@@ -4973,7 +5350,7 @@ _LT_EOF
       # Note: this linker hardcodes the directories in LIBPATH if there
       # are no directories specified by -L.
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
        # Neither direct hardcoding nor static linking is supported with a
        # broken collect2.
        _LT_TAGVAR(hardcode_direct, $1)=unsupported
@@ -4981,34 +5358,57 @@ _LT_EOF
       ;;
 
     aix[[4-9]]*)
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
        # On IA64, the linker does run time linking by default, so we don't
        # have to do anything special.
        aix_use_runtimelinking=no
        exp_sym_flag='-Bexport'
-       no_entry_flag=""
+       no_entry_flag=
       else
        # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
+       # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+       # Without the "-l" option, or with the "-B" option, AIX nm treats
+       # weak defined symbols like other global defined symbols, whereas
+       # GNU nm marks them as "W".
+       # While the 'weak' keyword is ignored in the Export File, we need
+       # it in the Import File for the 'aix-soname' feature, so we have
+       # to replace the "-B" option with "-P" for AIX nm.
        if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
        else
-         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+         _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
        fi
        aix_use_runtimelinking=no
 
        # Test if we are trying to use run time linking or normal
        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
+       # have runtime linking enabled, and use it for executables.
+       # For shared libraries, we enable/disable runtime linking
+       # depending on the kind of the shared library created -
+       # when "with_aix_soname,aix_use_runtimelinking" is:
+       # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+       # "aix,yes"  lib.so          shared, rtl:yes, for executables
+       #            lib.a           static archive
+       # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+       #            lib.a(lib.so.V) shared, rtl:no,  for executables
+       # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+       #            lib.a(lib.so.V) shared, rtl:no
+       # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+       #            lib.a           static archive
        case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
          for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+         if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
            aix_use_runtimelinking=yes
            break
          fi
          done
+         if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+           # With aix-soname=svr4, we create the lib.so.V shared archives only,
+           # so we don't have lib.a shared libs to link our executables.
+           # We have to force runtime linking in this case.
+           aix_use_runtimelinking=yes
+           LDFLAGS="$LDFLAGS -Wl,-brtl"
+         fi
          ;;
        esac
 
@@ -5027,13 +5427,21 @@ _LT_EOF
       _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
       _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
       _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+       # The Import File defines what to hardcode.
+       _LT_TAGVAR(hardcode_direct, $1)=no
+       _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+       ;;
+      esac
 
-      if test "$GCC" = yes; then
+      if test yes = "$GCC"; then
        case $host_os in aix4.[[012]]|aix4.[[012]].*)
        # We only want to do this on AIX 4.2 and lower, the check
        # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
+         collect2name=`$CC -print-prog-name=collect2`
          if test -f "$collect2name" &&
           strings "$collect2name" | $GREP resolve_lib_name >/dev/null
          then
@@ -5052,62 +5460,80 @@ _LT_EOF
          ;;
        esac
        shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
+       if test yes = "$aix_use_runtimelinking"; then
+         shared_flag="$shared_flag "'$wl-G'
        fi
-       _LT_TAGVAR(link_all_deplibs, $1)=no
+       # Need to ensure runtime linking is disabled for the traditional
+       # shared library, or the linker may eventually find shared libraries
+       # /with/ Import File - we do not want to mix them.
+       shared_flag_aix='-shared'
+       shared_flag_svr4='-shared $wl-G'
       else
        # not using gcc
-       if test "$host_cpu" = ia64; then
+       if test ia64 = "$host_cpu"; then
        # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
        # chokes on -Wl,-G. The following line is correct:
          shared_flag='-G'
        else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
+         if test yes = "$aix_use_runtimelinking"; then
+           shared_flag='$wl-G'
          else
-           shared_flag='${wl}-bM:SRE'
+           shared_flag='$wl-bM:SRE'
          fi
+         shared_flag_aix='$wl-bM:SRE'
+         shared_flag_svr4='$wl-G'
        fi
       fi
 
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
       # It seems that -bexpall does not export symbols beginning with
       # underscore (_), so it is better to generate a list of symbols to export.
       _LT_TAGVAR(always_export_symbols, $1)=yes
-      if test "$aix_use_runtimelinking" = yes; then
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
        # Warning - without using the other runtime loading flags (-brtl),
        # -berok will link without error, but may produce a broken library.
        _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
         # Determine the default libpath from the value encoded in an
         # empty executable.
         _LT_SYS_MODULE_PATH_AIX([$1])
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
       else
-       if test "$host_cpu" = ia64; then
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+       if test ia64 = "$host_cpu"; then
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
          _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
        else
         # Determine the default libpath from the value encoded in an
         # empty executable.
         _LT_SYS_MODULE_PATH_AIX([$1])
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
          # Warning - without using the other run time loading flags,
          # -berok will link without error, but may produce a broken library.
-         _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-         _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
+         _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+         _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+         if test yes = "$with_gnu_ld"; then
            # We only use this code for GNU lds that support --whole-archive.
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
          else
            # Exported symbols can be pulled into shared objects from archives
            _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
          fi
          _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+         # -brtl affects multiple linker settings, -berok does not and is overridden later
+         compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+         if test svr4 != "$with_aix_soname"; then
+           # This is similar to how AIX traditionally builds its shared libraries.
+           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+         fi
+         if test aix != "$with_aix_soname"; then
+           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+         else
+           # used by -dlpreopen to get the symbols
+           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+         fi
+         _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
        fi
       fi
       ;;
@@ -5116,7 +5542,7 @@ _LT_EOF
       case $host_cpu in
       powerpc)
             # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
             _LT_TAGVAR(archive_expsym_cmds, $1)=''
         ;;
       m68k)
@@ -5146,16 +5572,17 @@ _LT_EOF
        # Tell ltmain to make .lib files, not .a files.
        libext=lib
        # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
+       shrext_cmds=.dll
        # FIXME: Setting linknames here is a bad hack.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
+       _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+       _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+            cp "$export_symbols" "$output_objdir/$soname.def";
+            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+          else
+            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+          fi~
+          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+          linknames='
        # The linker will not automatically build a static lib if we build a DLL.
        # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -5164,18 +5591,18 @@ _LT_EOF
        # Don't use ranlib
        _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
        _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
+          lt_tool_outputfile="@TOOL_OUTPUT@"~
+          case $lt_outputfile in
+            *.exe|*.EXE) ;;
+            *)
+              lt_outputfile=$lt_outputfile.exe
+              lt_tool_outputfile=$lt_tool_outputfile.exe
+              ;;
+          esac~
+          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+            $RM "$lt_outputfile.manifest";
+          fi'
        ;;
       *)
        # Assume MSVC wrapper
@@ -5184,7 +5611,7 @@ _LT_EOF
        # Tell ltmain to make .lib files, not .a files.
        libext=lib
        # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
+       shrext_cmds=.dll
        # FIXME: Setting linknames here is a bad hack.
        _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
        # The linker will automatically build a .lib file if we build a DLL.
@@ -5234,33 +5661,33 @@ _LT_EOF
       ;;
 
     hpux9*)
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
       else
-       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
       fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
       _LT_TAGVAR(hardcode_direct, $1)=yes
 
       # hardcode_minus_L: Not really in the search PATH,
       # but as the default location of the library.
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
       ;;
 
     hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
        _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
       fi
-      if test "$with_gnu_ld" = no; then
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      if test no = "$with_gnu_ld"; then
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
        _LT_TAGVAR(hardcode_direct, $1)=yes
        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
        # hardcode_minus_L: Not really in the search PATH,
        # but as the default location of the library.
        _LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5268,25 +5695,25 @@ _LT_EOF
       ;;
 
     hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+      if test yes,no = "$GCC,$with_gnu_ld"; then
        case $host_cpu in
        hppa*64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        ia64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        esac
       else
        case $host_cpu in
        hppa*64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        ia64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
        m4_if($1, [], [
@@ -5294,14 +5721,14 @@ _LT_EOF
          # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
          _LT_LINKER_OPTION([if $CC understands -b],
            _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
-           [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+           [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
            [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
-         [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+         [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
          ;;
        esac
       fi
-      if test "$with_gnu_ld" = no; then
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      if test no = "$with_gnu_ld"; then
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
 
        case $host_cpu in
@@ -5312,7 +5739,7 @@ _LT_EOF
        *)
          _LT_TAGVAR(hardcode_direct, $1)=yes
          _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
 
          # hardcode_minus_L: Not really in the search PATH,
          # but as the default location of the library.
@@ -5323,16 +5750,16 @@ _LT_EOF
       ;;
 
     irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
        # Try to use the -exported_symbol ld option, if it does not
        # work, assume that -exports_file does not work either and
        # implicitly export all symbols.
        # This should be the same for all languages, so no per-tag cache variable.
        AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
          [lt_cv_irix_exported_symbol],
-         [save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+         [save_LDFLAGS=$LDFLAGS
+          LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
           AC_LINK_IFELSE(
             [AC_LANG_SOURCE(
                [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
@@ -5345,22 +5772,32 @@ _LT_EOF
       end]])])],
              [lt_cv_irix_exported_symbol=yes],
              [lt_cv_irix_exported_symbol=no])
-           LDFLAGS="$save_LDFLAGS"])
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+           LDFLAGS=$save_LDFLAGS])
+       if test yes = "$lt_cv_irix_exported_symbol"; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
        fi
       else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
       fi
       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
       _LT_TAGVAR(inherit_rpath, $1)=yes
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    linux*)
+      case $cc_basename in
+      tcc*)
+       # Fabrice Bellard et al's Tiny C Compiler
+       _LT_TAGVAR(ld_shlibs, $1)=yes
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+      esac
+      ;;
+
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -5374,7 +5811,7 @@ _LT_EOF
     newsos6)
       _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
       _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
@@ -5382,27 +5819,19 @@ _LT_EOF
     *nto* | *qnx*)
       ;;
 
-    openbsd*)
+    openbsd* | bitrig*)
       if test -f /usr/libexec/ld.so; then
        _LT_TAGVAR(hardcode_direct, $1)=yes
        _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
        else
-         case $host_os in
-          openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-            _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-            ;;
-          *)
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-            ;;
-         esac
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
        fi
       else
        _LT_TAGVAR(ld_shlibs, $1)=no
@@ -5413,33 +5842,53 @@ _LT_EOF
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       prefix_cmds="$SED"~
+       if test EXPORTS = "`$SED 1q $export_symbols`"; then
+         prefix_cmds="$prefix_cmds -e 1d";
+       fi~
+       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
       ;;
 
     osf3*)
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
       else
        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
       fi
       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
       ;;
 
     osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
       else
        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -5450,24 +5899,24 @@ _LT_EOF
 
     solaris*)
       _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+       wlarc='$wl'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
       else
        case `$CC -V 2>&1` in
        *"Compilers 5.0"*)
          wlarc=''
-         _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
          ;;
        *)
-         wlarc='${wl}'
-         _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+         wlarc='$wl'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
          ;;
        esac
       fi
@@ -5477,11 +5926,11 @@ _LT_EOF
       solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
       *)
        # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
+       # but understands '-z linker_flag'.  GCC discards it without '$wl',
        # but is careful enough not to reorder.
        # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+       if test yes = "$GCC"; then
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
        else
          _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
        fi
@@ -5491,10 +5940,10 @@ _LT_EOF
       ;;
 
     sunos4*)
-      if test "x$host_vendor" = xsequent; then
+      if test sequent = "$host_vendor"; then
        # Use $CC to link under sequent, because it throws in some extra .o
        # files that make .init and .fini sections work.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
       else
        _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
       fi
@@ -5543,43 +5992,43 @@ _LT_EOF
       ;;
 
     sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
       _LT_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
       runpath_var='LD_RUN_PATH'
 
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
       ;;
 
     sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
+      # Note: We CANNOT use -z defs as we might desire, because we do not
       # link with -lc, and that would cause any symbols used from libc to
       # always be unresolved, which means just about no library would
       # ever link correctly.  If we're not using GNU ld we use -z text
       # though, which does catch some bad symbols but isn't as heavy-handed
       # as -z defs.
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
       _LT_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
       _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
       _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
       runpath_var='LD_RUN_PATH'
 
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
       ;;
 
@@ -5594,17 +6043,17 @@ _LT_EOF
       ;;
     esac
 
-    if test x$host_vendor = xsni; then
+    if test sni = "$host_vendor"; then
       case $host in
       sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
        ;;
       esac
     fi
   fi
 ])
 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
 
 _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
 
@@ -5621,7 +6070,7 @@ x|xyes)
   # Assume -lc should be added
   _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
 
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
+  if test yes,yes = "$GCC,$enable_shared"; then
     case $_LT_TAGVAR(archive_cmds, $1) in
     *'~'*)
       # FIXME: we may have to deal with multi-command sequences.
@@ -5701,12 +6150,12 @@ _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
     [Whether we need a single "-rpath" flag with a separated argument])
 _LT_TAGDECL([], [hardcode_direct], [0],
-    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
     DIR into the resulting binary])
 _LT_TAGDECL([], [hardcode_direct_absolute], [0],
-    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
     DIR into the resulting binary and the resulting library dependency is
-    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+    "absolute", i.e impossible to change by setting $shlibpath_var if the
     library is relocated])
 _LT_TAGDECL([], [hardcode_minus_L], [0],
     [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
@@ -5747,10 +6196,10 @@ dnl    [Compiler flag to generate thread safe objects])
 # ------------------------
 # Ensure that the configuration variables for a C compiler are suitably
 # defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
+# the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_C_CONFIG],
 [m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
+lt_save_CC=$CC
 AC_LANG_PUSH(C)
 
 # Source file extension for C test sources.
@@ -5790,18 +6239,18 @@ if test -n "$compiler"; then
   LT_SYS_DLOPEN_SELF
   _LT_CMD_STRIPLIB
 
-  # Report which library types will actually be built
+  # Report what library types will actually be built
   AC_MSG_CHECKING([if libtool supports shared libraries])
   AC_MSG_RESULT([$can_build_shared])
 
   AC_MSG_CHECKING([whether to build shared libraries])
-  test "$can_build_shared" = "no" && enable_shared=no
+  test no = "$can_build_shared" && enable_shared=no
 
   # On AIX, shared libraries and static libraries use the same namespace, and
   # are all built from PIC.
   case $host_os in
   aix3*)
-    test "$enable_shared" = yes && enable_static=no
+    test yes = "$enable_shared" && enable_static=no
     if test -n "$RANLIB"; then
       archive_cmds="$archive_cmds~\$RANLIB \$lib"
       postinstall_cmds='$RANLIB $lib'
@@ -5809,8 +6258,12 @@ if test -n "$compiler"; then
     ;;
 
   aix[[4-9]]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;                  # shared object as lib.so file only
+      yes,svr4,*) ;;                   # shared object as lib.so archive member only
+      yes,*) enable_static=no ;;       # shared object in lib.a archive as well
+      esac
     fi
     ;;
   esac
@@ -5818,13 +6271,13 @@ if test -n "$compiler"; then
 
   AC_MSG_CHECKING([whether to build static libraries])
   # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
+  test yes = "$enable_shared" || enable_static=yes
   AC_MSG_RESULT([$enable_static])
 
   _LT_CONFIG($1)
 fi
 AC_LANG_POP
-CC="$lt_save_CC"
+CC=$lt_save_CC
 ])# _LT_LANG_C_CONFIG
 
 
@@ -5832,14 +6285,14 @@ CC="$lt_save_CC"
 # --------------------------
 # Ensure that the configuration variables for a C++ compiler are suitably
 # defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
+# the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_CXX_CONFIG],
 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_EGREP])dnl
 m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
+if test -n "$CXX" && ( test no != "$CXX" &&
+    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+    (test g++ != "$CXX"))); then
   AC_PROG_CXXCPP
 else
   _lt_caught_CXX_error=yes
@@ -5881,7 +6334,7 @@ _LT_TAGVAR(objext, $1)=$objext
 # the CXX compiler isn't working.  Some variables (like enable_shared)
 # are currently assumed to apply to all compilers on this platform,
 # and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
+if test yes != "$_lt_caught_CXX_error"; then
   # Code to be used in simple compile tests
   lt_simple_compile_test_code="int some_variable = 0;"
 
@@ -5923,35 +6376,35 @@ if test "$_lt_caught_CXX_error" != yes; then
   if test -n "$compiler"; then
     # We don't want -fno-exception when compiling C++ code, so set the
     # no_builtin_flag separately
-    if test "$GXX" = yes; then
+    if test yes = "$GXX"; then
       _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
     else
       _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
     fi
 
-    if test "$GXX" = yes; then
+    if test yes = "$GXX"; then
       # Set up default GNU C++ configuration
 
       LT_PATH_LD
 
       # Check if GNU C++ uses GNU ld as the underlying linker, since the
       # archiving commands below assume that GNU ld is being used.
-      if test "$with_gnu_ld" = yes; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      if test yes = "$with_gnu_ld"; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
 
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
 
         # If archive_cmds runs LD, not CC, wlarc should be empty
         # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
         #     investigate it a little bit more. (MM)
-        wlarc='${wl}'
+        wlarc='$wl'
 
         # ancient GNU ld didn't support --whole-archive et. al.
         if eval "`$CC -print-prog-name=ld` --help 2>&1" |
          $GREP 'no-whole-archive' > /dev/null; then
-          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
         else
           _LT_TAGVAR(whole_archive_flag_spec, $1)=
         fi
@@ -5987,18 +6440,30 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_TAGVAR(ld_shlibs, $1)=no
         ;;
       aix[[4-9]]*)
-        if test "$host_cpu" = ia64; then
+        if test ia64 = "$host_cpu"; then
           # On IA64, the linker does run time linking by default, so we don't
           # have to do anything special.
           aix_use_runtimelinking=no
           exp_sym_flag='-Bexport'
-          no_entry_flag=""
+          no_entry_flag=
         else
           aix_use_runtimelinking=no
 
           # Test if we are trying to use run time linking or normal
           # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-          # need to do runtime linking.
+          # have runtime linking enabled, and use it for executables.
+          # For shared libraries, we enable/disable runtime linking
+          # depending on the kind of the shared library created -
+          # when "with_aix_soname,aix_use_runtimelinking" is:
+          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "aix,yes"  lib.so          shared, rtl:yes, for executables
+          #            lib.a           static archive
+          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+          #            lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a(lib.so.V) shared, rtl:no
+          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a           static archive
           case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
            for ld_flag in $LDFLAGS; do
              case $ld_flag in
@@ -6008,6 +6473,13 @@ if test "$_lt_caught_CXX_error" != yes; then
                ;;
              esac
            done
+           if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+             # With aix-soname=svr4, we create the lib.so.V shared archives only,
+             # so we don't have lib.a shared libs to link our executables.
+             # We have to force runtime linking in this case.
+             aix_use_runtimelinking=yes
+             LDFLAGS="$LDFLAGS -Wl,-brtl"
+           fi
            ;;
           esac
 
@@ -6026,13 +6498,21 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
         _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
         _LT_TAGVAR(link_all_deplibs, $1)=yes
-        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+        case $with_aix_soname,$aix_use_runtimelinking in
+        aix,*) ;;      # no import file
+        svr4,* | *,yes) # use import file
+          # The Import File defines what to hardcode.
+          _LT_TAGVAR(hardcode_direct, $1)=no
+          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+          ;;
+        esac
 
-        if test "$GXX" = yes; then
+        if test yes = "$GXX"; then
           case $host_os in aix4.[[012]]|aix4.[[012]].*)
           # We only want to do this on AIX 4.2 and lower, the check
           # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
+         collect2name=`$CC -print-prog-name=collect2`
          if test -f "$collect2name" &&
             strings "$collect2name" | $GREP resolve_lib_name >/dev/null
          then
@@ -6050,64 +6530,84 @@ if test "$_lt_caught_CXX_error" != yes; then
          fi
           esac
           shared_flag='-shared'
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag="$shared_flag "'${wl}-G'
+         if test yes = "$aix_use_runtimelinking"; then
+           shared_flag=$shared_flag' $wl-G'
          fi
+         # Need to ensure runtime linking is disabled for the traditional
+         # shared library, or the linker may eventually find shared libraries
+         # /with/ Import File - we do not want to mix them.
+         shared_flag_aix='-shared'
+         shared_flag_svr4='-shared $wl-G'
         else
           # not using gcc
-          if test "$host_cpu" = ia64; then
+          if test ia64 = "$host_cpu"; then
          # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
          # chokes on -Wl,-G. The following line is correct:
          shared_flag='-G'
           else
-           if test "$aix_use_runtimelinking" = yes; then
-             shared_flag='${wl}-G'
+           if test yes = "$aix_use_runtimelinking"; then
+             shared_flag='$wl-G'
            else
-             shared_flag='${wl}-bM:SRE'
+             shared_flag='$wl-bM:SRE'
            fi
+           shared_flag_aix='$wl-bM:SRE'
+           shared_flag_svr4='$wl-G'
           fi
         fi
 
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
         # It seems that -bexpall does not export symbols beginning with
         # underscore (_), so it is better to generate a list of symbols to
        # export.
         _LT_TAGVAR(always_export_symbols, $1)=yes
-        if test "$aix_use_runtimelinking" = yes; then
+       if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
           # Warning - without using the other runtime loading flags (-brtl),
           # -berok will link without error, but may produce a broken library.
-          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+          # The "-G" linker flag allows undefined symbols.
+          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
           # Determine the default libpath from the value encoded in an empty
           # executable.
           _LT_SYS_MODULE_PATH_AIX([$1])
-          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
 
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
         else
-          if test "$host_cpu" = ia64; then
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+          if test ia64 = "$host_cpu"; then
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
            _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
           else
            # Determine the default libpath from the value encoded in an
            # empty executable.
            _LT_SYS_MODULE_PATH_AIX([$1])
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
            # Warning - without using the other run time loading flags,
            # -berok will link without error, but may produce a broken library.
-           _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-           _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-           if test "$with_gnu_ld" = yes; then
+           _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+           _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+           if test yes = "$with_gnu_ld"; then
              # We only use this code for GNU lds that support --whole-archive.
-             _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+             _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
            else
              # Exported symbols can be pulled into shared objects from archives
              _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
            fi
            _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-           # This is similar to how AIX traditionally builds its shared
-           # libraries.
-           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+           # -brtl affects multiple linker settings, -berok does not and is overridden later
+           compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+           if test svr4 != "$with_aix_soname"; then
+             # This is similar to how AIX traditionally builds its shared
+             # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+             _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+           fi
+           if test aix != "$with_aix_soname"; then
+             _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+           else
+             # used by -dlpreopen to get the symbols
+             _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+           fi
+           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
           fi
         fi
         ;;
@@ -6117,7 +6617,7 @@ if test "$_lt_caught_CXX_error" != yes; then
          _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
          # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
          # support --undefined.  This deserves some investigation.  FIXME
-         _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
        else
          _LT_TAGVAR(ld_shlibs, $1)=no
        fi
@@ -6145,57 +6645,58 @@ if test "$_lt_caught_CXX_error" != yes; then
          # Tell ltmain to make .lib files, not .a files.
          libext=lib
          # Tell ltmain to make .dll files, not .so files.
-         shrext_cmds=".dll"
+         shrext_cmds=.dll
          # FIXME: Setting linknames here is a bad hack.
-         _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-         _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-             $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-           else
-             $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-           fi~
-           $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-           linknames='
+         _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+         _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+              cp "$export_symbols" "$output_objdir/$soname.def";
+              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+            else
+              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+            fi~
+            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+            linknames='
          # The linker will not automatically build a static lib if we build a DLL.
          # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
          _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
          # Don't use ranlib
          _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
          _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-           lt_tool_outputfile="@TOOL_OUTPUT@"~
-           case $lt_outputfile in
-             *.exe|*.EXE) ;;
-             *)
-               lt_outputfile="$lt_outputfile.exe"
-               lt_tool_outputfile="$lt_tool_outputfile.exe"
-               ;;
-           esac~
-           func_to_tool_file "$lt_outputfile"~
-           if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-             $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-             $RM "$lt_outputfile.manifest";
-           fi'
+            lt_tool_outputfile="@TOOL_OUTPUT@"~
+            case $lt_outputfile in
+              *.exe|*.EXE) ;;
+              *)
+                lt_outputfile=$lt_outputfile.exe
+                lt_tool_outputfile=$lt_tool_outputfile.exe
+                ;;
+            esac~
+            func_to_tool_file "$lt_outputfile"~
+            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+              $RM "$lt_outputfile.manifest";
+            fi'
          ;;
        *)
          # g++
          # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
          # as there is no search path for DLLs.
          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
          _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
          _LT_TAGVAR(always_export_symbols, $1)=no
          _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
 
          if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-           # If the export-symbols file already is a .def file (1st line
-           # is EXPORTS), use it as is; otherwise, prepend...
-           _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-             cp $export_symbols $output_objdir/$soname.def;
-           else
-             echo EXPORTS > $output_objdir/$soname.def;
-             cat $export_symbols >> $output_objdir/$soname.def;
-           fi~
-           $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+           # If the export-symbols file already is a .def file, use it as
+           # is; otherwise, prepend EXPORTS...
+           _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+              cp $export_symbols $output_objdir/$soname.def;
+            else
+              echo EXPORTS > $output_objdir/$soname.def;
+              cat $export_symbols >> $output_objdir/$soname.def;
+            fi~
+            $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
          else
            _LT_TAGVAR(ld_shlibs, $1)=no
          fi
@@ -6206,6 +6707,34 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_DARWIN_LINKER_FEATURES($1)
        ;;
 
+      os2*)
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+       _LT_TAGVAR(hardcode_minus_L, $1)=yes
+       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+       shrext_cmds=.dll
+       _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+         $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+         $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+         $ECHO EXPORTS >> $output_objdir/$libname.def~
+         emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+         $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+         emximp -o $lib $output_objdir/$libname.def'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+         $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+         $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+         $ECHO EXPORTS >> $output_objdir/$libname.def~
+         prefix_cmds="$SED"~
+         if test EXPORTS = "`$SED 1q $export_symbols`"; then
+           prefix_cmds="$prefix_cmds -e 1d";
+         fi~
+         prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+         cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+         $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+         emximp -o $lib $output_objdir/$libname.def'
+       _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+       ;;
+
       dgux*)
         case $cc_basename in
           ec++*)
@@ -6241,14 +6770,14 @@ if test "$_lt_caught_CXX_error" != yes; then
         ;;
 
       haiku*)
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
         _LT_TAGVAR(link_all_deplibs, $1)=yes
         ;;
 
       hpux9*)
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
         _LT_TAGVAR(hardcode_direct, $1)=yes
         _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
                                             # but as the default
@@ -6260,7 +6789,7 @@ if test "$_lt_caught_CXX_error" != yes; then
             _LT_TAGVAR(ld_shlibs, $1)=no
             ;;
           aCC*)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
             # Commands to make compiler produce verbose output that lists
             # what "hidden" libraries, object files and flags are used when
             # linking a shared library.
@@ -6269,11 +6798,11 @@ if test "$_lt_caught_CXX_error" != yes; then
             # explicitly linking system object files so we need to strip them
             # from the output so that they don't get included in the library
             # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
             ;;
           *)
-            if test "$GXX" = yes; then
-              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            if test yes = "$GXX"; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
             else
               # FIXME: insert proper C++ library support
               _LT_TAGVAR(ld_shlibs, $1)=no
@@ -6283,15 +6812,15 @@ if test "$_lt_caught_CXX_error" != yes; then
         ;;
 
       hpux10*|hpux11*)
-        if test $with_gnu_ld = no; then
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+        if test no = "$with_gnu_ld"; then
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
          _LT_TAGVAR(hardcode_libdir_separator, $1)=:
 
           case $host_cpu in
             hppa*64*|ia64*)
               ;;
             *)
-             _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+             _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
               ;;
           esac
         fi
@@ -6317,13 +6846,13 @@ if test "$_lt_caught_CXX_error" != yes; then
           aCC*)
            case $host_cpu in
              hppa*64*)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                ;;
              ia64*)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                ;;
              *)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                ;;
            esac
            # Commands to make compiler produce verbose output that lists
@@ -6334,20 +6863,20 @@ if test "$_lt_caught_CXX_error" != yes; then
            # explicitly linking system object files so we need to strip them
            # from the output so that they don't get included in the library
            # dependencies.
-           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
            ;;
           *)
-           if test "$GXX" = yes; then
-             if test $with_gnu_ld = no; then
+           if test yes = "$GXX"; then
+             if test no = "$with_gnu_ld"; then
                case $host_cpu in
                  hppa*64*)
-                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                    ;;
                  ia64*)
-                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                    ;;
                  *)
-                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                    ;;
                esac
              fi
@@ -6362,22 +6891,22 @@ if test "$_lt_caught_CXX_error" != yes; then
       interix[[3-9]]*)
        _LT_TAGVAR(hardcode_direct, $1)=no
        _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
        # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
        # Instead, shared libraries are loaded at an image base (0x10000000 by
        # default) and relocated if they conflict, which is a slow very memory
        # consuming and fragmenting process.  To avoid this, we pick a random,
        # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
        # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
        ;;
       irix5* | irix6*)
         case $cc_basename in
           CC*)
            # SGI C++
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
 
            # Archives containing C++ object files must be created using
            # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -6386,17 +6915,17 @@ if test "$_lt_caught_CXX_error" != yes; then
            _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
            ;;
           *)
-           if test "$GXX" = yes; then
-             if test "$with_gnu_ld" = no; then
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+           if test yes = "$GXX"; then
+             if test no = "$with_gnu_ld"; then
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
              else
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
              fi
            fi
            _LT_TAGVAR(link_all_deplibs, $1)=yes
            ;;
         esac
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         _LT_TAGVAR(inherit_rpath, $1)=yes
         ;;
@@ -6409,8 +6938,8 @@ if test "$_lt_caught_CXX_error" != yes; then
            # KCC will only create a shared library if the output file
            # ends with ".so" (or ".sl" for HP-UX), so rename the library
            # to its proper name (with version) after linking.
-           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
            # Commands to make compiler produce verbose output that lists
            # what "hidden" libraries, object files and flags are used when
            # linking a shared library.
@@ -6419,10 +6948,10 @@ if test "$_lt_caught_CXX_error" != yes; then
            # explicitly linking system object files so we need to strip them
            # from the output so that they don't get included in the library
            # dependencies.
-           output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+           output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
 
            # Archives containing C++ object files must be created using
            # "CC -Bstatic", where "CC" is the KAI C++ compiler.
@@ -6436,59 +6965,59 @@ if test "$_lt_caught_CXX_error" != yes; then
            # earlier do not add the objects themselves.
            case `$CC -V 2>&1` in
              *"Version 7."*)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
                ;;
              *)  # Version 8.0 or newer
                tmp_idyn=
                case $host_cpu in
                  ia64*) tmp_idyn=' -i_dynamic';;
                esac
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
                ;;
            esac
            _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
            ;;
           pgCC* | pgcpp*)
             # Portland Group C++ compiler
            case `$CC -V` in
            *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
              _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
              _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-               $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
-               $RANLIB $oldlib'
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+                $RANLIB $oldlib'
              _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
              _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
              ;;
            *) # Version 6 and above use weak symbols
-             _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+             _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
              ;;
            esac
 
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
             ;;
          cxx*)
            # Compaq C++
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
 
            runpath_var=LD_RUN_PATH
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -6502,18 +7031,18 @@ if test "$_lt_caught_CXX_error" != yes; then
            # explicitly linking system object files so we need to strip them
            # from the output so that they don't get included in the library
            # dependencies.
-           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
            ;;
          xl* | mpixl* | bgxl*)
            # IBM XL 8.0 on PPC, with GNU ld
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-           _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           if test "x$supports_anon_versioning" = xyes; then
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+           if test yes = "$supports_anon_versioning"; then
              _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-               cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-               echo "local: *; };" >> $output_objdir/$libname.ver~
-               $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+                echo "local: *; };" >> $output_objdir/$libname.ver~
+                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
            fi
            ;;
          *)
@@ -6521,10 +7050,10 @@ if test "$_lt_caught_CXX_error" != yes; then
            *Sun\ C*)
              # Sun C++ 5.9
              _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-             _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+             _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
              _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-             _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+             _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
              _LT_TAGVAR(compiler_needs_object, $1)=yes
 
              # Not sure whether something based on
@@ -6582,22 +7111,17 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_TAGVAR(ld_shlibs, $1)=yes
        ;;
 
-      openbsd2*)
-        # C++ shared libraries are fairly broken
-       _LT_TAGVAR(ld_shlibs, $1)=no
-       ;;
-
-      openbsd*)
+      openbsd* | bitrig*)
        if test -f /usr/libexec/ld.so; then
          _LT_TAGVAR(hardcode_direct, $1)=yes
          _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
          _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-         if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-           _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+         if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
          fi
          output_verbose_link_cmd=func_echo_all
        else
@@ -6613,9 +7137,9 @@ if test "$_lt_caught_CXX_error" != yes; then
            # KCC will only create a shared library if the output file
            # ends with ".so" (or ".sl" for HP-UX), so rename the library
            # to its proper name (with version) after linking.
-           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
 
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
            _LT_TAGVAR(hardcode_libdir_separator, $1)=:
 
            # Archives containing C++ object files must be created using
@@ -6633,17 +7157,17 @@ if test "$_lt_caught_CXX_error" != yes; then
           cxx*)
            case $host in
              osf3*)
-               _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-               _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+               _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+               _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
                ;;
              *)
                _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
                _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-                 echo "-hidden">> $lib.exp~
-                 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
-                 $RM $lib.exp'
+                  echo "-hidden">> $lib.exp~
+                  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+                  $RM $lib.exp'
                _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
                ;;
            esac
@@ -6658,21 +7182,21 @@ if test "$_lt_caught_CXX_error" != yes; then
            # explicitly linking system object files so we need to strip them
            # from the output so that they don't get included in the library
            # dependencies.
-           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
            ;;
          *)
-           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-             _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+           if test yes,no = "$GXX,$with_gnu_ld"; then
+             _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
              case $host in
                osf3*)
-                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
                  ;;
                *)
-                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
                  ;;
              esac
 
-             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
              _LT_TAGVAR(hardcode_libdir_separator, $1)=:
 
              # Commands to make compiler produce verbose output that lists
@@ -6718,9 +7242,9 @@ if test "$_lt_caught_CXX_error" != yes; then
            # Sun C++ 4.2, 5.x and Centerline C++
             _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
            _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-           _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
            _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-             $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+              $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -6728,7 +7252,7 @@ if test "$_lt_caught_CXX_error" != yes; then
              solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
              *)
                # The compiler driver will combine and reorder linker options,
-               # but understands `-z linker_flag'.
+               # but understands '-z linker_flag'.
                # Supported since Solaris 2.6 (maybe 2.5.1?)
                _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
                ;;
@@ -6745,30 +7269,30 @@ if test "$_lt_caught_CXX_error" != yes; then
            ;;
           gcx*)
            # Green Hills C++ Compiler
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
 
            # The C++ compiler must be used to create the archive.
            _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
            ;;
           *)
            # GNU C++ compiler with Solaris linker
-           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-             _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+           if test yes,no = "$GXX,$with_gnu_ld"; then
+             _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
              if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
                _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                 $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
                # Commands to make compiler produce verbose output that lists
                # what "hidden" libraries, object files and flags are used when
                # linking a shared library.
                output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
              else
-               # g++ 2.7 appears to require `-G' NOT `-shared' on this
+               # g++ 2.7 appears to require '-G' NOT '-shared' on this
                # platform.
-               _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
                _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
                # Commands to make compiler produce verbose output that lists
                # what "hidden" libraries, object files and flags are used when
@@ -6776,11 +7300,11 @@ if test "$_lt_caught_CXX_error" != yes; then
                output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
              fi
 
-             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
              case $host_os in
                solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
                *)
-                 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+                 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
                  ;;
              esac
            fi
@@ -6789,52 +7313,52 @@ if test "$_lt_caught_CXX_error" != yes; then
         ;;
 
     sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
       _LT_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
       runpath_var='LD_RUN_PATH'
 
       case $cc_basename in
         CC*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
       esac
       ;;
 
       sysv5* | sco3.2v5* | sco5v6*)
-       # Note: We can NOT use -z defs as we might desire, because we do not
+       # Note: We CANNOT use -z defs as we might desire, because we do not
        # link with -lc, and that would cause any symbols used from libc to
        # always be unresolved, which means just about no library would
        # ever link correctly.  If we're not using GNU ld we use -z text
        # though, which does catch some bad symbols but isn't as heavy-handed
        # as -z defs.
-       _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-       _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+       _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+       _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
        _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
        _LT_TAGVAR(link_all_deplibs, $1)=yes
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
        runpath_var='LD_RUN_PATH'
 
        case $cc_basename in
           CC*)
-           _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
            _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
-             '"$_LT_TAGVAR(old_archive_cmds, $1)"
+              '"$_LT_TAGVAR(old_archive_cmds, $1)"
            _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
-             '"$_LT_TAGVAR(reload_cmds, $1)"
+              '"$_LT_TAGVAR(reload_cmds, $1)"
            ;;
          *)
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
            ;;
        esac
       ;;
@@ -6865,10 +7389,10 @@ if test "$_lt_caught_CXX_error" != yes; then
     esac
 
     AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
 
-    _LT_TAGVAR(GCC, $1)="$GXX"
-    _LT_TAGVAR(LD, $1)="$LD"
+    _LT_TAGVAR(GCC, $1)=$GXX
+    _LT_TAGVAR(LD, $1)=$LD
 
     ## CAVEAT EMPTOR:
     ## There is no encapsulation within the following macros, do not change
@@ -6895,7 +7419,7 @@ if test "$_lt_caught_CXX_error" != yes; then
   lt_cv_path_LD=$lt_save_path_LD
   lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
   lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
+fi # test yes != "$_lt_caught_CXX_error"
 
 AC_LANG_POP
 ])# _LT_LANG_CXX_CONFIG
@@ -6917,13 +7441,14 @@ AC_REQUIRE([_LT_DECL_SED])
 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
 func_stripname_cnf ()
 {
-  case ${2} in
-  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+  case @S|@2 in
+  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
+  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
   esac
 } # func_stripname_cnf
 ])# _LT_FUNC_STRIPNAME_CNF
 
+
 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
 # ---------------------------------
 # Figure out "hidden" library dependencies from verbose
@@ -7007,13 +7532,13 @@ if AC_TRY_EVAL(ac_compile); then
   pre_test_object_deps_done=no
 
   for p in `eval "$output_verbose_link_cmd"`; do
-    case ${prev}${p} in
+    case $prev$p in
 
     -L* | -R* | -l*)
        # Some compilers place space between "-{L,R}" and the path.
        # Remove the space.
-       if test $p = "-L" ||
-          test $p = "-R"; then
+       if test x-L = "$p" ||
+          test x-R = "$p"; then
         prev=$p
         continue
        fi
@@ -7029,16 +7554,16 @@ if AC_TRY_EVAL(ac_compile); then
        case $p in
        =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
        esac
-       if test "$pre_test_object_deps_done" = no; then
-        case ${prev} in
+       if test no = "$pre_test_object_deps_done"; then
+        case $prev in
         -L | -R)
           # Internal compiler library paths should come after those
           # provided the user.  The postdeps already come after the
           # user supplied libs so there is no need to process them.
           if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
-            _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+            _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
           else
-            _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+            _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
           fi
           ;;
         # The "-l" case would never come before the object being
@@ -7046,9 +7571,9 @@ if AC_TRY_EVAL(ac_compile); then
         esac
        else
         if test -z "$_LT_TAGVAR(postdeps, $1)"; then
-          _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+          _LT_TAGVAR(postdeps, $1)=$prev$p
         else
-          _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+          _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
         fi
        fi
        prev=
@@ -7063,15 +7588,15 @@ if AC_TRY_EVAL(ac_compile); then
         continue
        fi
 
-       if test "$pre_test_object_deps_done" = no; then
+       if test no = "$pre_test_object_deps_done"; then
         if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
-          _LT_TAGVAR(predep_objects, $1)="$p"
+          _LT_TAGVAR(predep_objects, $1)=$p
         else
           _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
         fi
        else
         if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
-          _LT_TAGVAR(postdep_objects, $1)="$p"
+          _LT_TAGVAR(postdep_objects, $1)=$p
         else
           _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
         fi
@@ -7102,51 +7627,6 @@ interix[[3-9]]*)
   _LT_TAGVAR(postdep_objects,$1)=
   _LT_TAGVAR(postdeps,$1)=
   ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC* | sunCC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
 esac
 ])
 
@@ -7155,7 +7635,7 @@ case " $_LT_TAGVAR(postdeps, $1) " in
 esac
  _LT_TAGVAR(compiler_lib_search_dirs, $1)=
 if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
 fi
 _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
     [The directories searched by this compiler when creating a shared library])
@@ -7175,10 +7655,10 @@ _LT_TAGDECL([], [compiler_lib_search_path], [1],
 # --------------------------
 # Ensure that the configuration variables for a Fortran 77 compiler are
 # suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_F77_CONFIG],
 [AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test "X$F77" = "Xno"; then
+if test -z "$F77" || test no = "$F77"; then
   _lt_disable_F77=yes
 fi
 
@@ -7215,7 +7695,7 @@ _LT_TAGVAR(objext, $1)=$objext
 # the F77 compiler isn't working.  Some variables (like enable_shared)
 # are currently assumed to apply to all compilers on this platform,
 # and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
+if test yes != "$_lt_disable_F77"; then
   # Code to be used in simple compile tests
   lt_simple_compile_test_code="\
       subroutine t
@@ -7237,7 +7717,7 @@ if test "$_lt_disable_F77" != yes; then
   _LT_LINKER_BOILERPLATE
 
   # Allow CC to be a program name with arguments.
-  lt_save_CC="$CC"
+  lt_save_CC=$CC
   lt_save_GCC=$GCC
   lt_save_CFLAGS=$CFLAGS
   CC=${F77-"f77"}
@@ -7251,21 +7731,25 @@ if test "$_lt_disable_F77" != yes; then
     AC_MSG_RESULT([$can_build_shared])
 
     AC_MSG_CHECKING([whether to build shared libraries])
-    test "$can_build_shared" = "no" && enable_shared=no
+    test no = "$can_build_shared" && enable_shared=no
 
     # On AIX, shared libraries and static libraries use the same namespace, and
     # are all built from PIC.
     case $host_os in
       aix3*)
-        test "$enable_shared" = yes && enable_static=no
+        test yes = "$enable_shared" && enable_static=no
         if test -n "$RANLIB"; then
           archive_cmds="$archive_cmds~\$RANLIB \$lib"
           postinstall_cmds='$RANLIB $lib'
         fi
         ;;
       aix[[4-9]]*)
-       if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-         test "$enable_shared" = yes && enable_static=no
+       if test ia64 != "$host_cpu"; then
+         case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+         yes,aix,yes) ;;               # shared object as lib.so file only
+         yes,svr4,*) ;;                # shared object as lib.so archive member only
+         yes,*) enable_static=no ;;    # shared object in lib.a archive as well
+         esac
        fi
         ;;
     esac
@@ -7273,11 +7757,11 @@ if test "$_lt_disable_F77" != yes; then
 
     AC_MSG_CHECKING([whether to build static libraries])
     # Make sure either enable_shared or enable_static is yes.
-    test "$enable_shared" = yes || enable_static=yes
+    test yes = "$enable_shared" || enable_static=yes
     AC_MSG_RESULT([$enable_static])
 
-    _LT_TAGVAR(GCC, $1)="$G77"
-    _LT_TAGVAR(LD, $1)="$LD"
+    _LT_TAGVAR(GCC, $1)=$G77
+    _LT_TAGVAR(LD, $1)=$LD
 
     ## CAVEAT EMPTOR:
     ## There is no encapsulation within the following macros, do not change
@@ -7294,9 +7778,9 @@ if test "$_lt_disable_F77" != yes; then
   fi # test -n "$compiler"
 
   GCC=$lt_save_GCC
-  CC="$lt_save_CC"
-  CFLAGS="$lt_save_CFLAGS"
-fi # test "$_lt_disable_F77" != yes
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_F77"
 
 AC_LANG_POP
 ])# _LT_LANG_F77_CONFIG
@@ -7306,11 +7790,11 @@ AC_LANG_POP
 # -------------------------
 # Ensure that the configuration variables for a Fortran compiler are
 # suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_FC_CONFIG],
 [AC_LANG_PUSH(Fortran)
 
-if test -z "$FC" || test "X$FC" = "Xno"; then
+if test -z "$FC" || test no = "$FC"; then
   _lt_disable_FC=yes
 fi
 
@@ -7347,7 +7831,7 @@ _LT_TAGVAR(objext, $1)=$objext
 # the FC compiler isn't working.  Some variables (like enable_shared)
 # are currently assumed to apply to all compilers on this platform,
 # and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
+if test yes != "$_lt_disable_FC"; then
   # Code to be used in simple compile tests
   lt_simple_compile_test_code="\
       subroutine t
@@ -7369,7 +7853,7 @@ if test "$_lt_disable_FC" != yes; then
   _LT_LINKER_BOILERPLATE
 
   # Allow CC to be a program name with arguments.
-  lt_save_CC="$CC"
+  lt_save_CC=$CC
   lt_save_GCC=$GCC
   lt_save_CFLAGS=$CFLAGS
   CC=${FC-"f95"}
@@ -7385,21 +7869,25 @@ if test "$_lt_disable_FC" != yes; then
     AC_MSG_RESULT([$can_build_shared])
 
     AC_MSG_CHECKING([whether to build shared libraries])
-    test "$can_build_shared" = "no" && enable_shared=no
+    test no = "$can_build_shared" && enable_shared=no
 
     # On AIX, shared libraries and static libraries use the same namespace, and
     # are all built from PIC.
     case $host_os in
       aix3*)
-        test "$enable_shared" = yes && enable_static=no
+        test yes = "$enable_shared" && enable_static=no
         if test -n "$RANLIB"; then
           archive_cmds="$archive_cmds~\$RANLIB \$lib"
           postinstall_cmds='$RANLIB $lib'
         fi
         ;;
       aix[[4-9]]*)
-       if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-         test "$enable_shared" = yes && enable_static=no
+       if test ia64 != "$host_cpu"; then
+         case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+         yes,aix,yes) ;;               # shared object as lib.so file only
+         yes,svr4,*) ;;                # shared object as lib.so archive member only
+         yes,*) enable_static=no ;;    # shared object in lib.a archive as well
+         esac
        fi
         ;;
     esac
@@ -7407,11 +7895,11 @@ if test "$_lt_disable_FC" != yes; then
 
     AC_MSG_CHECKING([whether to build static libraries])
     # Make sure either enable_shared or enable_static is yes.
-    test "$enable_shared" = yes || enable_static=yes
+    test yes = "$enable_shared" || enable_static=yes
     AC_MSG_RESULT([$enable_static])
 
-    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
-    _LT_TAGVAR(LD, $1)="$LD"
+    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
+    _LT_TAGVAR(LD, $1)=$LD
 
     ## CAVEAT EMPTOR:
     ## There is no encapsulation within the following macros, do not change
@@ -7431,7 +7919,7 @@ if test "$_lt_disable_FC" != yes; then
   GCC=$lt_save_GCC
   CC=$lt_save_CC
   CFLAGS=$lt_save_CFLAGS
-fi # test "$_lt_disable_FC" != yes
+fi # test yes != "$_lt_disable_FC"
 
 AC_LANG_POP
 ])# _LT_LANG_FC_CONFIG
@@ -7441,7 +7929,7 @@ AC_LANG_POP
 # --------------------------
 # Ensure that the configuration variables for the GNU Java Compiler compiler
 # are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_GCJ_CONFIG],
 [AC_REQUIRE([LT_PROG_GCJ])dnl
 AC_LANG_SAVE
@@ -7475,7 +7963,7 @@ CC=${GCJ-"gcj"}
 CFLAGS=$GCJFLAGS
 compiler=$CC
 _LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
+_LT_TAGVAR(LD, $1)=$LD
 _LT_CC_BASENAME([$compiler])
 
 # GCJ did not exist at the time GCC didn't implicitly link libc in.
@@ -7512,7 +8000,7 @@ CFLAGS=$lt_save_CFLAGS
 # --------------------------
 # Ensure that the configuration variables for the GNU Go compiler
 # are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_GO_CONFIG],
 [AC_REQUIRE([LT_PROG_GO])dnl
 AC_LANG_SAVE
@@ -7546,7 +8034,7 @@ CC=${GOC-"gccgo"}
 CFLAGS=$GOFLAGS
 compiler=$CC
 _LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
+_LT_TAGVAR(LD, $1)=$LD
 _LT_CC_BASENAME([$compiler])
 
 # Go did not exist at the time GCC didn't implicitly link libc in.
@@ -7583,7 +8071,7 @@ CFLAGS=$lt_save_CFLAGS
 # -------------------------
 # Ensure that the configuration variables for the Windows resource compiler
 # are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_RC_CONFIG],
 [AC_REQUIRE([LT_PROG_RC])dnl
 AC_LANG_SAVE
@@ -7599,7 +8087,7 @@ _LT_TAGVAR(objext, $1)=$objext
 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
 
 # Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
+lt_simple_link_test_code=$lt_simple_compile_test_code
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_TAG_COMPILER
@@ -7609,7 +8097,7 @@ _LT_COMPILER_BOILERPLATE
 _LT_LINKER_BOILERPLATE
 
 # Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
+lt_save_CC=$CC
 lt_save_CFLAGS=$CFLAGS
 lt_save_GCC=$GCC
 GCC=
@@ -7638,7 +8126,7 @@ AC_DEFUN([LT_PROG_GCJ],
 [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
   [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
     [AC_CHECK_TOOL(GCJ, gcj,)
-      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
       AC_SUBST(GCJFLAGS)])])[]dnl
 ])
 
@@ -7749,7 +8237,7 @@ lt_ac_count=0
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
 # along with /bin/sed that truncates output.
 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
+  test ! -f "$lt_ac_sed" && continue
   cat /dev/null > conftest.in
   lt_ac_count=0
   echo $ECHO_N "0123456789$ECHO_C" >conftest.in
@@ -7766,9 +8254,9 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
     $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
     cmp -s conftest.out conftest.nl || break
     # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
+    test 10 -lt "$lt_ac_count" && break
     lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
+    if test "$lt_ac_count" -gt "$lt_ac_max"; then
       lt_ac_max=$lt_ac_count
       lt_cv_path_SED=$lt_ac_sed
     fi
@@ -7792,27 +8280,7 @@ dnl AC_DEFUN([LT_AC_PROG_SED], [])
 # Find out whether the shell is Bourne or XSI compatible,
 # or has some other useful features.
 m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   lt_unset=unset
 else
   lt_unset=false
@@ -7836,102 +8304,9 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
 ])# _LT_CHECK_SHELL_FEATURES
 
 
-# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
-# ------------------------------------------------------
-# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
-# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
-m4_defun([_LT_PROG_FUNCTION_REPLACE],
-[dnl {
-sed -e '/^$1 ()$/,/^} # $1 /c\
-$1 ()\
-{\
-m4_bpatsubsts([$2], [$], [\\], [^\([    ]\)], [\\\1])
-} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-])
-
-
-# _LT_PROG_REPLACE_SHELLFNS
-# -------------------------
-# Replace existing portable implementations of several shell functions with
-# equivalent extended shell implementations where those features are available..
-m4_defun([_LT_PROG_REPLACE_SHELLFNS],
-[if test x"$xsi_shell" = xyes; then
-  _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
-    case ${1} in
-      */*) func_dirname_result="${1%/*}${2}" ;;
-      *  ) func_dirname_result="${3}" ;;
-    esac])
-
-  _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
-    func_basename_result="${1##*/}"])
-
-  _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
-    case ${1} in
-      */*) func_dirname_result="${1%/*}${2}" ;;
-      *  ) func_dirname_result="${3}" ;;
-    esac
-    func_basename_result="${1##*/}"])
-
-  _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
-    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-    # positional parameters, so assign one to ordinary parameter first.
-    func_stripname_result=${3}
-    func_stripname_result=${func_stripname_result#"${1}"}
-    func_stripname_result=${func_stripname_result%"${2}"}])
-
-  _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
-    func_split_long_opt_name=${1%%=*}
-    func_split_long_opt_arg=${1#*=}])
-
-  _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
-    func_split_short_opt_arg=${1#??}
-    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-
-  _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
-    case ${1} in
-      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-      *)    func_lo2o_result=${1} ;;
-    esac])
-
-  _LT_PROG_FUNCTION_REPLACE([func_xform], [    func_xform_result=${1%.*}.lo])
-
-  _LT_PROG_FUNCTION_REPLACE([func_arith], [    func_arith_result=$(( $[*] ))])
-
-  _LT_PROG_FUNCTION_REPLACE([func_len], [    func_len_result=${#1}])
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  _LT_PROG_FUNCTION_REPLACE([func_append], [    eval "${1}+=\\${2}"])
-
-  _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
-    func_quote_for_eval "${2}"
-dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
-    eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
-fi
-])
-
 # _LT_PATH_CONVERSION_FUNCTIONS
 # -----------------------------
-# Determine which file name conversion functions should be used by
+# Determine what file name conversion functions should be used by
 # func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
 # for certain cross-compile configurations and native mingw.
 m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
diff --git a/m4/limits-h.m4 b/m4/limits-h.m4
new file mode 100644 (file)
index 0000000..68f724c
--- /dev/null
@@ -0,0 +1,43 @@
+dnl Check whether limits.h has needed features.
+
+dnl Copyright 2016-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 Paul Eggert.
+
+AC_DEFUN_ONCE([gl_LIMITS_H],
+[
+  gl_CHECK_NEXT_HEADERS([limits.h])
+
+  AC_CACHE_CHECK([whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.],
+    [gl_cv_header_limits_width],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+             #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+            #endif
+            #include <limits.h>
+            long long llm = LLONG_MAX;
+            int wb = WORD_BIT;
+            int ullw = ULLONG_WIDTH;
+          ]])],
+       [gl_cv_header_limits_width=yes],
+       [gl_cv_header_limits_width=no])])
+  if test "$gl_cv_header_limits_width" = yes; then
+    LIMITS_H=
+  else
+    LIMITS_H=limits.h
+  fi
+  AC_SUBST([LIMITS_H])
+  AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"])
+])
+
+dnl Unconditionally enables the replacement of <limits.h>.
+AC_DEFUN([gl_REPLACE_LIMITS_H],
+[
+  AC_REQUIRE([gl_LIMITS_H])
+  LIMITS_H='limits.h'
+  AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"])
+])
index ada2f01f6f75fa767b8fd09db47d2d6e731f7639..2a7f82d06f065dede1eb925c0eff3e9cee20284a 100644 (file)
@@ -1,5 +1,5 @@
-# localcharset.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2009-2014 Free Software Foundation, Inc.
+# localcharset.m4 serial 8
+dnl Copyright (C) 2002, 2004, 2006, 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -8,10 +8,4 @@ AC_DEFUN([gl_LOCALCHARSET],
 [
   dnl Prerequisites of lib/localcharset.c.
   AC_REQUIRE([AM_LANGINFO_CODESET])
-  AC_REQUIRE([gl_FCNTL_O_FLAGS])
-  AC_CHECK_DECLS_ONCE([getc_unlocked])
-
-  dnl Prerequisites of the lib/Makefile.am snippet.
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([gl_GLIBC21])
 ])
index 27db5ab87ef0ad630bb27ee421878c6d5921d289..cfa068d594ed3c44161caa28549fd26a4c952e27 100644 (file)
@@ -1,5 +1,5 @@
-# locale-fr.m4 serial 17
-dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
+# locale-fr.m4 serial 19
+dnl Copyright (C) 2003, 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -24,8 +24,14 @@ changequote(,)dnl
 struct tm t;
 char buf[16];
 int main () {
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -33,9 +39,9 @@ int main () {
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -44,32 +50,33 @@ int main () {
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether in the abbreviation of the second month, the second
      character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
+# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
+# endif
   return 0;
+#endif
 }
 changequote([,])dnl
       ])])
@@ -153,7 +160,7 @@ int main () {
      variables, and all locales use the UTF-8 encoding.  */
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
index c88fe8b4e59d58bfbc4769dfee813605ada7d15c..487f68bdc3f2408c4bc4fe478f5a7e38344d2670 100644 (file)
@@ -1,5 +1,5 @@
-# locale-ja.m4 serial 12
-dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
+# locale-ja.m4 serial 14
+dnl Copyright (C) 2003, 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -25,9 +25,14 @@ struct tm t;
 char buf[16];
 int main ()
 {
-  const char *p;
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -35,9 +40,9 @@ int main ()
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -46,32 +51,36 @@ int main ()
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether MB_CUR_MAX is > 1.  This excludes the dysfunctional locales
      on Cygwin 1.5.x.  */
   if (MB_CUR_MAX == 1)
     return 1;
   /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
      This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
+  {
+    const char *p;
+    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+    for (p = buf; *p != '\0'; p++)
+      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+        return 1;
+  }
   return 0;
+#endif
 }
 changequote([,])dnl
       ])])
index 535b256633e848cdb7a672e27dc9626a14b092db..aeb2419792a368b45f6ff46ce0c7877f9afe8b71 100644 (file)
@@ -1,5 +1,5 @@
-# locale-tr.m4 serial 10
-dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
+# locale-tr.m4 serial 11
+dnl Copyright (C) 2003, 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -30,7 +30,7 @@ int main () {
      implement the Turkish upper-/lowercase mappings.  Therefore, let this
      program return 1 on BeOS.  */
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+#if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
index d3b23474208c49006ae15034f5cd7c7b4418cbad..8b813263ae55cc7332df340865847b68c2928b21 100644 (file)
@@ -1,5 +1,5 @@
-# locale-zh.m4 serial 12
-dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
+# locale-zh.m4 serial 14
+dnl Copyright (C) 2003, 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -26,9 +26,14 @@ struct tm t;
 char buf[16];
 int main ()
 {
-  const char *p;
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -36,9 +41,9 @@ int main ()
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
      On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
@@ -47,32 +52,36 @@ int main ()
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
      This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
+  {
+    const char *p;
+    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+    for (p = buf; *p != '\0'; p++)
+      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+        return 1;
+  }
   /* Check whether a typical GB18030 multibyte sequence is recognized as a
      single wide character.  This excludes the GB2312 and GBK encodings.  */
   if (mblen ("\203\062\332\066", 5) != 4)
     return 1;
   return 0;
+#endif
 }
 changequote([,])dnl
       ])])
index 283858843b7b7c1ea2e3aa7616db6bd32a1e7c9f..d28ba0c2df59739204f1d84bcd2302846b267ab4 100644 (file)
@@ -1,5 +1,5 @@
-# locale_h.m4 serial 19
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# locale_h.m4 serial 21
+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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@ AC_DEFUN([gl_LOCALE_H],
   dnl If <stddef.h> is replaced, then <locale.h> must also be replaced.
   AC_REQUIRE([gl_STDDEF_H])
 
-  dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv'
+  dnl Solaris 11.0 defines the int_p_*, int_n_* members of 'struct lconv'
   dnl only if _LCONV_C99 is defined.
   AC_REQUIRE([AC_CANONICAL_HOST])
   case "$host_os" in
@@ -96,7 +96,7 @@ AC_DEFUN([gl_LOCALE_H],
 # include <xlocale.h>
 #endif
     ]],
-    [setlocale duplocale])
+    [setlocale newlocale duplocale freelocale])
 ])
 
 AC_DEFUN([gl_LOCALE_MODULE_INDICATOR],
@@ -113,10 +113,15 @@ AC_DEFUN([gl_LOCALE_H_DEFAULTS],
   GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV])
   GNULIB_SETLOCALE=0;  AC_SUBST([GNULIB_SETLOCALE])
   GNULIB_DUPLOCALE=0;  AC_SUBST([GNULIB_DUPLOCALE])
+  GNULIB_LOCALENAME=0; AC_SUBST([GNULIB_LOCALENAME])
   dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_NEWLOCALE=1;       AC_SUBST([HAVE_NEWLOCALE])
   HAVE_DUPLOCALE=1;       AC_SUBST([HAVE_DUPLOCALE])
+  HAVE_FREELOCALE=1;      AC_SUBST([HAVE_FREELOCALE])
   REPLACE_LOCALECONV=0;   AC_SUBST([REPLACE_LOCALECONV])
   REPLACE_SETLOCALE=0;    AC_SUBST([REPLACE_SETLOCALE])
+  REPLACE_NEWLOCALE=0;    AC_SUBST([REPLACE_NEWLOCALE])
   REPLACE_DUPLOCALE=0;    AC_SUBST([REPLACE_DUPLOCALE])
+  REPLACE_FREELOCALE=0;   AC_SUBST([REPLACE_FREELOCALE])
   REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV])
 ])
index 1fd2919520e847b89836e13d2c7f34ed27c6bc3e..9bb78f0d8389ed82f785ba53e719f85ce56a444f 100644 (file)
@@ -1,5 +1,5 @@
 # localeconv.m4 serial 1
-dnl Copyright (C) 2012-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-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.
index d865c66d1d5121e07f8cd7575ca61259a6d6ed1e..a9f629dd17762850a4032ee3171d02623c598087 100644 (file)
@@ -1,12 +1,29 @@
-# localename.m4 serial 2
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# localename.m4 serial 6
+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,
 dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([gl_LOCALENAME],
 [
+  AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
   AC_REQUIRE([gt_LC_MESSAGES])
+  AC_REQUIRE([gt_INTL_THREAD_LOCALE_NAME])
   AC_REQUIRE([gt_INTL_MACOSX])
-  AC_CHECK_FUNCS([setlocale uselocale])
+  AC_CHECK_HEADERS_ONCE([langinfo.h])
+  AC_CHECK_FUNCS_ONCE([newlocale duplocale freelocale])
+  if test $ac_cv_func_newlocale != yes; then
+    HAVE_NEWLOCALE=0
+  fi
+  if test $ac_cv_func_duplocale != yes; then
+    HAVE_DUPLOCALE=0
+  fi
+  if test $ac_cv_func_freelocale != yes; then
+    HAVE_FREELOCALE=0
+  fi
+  if test $gt_nameless_locales = yes; then
+    REPLACE_NEWLOCALE=1
+    REPLACE_DUPLOCALE=1
+    REPLACE_FREELOCALE=1
+  fi
 ])
diff --git a/m4/localtime-buffer.m4 b/m4/localtime-buffer.m4
new file mode 100644 (file)
index 0000000..6d99828
--- /dev/null
@@ -0,0 +1,21 @@
+# localtime-buffer.m4 serial 1
+dnl Copyright (C) 2017-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.
+
+AC_DEFUN([gl_LOCALTIME_BUFFER_DEFAULTS],
+[
+  NEED_LOCALTIME_BUFFER=0
+])
+
+dnl Macro invoked from other modules, to signal that the compilation of
+dnl module 'localtime-buffer' is needed.
+AC_DEFUN([gl_LOCALTIME_BUFFER_NEEDED],
+[
+  AC_REQUIRE([gl_LOCALTIME_BUFFER_DEFAULTS])
+  AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
+  NEED_LOCALTIME_BUFFER=1
+  REPLACE_GMTIME=1
+  REPLACE_LOCALTIME=1
+])
index 73a3c54cee8f290e8382308ae766709de182c203..93b76fa44db620e4e44aca2946bd561db2cdfffd 100644 (file)
@@ -1,5 +1,5 @@
-# lock.m4 serial 13 (gettext-0.18.2)
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+# lock.m4 serial 14
+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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -12,11 +12,16 @@ AC_DEFUN([gl_LOCK],
   if test "$gl_threads_api" = posix; then
     # OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the
     # pthread_rwlock_* functions.
+    has_rwlock=false
     AC_CHECK_TYPE([pthread_rwlock_t],
-      [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1],
+      [has_rwlock=true
+       AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1],
          [Define if the POSIX multithreading library has read/write locks.])],
       [],
       [#include <pthread.h>])
+    if $has_rwlock; then
+      gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER
+    fi
     # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
     AC_COMPILE_IFELSE([
       AC_LANG_PROGRAM(
index eefb37c455eba6d20963c8756825ae243a0d0fa8..08d0e36300d320478d23bbbced0e46a8905e7ca3 100644 (file)
@@ -1,14 +1,15 @@
-# longlong.m4 serial 17
-dnl Copyright (C) 1999-2007, 2009-2014 Free Software Foundation, Inc.
+# longlong.m4 serial 18
+dnl Copyright (C) 1999-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,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Paul Eggert.
 
+AC_PREREQ([2.62])
+
 # Define HAVE_LONG_LONG_INT if 'long long int' works.
-# This fixes a bug in Autoconf 2.61, and can be faster
-# than what's in Autoconf 2.62 through 2.68.
+# This can be faster than what's in Autoconf 2.62 through 2.68.
 
 # Note: If the type 'long long int' exists but is only 32 bits large
 # (as on some very old compilers), HAVE_LONG_LONG_INT will not be
@@ -56,8 +57,7 @@ AC_DEFUN([AC_TYPE_LONG_LONG_INT],
 ])
 
 # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
-# This fixes a bug in Autoconf 2.61, and can be faster
-# than what's in Autoconf 2.62 through 2.68.
+# This can be faster than what's in Autoconf 2.62 through 2.68.
 
 # Note: If the type 'unsigned long long int' exists but is only 32 bits
 # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
index 0904d02d52d4abc9cd485f541631b55cb129010b..d55ec2a3b112bd6e590546c6f3aa67a3c51788c7 100644 (file)
@@ -1,5 +1,5 @@
 # lseek.m4 serial 10
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+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,
 dnl with or without modifications, as long as this notice is preserved.
index c5e72b81e824f4a84378145699b6a2968973f591..ace163867e22731234fd80bead0caf5ed69d8200 100644 (file)
@@ -1,6 +1,6 @@
-# serial 26
+# serial 32
 
-# Copyright (C) 1997-2001, 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -10,14 +10,15 @@ dnl From Jim Meyering.
 
 AC_DEFUN([gl_FUNC_LSTAT],
 [
+  AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
   dnl If lstat does not exist, the replacement <sys/stat.h> does
   dnl "#define lstat stat", and lstat.c is a no-op.
   AC_CHECK_FUNCS_ONCE([lstat])
   if test $ac_cv_func_lstat = yes; then
     AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
-    case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
-      *no)
+    case $host_os,$gl_cv_func_lstat_dereferences_slashed_symlink in
+      solaris* | *no)
         REPLACE_LSTAT=1
         ;;
     esac
@@ -33,34 +34,39 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
 [
   dnl We don't use AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK any more, because it
   dnl is no longer maintained in Autoconf and because it invokes AC_LIBOBJ.
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_CACHE_CHECK([whether lstat correctly handles trailing slash],
     [gl_cv_func_lstat_dereferences_slashed_symlink],
     [rm -f conftest.sym conftest.file
      echo >conftest.file
-     if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
-       AC_RUN_IFELSE(
-         [AC_LANG_PROGRAM(
-            [AC_INCLUDES_DEFAULT],
-            [[struct stat sbuf;
-              /* Linux will dereference the symlink and fail, as required by
-                 POSIX.  That is better in the sense that it means we will not
-                 have to compile and use the lstat wrapper.  */
-              return lstat ("conftest.sym/", &sbuf) == 0;
-            ]])],
-         [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
-         [gl_cv_func_lstat_dereferences_slashed_symlink=no],
-         [case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
-          esac
-         ])
-     else
-       # If the 'ln -s' command failed, then we probably don't even
-       # have an lstat function.
-       gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
-     fi
+     AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM(
+          [AC_INCLUDES_DEFAULT],
+          [[struct stat sbuf;
+            if (symlink ("conftest.file", "conftest.sym") != 0)
+              return 1;
+            /* Linux will dereference the symlink and fail, as required by
+               POSIX.  That is better in the sense that it means we will not
+               have to compile and use the lstat wrapper.  */
+            return lstat ("conftest.sym/", &sbuf) == 0;
+          ]])],
+       [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
+       [gl_cv_func_lstat_dereferences_slashed_symlink=no],
+       [case "$host_os" in
+          linux-* | linux)
+            # Guess yes on Linux systems.
+            gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+          *-gnu* | gnu*)
+            # Guess yes on glibc systems.
+            gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+          mingw*)
+            # Guess no on native Windows.
+            gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
+          *)
+            # If we don't know, assume the worst.
+            gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
+        esac
+       ])
      rm -f conftest.sym conftest.file
     ])
   case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
index 5d9acd8e23bcfd20d353804aff13666ecbed54f4..94b082976667c0c9edf2e9ff7a668c1fd7d997bf 100644 (file)
@@ -1,14 +1,14 @@
 # Helper functions for option handling.                    -*- Autoconf -*-
 #
-#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-#   Inc.
+#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
+#   Foundation, Inc.
 #   Written by Gary V. Vaughan, 2004
 #
 # This file is free software; the Free Software Foundation gives
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 7 ltoptions.m4
+# serial 8 ltoptions.m4
 
 # This is to help aclocal find these macros, as it can't see m4_define.
 AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -29,7 +29,7 @@ m4_define([_LT_SET_OPTION],
 [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
 m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
         _LT_MANGLE_DEFUN([$1], [$2]),
-    [m4_warning([Unknown $1 option `$2'])])[]dnl
+    [m4_warning([Unknown $1 option '$2'])])[]dnl
 ])
 
 
@@ -75,13 +75,15 @@ m4_if([$1],[LT_INIT],[
   dnl
   dnl If no reference was made to various pairs of opposing options, then
   dnl we run the default mode handler for the pair.  For example, if neither
-  dnl `shared' nor `disable-shared' was passed, we enable building of shared
+  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
   dnl archives by default:
   _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
   _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
   _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
   _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
-                  [_LT_ENABLE_FAST_INSTALL])
+                  [_LT_ENABLE_FAST_INSTALL])
+  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+                  [_LT_WITH_AIX_SONAME([aix])])
   ])
 ])# _LT_SET_OPTIONS
 
@@ -112,7 +114,7 @@ AU_DEFUN([AC_LIBTOOL_DLOPEN],
 [_LT_SET_OPTION([LT_INIT], [dlopen])
 AC_DIAGNOSE([obsolete],
 [$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
+put the 'dlopen' option into LT_INIT's first parameter.])
 ])
 
 dnl aclocal-1.4 backwards compatibility:
@@ -148,7 +150,7 @@ AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
 _LT_SET_OPTION([LT_INIT], [win32-dll])
 AC_DIAGNOSE([obsolete],
 [$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
+put the 'win32-dll' option into LT_INIT's first parameter.])
 ])
 
 dnl aclocal-1.4 backwards compatibility:
@@ -157,9 +159,9 @@ dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
 
 # _LT_ENABLE_SHARED([DEFAULT])
 # ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+# implement the --enable-shared flag, and supports the 'shared' and
+# 'disable-shared' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
 m4_define([_LT_ENABLE_SHARED],
 [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
 AC_ARG_ENABLE([shared],
@@ -172,14 +174,14 @@ AC_ARG_ENABLE([shared],
     *)
       enable_shared=no
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for pkg in $enableval; do
-       IFS="$lt_save_ifs"
+       IFS=$lt_save_ifs
        if test "X$pkg" = "X$p"; then
          enable_shared=yes
        fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac],
     [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
@@ -211,9 +213,9 @@ dnl AC_DEFUN([AM_DISABLE_SHARED], [])
 
 # _LT_ENABLE_STATIC([DEFAULT])
 # ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+# implement the --enable-static flag, and support the 'static' and
+# 'disable-static' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
 m4_define([_LT_ENABLE_STATIC],
 [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
 AC_ARG_ENABLE([static],
@@ -226,14 +228,14 @@ AC_ARG_ENABLE([static],
     *)
      enable_static=no
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for pkg in $enableval; do
-       IFS="$lt_save_ifs"
+       IFS=$lt_save_ifs
        if test "X$pkg" = "X$p"; then
          enable_static=yes
        fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac],
     [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
@@ -265,9 +267,9 @@ dnl AC_DEFUN([AM_DISABLE_STATIC], [])
 
 # _LT_ENABLE_FAST_INSTALL([DEFAULT])
 # ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+# implement the --enable-fast-install flag, and support the 'fast-install'
+# and 'disable-fast-install' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
 m4_define([_LT_ENABLE_FAST_INSTALL],
 [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
 AC_ARG_ENABLE([fast-install],
@@ -280,14 +282,14 @@ AC_ARG_ENABLE([fast-install],
     *)
       enable_fast_install=no
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for pkg in $enableval; do
-       IFS="$lt_save_ifs"
+       IFS=$lt_save_ifs
        if test "X$pkg" = "X$p"; then
          enable_fast_install=yes
        fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac],
     [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
@@ -304,14 +306,14 @@ AU_DEFUN([AC_ENABLE_FAST_INSTALL],
 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
 AC_DIAGNOSE([obsolete],
 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
+the 'fast-install' option into LT_INIT's first parameter.])
 ])
 
 AU_DEFUN([AC_DISABLE_FAST_INSTALL],
 [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
 AC_DIAGNOSE([obsolete],
 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
+the 'disable-fast-install' option into LT_INIT's first parameter.])
 ])
 
 dnl aclocal-1.4 backwards compatibility:
@@ -319,11 +321,64 @@ dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
 dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
 
 
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+  AC_MSG_CHECKING([which variant of shared library versioning to provide])
+  AC_ARG_WITH([aix-soname],
+    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+    [case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname],
+    [AC_CACHE_VAL([lt_cv_with_aix_soname],
+      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+    with_aix_soname=$lt_cv_with_aix_soname])
+  AC_MSG_RESULT([$with_aix_soname])
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
 # _LT_WITH_PIC([MODE])
 # --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
 # LT_INIT options.
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
 m4_define([_LT_WITH_PIC],
 [AC_ARG_WITH([pic],
     [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
@@ -334,19 +389,17 @@ m4_define([_LT_WITH_PIC],
     *)
       pic_mode=default
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
+       IFS=$lt_save_ifs
        if test "X$lt_pkg" = "X$lt_p"; then
          pic_mode=yes
        fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac],
-    [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+    [pic_mode=m4_default([$1], [default])])
 
 _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
 ])# _LT_WITH_PIC
@@ -359,7 +412,7 @@ AU_DEFUN([AC_LIBTOOL_PICMODE],
 [_LT_SET_OPTION([LT_INIT], [pic-only])
 AC_DIAGNOSE([obsolete],
 [$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
+put the 'pic-only' option into LT_INIT's first parameter.])
 ])
 
 dnl aclocal-1.4 backwards compatibility:
index 9000a057d31ddf75cb85ccda8757de4493bcdbe7..48bc9344a4d661e116be1483d5520753875b2bd1 100644 (file)
@@ -1,6 +1,7 @@
 # ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
 #
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Foundation, Inc.
 # Written by Gary V. Vaughan, 2004
 #
 # This file is free software; the Free Software Foundation gives
@@ -33,7 +34,7 @@ m4_define([_lt_join],
 # ------------
 # Manipulate m4 lists.
 # These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
+# Autoconf-2.59, which quotes differently.
 m4_define([lt_car], [[$1]])
 m4_define([lt_cdr],
 [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
@@ -44,7 +45,7 @@ m4_define([lt_unquote], $1)
 
 # lt_append(MACRO-NAME, STRING, [SEPARATOR])
 # ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
 # Note that neither SEPARATOR nor STRING are expanded; they are appended
 # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
 # No SEPARATOR is output if MACRO-NAME was previously undefined (different
index 07a8602d48d615a65800b14446d8c8c8694f2818..fa04b52a3bf868bd57e7ba796d64385a51e7ec5a 100644 (file)
@@ -1,6 +1,6 @@
 # ltversion.m4 -- version numbers                      -*- Autoconf -*-
 #
-#   Copyright (C) 2004 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
 #   Written by Scott James Remnant, 2004
 #
 # This file is free software; the Free Software Foundation gives
@@ -9,15 +9,15 @@
 
 # @configure_input@
 
-# serial 3337 ltversion.m4
+# serial 4179 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.4.2])
-m4_define([LT_PACKAGE_REVISION], [1.3337])
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.2'
-macro_revision='1.3337'
+[macro_version='2.4.6'
+macro_revision='2.4.6'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])
index c573da90c5ccebffba4dce9a6462036bfa986d5f..c6b26f88f6c3c1a052afa6314ba2adf832d785ee 100644 (file)
@@ -1,6 +1,7 @@
 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
 #
-#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+#   Foundation, Inc.
 #   Written by Scott James Remnant, 2004.
 #
 # This file is free software; the Free Software Foundation gives
@@ -11,7 +12,7 @@
 
 # These exist entirely to fool aclocal when bootstrapping libtool.
 #
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
 # which have later been changed to m4_define as they aren't part of the
 # exported API, or moved to Autoconf or Automake where they belong.
 #
@@ -25,7 +26,7 @@
 # included after everything else.  This provides aclocal with the
 # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
 # because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
 #
 # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
 # Yes, that means every name once taken will need to remain here until
index 322ad6effe81a598f0fcb69edda846b074df0feb..c469c4508deb9423de07d864d241229287a65790 100644 (file)
@@ -1,13 +1,13 @@
-# malloc.m4 serial 14
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
 
 m4_version_prereq([2.70], [] ,[
 
-# This is taken from the following Autoconf patch:
-# http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9
+# This is adapted with modifications from upstream Autoconf here:
+# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=04be2b7a29d65d9a08e64e8e56e594c91749598c
 AC_DEFUN([_AC_FUNC_MALLOC_IF],
 [
   AC_REQUIRE([AC_HEADER_STDC])dnl
@@ -23,21 +23,31 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF],
             char *malloc ();
             #endif
           ]],
-          [[return ! malloc (0);]])
+          [[char *p = malloc (0);
+            int result = !p;
+            free (p);
+            return result;]])
        ],
        [ac_cv_func_malloc_0_nonnull=yes],
        [ac_cv_func_malloc_0_nonnull=no],
        [case "$host_os" in
           # Guess yes on platforms where we know the result.
-          *-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
 
 ])
@@ -88,7 +98,7 @@ AC_DEFUN([gl_CHECK_MALLOC_POSIX],
       AC_COMPILE_IFELSE(
         [AC_LANG_PROGRAM(
            [[]],
-           [[#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+           [[#if defined _WIN32 && ! defined __CYGWIN__
              choke me
              #endif
             ]])],
index dcc1a0843e94a586e3c121aeffefbaf606a6b0a0..820f40a8a88cce48935d3b0a61804141e97b71b2 100644 (file)
@@ -1,5 +1,5 @@
 # malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2019 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
index e1cee6cf9d1105e17db161c1f5da4303be18ba9b..6bb9f8f84e867961cc1cf3d6c1a764d4c34f862a 100644 (file)
@@ -1,5 +1,5 @@
-# manywarnings.m4 serial 6
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# 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.
@@ -33,8 +33,17 @@ AC_DEFUN([gl_MANYWARN_COMPLEMENT],
 # 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])
@@ -42,144 +51,201 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
 
     dnl Check if -W -Werror -Wno-missing-field-initializers is supported
     dnl with the current $CC $CFLAGS $CPPFLAGS.
-    AC_MSG_CHECKING([whether -Wno-missing-field-initializers is supported])
-    AC_CACHE_VAL([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"])
-    AC_MSG_RESULT([$gl_cv_cc_nomfi_supported])
+    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_MSG_CHECKING([whether -Wno-missing-field-initializers is needed])
-      AC_CACHE_VAL([gl_cv_cc_nomfi_needed], [
-        gl_save_CFLAGS="$CFLAGS"
-        CFLAGS="$CFLAGS -W -Werror"
-        AC_COMPILE_IFELSE(
-          [AC_LANG_PROGRAM(
-             [[void f (void)
-               {
-                 typedef struct { int a; int b; } s_t;
-                 s_t s1 = { 0, };
-               }
-             ]],
-             [[]])],
-          [gl_cv_cc_nomfi_needed=no],
-          [gl_cv_cc_nomfi_needed=yes])
-        CFLAGS="$gl_save_CFLAGS"
-      ])
-      AC_MSG_RESULT([$gl_cv_cc_nomfi_needed])
+      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_MSG_CHECKING([whether -Wuninitialized is supported])
-    AC_CACHE_VAL([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"])
-    AC_MSG_RESULT([$gl_cv_cc_uninitialized_supported])
+    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 \
+  for gl_manywarn_item in -fno-common \
     -W \
-    -Wabi \
+    -Wabsolute-value \
     -Waddress \
+    -Waddress-of-packed-member \
     -Waggressive-loop-optimizations \
     -Wall \
-    -Warray-bounds \
+    -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 \
-    -Wjump-misses-init \
+    -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 \
-    -Wnormalized=nfc \
+    -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-default \
+    -Wswitch-bool \
+    -Wswitch-unreachable \
     -Wsync-nand \
     -Wsystem-headers \
+    -Wtautological-compare \
     -Wtrampolines \
     -Wtrigraphs \
     -Wtype-limits \
@@ -203,13 +269,54 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wvla \
     -Wvolatile-register-var \
     -Wwrite-strings \
-    -fdiagnostics-show-option \
-    -funit-at-a-time \
     \
     ; 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"
@@ -220,4 +327,13 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
   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])
 ])
index 45696f54f6930b180bbe97bd479716982cd5b128..4811af5d0007cf670c48e75932c131d72df527d4 100644 (file)
@@ -1,5 +1,5 @@
-# mbrtowc.m4 serial 26
-dnl Copyright (C) 2001-2002, 2004-2005, 2008-2014 Free Software Foundation,
+# mbrtowc.m4 serial 31  -*- coding: utf-8 -*-
+dnl Copyright (C) 2001-2002, 2004-2005, 2008-2019 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -40,6 +40,7 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
       gl_MBRTOWC_RETVAL
       gl_MBRTOWC_NUL_RETVAL
       gl_MBRTOWC_EMPTY_INPUT
+      gl_MBRTOWC_C_LOCALE
       case "$gl_cv_func_mbrtowc_null_arg1" in
         *yes) ;;
         *) AC_DEFINE([MBRTOWC_NULL_ARG1_BUG], [1],
@@ -76,6 +77,13 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
            REPLACE_MBRTOWC=1
            ;;
       esac
+      case $gl_cv_C_locale_sans_EILSEQ in
+        *yes) ;;
+        *) AC_DEFINE([C_LOCALE_MAYBE_EILSEQ], [1],
+             [Define to 1 if the C locale may have encoding errors.])
+           REPLACE_MBRTOWC=1
+           ;;
+      esac
     fi
   fi
 ])
@@ -156,7 +164,7 @@ int main ()
       memset (&state, '\0', sizeof (mbstate_t));
       if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
         if (mbsinit (&state))
-          return 1;
+          return 2;
     }
   return 0;
 }]])],
@@ -216,7 +224,7 @@ int main ()
       memset (&state, '\0', sizeof (mbstate_t));
       if (mbrtowc (&wc, input + 3, 6, &state) != 4
           && mbtowc (&wc, input + 3, 6) == 4)
-        return 1;
+        return 2;
     }
   return 0;
 }]])],
@@ -344,7 +352,7 @@ int main ()
       mbrtowc (&wc, NULL, 5, &state);
       /* Check that wc was not modified.  */
       if (wc != (wchar_t) 0xBADFACE)
-        return 1;
+        return 2;
     }
   return 0;
 }]])],
@@ -531,7 +539,7 @@ int main ()
 
       memset (&state, '\0', sizeof (mbstate_t));
       if (mbrtowc (&wc, "", 1, &state) != 0)
-        return 1;
+        return 2;
     }
   return 0;
 }]])],
@@ -555,10 +563,11 @@ AC_DEFUN([gl_MBRTOWC_EMPTY_INPUT],
       dnl is present.
 changequote(,)dnl
       case "$host_os" in
-                     # Guess no on AIX and glibc systems.
-        aix* | *-gnu*)
-                    gl_cv_func_mbrtowc_empty_input="guessing no" ;;
-        *)          gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+                              # Guess no on AIX and glibc systems.
+        aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+                              # Guess yes on native Windows.
+        mingw*)               gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+        *)                    gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
       esac
 changequote([,])dnl
       AC_RUN_IFELSE(
@@ -569,16 +578,63 @@ changequote([,])dnl
            int
            main (void)
            {
-             return mbrtowc (&wc, "", 0, &mbs) == (size_t) -2;
+             return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
            }]])],
-        [gl_cv_func_mbrtowc_empty_input=no],
         [gl_cv_func_mbrtowc_empty_input=yes],
+        [gl_cv_func_mbrtowc_empty_input=no],
         [:])
     ])
 ])
 
+dnl Test whether mbrtowc reports encoding errors in the C locale.
+dnl Although POSIX was never intended to allow this, the GNU C Library
+dnl and other implementations do it.  See:
+dnl https://sourceware.org/bugzilla/show_bug.cgi?id=19932
+
+AC_DEFUN([gl_MBRTOWC_C_LOCALE],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether the C locale is free of encoding errors],
+    [gl_cv_C_locale_sans_EILSEQ],
+    [
+     dnl Initial guess, used when cross-compiling or when no suitable locale
+     dnl is present.
+     gl_cv_C_locale_sans_EILSEQ="guessing no"
+
+     AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <limits.h>
+            #include <locale.h>
+            #include <wchar.h>
+          ]], [[
+            int i;
+            char *locale = setlocale (LC_ALL, "C");
+            if (! locale)
+              return 2;
+            for (i = CHAR_MIN; i <= CHAR_MAX; i++)
+              {
+                char c = i;
+                wchar_t wc;
+                mbstate_t mbs = { 0, };
+                size_t ss = mbrtowc (&wc, &c, 1, &mbs);
+                if (1 < ss)
+                  return 3;
+              }
+            return 0;
+          ]])],
+      [gl_cv_C_locale_sans_EILSEQ=yes],
+      [gl_cv_C_locale_sans_EILSEQ=no],
+      [case "$host_os" in
+                 # Guess yes on native Windows.
+         mingw*) gl_cv_C_locale_sans_EILSEQ="guessing yes" ;;
+       esac
+      ])
+    ])
+])
+
 # Prerequisites of lib/mbrtowc.c.
 AC_DEFUN([gl_PREREQ_MBRTOWC], [
+  AC_REQUIRE([AC_C_INLINE])
   :
 ])
 
@@ -591,7 +647,7 @@ AC_DEFUN([AC_FUNC_MBRTOWC],
 [
   dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60.
   AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
-    gl_cv_func_mbrtowc,
+    [gl_cv_func_mbrtowc],
     [AC_LINK_IFELSE(
        [AC_LANG_PROGRAM(
             [[/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be
@@ -607,8 +663,8 @@ AC_DEFUN([AC_FUNC_MBRTOWC],
               size_t n = 1;
               mbstate_t state;
               return ! (sizeof state && (mbrtowc) (&wc, s, n, &state));]])],
-       gl_cv_func_mbrtowc=yes,
-       gl_cv_func_mbrtowc=no)])
+       [gl_cv_func_mbrtowc=yes],
+       [gl_cv_func_mbrtowc=no])])
   if test $gl_cv_func_mbrtowc = yes; then
     AC_DEFINE([HAVE_MBRTOWC], [1],
       [Define to 1 if mbrtowc and mbstate_t are properly declared.])
index e1598a1d7c62c4e4548026fc8f46fb5f0d59d10d..e2f45e75a1e1d048ee9643b2ae48f3ee7216bd2f 100644 (file)
@@ -1,5 +1,5 @@
 # mbsinit.m4 serial 8
-dnl Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-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.
index 068155a52c323a2abfd759068086eded3dffc413..f669753c07e43b4b5f7f6d13532eecf2cd7293b8 100644 (file)
@@ -1,5 +1,5 @@
 # mbstate_t.m4 serial 13
-dnl Copyright (C) 2000-2002, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 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.
index cacfe1610cb8008450a5adbaba58b901a4cc6258..5a4b92ee52eb71ed263b22829ccbe8f7349d81e1 100644 (file)
@@ -1,5 +1,5 @@
-# mbtowc.m4 serial 2
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -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/m4/minmax.m4 b/m4/minmax.m4
new file mode 100644 (file)
index 0000000..1e0d30b
--- /dev/null
@@ -0,0 +1,44 @@
+# minmax.m4 serial 4
+dnl Copyright (C) 2005, 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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_PREREQ([2.53])
+
+AC_DEFUN([gl_MINMAX],
+[
+  AC_REQUIRE([gl_PREREQ_MINMAX])
+])
+
+# Prerequisites of lib/minmax.h.
+AC_DEFUN([gl_PREREQ_MINMAX],
+[
+  gl_MINMAX_IN_HEADER([limits.h])
+  gl_MINMAX_IN_HEADER([sys/param.h])
+])
+
+dnl gl_MINMAX_IN_HEADER(HEADER)
+dnl The parameter has to be a literal header name; it cannot be macro,
+dnl nor a shell variable. (Because autoheader collects only AC_DEFINE
+dnl invocations with a literal macro name.)
+AC_DEFUN([gl_MINMAX_IN_HEADER],
+[
+  m4_pushdef([header], AS_TR_SH([$1]))
+  m4_pushdef([HEADER], AS_TR_CPP([$1]))
+  AC_CACHE_CHECK([whether <$1> defines MIN and MAX],
+    [gl_cv_minmax_in_]header,
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <$1>
+            int x = MIN (42, 17);]],
+          [[]])],
+       [gl_cv_minmax_in_]header[=yes],
+       [gl_cv_minmax_in_]header[=no])])
+  if test $gl_cv_minmax_in_[]header = yes; then
+    AC_DEFINE([HAVE_MINMAX_IN_]HEADER, 1,
+      [Define to 1 if <$1> defines the MIN and MAX macros.])
+  fi
+  m4_popdef([HEADER])
+  m4_popdef([header])
+])
diff --git a/m4/mkdir.m4 b/m4/mkdir.m4
new file mode 100644 (file)
index 0000000..366a3cd
--- /dev/null
@@ -0,0 +1,84 @@
+# serial 15
+
+# Copyright (C) 2001, 2003-2004, 2006, 2008-2019 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# On some systems, mkdir ("foo/", 0700) fails because of the trailing slash.
+# On others, mkdir ("foo/./", 0700) mistakenly succeeds.
+# On such systems, arrange to use a wrapper function.
+AC_DEFUN([gl_FUNC_MKDIR],
+[dnl
+  AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CHECK_HEADERS_ONCE([unistd.h])
+  AC_CACHE_CHECK([whether mkdir handles trailing slash],
+    [gl_cv_func_mkdir_trailing_slash_works],
+    [rm -rf conftest.dir
+      AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#       include <sys/types.h>
+#       include <sys/stat.h>
+]], [return mkdir ("conftest.dir/", 0700);])],
+      [gl_cv_func_mkdir_trailing_slash_works=yes],
+      [gl_cv_func_mkdir_trailing_slash_works=no],
+      [case "$host_os" in
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu* | gnu*)   gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;;
+                          # Guess yes on MSVC, no on mingw.
+         mingw*)          AC_EGREP_CPP([Known], [
+#ifdef _MSC_VER
+ Known
+#endif
+                            ],
+                            [gl_cv_func_mkdir_trailing_slash_works="guessing yes"],
+                            [gl_cv_func_mkdir_trailing_slash_works="guessing no"])
+                          ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_mkdir_trailing_slash_works="guessing no" ;;
+       esac
+      ])
+    rm -rf conftest.dir
+    ]
+  )
+  case "$gl_cv_func_mkdir_trailing_slash_works" in
+    *yes) ;;
+    *)
+      REPLACE_MKDIR=1
+      ;;
+  esac
+
+  AC_CACHE_CHECK([whether mkdir handles trailing dot],
+    [gl_cv_func_mkdir_trailing_dot_works],
+    [rm -rf conftest.dir
+      AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#       include <sys/types.h>
+#       include <sys/stat.h>
+]], [return !mkdir ("conftest.dir/./", 0700);])],
+      [gl_cv_func_mkdir_trailing_dot_works=yes],
+      [gl_cv_func_mkdir_trailing_dot_works=no],
+      [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.
+         *)             gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
+       esac
+      ])
+    rm -rf conftest.dir
+    ]
+  )
+  case "$gl_cv_func_mkdir_trailing_dot_works" in
+    *yes) ;;
+    *)
+      REPLACE_MKDIR=1
+      AC_DEFINE([FUNC_MKDIR_DOT_BUG], [1], [Define to 1 if mkdir mistakenly
+        creates a directory given with a trailing dot component.])
+      ;;
+  esac
+])
index 9033a4e60220a81bef15c54917b73cee0808c03a..1b15c2eb3abb5b29ef255b3bb5c39f967105cb89 100644 (file)
@@ -1,6 +1,6 @@
-#serial 23
+#serial 26
 
-# Copyright (C) 2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -57,10 +57,14 @@ AC_DEFUN([gl_FUNC_MKSTEMP],
           [gl_cv_func_working_mkstemp=yes],
           [gl_cv_func_working_mkstemp=no],
           [case "$host_os" in
-                     # Guess yes on glibc systems.
-             *-gnu*) gl_cv_func_working_mkstemp="guessing yes" ;;
-                     # If we don't know, assume the worst.
-             *)      gl_cv_func_working_mkstemp="guessing no" ;;
+                            # 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.
+             *)             gl_cv_func_working_mkstemp="guessing no" ;;
            esac
           ])
         rm -rf conftest.mkstemp
index 94ae2e2f21894445f3f499c284dde0533b25782c..50c380824c7624ae73ec5447a000ec712c4328cc 100644 (file)
@@ -1,5 +1,5 @@
 # mmap-anon.m4 serial 10
-dnl Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+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,
 dnl with or without modifications, as long as this notice is preserved.
index db6e192be9f156a06b9aa94f9b3272f1a138e8f5..ba840dca99d592a3bdaac4447a1777cd8d450e13 100644 (file)
@@ -1,5 +1,5 @@
 # mode_t.m4 serial 2
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 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,
 dnl with or without modifications, as long as this notice is preserved.
index 7f26087e745fbde7ab4b7780128e29acb92b9aa4..4b958762d2a3785b64c383d2f7436e68265313c0 100644 (file)
@@ -1,5 +1,5 @@
 # msvc-inval.m4 serial 1
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+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,
 dnl with or without modifications, as long as this notice is preserved.
index 9e32c171e899446f6c87a076d5b242f9f6e77a01..7e73b40b63257c818f280fe35667f970388cc84b 100644 (file)
@@ -1,5 +1,5 @@
 # msvc-nothrow.m4 serial 1
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+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,
 dnl with or without modifications, as long as this notice is preserved.
index 2cb956dee56e56d92f4fb1629dca097cf4ec26ed..d48316e0ed7712376a4fb790a940f950326b6cea 100644 (file)
@@ -1,5 +1,5 @@
 # multiarch.m4 serial 7
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+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.
diff --git a/m4/nanosleep.m4 b/m4/nanosleep.m4
new file mode 100644 (file)
index 0000000..971aae3
--- /dev/null
@@ -0,0 +1,161 @@
+# serial 38
+
+dnl From Jim Meyering.
+dnl Check for the nanosleep function.
+dnl If not found, use the supplied replacement.
+dnl
+
+# Copyright (C) 1999-2001, 2003-2019 Free Software Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_NANOSLEEP],
+[
+ AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+ dnl Persuade glibc and Solaris <time.h> to declare nanosleep.
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+ AC_CHECK_HEADERS_ONCE([sys/time.h])
+ AC_REQUIRE([gl_FUNC_SELECT])
+
+ AC_CHECK_DECLS_ONCE([alarm])
+
+ nanosleep_save_libs=$LIBS
+
+ # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
+ # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
+ LIB_NANOSLEEP=
+ AC_SUBST([LIB_NANOSLEEP])
+ AC_SEARCH_LIBS([nanosleep], [rt posix4],
+                [test "$ac_cv_search_nanosleep" = "none required" ||
+                 LIB_NANOSLEEP=$ac_cv_search_nanosleep])
+ if test "x$ac_cv_search_nanosleep" != xno; then
+   dnl The system has a nanosleep function.
+
+   AC_REQUIRE([gl_MULTIARCH])
+   if test $APPLE_UNIVERSAL_BUILD = 1; then
+     # A universal build on Apple Mac OS X platforms.
+     # The test result would be 'no (mishandles large arguments)' in 64-bit
+     # mode but 'yes' in 32-bit mode. But we need a configuration result that
+     # is valid in both modes.
+     gl_cv_func_nanosleep='no (mishandles large arguments)'
+   fi
+
+   AC_CACHE_CHECK([for working nanosleep],
+    [gl_cv_func_nanosleep],
+    [
+     AC_RUN_IFELSE(
+       [AC_LANG_SOURCE([[
+          #include <errno.h>
+          #include <limits.h>
+          #include <signal.h>
+          #if HAVE_SYS_TIME_H
+           #include <sys/time.h>
+          #endif
+          #include <time.h>
+          #include <unistd.h>
+          #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
+          #define TYPE_MAXIMUM(t) \
+            ((t) (! TYPE_SIGNED (t) \
+                  ? (t) -1 \
+                  : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+
+          #if HAVE_DECL_ALARM
+          static void
+          check_for_SIGALRM (int sig)
+          {
+            if (sig != SIGALRM)
+              _exit (1);
+          }
+          #endif
+
+          int
+          main ()
+          {
+            static struct timespec ts_sleep;
+            static struct timespec ts_remaining;
+            /* Test for major problems first.  */
+            if (! nanosleep)
+              return 2;
+            ts_sleep.tv_sec = 0;
+            ts_sleep.tv_nsec = 1;
+            #if HAVE_DECL_ALARM
+            {
+              static struct sigaction act;
+              act.sa_handler = check_for_SIGALRM;
+              sigemptyset (&act.sa_mask);
+              sigaction (SIGALRM, &act, NULL);
+              alarm (1);
+              if (nanosleep (&ts_sleep, NULL) != 0)
+                return 3;
+              /* Test for a minor problem: the handling of large arguments.  */
+              ts_sleep.tv_sec = TYPE_MAXIMUM (time_t);
+              ts_sleep.tv_nsec = 999999999;
+              alarm (1);
+              if (nanosleep (&ts_sleep, &ts_remaining) != -1)
+                return 4;
+              if (errno != EINTR)
+                return 5;
+              if (ts_remaining.tv_sec <= TYPE_MAXIMUM (time_t) - 10)
+                return 6;
+            }
+            #else /* A simpler test for native Windows.  */
+            if (nanosleep (&ts_sleep, &ts_remaining) < 0)
+              return 3;
+            #endif
+            return 0;
+          }]])],
+       [gl_cv_func_nanosleep=yes],
+       [case $? in dnl (
+        4|5|6) gl_cv_func_nanosleep='no (mishandles large arguments)';; dnl (
+        *)   gl_cv_func_nanosleep=no;;
+        esac],
+       [case "$host_os" in dnl ((
+          linux*) # Guess it halfway works when the kernel is Linux.
+            gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;;
+          mingw*) # Guess no on native Windows.
+            gl_cv_func_nanosleep='guessing no' ;;
+          *)      # If we don't know, assume the worst.
+            gl_cv_func_nanosleep='guessing no' ;;
+        esac
+       ])
+    ])
+   case "$gl_cv_func_nanosleep" in
+     *yes)
+       REPLACE_NANOSLEEP=0
+       ;;
+     *)
+       REPLACE_NANOSLEEP=1
+       case "$gl_cv_func_nanosleep" in
+         *"mishandles large arguments"*)
+           AC_DEFINE([HAVE_BUG_BIG_NANOSLEEP], [1],
+             [Define to 1 if nanosleep mishandles large arguments.])
+           ;;
+         *)
+           # The replacement uses select(). Add $LIBSOCKET to $LIB_NANOSLEEP.
+           for ac_lib in $LIBSOCKET; do
+             case " $LIB_NANOSLEEP " in
+               *" $ac_lib "*) ;;
+               *) LIB_NANOSLEEP="$LIB_NANOSLEEP $ac_lib";;
+             esac
+           done
+           ;;
+       esac
+       ;;
+   esac
+ else
+   HAVE_NANOSLEEP=0
+ fi
+ LIBS=$nanosleep_save_libs
+])
+
+# Prerequisites of lib/nanosleep.c.
+AC_DEFUN([gl_PREREQ_NANOSLEEP],
+[
+  AC_CHECK_HEADERS_ONCE([sys/select.h])
+  gl_PREREQ_SIG_HANDLER_H
+])
diff --git a/m4/netinet_in_h.m4 b/m4/netinet_in_h.m4
new file mode 100644 (file)
index 0000000..0f96cae
--- /dev/null
@@ -0,0 +1,31 @@
+# netinet_in_h.m4 serial 5
+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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_HEADER_NETINET_IN],
+[
+  AC_CACHE_CHECK([whether <netinet/in.h> is self-contained],
+    [gl_cv_header_netinet_in_h_selfcontained],
+    [
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netinet/in.h>]], [[]])],
+        [gl_cv_header_netinet_in_h_selfcontained=yes],
+        [gl_cv_header_netinet_in_h_selfcontained=no])
+    ])
+  if test $gl_cv_header_netinet_in_h_selfcontained = yes; then
+    NETINET_IN_H=''
+  else
+    NETINET_IN_H='netinet/in.h'
+    AC_CHECK_HEADERS([netinet/in.h])
+    gl_CHECK_NEXT_HEADERS([netinet/in.h])
+    if test $ac_cv_header_netinet_in_h = yes; then
+      HAVE_NETINET_IN_H=1
+    else
+      HAVE_NETINET_IN_H=0
+    fi
+    AC_SUBST([HAVE_NETINET_IN_H])
+  fi
+  AC_SUBST([NETINET_IN_H])
+  AM_CONDITIONAL([GL_GENERATE_NETINET_IN_H], [test -n "$NETINET_IN_H"])
+])
index 6976e77678fecebc13413363722e71f310267b24..66eee41d8895dc8545459475a1c615faba21c515 100644 (file)
@@ -1,5 +1,5 @@
-# nl_langinfo.m4 serial 5
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# nl_langinfo.m4 serial 6
+dnl Copyright (C) 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -36,8 +36,11 @@ AC_DEFUN([gl_FUNC_NL_LANGINFO],
     AC_DEFINE_UNQUOTED([FUNC_NL_LANGINFO_YESEXPR_WORKS],
       [$FUNC_NL_LANGINFO_YESEXPR_WORKS],
       [Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string.])
-    if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \
-        && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then
+    if test $HAVE_LANGINFO_CODESET = 1 \
+       && test $HAVE_LANGINFO_T_FMT_AMPM = 1 \
+       && test $HAVE_LANGINFO_ALTMON = 1 \
+       && test $HAVE_LANGINFO_ERA = 1 \
+       && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then
       :
     else
       REPLACE_NL_LANGINFO=1
index 5a5d77d63b512d67f2b15d0f410f93583b3d6566..4d9f0226906fe81ce9fed34db6506dd8193679fa 100644 (file)
@@ -1,5 +1,5 @@
-# nocrash.m4 serial 4
-dnl Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+# nocrash.m4 serial 5
+dnl Copyright (C) 2005, 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -79,7 +79,7 @@ nocrash_init (void)
     }
   }
 }
-#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#elif defined _WIN32 && ! defined __CYGWIN__
 /* Avoid a crash on native Windows.  */
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
@@ -110,11 +110,12 @@ nocrash_init (void)
 #else
 /* Avoid a crash on POSIX systems.  */
 #include <signal.h>
+#include <unistd.h>
 /* A POSIX signal handler.  */
 static void
 exception_handler (int sig)
 {
-  exit (1);
+  _exit (1);
 }
 static void
 nocrash_init (void)
index 1f0b77a892b746e84c723e3395a31d1ba7d6df32..3999fba2bbefb89e8a21ede2ae3a076ea27a3b24 100644 (file)
@@ -3,7 +3,7 @@
 # The problem is that on systems supporting O_DIRECT, open with O_DIRECT
 # fails for some file system types (e.g., tmpfs on linux-2.6.21).
 
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014, 2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
index f5885b34b1c70f32f5ae4cdf4cc214d2570e8149..711a2d44fbe41bdb0aafcc41f127d44feae06594 100644 (file)
@@ -1,5 +1,5 @@
 # off_t.m4 serial 1
-dnl Copyright (C) 2012-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-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.
diff --git a/m4/open-cloexec.m4 b/m4/open-cloexec.m4
new file mode 100644 (file)
index 0000000..52498d9
--- /dev/null
@@ -0,0 +1,21 @@
+# Test whether O_CLOEXEC is defined.
+
+dnl Copyright 2017-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.
+
+AC_DEFUN([gl_PREPROC_O_CLOEXEC],
+[
+  AC_CACHE_CHECK([for O_CLOEXEC],
+    [gl_cv_macro_O_CLOEXEC],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM([[#include <fcntl.h>
+                          #ifndef O_CLOEXEC
+                            choke me;
+                          #endif
+                        ]],
+                        [[return O_CLOEXEC;]])],
+       [gl_cv_macro_O_CLOEXEC=yes],
+       [gl_cv_macro_O_CLOEXEC=no])])
+])
index 68f116f0a83778efce967d4248f9ca71a6d6c961..5d73f4de1acb87e07a86e344ad486aa771b3577e 100644 (file)
@@ -1,5 +1,5 @@
-# open.m4 serial 14
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# open.m4 serial 15
+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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,6 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_OPEN],
 [
   AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_PREPROC_O_CLOEXEC])
   case "$host_os" in
     mingw* | pw*)
       REPLACE_OPEN=1
@@ -15,6 +16,9 @@ AC_DEFUN([gl_FUNC_OPEN],
       dnl open("foo/") should not create a file when the file name has a
       dnl trailing slash.  FreeBSD only has the problem on symlinks.
       AC_CHECK_FUNCS_ONCE([lstat])
+      if test "$gl_cv_macro_O_CLOEXEC" != yes; then
+        REPLACE_OPEN=1
+      fi
       AC_CACHE_CHECK([whether open recognizes a trailing slash],
         [gl_cv_func_open_slash],
         [# Assume that if we have lstat, we can also check symlinks.
index 114f91f04b5515ca9f5e20e414efdf5a1d606a32..0770aca3aac7e4ffc0fe9598ad38dc087c5d7ea8 100644 (file)
@@ -1,5 +1,5 @@
-# pathmax.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+# pathmax.m4 serial 11
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -29,7 +29,7 @@ AC_DEFUN([gl_PATHMAX_SNIPPET], [[
 # undef PATH_MAX
 # define PATH_MAX 1024
 #endif
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # undef PATH_MAX
 # define PATH_MAX 260
 #endif
diff --git a/m4/perror.m4 b/m4/perror.m4
new file mode 100644 (file)
index 0000000..08e2db1
--- /dev/null
@@ -0,0 +1,71 @@
+# perror.m4 serial 8
+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.
+
+AC_DEFUN([gl_FUNC_PERROR],
+[
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  AC_REQUIRE([gl_HEADER_ERRNO_H])
+  AC_REQUIRE([gl_FUNC_STRERROR_R])
+  AC_REQUIRE([gl_FUNC_STRERROR_0])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  dnl We intentionally do not check for the broader REPLACE_STRERROR_R,
+  dnl since on glibc systems, strerror_r is replaced only for signature
+  dnl issues, and perror is just fine.  Rather, we only want to
+  dnl replace perror if strerror_r was replaced for a content fix.
+  if test "$ERRNO_H:$REPLACE_STRERROR_0" != :0; then
+    dnl The system's perror() cannot know about the new errno values we add
+    dnl to <errno.h>, or any fix for strerror(0). Replace it.
+    REPLACE_PERROR=1
+  fi
+  case ${gl_cv_func_strerror_r_works-unset} in
+    unset|*yes)
+      AC_CACHE_CHECK([whether perror matches strerror],
+        [gl_cv_func_perror_works],
+        [AC_RUN_IFELSE(
+           [AC_LANG_PROGRAM(
+              [[#include <errno.h>
+                #include <stdio.h>
+                #include <stdlib.h>
+                #include <string.h>
+              ]],
+              [[char *str = strerror (-1);
+                if (!getenv("CONFTEST_OUTPUT")) return 0;
+                if (!str) str = "";
+                puts (str);
+                errno = -1;
+                perror ("");
+                return 0;
+              ]])],
+           [if CONFTEST_OUTPUT=1 ./conftest$EXEEXT >conftest.txt1 2>conftest.txt2 \
+               && cmp conftest.txt1 conftest.txt2 >/dev/null; then
+              gl_cv_func_perror_works=yes
+            else
+              gl_cv_func_perror_works=no
+            fi
+            rm -rf conftest.txt1 conftest.txt2],
+           [gl_cv_func_perror_works=no],
+           [case "$host_os" in
+                       # Guess yes on musl systems.
+              *-musl*) gl_cv_func_perror_works="guessing yes" ;;
+                       # Guess yes on native Windows.
+              mingw*)  gl_cv_func_perror_works="guessing yes" ;;
+                       # Otherwise guess no.
+              *)       gl_cv_func_perror_works="guessing no" ;;
+            esac
+           ])
+        ])
+      case "$gl_cv_func_perror_works" in
+        *yes) ;;
+        *) REPLACE_PERROR=1 ;;
+      esac
+      ;;
+    *)
+      dnl The system's perror() probably inherits the bugs in the
+      dnl system's strerror_r(). Replace it.
+      REPLACE_PERROR=1
+      ;;
+  esac
+])
diff --git a/m4/pipe.m4 b/m4/pipe.m4
new file mode 100644 (file)
index 0000000..199cfef
--- /dev/null
@@ -0,0 +1,15 @@
+# pipe.m4 serial 2
+dnl Copyright (C) 2010-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.
+
+AC_DEFUN([gl_FUNC_PIPE],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+
+  AC_CHECK_FUNCS_ONCE([pipe])
+  if test $ac_cv_func_pipe != yes; then
+    HAVE_PIPE=0
+  fi
+])
index 6a1ed240472382bd6382577f4e325f6b9e2fa941..258dc4312539c3c0ba25e653accf9618d533e673 100644 (file)
@@ -1,6 +1,6 @@
 # serial 8
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/m4/pthread-thread.m4 b/m4/pthread-thread.m4
new file mode 100644 (file)
index 0000000..eef29c9
--- /dev/null
@@ -0,0 +1,69 @@
+# pthread-thread.m4 serial 1
+dnl Copyright (C) 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.
+
+AC_DEFUN([gl_PTHREAD_THREAD],
+[
+  AC_REQUIRE([gl_PTHREAD_H])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+
+  if { case "$host_os" in mingw*) true;; *) false;; esac; } \
+     && test $gl_threads_api = windows; then
+    dnl Choose function names that don't conflict with the mingw-w64 winpthreads
+    dnl library.
+    REPLACE_PTHREAD_CREATE=1
+    REPLACE_PTHREAD_ATTR_INIT=1
+    REPLACE_PTHREAD_ATTR_GETDETACHSTATE=1
+    REPLACE_PTHREAD_ATTR_SETDETACHSTATE=1
+    REPLACE_PTHREAD_ATTR_DESTROY=1
+    REPLACE_PTHREAD_SELF=1
+    REPLACE_PTHREAD_EQUAL=1
+    REPLACE_PTHREAD_DETACH=1
+    REPLACE_PTHREAD_JOIN=1
+    REPLACE_PTHREAD_EXIT=1
+  else
+    if test $HAVE_PTHREAD_H = 0; then
+      HAVE_PTHREAD_CREATE=0
+      HAVE_PTHREAD_ATTR_INIT=0
+      HAVE_PTHREAD_ATTR_GETDETACHSTATE=0
+      HAVE_PTHREAD_ATTR_SETDETACHSTATE=0
+      HAVE_PTHREAD_ATTR_DESTROY=0
+      HAVE_PTHREAD_SELF=0
+      HAVE_PTHREAD_EQUAL=0
+      HAVE_PTHREAD_DETACH=0
+      HAVE_PTHREAD_JOIN=0
+      HAVE_PTHREAD_EXIT=0
+    else
+      dnl On HP-UX 11.11, pthread_create() and pthread_attr_init() are only
+      dnl defined as inline functions.
+      AC_CACHE_CHECK([whether pthread_create exists as a global function],
+        [gl_cv_func_pthread_create],
+        [saved_LIBS="$LIBS"
+         LIBS="$LIBS $LIBMULTITHREAD"
+         AC_LINK_IFELSE(
+           [AC_LANG_SOURCE(
+              [[extern
+                #ifdef __cplusplus
+                "C"
+                #endif
+                int pthread_create (void);
+                int main ()
+                {
+                  return pthread_create ();
+                }
+              ]])],
+           [gl_cv_func_pthread_create=yes],
+           [gl_cv_func_pthread_create=no])
+         LIBS="$saved_LIBS"
+        ])
+      if test $gl_cv_func_pthread_create = no; then
+        REPLACE_PTHREAD_CREATE=1
+        REPLACE_PTHREAD_ATTR_INIT=1
+        AC_DEFINE([PTHREAD_CREATE_IS_INLINE], [1],
+          [Define if pthread_create is an inline function.])
+      fi
+    fi
+  fi
+])
diff --git a/m4/pthread_h.m4 b/m4/pthread_h.m4
new file mode 100644 (file)
index 0000000..8c23a77
--- /dev/null
@@ -0,0 +1,260 @@
+# pthread_h.m4 serial 4
+dnl Copyright (C) 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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_PTHREAD_H],
+[
+  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+  dnl once only, before all statements that occur in other macros.
+  AC_REQUIRE([gl_PTHREAD_H_DEFAULTS])
+
+  AC_REQUIRE([gl_THREADLIB])
+
+  gl_CHECK_NEXT_HEADERS([pthread.h])
+  dnl On mingw, if --enable-threads=windows or gl_AVOID_WINPTHREAD is used,
+  dnl ignore the <pthread.h> from the mingw-w64 winpthreads library.
+  if test $ac_cv_header_pthread_h = yes && test $gl_threads_api != windows; then
+    HAVE_PTHREAD_H=1
+  else
+    HAVE_PTHREAD_H=0
+  fi
+  AC_SUBST([HAVE_PTHREAD_H])
+
+  AC_CHECK_TYPES([pthread_t, pthread_spinlock_t], [], [],
+    [AC_INCLUDES_DEFAULT[
+     #if HAVE_PTHREAD_H
+      #include <pthread.h>
+     #endif]])
+  if test $ac_cv_type_pthread_t != yes; then
+    HAVE_PTHREAD_T=0
+  fi
+  if test $ac_cv_type_pthread_spinlock_t != yes; then
+    HAVE_PTHREAD_SPINLOCK_T=0
+  fi
+
+  dnl Constants may be defined as C preprocessor macros or as enum items.
+
+  AC_CACHE_CHECK([for PTHREAD_CREATE_DETACHED],
+    [gl_cv_const_PTHREAD_CREATE_DETACHED],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <pthread.h>
+            int x = PTHREAD_CREATE_DETACHED;
+          ]],
+          [[]])],
+       [gl_cv_const_PTHREAD_CREATE_DETACHED=yes],
+       [gl_cv_const_PTHREAD_CREATE_DETACHED=no])
+    ])
+  if test $gl_cv_const_PTHREAD_CREATE_DETACHED != yes; then
+    HAVE_PTHREAD_CREATE_DETACHED=0
+  fi
+
+  AC_CACHE_CHECK([for PTHREAD_MUTEX_RECURSIVE],
+    [gl_cv_const_PTHREAD_MUTEX_RECURSIVE],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <pthread.h>
+            int x = PTHREAD_MUTEX_RECURSIVE;
+          ]],
+          [[]])],
+       [gl_cv_const_PTHREAD_MUTEX_RECURSIVE=yes],
+       [gl_cv_const_PTHREAD_MUTEX_RECURSIVE=no])
+    ])
+  if test $gl_cv_const_PTHREAD_MUTEX_RECURSIVE != yes; then
+    HAVE_PTHREAD_MUTEX_RECURSIVE=0
+  fi
+
+  AC_CACHE_CHECK([for PTHREAD_MUTEX_ROBUST],
+    [gl_cv_const_PTHREAD_MUTEX_ROBUST],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <pthread.h>
+            int x = PTHREAD_MUTEX_ROBUST;
+          ]],
+          [[]])],
+       [gl_cv_const_PTHREAD_MUTEX_ROBUST=yes],
+       [gl_cv_const_PTHREAD_MUTEX_ROBUST=no])
+    ])
+  if test $gl_cv_const_PTHREAD_MUTEX_ROBUST != yes; then
+    HAVE_PTHREAD_MUTEX_ROBUST=0
+  fi
+
+  AC_CACHE_CHECK([for PTHREAD_PROCESS_SHARED],
+    [gl_cv_const_PTHREAD_PROCESS_SHARED],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <pthread.h>
+            int x = PTHREAD_PROCESS_SHARED;
+          ]],
+          [[]])],
+       [gl_cv_const_PTHREAD_PROCESS_SHARED=yes],
+       [gl_cv_const_PTHREAD_PROCESS_SHARED=no])
+    ])
+  if test $gl_cv_const_PTHREAD_PROCESS_SHARED != yes; then
+    HAVE_PTHREAD_PROCESS_SHARED=0
+  fi
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use, if it is not common
+  dnl enough to be declared everywhere.
+  gl_WARN_ON_USE_PREPARE([[#include <pthread.h>
+    ]], [
+    pthread_create pthread_attr_init pthread_attr_getdetachstate
+    pthread_attr_setdetachstate pthread_attr_destroy pthread_self pthread_equal
+    pthread_detach pthread_join pthread_exit
+    pthread_once
+    pthread_mutex_init pthread_mutexattr_init pthread_mutexattr_gettype
+    pthread_mutexattr_settype pthread_mutexattr_getrobust
+    pthread_mutexattr_setrobust pthread_mutexattr_destroy pthread_mutex_lock
+    pthread_mutex_trylock pthread_mutex_timedlock pthread_mutex_unlock
+    pthread_mutex_destroy
+    pthread_rwlock_init pthread_rwlockattr_init pthread_rwlockattr_destroy
+    pthread_rwlock_rdlock pthread_rwlock_wrlock pthread_rwlock_tryrdlock
+    pthread_rwlock_trywrlock pthread_rwlock_timedrdlock
+    pthread_rwlock_timedwrlock pthread_rwlock_unlock pthread_rwlock_destroy
+    pthread_cond_init pthread_condattr_init pthread_condattr_destroy
+    pthread_cond_wait pthread_cond_timedwait pthread_cond_signal
+    pthread_cond_broadcast pthread_cond_destroy
+    pthread_key_create pthread_setspecific pthread_getspecific
+    pthread_key_delete
+    pthread_spin_init pthread_spin_lock pthread_spin_trylock pthread_spin_unlock
+    pthread_spin_destroy])
+
+  AC_REQUIRE([AC_C_RESTRICT])
+
+  dnl For backward compatibility with gnulib versions <= 2019-07.
+  LIB_PTHREAD="$LIBMULTITHREAD"
+  AC_SUBST([LIB_PTHREAD])
+])
+
+AC_DEFUN([gl_PTHREAD_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_PTHREAD_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_PTHREAD_H_DEFAULTS],
+[
+  GNULIB_PTHREAD_THREAD=0;               AC_SUBST([GNULIB_PTHREAD_THREAD])
+  GNULIB_PTHREAD_ONCE=0;                 AC_SUBST([GNULIB_PTHREAD_ONCE])
+  GNULIB_PTHREAD_MUTEX=0;                AC_SUBST([GNULIB_PTHREAD_MUTEX])
+  GNULIB_PTHREAD_RWLOCK=0;               AC_SUBST([GNULIB_PTHREAD_RWLOCK])
+  GNULIB_PTHREAD_COND=0;                 AC_SUBST([GNULIB_PTHREAD_COND])
+  GNULIB_PTHREAD_TSS=0;                  AC_SUBST([GNULIB_PTHREAD_TSS])
+  GNULIB_PTHREAD_SPIN=0;                 AC_SUBST([GNULIB_PTHREAD_SPIN])
+  GNULIB_PTHREAD_MUTEX_TIMEDLOCK=0;      AC_SUBST([GNULIB_PTHREAD_MUTEX_TIMEDLOCK])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_PTHREAD_T=1;                      AC_SUBST([HAVE_PTHREAD_T])
+  HAVE_PTHREAD_SPINLOCK_T=1;             AC_SUBST([HAVE_PTHREAD_SPINLOCK_T])
+  HAVE_PTHREAD_CREATE_DETACHED=1;        AC_SUBST([HAVE_PTHREAD_CREATE_DETACHED])
+  HAVE_PTHREAD_MUTEX_RECURSIVE=1;        AC_SUBST([HAVE_PTHREAD_MUTEX_RECURSIVE])
+  HAVE_PTHREAD_MUTEX_ROBUST=1;           AC_SUBST([HAVE_PTHREAD_MUTEX_ROBUST])
+  HAVE_PTHREAD_PROCESS_SHARED=1;         AC_SUBST([HAVE_PTHREAD_PROCESS_SHARED])
+  HAVE_PTHREAD_CREATE=1;                 AC_SUBST([HAVE_PTHREAD_CREATE])
+  HAVE_PTHREAD_ATTR_INIT=1;              AC_SUBST([HAVE_PTHREAD_ATTR_INIT])
+  HAVE_PTHREAD_ATTR_GETDETACHSTATE=1;    AC_SUBST([HAVE_PTHREAD_ATTR_GETDETACHSTATE])
+  HAVE_PTHREAD_ATTR_SETDETACHSTATE=1;    AC_SUBST([HAVE_PTHREAD_ATTR_SETDETACHSTATE])
+  HAVE_PTHREAD_ATTR_DESTROY=1;           AC_SUBST([HAVE_PTHREAD_ATTR_DESTROY])
+  HAVE_PTHREAD_SELF=1;                   AC_SUBST([HAVE_PTHREAD_SELF])
+  HAVE_PTHREAD_EQUAL=1;                  AC_SUBST([HAVE_PTHREAD_EQUAL])
+  HAVE_PTHREAD_DETACH=1;                 AC_SUBST([HAVE_PTHREAD_DETACH])
+  HAVE_PTHREAD_JOIN=1;                   AC_SUBST([HAVE_PTHREAD_JOIN])
+  HAVE_PTHREAD_EXIT=1;                   AC_SUBST([HAVE_PTHREAD_EXIT])
+  HAVE_PTHREAD_ONCE=1;                   AC_SUBST([HAVE_PTHREAD_ONCE])
+  HAVE_PTHREAD_MUTEX_INIT=1;             AC_SUBST([HAVE_PTHREAD_MUTEX_INIT])
+  HAVE_PTHREAD_MUTEXATTR_INIT=1;         AC_SUBST([HAVE_PTHREAD_MUTEXATTR_INIT])
+  HAVE_PTHREAD_MUTEXATTR_GETTYPE=1;      AC_SUBST([HAVE_PTHREAD_MUTEXATTR_GETTYPE])
+  HAVE_PTHREAD_MUTEXATTR_SETTYPE=1;      AC_SUBST([HAVE_PTHREAD_MUTEXATTR_SETTYPE])
+  HAVE_PTHREAD_MUTEXATTR_GETROBUST=1;    AC_SUBST([HAVE_PTHREAD_MUTEXATTR_GETROBUST])
+  HAVE_PTHREAD_MUTEXATTR_SETROBUST=1;    AC_SUBST([HAVE_PTHREAD_MUTEXATTR_SETROBUST])
+  HAVE_PTHREAD_MUTEXATTR_DESTROY=1;      AC_SUBST([HAVE_PTHREAD_MUTEXATTR_DESTROY])
+  HAVE_PTHREAD_MUTEX_LOCK=1;             AC_SUBST([HAVE_PTHREAD_MUTEX_LOCK])
+  HAVE_PTHREAD_MUTEX_TRYLOCK=1;          AC_SUBST([HAVE_PTHREAD_MUTEX_TRYLOCK])
+  HAVE_PTHREAD_MUTEX_TIMEDLOCK=1;        AC_SUBST([HAVE_PTHREAD_MUTEX_TIMEDLOCK])
+  HAVE_PTHREAD_MUTEX_UNLOCK=1;           AC_SUBST([HAVE_PTHREAD_MUTEX_UNLOCK])
+  HAVE_PTHREAD_MUTEX_DESTROY=1;          AC_SUBST([HAVE_PTHREAD_MUTEX_DESTROY])
+  HAVE_PTHREAD_RWLOCK_INIT=1;            AC_SUBST([HAVE_PTHREAD_RWLOCK_INIT])
+  HAVE_PTHREAD_RWLOCKATTR_INIT=1;        AC_SUBST([HAVE_PTHREAD_RWLOCKATTR_INIT])
+  HAVE_PTHREAD_RWLOCKATTR_DESTROY=1;     AC_SUBST([HAVE_PTHREAD_RWLOCKATTR_DESTROY])
+  HAVE_PTHREAD_RWLOCK_RDLOCK=1;          AC_SUBST([HAVE_PTHREAD_RWLOCK_RDLOCK])
+  HAVE_PTHREAD_RWLOCK_WRLOCK=1;          AC_SUBST([HAVE_PTHREAD_RWLOCK_WRLOCK])
+  HAVE_PTHREAD_RWLOCK_TRYRDLOCK=1;       AC_SUBST([HAVE_PTHREAD_RWLOCK_TRYRDLOCK])
+  HAVE_PTHREAD_RWLOCK_TRYWRLOCK=1;       AC_SUBST([HAVE_PTHREAD_RWLOCK_TRYWRLOCK])
+  HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK=1;     AC_SUBST([HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK])
+  HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK=1;     AC_SUBST([HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK])
+  HAVE_PTHREAD_RWLOCK_UNLOCK=1;          AC_SUBST([HAVE_PTHREAD_RWLOCK_UNLOCK])
+  HAVE_PTHREAD_RWLOCK_DESTROY=1;         AC_SUBST([HAVE_PTHREAD_RWLOCK_DESTROY])
+  HAVE_PTHREAD_COND_INIT=1;              AC_SUBST([HAVE_PTHREAD_COND_INIT])
+  HAVE_PTHREAD_CONDATTR_INIT=1;          AC_SUBST([HAVE_PTHREAD_CONDATTR_INIT])
+  HAVE_PTHREAD_CONDATTR_DESTROY=1;       AC_SUBST([HAVE_PTHREAD_CONDATTR_DESTROY])
+  HAVE_PTHREAD_COND_WAIT=1;              AC_SUBST([HAVE_PTHREAD_COND_WAIT])
+  HAVE_PTHREAD_COND_TIMEDWAIT=1;         AC_SUBST([HAVE_PTHREAD_COND_TIMEDWAIT])
+  HAVE_PTHREAD_COND_SIGNAL=1;            AC_SUBST([HAVE_PTHREAD_COND_SIGNAL])
+  HAVE_PTHREAD_COND_BROADCAST=1;         AC_SUBST([HAVE_PTHREAD_COND_BROADCAST])
+  HAVE_PTHREAD_COND_DESTROY=1;           AC_SUBST([HAVE_PTHREAD_COND_DESTROY])
+  HAVE_PTHREAD_KEY_CREATE=1;             AC_SUBST([HAVE_PTHREAD_KEY_CREATE])
+  HAVE_PTHREAD_SETSPECIFIC=1;            AC_SUBST([HAVE_PTHREAD_SETSPECIFIC])
+  HAVE_PTHREAD_GETSPECIFIC=1;            AC_SUBST([HAVE_PTHREAD_GETSPECIFIC])
+  HAVE_PTHREAD_KEY_DELETE=1;             AC_SUBST([HAVE_PTHREAD_KEY_DELETE])
+  HAVE_PTHREAD_SPIN_INIT=1;              AC_SUBST([HAVE_PTHREAD_SPIN_INIT])
+  HAVE_PTHREAD_SPIN_LOCK=1;              AC_SUBST([HAVE_PTHREAD_SPIN_LOCK])
+  HAVE_PTHREAD_SPIN_TRYLOCK=1;           AC_SUBST([HAVE_PTHREAD_SPIN_TRYLOCK])
+  HAVE_PTHREAD_SPIN_UNLOCK=1;            AC_SUBST([HAVE_PTHREAD_SPIN_UNLOCK])
+  HAVE_PTHREAD_SPIN_DESTROY=1;           AC_SUBST([HAVE_PTHREAD_SPIN_DESTROY])
+  REPLACE_PTHREAD_CREATE=0;              AC_SUBST([REPLACE_PTHREAD_CREATE])
+  REPLACE_PTHREAD_ATTR_INIT=0;           AC_SUBST([REPLACE_PTHREAD_ATTR_INIT])
+  REPLACE_PTHREAD_ATTR_GETDETACHSTATE=0; AC_SUBST([REPLACE_PTHREAD_ATTR_GETDETACHSTATE])
+  REPLACE_PTHREAD_ATTR_SETDETACHSTATE=0; AC_SUBST([REPLACE_PTHREAD_ATTR_SETDETACHSTATE])
+  REPLACE_PTHREAD_ATTR_DESTROY=0;        AC_SUBST([REPLACE_PTHREAD_ATTR_DESTROY])
+  REPLACE_PTHREAD_SELF=0;                AC_SUBST([REPLACE_PTHREAD_SELF])
+  REPLACE_PTHREAD_EQUAL=0;               AC_SUBST([REPLACE_PTHREAD_EQUAL])
+  REPLACE_PTHREAD_DETACH=0;              AC_SUBST([REPLACE_PTHREAD_DETACH])
+  REPLACE_PTHREAD_JOIN=0;                AC_SUBST([REPLACE_PTHREAD_JOIN])
+  REPLACE_PTHREAD_EXIT=0;                AC_SUBST([REPLACE_PTHREAD_EXIT])
+  REPLACE_PTHREAD_ONCE=0;                AC_SUBST([REPLACE_PTHREAD_ONCE])
+  REPLACE_PTHREAD_MUTEX_INIT=0;          AC_SUBST([REPLACE_PTHREAD_MUTEX_INIT])
+  REPLACE_PTHREAD_MUTEXATTR_INIT=0;      AC_SUBST([REPLACE_PTHREAD_MUTEXATTR_INIT])
+  REPLACE_PTHREAD_MUTEXATTR_GETTYPE=0;   AC_SUBST([REPLACE_PTHREAD_MUTEXATTR_GETTYPE])
+  REPLACE_PTHREAD_MUTEXATTR_SETTYPE=0;   AC_SUBST([REPLACE_PTHREAD_MUTEXATTR_SETTYPE])
+  REPLACE_PTHREAD_MUTEXATTR_GETROBUST=0; AC_SUBST([REPLACE_PTHREAD_MUTEXATTR_GETROBUST])
+  REPLACE_PTHREAD_MUTEXATTR_SETROBUST=0; AC_SUBST([REPLACE_PTHREAD_MUTEXATTR_SETROBUST])
+  REPLACE_PTHREAD_MUTEXATTR_DESTROY=0;   AC_SUBST([REPLACE_PTHREAD_MUTEXATTR_DESTROY])
+  REPLACE_PTHREAD_MUTEX_LOCK=0;          AC_SUBST([REPLACE_PTHREAD_MUTEX_LOCK])
+  REPLACE_PTHREAD_MUTEX_TRYLOCK=0;       AC_SUBST([REPLACE_PTHREAD_MUTEX_TRYLOCK])
+  REPLACE_PTHREAD_MUTEX_TIMEDLOCK=0;     AC_SUBST([REPLACE_PTHREAD_MUTEX_TIMEDLOCK])
+  REPLACE_PTHREAD_MUTEX_UNLOCK=0;        AC_SUBST([REPLACE_PTHREAD_MUTEX_UNLOCK])
+  REPLACE_PTHREAD_MUTEX_DESTROY=0;       AC_SUBST([REPLACE_PTHREAD_MUTEX_DESTROY])
+  REPLACE_PTHREAD_RWLOCK_INIT=0;         AC_SUBST([REPLACE_PTHREAD_RWLOCK_INIT])
+  REPLACE_PTHREAD_RWLOCKATTR_INIT=0;     AC_SUBST([REPLACE_PTHREAD_RWLOCKATTR_INIT])
+  REPLACE_PTHREAD_RWLOCKATTR_DESTROY=0;  AC_SUBST([REPLACE_PTHREAD_RWLOCKATTR_DESTROY])
+  REPLACE_PTHREAD_RWLOCK_RDLOCK=0;       AC_SUBST([REPLACE_PTHREAD_RWLOCK_RDLOCK])
+  REPLACE_PTHREAD_RWLOCK_WRLOCK=0;       AC_SUBST([REPLACE_PTHREAD_RWLOCK_WRLOCK])
+  REPLACE_PTHREAD_RWLOCK_TRYRDLOCK=0;    AC_SUBST([REPLACE_PTHREAD_RWLOCK_TRYRDLOCK])
+  REPLACE_PTHREAD_RWLOCK_TRYWRLOCK=0;    AC_SUBST([REPLACE_PTHREAD_RWLOCK_TRYWRLOCK])
+  REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK=0;  AC_SUBST([REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK])
+  REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK=0;  AC_SUBST([REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK])
+  REPLACE_PTHREAD_RWLOCK_UNLOCK=0;       AC_SUBST([REPLACE_PTHREAD_RWLOCK_UNLOCK])
+  REPLACE_PTHREAD_RWLOCK_DESTROY=0;      AC_SUBST([REPLACE_PTHREAD_RWLOCK_DESTROY])
+  REPLACE_PTHREAD_COND_INIT=0;           AC_SUBST([REPLACE_PTHREAD_COND_INIT])
+  REPLACE_PTHREAD_CONDATTR_INIT=0;       AC_SUBST([REPLACE_PTHREAD_CONDATTR_INIT])
+  REPLACE_PTHREAD_CONDATTR_DESTROY=0;    AC_SUBST([REPLACE_PTHREAD_CONDATTR_DESTROY])
+  REPLACE_PTHREAD_COND_WAIT=0;           AC_SUBST([REPLACE_PTHREAD_COND_WAIT])
+  REPLACE_PTHREAD_COND_TIMEDWAIT=0;      AC_SUBST([REPLACE_PTHREAD_COND_TIMEDWAIT])
+  REPLACE_PTHREAD_COND_SIGNAL=0;         AC_SUBST([REPLACE_PTHREAD_COND_SIGNAL])
+  REPLACE_PTHREAD_COND_BROADCAST=0;      AC_SUBST([REPLACE_PTHREAD_COND_BROADCAST])
+  REPLACE_PTHREAD_COND_DESTROY=0;        AC_SUBST([REPLACE_PTHREAD_COND_DESTROY])
+  REPLACE_PTHREAD_KEY_CREATE=0;          AC_SUBST([REPLACE_PTHREAD_KEY_CREATE])
+  REPLACE_PTHREAD_SETSPECIFIC=0;         AC_SUBST([REPLACE_PTHREAD_SETSPECIFIC])
+  REPLACE_PTHREAD_GETSPECIFIC=0;         AC_SUBST([REPLACE_PTHREAD_GETSPECIFIC])
+  REPLACE_PTHREAD_KEY_DELETE=0;          AC_SUBST([REPLACE_PTHREAD_KEY_DELETE])
+  REPLACE_PTHREAD_SPIN_INIT=0;           AC_SUBST([REPLACE_PTHREAD_SPIN_INIT])
+  REPLACE_PTHREAD_SPIN_LOCK=0;           AC_SUBST([REPLACE_PTHREAD_SPIN_LOCK])
+  REPLACE_PTHREAD_SPIN_TRYLOCK=0;        AC_SUBST([REPLACE_PTHREAD_SPIN_TRYLOCK])
+  REPLACE_PTHREAD_SPIN_UNLOCK=0;         AC_SUBST([REPLACE_PTHREAD_SPIN_UNLOCK])
+  REPLACE_PTHREAD_SPIN_DESTROY=0;        AC_SUBST([REPLACE_PTHREAD_SPIN_DESTROY])
+])
diff --git a/m4/pthread_rwlock_rdlock.m4 b/m4/pthread_rwlock_rdlock.m4
new file mode 100644 (file)
index 0000000..3c1d645
--- /dev/null
@@ -0,0 +1,165 @@
+# pthread_rwlock_rdlock.m4 serial 2
+dnl Copyright (C) 2017-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 Bruno Haible.
+dnl Inspired by
+dnl https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_rwlock_rdlock/2-2.c
+dnl by Intel Corporation.
+
+dnl Test whether in a situation where
+dnl   - an rwlock is taken by a reader and has a writer waiting,
+dnl   - an additional reader requests the lock,
+dnl   - the waiting writer and the requesting reader threads have the same
+dnl     priority,
+dnl the requesting reader thread gets blocked, so that at some point the
+dnl waiting writer can acquire the lock.
+dnl Without such a guarantee, when there a N readers and each of the readers
+dnl spends more than 1/Nth of the time with the lock held, there is a high
+dnl probability that the waiting writer will not get the lock in a given finite
+dnl time, a phenomenon called "writer starvation".
+dnl Without such a guarantee, applications have a hard time avoiding writer
+dnl starvation.
+dnl
+dnl POSIX:2017 makes this requirement only for implementations that support TPS
+dnl (Thread Priority Scheduling) and only for the scheduling policies SCHED_FIFO
+dnl and SCHED_RR, see
+dnl http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_rdlock.html
+dnl but this test verifies the guarantee regardless of TPS and regardless of
+dnl scheduling policy.
+dnl Glibc currently does not provide this guarantee, see
+dnl https://sourceware.org/bugzilla/show_bug.cgi?id=13701
+AC_DEFUN([gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER],
+[
+  AC_REQUIRE([gl_THREADLIB_EARLY])
+  AC_CACHE_CHECK([whether pthread_rwlock_rdlock prefers a writer to a reader],
+    [gl_cv_pthread_rwlock_rdlock_prefer_writer],
+    [save_LIBS="$LIBS"
+     LIBS="$LIBS $LIBMULTITHREAD"
+     AC_RUN_IFELSE(
+       [AC_LANG_SOURCE([[
+#include <errno.h>
+#include <pthread.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#define SUCCEED() exit (0)
+#define FAILURE() exit (1)
+#define UNEXPECTED(n) (exit (10 + (n)))
+
+/* The main thread creates the waiting writer and the requesting reader threads
+   in the default way; this guarantees that they have the same priority.
+   We can reuse the main thread as first reader thread.  */
+
+static pthread_rwlock_t lock;
+static pthread_t reader1;
+static pthread_t writer;
+static pthread_t reader2;
+static pthread_t timer;
+/* Used to pass control from writer to reader2 and from reader2 to timer,
+   as in a relay race.
+   Passing control from one running thread to another running thread
+   is most likely faster than to create the second thread.  */
+static pthread_mutex_t baton;
+
+static void *
+timer_func (void *ignored)
+{
+  /* Step 13 (can be before or after step 12):
+     The timer thread takes the baton, then waits a moment to make sure
+     it can tell whether the second reader thread is blocked at step 12.  */
+  if (pthread_mutex_lock (&baton))
+    UNEXPECTED (13);
+  usleep (100000);
+  /* By the time we get here, it's clear that the second reader thread is
+     blocked at step 12.  This is the desired behaviour.  */
+  SUCCEED ();
+}
+
+static void *
+reader2_func (void *ignored)
+{
+  int err;
+
+  /* Step 8 (can be before or after step 7):
+     The second reader thread takes the baton, then waits a moment to make sure
+     the writer thread has reached step 7.  */
+  if (pthread_mutex_lock (&baton))
+    UNEXPECTED (8);
+  usleep (100000);
+  /* Step 9: The second reader thread requests the lock.  */
+  err = pthread_rwlock_tryrdlock (&lock);
+  if (err == 0)
+    FAILURE ();
+  else if (err != EBUSY)
+    UNEXPECTED (9);
+  /* Step 10: Launch a timer, to test whether the next call blocks.  */
+  if (pthread_create (&timer, NULL, timer_func, NULL))
+    UNEXPECTED (10);
+  /* Step 11: Release the baton.  */
+  if (pthread_mutex_unlock (&baton))
+    UNEXPECTED (11);
+  /* Step 12: The second reader thread requests the lock.  */
+  err = pthread_rwlock_rdlock (&lock);
+  if (err == 0)
+    FAILURE ();
+  else
+    UNEXPECTED (12);
+}
+
+static void *
+writer_func (void *ignored)
+{
+  /* Step 4: Take the baton, so that the second reader thread does not go ahead
+     too early.  */
+  if (pthread_mutex_lock (&baton))
+    UNEXPECTED (4);
+  /* Step 5: Create the second reader thread.  */
+  if (pthread_create (&reader2, NULL, reader2_func, NULL))
+    UNEXPECTED (5);
+  /* Step 6: Release the baton.  */
+  if (pthread_mutex_unlock (&baton))
+    UNEXPECTED (6);
+  /* Step 7: The writer thread requests the lock.  */
+  if (pthread_rwlock_wrlock (&lock))
+    UNEXPECTED (7);
+  return NULL;
+}
+
+int
+main ()
+{
+  reader1 = pthread_self ();
+
+  /* Step 1: The main thread initializes the lock and the baton.  */
+  if (pthread_rwlock_init (&lock, NULL))
+    UNEXPECTED (1);
+  if (pthread_mutex_init (&baton, NULL))
+    UNEXPECTED (1);
+  /* Step 2: The main thread acquires the lock as a reader.  */
+  if (pthread_rwlock_rdlock (&lock))
+    UNEXPECTED (2);
+  /* Step 3: Create the writer thread.  */
+  if (pthread_create (&writer, NULL, writer_func, NULL))
+    UNEXPECTED (3);
+  /* Job done.  Go to sleep.  */
+  for (;;)
+    {
+      sleep (1);
+    }
+}
+]])],
+       [gl_cv_pthread_rwlock_rdlock_prefer_writer=yes],
+       [gl_cv_pthread_rwlock_rdlock_prefer_writer=no],
+       [gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing yes"])
+     LIBS="$save_LIBS"
+    ])
+  case "$gl_cv_pthread_rwlock_rdlock_prefer_writer" in
+    *yes)
+      AC_DEFINE([HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER], [1],
+        [Define if the 'pthread_rwlock_rdlock' function prefers a writer to a reader.])
+      ;;
+  esac
+])
diff --git a/m4/pthread_sigmask.m4 b/m4/pthread_sigmask.m4
new file mode 100644 (file)
index 0000000..d788cf6
--- /dev/null
@@ -0,0 +1,273 @@
+# pthread_sigmask.m4 serial 18
+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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK],
+[
+  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+
+  AC_CHECK_FUNCS_ONCE([pthread_sigmask])
+
+  dnl On MinGW pthread_sigmask is just a macro which always returns 0.
+  dnl It does not exist as a real function, which is required by POSIX.
+  AC_CACHE_CHECK([whether pthread_sigmask is a macro],
+    [gl_cv_func_pthread_sigmask_macro],
+    [AC_EGREP_CPP([headers_define_pthread_sigmask], [
+#include <pthread.h>
+#include <signal.h>
+#ifdef pthread_sigmask
+ headers_define_pthread_sigmask
+#endif],
+       [gl_cv_func_pthread_sigmask_macro=yes],
+       [gl_cv_func_pthread_sigmask_macro=no])
+    ])
+
+  LIB_PTHREAD_SIGMASK=
+
+  if test $gl_cv_func_pthread_sigmask_macro = yes; then
+    dnl pthread_sigmask is a dummy macro.
+    HAVE_PTHREAD_SIGMASK=0
+    dnl Make sure to '#undef pthread_sigmask' before defining it.
+    REPLACE_PTHREAD_SIGMASK=1
+  else
+    dnl Test whether the gnulib module 'threadlib' is in use.
+    dnl Some packages like Emacs use --avoid=threadlib.
+    dnl Write the symbol in such a way that it does not cause 'aclocal' to pick
+    dnl the threadlib.m4 file that is installed in $PREFIX/share/aclocal/.
+    m4_ifdef([gl_][THREADLIB], [
+      AC_REQUIRE([gl_][THREADLIB])
+
+      if test "$gl_threads_api" = posix; then
+        if test $ac_cv_func_pthread_sigmask = yes; then
+          dnl pthread_sigmask is available without -lpthread.
+          :
+        else
+          if test -n "$LIBMULTITHREAD"; then
+            AC_CACHE_CHECK([for pthread_sigmask in $LIBMULTITHREAD],
+              [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD],
+              [gl_save_LIBS="$LIBS"
+               LIBS="$LIBS $LIBMULTITHREAD"
+               AC_LINK_IFELSE(
+                 [AC_LANG_PROGRAM(
+                    [[#include <pthread.h>
+                      #include <signal.h>
+                    ]],
+                    [[return pthread_sigmask (0, (sigset_t *) 0, (sigset_t *) 0);]])
+                 ],
+                 [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes],
+                 [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no])
+               LIBS="$gl_save_LIBS"
+              ])
+            if test $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD = yes; then
+              dnl pthread_sigmask is available with -pthread or -lpthread.
+              LIB_PTHREAD_SIGMASK="$LIBMULTITHREAD"
+            else
+              dnl pthread_sigmask is not available at all.
+              HAVE_PTHREAD_SIGMASK=0
+            fi
+          else
+            dnl pthread_sigmask is not available at all.
+            HAVE_PTHREAD_SIGMASK=0
+          fi
+        fi
+      else
+        dnl pthread_sigmask may exist but does not interoperate with the chosen
+        dnl multithreading facility.
+        if test $ac_cv_func_pthread_sigmask = yes; then
+          REPLACE_PTHREAD_SIGMASK=1
+        else
+          HAVE_PTHREAD_SIGMASK=0
+        fi
+      fi
+    ], [
+      dnl The module 'threadlib' is not in use, due to --avoid=threadlib being
+      dnl specified.
+      dnl The package either has prepared CPPFLAGS and LIBS for use of
+      dnl POSIX:2008 threads, or wants to build single-threaded programs.
+      if test $ac_cv_func_pthread_sigmask = yes; then
+        dnl pthread_sigmask exists and does not require extra libraries.
+        dnl Assume that it is declared.
+        :
+      else
+        dnl pthread_sigmask either does not exist or needs extra libraries.
+        HAVE_PTHREAD_SIGMASK=0
+        dnl Define the symbol rpl_pthread_sigmask, not pthread_sigmask,
+        dnl so as to not accidentally override the system's pthread_sigmask
+        dnl symbol from libpthread. This is necessary on IRIX 6.5.
+        REPLACE_PTHREAD_SIGMASK=1
+      fi
+    ])
+  fi
+
+  AC_SUBST([LIB_PTHREAD_SIGMASK])
+  dnl We don't need a variable LTLIB_PTHREAD_SIGMASK, because when
+  dnl "$gl_threads_api" = posix, $LTLIBMULTITHREAD and $LIBMULTITHREAD are the
+  dnl same.
+
+  dnl Now test for some bugs in the system function.
+  if test $HAVE_PTHREAD_SIGMASK = 1; then
+    AC_REQUIRE([AC_PROG_CC])
+    AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+    dnl On FreeBSD 6.4, HP-UX 11.31, Solaris 9, in programs that are not linked
+    dnl with -lpthread, the pthread_sigmask() function always returns 0 and has
+    dnl no effect.
+    if test -z "$LIB_PTHREAD_SIGMASK"; then
+      case " $LIBS " in
+        *' -pthread '*) ;;
+        *' -lpthread '*) ;;
+        *)
+          AC_CACHE_CHECK([whether pthread_sigmask works without -lpthread],
+            [gl_cv_func_pthread_sigmask_in_libc_works],
+            [
+              AC_RUN_IFELSE(
+                [AC_LANG_SOURCE([[
+                   #include <pthread.h>
+                   #include <signal.h>
+                   #include <stddef.h>
+                   int main ()
+                   {
+                     sigset_t set;
+                     sigemptyset (&set);
+                     return pthread_sigmask (1729, &set, NULL) != 0;
+                   }]])],
+                [gl_cv_func_pthread_sigmask_in_libc_works=no],
+                [gl_cv_func_pthread_sigmask_in_libc_works=yes],
+                [
+                 changequote(,)dnl
+                 case "$host_os" in
+                   freebsd* | hpux* | solaris | solaris2.[2-9]*)
+                     gl_cv_func_pthread_sigmask_in_libc_works="guessing no";;
+                   *)
+                     gl_cv_func_pthread_sigmask_in_libc_works="guessing yes";;
+                 esac
+                 changequote([,])dnl
+                ])
+            ])
+          case "$gl_cv_func_pthread_sigmask_in_libc_works" in
+            *no)
+              REPLACE_PTHREAD_SIGMASK=1
+              AC_DEFINE([PTHREAD_SIGMASK_INEFFECTIVE], [1],
+                [Define to 1 if pthread_sigmask may return 0 and have no effect.])
+              ;;
+          esac;;
+      esac
+    fi
+
+    dnl On Cygwin 1.7.5, the pthread_sigmask() has a wrong return value
+    dnl convention: Upon failure, it returns -1 and sets errno.
+    AC_CACHE_CHECK([whether pthread_sigmask returns error numbers],
+      [gl_cv_func_pthread_sigmask_return_works],
+      [
+        gl_save_LIBS="$LIBS"
+        LIBS="$LIBS $LIB_PTHREAD_SIGMASK"
+        AC_RUN_IFELSE(
+          [AC_LANG_SOURCE([[
+#include <pthread.h>
+#include <signal.h>
+#include <stddef.h>
+int main ()
+{
+  sigset_t set;
+  sigemptyset (&set);
+  if (pthread_sigmask (1729, &set, NULL) == -1)
+    return 1;
+  return 0;
+}]])],
+          [gl_cv_func_pthread_sigmask_return_works=yes],
+          [gl_cv_func_pthread_sigmask_return_works=no],
+          [case "$host_os" in
+             cygwin*)
+               gl_cv_func_pthread_sigmask_return_works="guessing no";;
+             *)
+               gl_cv_func_pthread_sigmask_return_works="guessing yes";;
+           esac
+          ])
+        LIBS="$gl_save_LIBS"
+      ])
+    case "$gl_cv_func_pthread_sigmask_return_works" in
+      *no)
+        REPLACE_PTHREAD_SIGMASK=1
+        AC_DEFINE([PTHREAD_SIGMASK_FAILS_WITH_ERRNO], [1],
+          [Define to 1 if pthread_sigmask(), when it fails, returns -1 and sets errno.])
+        ;;
+    esac
+
+    dnl On IRIX 6.5, in a single-threaded program, pending signals are not
+    dnl immediately delivered when they are unblocked through pthread_sigmask,
+    dnl only a little while later.
+    AC_CACHE_CHECK([whether pthread_sigmask unblocks signals correctly],
+      [gl_cv_func_pthread_sigmask_unblock_works],
+      [
+        case "$host_os" in
+          irix*)
+            gl_cv_func_pthread_sigmask_unblock_works="guessing no";;
+          *)
+            gl_cv_func_pthread_sigmask_unblock_works="guessing yes";;
+        esac
+        m4_ifdef([gl_][THREADLIB],
+          [dnl Link against $LIBMULTITHREAD, not only $LIB_PTHREAD_SIGMASK.
+           dnl Otherwise we get a false positive on those platforms where
+           dnl $gl_cv_func_pthread_sigmask_in_libc_works is "no".
+           gl_save_LIBS=$LIBS
+           LIBS="$LIBS $LIBMULTITHREAD"])
+        AC_RUN_IFELSE(
+          [AC_LANG_SOURCE([[
+#include <pthread.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+static volatile int sigint_occurred;
+static void
+sigint_handler (int sig)
+{
+  sigint_occurred++;
+}
+int main ()
+{
+  sigset_t set;
+  int pid = getpid ();
+  char command[80];
+  signal (SIGINT, sigint_handler);
+  sigemptyset (&set);
+  sigaddset (&set, SIGINT);
+  if (!(pthread_sigmask (SIG_BLOCK, &set, NULL) == 0))
+    return 1;
+  sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid);
+  if (!(system (command) == 0))
+    return 2;
+  sleep (2);
+  if (!(sigint_occurred == 0))
+    return 3;
+  if (!(pthread_sigmask (SIG_UNBLOCK, &set, NULL) == 0))
+    return 4;
+  if (!(sigint_occurred == 1)) /* This fails on IRIX.  */
+    return 5;
+  return 0;
+}]])],
+          [:],
+          [gl_cv_func_pthread_sigmask_unblock_works=no],
+          [:])
+        m4_ifdef([gl_][THREADLIB], [LIBS=$gl_save_LIBS])
+      ])
+    case "$gl_cv_func_pthread_sigmask_unblock_works" in
+      *no)
+        REPLACE_PTHREAD_SIGMASK=1
+        AC_DEFINE([PTHREAD_SIGMASK_UNBLOCK_BUG], [1],
+          [Define to 1 if pthread_sigmask() unblocks signals incorrectly.])
+        ;;
+    esac
+  fi
+])
+
+# Prerequisite of lib/pthread_sigmask.c.
+AC_DEFUN([gl_PREREQ_PTHREAD_SIGMASK],
+[
+  if test $HAVE_PTHREAD_SIGMASK = 1; then
+    AC_DEFINE([HAVE_PTHREAD_SIGMASK], [1],
+      [Define to 1 if the pthread_sigmask function can be used (despite bugs).])
+  fi
+])
index d79321be9c2b2ce79ae0edc1edcf97450f101c9e..342ba2636ab1ca242ce7eb444e543846c239b22e 100644 (file)
@@ -1,5 +1,5 @@
-# putenv.m4 serial 20
-dnl Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# putenv.m4 serial 23
+dnl Copyright (C) 2002-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.
@@ -34,10 +34,14 @@ AC_DEFUN([gl_FUNC_PUTENV],
              gl_cv_func_svid_putenv=no,
              dnl When crosscompiling, assume putenv is broken.
              [case "$host_os" in
-                        # Guess yes on glibc systems.
-                *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
-                        # If we don't know, assume the worst.
-                *)      gl_cv_func_svid_putenv="guessing no" ;;
+                               # Guess yes on glibc systems.
+                *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
+                               # Guess yes on musl systems.
+                *-musl*)       gl_cv_func_svid_putenv="guessing yes" ;;
+                               # Guess no on native Windows.
+                mingw*)        gl_cv_func_svid_putenv="guessing no" ;;
+                               # If we don't know, assume the worst.
+                *)             gl_cv_func_svid_putenv="guessing no" ;;
               esac
              ])
    ])
index 95b3e71b7152eb225d218406b15c0c7eeec3c78c..feaa7351142f7e279d60a6b46c5feee952ec904f 100644 (file)
@@ -1,5 +1,5 @@
 # quote.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
index eaebbf638fc1170b0b3b2dd007dd2b9be2bb5c40..c478f5058ee7253c77062397618cacaa78fd27b5 100644 (file)
@@ -1,5 +1,5 @@
 # quotearg.m4 serial 9
-dnl Copyright (C) 2002, 2004-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004-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.
diff --git a/m4/raise.m4 b/m4/raise.m4
new file mode 100644 (file)
index 0000000..f7661e6
--- /dev/null
@@ -0,0 +1,36 @@
+# raise.m4 serial 4
+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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_RAISE],
+[
+  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CHECK_FUNCS([raise])
+  if test $ac_cv_func_raise = no; then
+    HAVE_RAISE=0
+  else
+    m4_ifdef([gl_MSVC_INVAL], [
+      AC_REQUIRE([gl_MSVC_INVAL])
+      if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+        REPLACE_RAISE=1
+      fi
+    ])
+    m4_ifdef([gl_SIGNALBLOCKING], [
+      gl_SIGNALBLOCKING
+      if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
+        m4_ifdef([gl_SIGNAL_SIGPIPE], [
+          gl_SIGNAL_SIGPIPE
+          if test $gl_cv_header_signal_h_SIGPIPE != yes; then
+            REPLACE_RAISE=1
+          fi
+        ], [:])
+      fi
+    ])
+  fi
+])
+
+# Prerequisites of lib/raise.c.
+AC_DEFUN([gl_PREREQ_RAISE], [:])
index 176b0b04d6bb7a6aeeca558f937f53320099748d..b1e77d2e7b450fd6486c938f425294d6ff86e13a 100644 (file)
@@ -1,5 +1,5 @@
-# read.m4 serial 4
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# read.m4 serial 5
+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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,10 +7,12 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_READ],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  AC_REQUIRE([gl_MSVC_INVAL])
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_READ=1
-  fi
+  m4_ifdef([gl_MSVC_INVAL], [
+    AC_REQUIRE([gl_MSVC_INVAL])
+    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+      REPLACE_READ=1
+    fi
+  ])
   dnl This ifdef is just an optimization, to avoid performing a configure
   dnl check whose result is not used. It does not make the test of
   dnl GNULIB_UNISTD_H_NONBLOCKING or GNULIB_NONBLOCKING redundant.
index f9ce868c2e496b9f51bf33f7945b05431bcf2a4b..2d7681576ccdb7821ab726960a5eb17fe9c944c7 100644 (file)
@@ -1,5 +1,5 @@
-# readlink.m4 serial 12
-dnl Copyright (C) 2003, 2007, 2009-2014 Free Software Foundation, Inc.
+# readlink.m4 serial 14
+dnl Copyright (C) 2003, 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -34,10 +34,12 @@ AC_DEFUN([gl_FUNC_READLINK],
       return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;]])],
          [gl_cv_func_readlink_works=yes], [gl_cv_func_readlink_works=no],
          [case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_readlink_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_readlink_works="guessing no" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_readlink_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_readlink_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_readlink_works="guessing no" ;;
           esac
          ])
       rm -f conftest.link conftest.lnk2])
index f96537ba67199953c0ab0e74af6ade6a3b0d0aae..93066e80cea2d79509f83e99eb52fe02d5d46ce5 100644 (file)
@@ -1,13 +1,13 @@
-# realloc.m4 serial 13
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
 
 m4_version_prereq([2.70], [] ,[
 
-# This is taken from the following Autoconf patch:
-# http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9
+# This is adapted with modifications from upstream Autoconf here:
+# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=04be2b7a29d65d9a08e64e8e56e594c91749598c
 AC_DEFUN([_AC_FUNC_REALLOC_IF],
 [
   AC_REQUIRE([AC_HEADER_STDC])dnl
@@ -23,21 +23,31 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF],
             char *realloc ();
             #endif
           ]],
-          [[return ! realloc (0, 0);]])
+          [[char *p = realloc (0, 0);
+            int result = !p;
+            free (p);
+            return result;]])
        ],
        [ac_cv_func_realloc_0_nonnull=yes],
        [ac_cv_func_realloc_0_nonnull=no],
        [case "$host_os" in
           # Guess yes on platforms where we know the result.
-          *-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
 
 ])
index 08bd46a96d98c59c4a25b27b73b86f82a8c681ad..35119c5c85fab372253e07f755b2475e69608dcb 100644 (file)
@@ -1,6 +1,6 @@
-# serial 65
+# serial 68
 
-# Copyright (C) 1996-2001, 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2001, 2003-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +13,7 @@ AC_PREREQ([2.50])
 
 AC_DEFUN([gl_REGEX],
 [
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_ARG_WITH([included-regex],
     [AS_HELP_STRING([--without-included-regex],
                     [don't compile regex; this is the default on systems
@@ -75,7 +76,7 @@ AC_DEFUN([gl_REGEX],
             if (setlocale (LC_ALL, "en_US.UTF-8"))
               {
                 {
-                  /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
+                  /* https://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
                      This test needs valgrind to catch the bug on Debian
                      GNU/Linux 3.1 x86, but it might catch the bug better
                      on other platforms and it shouldn't hurt to try the
@@ -93,12 +94,13 @@ AC_DEFUN([gl_REGEX],
                                       0, sizeof data - 1, &regs)
                            != -1)
                     result |= 1;
+                  regfree (&regex);
                 }
 
                 {
                   /* This test is from glibc bug 15078.
                      The test case is from Andreas Schwab in
-                     <http://www.sourceware.org/ml/libc-alpha/2013-01/msg00967.html>.
+                     <https://sourceware.org/ml/libc-alpha/2013-01/msg00967.html>.
                      */
                   static char const pat[] = "[^x]x";
                   static char const data[] =
@@ -124,6 +126,7 @@ AC_DEFUN([gl_REGEX],
                       if (i != 0 && i != 21)
                         result |= 1;
                     }
+                  regfree (&regex);
                 }
 
                 if (! setlocale (LC_ALL, "C"))
@@ -195,7 +198,7 @@ AC_DEFUN([gl_REGEX],
               result |= 16;
 
             /* Catch a bug reported by Vin Shelton in
-               http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html
+               https://lists.gnu.org/r/bug-coreutils/2007-06/msg00089.html
                */
             re_set_syntax (RE_SYNTAX_POSIX_BASIC
                            & ~RE_CONTEXT_INVALID_DUP
@@ -210,6 +213,17 @@ AC_DEFUN([gl_REGEX],
             if (! REG_STARTEND)
               result |= 64;
 
+            /* Matching with the compiled form of this regexp would provoke
+               an assertion failure prior to glibc-2.28:
+                 regexec.c:1375: pop_fail_stack: Assertion 'num >= 0' failed
+               With glibc-2.28, compilation fails and reports the invalid
+               back reference.  */
+            re_set_syntax (RE_SYNTAX_POSIX_EGREP);
+            memset (&regex, 0, sizeof regex);
+            s = re_compile_pattern ("0|()0|\\1|0", 10, &regex);
+            if (!s || strcmp (s, "Invalid back reference"))
+              result |= 64;
+
 #if 0
             /* It would be nice to reject hosts whose regoff_t values are too
                narrow (including glibc on hosts with 64-bit ptrdiff_t and
@@ -224,13 +238,19 @@ AC_DEFUN([gl_REGEX],
 
             return result;
           ]])],
-       [gl_cv_func_re_compile_pattern_working=yes],
-       [gl_cv_func_re_compile_pattern_working=no],
-       dnl When crosscompiling, assume it is not working.
-       [gl_cv_func_re_compile_pattern_working=no])])
-    case $gl_cv_func_re_compile_pattern_working in #(
-    yes) ac_use_included_regex=no;; #(
-    no) ac_use_included_regex=yes;;
+        [gl_cv_func_re_compile_pattern_working=yes],
+        [gl_cv_func_re_compile_pattern_working=no],
+        [case "$host_os" in
+                   # Guess no on native Windows.
+           mingw*) gl_cv_func_re_compile_pattern_working="guessing no" ;;
+                   # Otherwise, assume it is not working.
+           *)      gl_cv_func_re_compile_pattern_working="guessing no" ;;
+         esac
+        ])
+      ])
+    case "$gl_cv_func_re_compile_pattern_working" in #(
+      *yes) ac_use_included_regex=no;; #(
+      *no) ac_use_included_regex=yes;;
     esac
     ;;
   *) AC_MSG_ERROR([Invalid value for --with-included-regex: $with_included_regex])
index 6fd0f5dff92143336beaa9093caa8dae61afb4a4..d10a005b78aab2228b47845c65ae96ea26495e9a 100644 (file)
@@ -1,5 +1,5 @@
 # rpmatch.m4 serial 10
-dnl Copyright (C) 2002-2003, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-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,
 dnl with or without modifications, as long as this notice is preserved.
index f0c42e08f52a3f701c74da2da0c85407b17dcbdc..d133e0567b08217accac4f8b5a215f5d60e0ba21 100644 (file)
@@ -1,5 +1,5 @@
 # safe-read.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/sched_h.m4 b/m4/sched_h.m4
new file mode 100644 (file)
index 0000000..2cc814e
--- /dev/null
@@ -0,0 +1,91 @@
+# sched_h.m4 serial 12
+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 Written by Bruno Haible.
+
+AC_DEFUN([gl_SCHED_H],
+[
+  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+  dnl once only, before all statements that occur in other macros.
+  AC_REQUIRE([gl_SCHED_H_DEFAULTS])
+
+  AC_REQUIRE([AC_CANONICAL_HOST])
+
+  AC_CHECK_HEADERS_ONCE([sys/cdefs.h])
+  AC_CHECK_HEADERS([sched.h], [], [],
+    [[#if HAVE_SYS_CDEFS_H
+       #include <sys/cdefs.h>
+      #endif
+    ]])
+  gl_NEXT_HEADERS([sched.h])
+
+  if test "$ac_cv_header_sched_h" = yes; then
+    HAVE_SCHED_H=1
+  else
+    HAVE_SCHED_H=0
+  fi
+  AC_SUBST([HAVE_SCHED_H])
+
+  if test "$HAVE_SCHED_H" = 1; then
+    AC_CHECK_TYPE([struct sched_param],
+      [HAVE_STRUCT_SCHED_PARAM=1], [HAVE_STRUCT_SCHED_PARAM=0],
+      [[#if HAVE_SYS_CDEFS_H
+         #include <sys/cdefs.h>
+        #endif
+        #include <sched.h>
+      ]])
+  else
+    HAVE_STRUCT_SCHED_PARAM=0
+    case "$host_os" in
+      os2*)
+        dnl On OS/2 kLIBC, struct sched_param is in spawn.h.
+        AC_CHECK_TYPE([struct sched_param],
+          [HAVE_STRUCT_SCHED_PARAM=1], [],
+          [#include <spawn.h>])
+        ;;
+      vms)
+        dnl On OpenVMS 7.2 or newer, struct sched_param is in pthread.h.
+        AC_CHECK_TYPE([struct sched_param],
+          [HAVE_STRUCT_SCHED_PARAM=1], [],
+          [#include <pthread.h>])
+        ;;
+    esac
+  fi
+  AC_SUBST([HAVE_STRUCT_SCHED_PARAM])
+
+  if test "$ac_cv_header_sys_cdefs_h" = yes; then
+    HAVE_SYS_CDEFS_H=1
+  else
+    HAVE_SYS_CDEFS_H=0
+  fi
+  AC_SUBST([HAVE_SYS_CDEFS_H])
+
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use, if it is not common
+  dnl enough to be declared everywhere.
+  gl_WARN_ON_USE_PREPARE([[#include <sched.h>
+    ]], [sched_yield])
+])
+
+AC_DEFUN([gl_SCHED_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_SCHED_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_SCHED_H_DEFAULTS],
+[
+  GNULIB_SCHED_YIELD=0;  AC_SUBST([GNULIB_SCHED_YIELD])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_SCHED_YIELD=1;    AC_SUBST([HAVE_SCHED_YIELD])
+  REPLACE_SCHED_YIELD=0; AC_SUBST([REPLACE_SCHED_YIELD])
+])
diff --git a/m4/secure_getenv.m4 b/m4/secure_getenv.m4
deleted file mode 100644 (file)
index 149888d..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# Look up an environment variable more securely.
-dnl Copyright 2013-2014 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.
-
-AC_DEFUN([gl_FUNC_SECURE_GETENV],
-[
-  dnl Persuade glibc <stdlib.h> to declare secure_getenv().
-  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-
-  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
-  AC_CHECK_FUNCS_ONCE([secure_getenv])
-  if test $ac_cv_func_secure_getenv = no; then
-    HAVE_SECURE_GETENV=0
-  fi
-])
-
-# Prerequisites of lib/secure_getenv.c.
-AC_DEFUN([gl_PREREQ_SECURE_GETENV], [
-  AC_CHECK_FUNCS([__secure_getenv])
-  if test $ac_cv_func___secure_getenv = no; then
-    AC_CHECK_FUNCS([issetugid])
-  fi
-])
diff --git a/m4/select.m4 b/m4/select.m4
new file mode 100644 (file)
index 0000000..531c817
--- /dev/null
@@ -0,0 +1,116 @@
+# select.m4 serial 10
+dnl Copyright (C) 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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_SELECT],
+[
+  AC_REQUIRE([gl_HEADER_SYS_SELECT])
+  AC_REQUIRE([AC_C_RESTRICT])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([gl_SOCKETS])
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    REPLACE_SELECT=1
+  else
+    dnl On Interix 3.5, select(0, NULL, NULL, NULL, timeout) fails with error
+    dnl EFAULT.
+    AC_CHECK_HEADERS_ONCE([sys/select.h])
+    AC_CACHE_CHECK([whether select supports a 0 argument],
+      [gl_cv_func_select_supports0],
+      [
+        AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <sys/types.h>
+#include <sys/time.h>
+#if HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
+int main ()
+{
+  struct timeval timeout;
+  timeout.tv_sec = 0;
+  timeout.tv_usec = 5;
+  return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0;
+}]])], [gl_cv_func_select_supports0=yes], [gl_cv_func_select_supports0=no],
+          [
+changequote(,)dnl
+           case "$host_os" in
+                       # Guess no on Interix.
+             interix*) gl_cv_func_select_supports0="guessing no";;
+                       # Guess yes otherwise.
+             *)        gl_cv_func_select_supports0="guessing yes";;
+           esac
+changequote([,])dnl
+          ])
+      ])
+    case "$gl_cv_func_select_supports0" in
+      *yes) ;;
+      *) REPLACE_SELECT=1 ;;
+    esac
+
+    dnl On FreeBSD 8.2, select() doesn't always reject bad fds.
+    AC_CACHE_CHECK([whether select detects invalid fds],
+      [gl_cv_func_select_detects_ebadf],
+      [
+        AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/types.h>
+#include <sys/time.h>
+#if HAVE_SYS_SELECT_H
+# include <sys/select.h>
+#endif
+#include <unistd.h>
+#include <errno.h>
+]],[[
+  fd_set set;
+  dup2(0, 16);
+  FD_ZERO(&set);
+  FD_SET(16, &set);
+  close(16);
+  struct timeval timeout;
+  timeout.tv_sec = 0;
+  timeout.tv_usec = 5;
+  return select (17, &set, NULL, NULL, &timeout) != -1 || errno != EBADF;
+]])], [gl_cv_func_select_detects_ebadf=yes],
+      [gl_cv_func_select_detects_ebadf=no],
+          [
+           case "$host_os" in
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_select_detects_ebadf="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_select_detects_ebadf="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_select_detects_ebadf="guessing no" ;;
+           esac
+          ])
+      ])
+    case $gl_cv_func_select_detects_ebadf in
+      *yes) ;;
+      *) REPLACE_SELECT=1 ;;
+    esac
+  fi
+
+  dnl Determine the needed libraries.
+  LIB_SELECT="$LIBSOCKET"
+  if test $REPLACE_SELECT = 1; then
+    case "$host_os" in
+      mingw*)
+        dnl On the MSVC platform, the function MsgWaitForMultipleObjects
+        dnl (used in lib/select.c) requires linking with -luser32. On mingw,
+        dnl it is implicit.
+        AC_LINK_IFELSE(
+          [AC_LANG_SOURCE([[
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+int
+main ()
+{
+  MsgWaitForMultipleObjects (0, NULL, 0, 0, 0);
+  return 0;
+}]])],
+          [],
+          [LIB_SELECT="$LIB_SELECT -luser32"])
+        ;;
+    esac
+  fi
+  AC_SUBST([LIB_SELECT])
+])
index 0f46a7bec02900a36437acd1a2197d26f0d4c164..a8f83d60ffa6e30eee09f6d6ad2f799d45db2a4f 100644 (file)
@@ -1,5 +1,5 @@
-# setenv.m4 serial 26
-dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -35,10 +35,12 @@ AC_DEFUN([gl_FUNC_SETENV],
       ]])],
       [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no],
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_setenv_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_setenv_works="guessing no" ;;
+                        # 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
       ])])
     case "$gl_cv_func_setenv_works" in
index fe83aab303ad74513103ad9495a09ec913c6cccd..dba68c4e4ffcf30fb0252b1db315bec967be56fd 100644 (file)
@@ -1,5 +1,5 @@
-# setlocale.m4 serial 4
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# setlocale.m4 serial 6
+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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -19,11 +19,40 @@ AC_DEFUN([gl_FUNC_SETLOCALE],
         1.5.*) REPLACE_SETLOCALE=1 ;;
       esac
       ;;
+    dnl On Android 4.3, setlocale(category,"C") always fails.
+    *)
+      AC_CACHE_CHECK([whether setlocale supports the C locale],
+        [gl_cv_func_setlocale_works],
+        [AC_RUN_IFELSE(
+           [AC_LANG_SOURCE([[
+#include <locale.h>
+int main ()
+{
+  return setlocale (LC_ALL, "C") == NULL;
+}]])],
+           [gl_cv_func_setlocale_works=yes],
+           [gl_cv_func_setlocale_works=no],
+           [case "$host_os" in
+                               # Guess no on Android.
+              linux*-android*) gl_cv_func_setlocale_works="guessing no";;
+                               # Guess yes otherwise.
+              *)               gl_cv_func_setlocale_works="guessing yes";;
+            esac
+           ])
+        ])
+      case "$gl_cv_func_setlocale_works" in
+        *yes) ;;
+        *) REPLACE_SETLOCALE=1 ;;
+      esac
+      ;;
   esac
 ])
 
 # Prerequisites of lib/setlocale.c.
 AC_DEFUN([gl_PREREQ_SETLOCALE],
 [
+  dnl No need to check for CFLocaleCopyPreferredLanguages and
+  dnl CFPreferencesCopyAppValue because lib/setlocale.c is not used on Mac OS X.
+  dnl (The Mac OS X specific code is only used in libintl.)
   :
 ])
diff --git a/m4/sigaction.m4 b/m4/sigaction.m4
new file mode 100644 (file)
index 0000000..6117d1b
--- /dev/null
@@ -0,0 +1,40 @@
+# sigaction.m4 serial 7
+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.
+
+# Determine if sigaction interface is present.
+AC_DEFUN([gl_SIGACTION],
+[
+  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+  AC_CHECK_FUNCS_ONCE([sigaction])
+  if test $ac_cv_func_sigaction = yes; then
+    AC_CHECK_MEMBERS([struct sigaction.sa_sigaction], , ,
+                     [[#include <signal.h>]])
+    if test $ac_cv_member_struct_sigaction_sa_sigaction = no; then
+      HAVE_STRUCT_SIGACTION_SA_SIGACTION=0
+    fi
+  else
+    HAVE_SIGACTION=0
+  fi
+])
+
+# Prerequisites of the part of lib/signal.in.h and of lib/sigaction.c.
+AC_DEFUN([gl_PREREQ_SIGACTION],
+[
+  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+  AC_REQUIRE([AC_C_RESTRICT])
+  AC_REQUIRE([AC_TYPE_UID_T])
+  AC_REQUIRE([gl_PREREQ_SIG_HANDLER_H])
+  AC_CHECK_FUNCS_ONCE([sigaltstack siginterrupt])
+  AC_CHECK_TYPES([siginfo_t], [], [], [[
+#include <signal.h>
+  ]])
+  if test $ac_cv_type_siginfo_t = no; then
+    HAVE_SIGINFO_T=0
+  fi
+])
+
+# Prerequisites of lib/sig-handler.h.
+AC_DEFUN([gl_PREREQ_SIG_HANDLER_H], [:])
diff --git a/m4/signal_h.m4 b/m4/signal_h.m4
new file mode 100644 (file)
index 0000000..3acec64
--- /dev/null
@@ -0,0 +1,83 @@
+# signal_h.m4 serial 18
+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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_SIGNAL_H],
+[
+  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+  AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T])
+  gl_NEXT_HEADERS([signal.h])
+
+# AIX declares sig_atomic_t to already include volatile, and C89 compilers
+# then choke on 'volatile sig_atomic_t'.  C99 requires that it compile.
+  AC_CHECK_TYPE([volatile sig_atomic_t], [],
+    [HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0], [[
+#include <signal.h>
+    ]])
+
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
+  AC_REQUIRE([AC_TYPE_UID_T])
+
+  dnl Persuade glibc <signal.h> to define sighandler_t.
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+  AC_CHECK_TYPE([sighandler_t], [], [HAVE_SIGHANDLER_T=0], [[
+#include <signal.h>
+    ]])
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use.
+  gl_WARN_ON_USE_PREPARE([[#include <signal.h>
+    ]], [pthread_sigmask sigaction
+    sigaddset sigdelset sigemptyset sigfillset sigismember
+    sigpending sigprocmask])
+])
+
+AC_DEFUN([gl_CHECK_TYPE_SIGSET_T],
+[
+  AC_CHECK_TYPES([sigset_t],
+    [gl_cv_type_sigset_t=yes], [gl_cv_type_sigset_t=no],
+    [[
+      #include <signal.h>
+      /* Mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.  */
+      #include <sys/types.h>
+    ]])
+  if test $gl_cv_type_sigset_t != yes; then
+    HAVE_SIGSET_T=0
+  fi
+])
+
+AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_SIGNAL_H_DEFAULTS],
+[
+  GNULIB_PTHREAD_SIGMASK=0;    AC_SUBST([GNULIB_PTHREAD_SIGMASK])
+  GNULIB_RAISE=0;              AC_SUBST([GNULIB_RAISE])
+  GNULIB_SIGNAL_H_SIGPIPE=0;   AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE])
+  GNULIB_SIGPROCMASK=0;        AC_SUBST([GNULIB_SIGPROCMASK])
+  GNULIB_SIGACTION=0;          AC_SUBST([GNULIB_SIGACTION])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_POSIX_SIGNALBLOCKING=1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING])
+  HAVE_PTHREAD_SIGMASK=1;      AC_SUBST([HAVE_PTHREAD_SIGMASK])
+  HAVE_RAISE=1;                AC_SUBST([HAVE_RAISE])
+  HAVE_SIGSET_T=1;             AC_SUBST([HAVE_SIGSET_T])
+  HAVE_SIGINFO_T=1;            AC_SUBST([HAVE_SIGINFO_T])
+  HAVE_SIGACTION=1;            AC_SUBST([HAVE_SIGACTION])
+  HAVE_STRUCT_SIGACTION_SA_SIGACTION=1;
+                               AC_SUBST([HAVE_STRUCT_SIGACTION_SA_SIGACTION])
+  HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1;
+                               AC_SUBST([HAVE_TYPE_VOLATILE_SIG_ATOMIC_T])
+  HAVE_SIGHANDLER_T=1;         AC_SUBST([HAVE_SIGHANDLER_T])
+  REPLACE_PTHREAD_SIGMASK=0;   AC_SUBST([REPLACE_PTHREAD_SIGMASK])
+  REPLACE_RAISE=0;             AC_SUBST([REPLACE_RAISE])
+])
diff --git a/m4/signalblocking.m4 b/m4/signalblocking.m4
new file mode 100644 (file)
index 0000000..d722f65
--- /dev/null
@@ -0,0 +1,25 @@
+# signalblocking.m4 serial 14
+dnl Copyright (C) 2001-2002, 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,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Determine available signal blocking primitives. Three different APIs exist:
+# 1) POSIX: sigemptyset, sigaddset, sigprocmask
+# 2) SYSV: sighold, sigrelse
+# 3) BSD: sigblock, sigsetmask
+# For simplicity, here we check only for the POSIX signal blocking.
+AC_DEFUN([gl_SIGNALBLOCKING],
+[
+  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+  AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T])
+  if test $gl_cv_type_sigset_t = yes; then
+    AC_CHECK_FUNC([sigprocmask], [gl_cv_func_sigprocmask=1])
+  fi
+  if test -z "$gl_cv_func_sigprocmask"; then
+    HAVE_POSIX_SIGNALBLOCKING=0
+  fi
+])
+
+# Prerequisites of lib/sigprocmask.c.
+AC_DEFUN([gl_PREREQ_SIGPROCMASK], [:])
index 2f84da578c290ce63c6f8db4110b561ca3c2485c..7bab4670a4960e9ce796d2314ca3ad50951a5f1c 100644 (file)
@@ -1,5 +1,5 @@
-# sleep.m4 serial 7
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -46,10 +46,14 @@ handle_alarm (int sig)
     ]])],
       [gl_cv_func_sleep_works=yes], [gl_cv_func_sleep_works=no],
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_sleep_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_sleep_works="guessing no" ;;
+                        # 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.
+         *)             gl_cv_func_sleep_works="guessing no" ;;
        esac
       ])])
     case "$gl_cv_func_sleep_works" in
diff --git a/m4/socketlib.m4 b/m4/socketlib.m4
new file mode 100644 (file)
index 0000000..90ba20c
--- /dev/null
@@ -0,0 +1,90 @@
+# socketlib.m4 serial 2
+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 gl_SOCKETLIB
+dnl Determines the library to use for socket functions.
+dnl Sets and AC_SUBSTs LIBSOCKET.
+
+AC_DEFUN([gl_SOCKETLIB],
+[
+  gl_PREREQ_SYS_H_WINSOCK2 dnl for HAVE_WINSOCK2_H
+  LIBSOCKET=
+  if test $HAVE_WINSOCK2_H = 1; then
+    dnl Native Windows API (not Cygwin).
+    AC_CACHE_CHECK([if we need to call WSAStartup in winsock2.h and -lws2_32],
+                   [gl_cv_func_wsastartup], [
+      gl_save_LIBS="$LIBS"
+      LIBS="$LIBS -lws2_32"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#ifdef HAVE_WINSOCK2_H
+# include <winsock2.h>
+#endif]], [[
+          WORD wVersionRequested = MAKEWORD(1, 1);
+          WSADATA wsaData;
+          int err = WSAStartup(wVersionRequested, &wsaData);
+          WSACleanup ();]])],
+        gl_cv_func_wsastartup=yes, gl_cv_func_wsastartup=no)
+      LIBS="$gl_save_LIBS"
+    ])
+    if test "$gl_cv_func_wsastartup" = "yes"; then
+      AC_DEFINE([WINDOWS_SOCKETS], [1], [Define if WSAStartup is needed.])
+      LIBSOCKET='-lws2_32'
+    fi
+  else
+    dnl Unix API.
+    dnl Solaris has most socket functions in libsocket.
+    dnl Haiku has most socket functions in libnetwork.
+    dnl BeOS has most socket functions in libnet.
+    dnl On HP-UX, do NOT link with libxnet, because in 64-bit mode this would
+    dnl break code (e.g. in libraries) that invokes accept(), getpeername(),
+    dnl getsockname(), getsockopt(), or recvfrom() with a 32-bit addrlen. See
+    dnl "man xopen_networking" for details.
+    AC_CACHE_CHECK([for library containing setsockopt], [gl_cv_lib_socket], [
+      gl_cv_lib_socket=
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();]], [[setsockopt();]])],
+        [],
+        [gl_save_LIBS="$LIBS"
+         LIBS="$gl_save_LIBS -lsocket"
+         AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();]], [[setsockopt();]])],
+           [gl_cv_lib_socket="-lsocket"])
+         if test -z "$gl_cv_lib_socket"; then
+           LIBS="$gl_save_LIBS -lnetwork"
+           AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();]], [[setsockopt();]])],
+             [gl_cv_lib_socket="-lnetwork"])
+           if test -z "$gl_cv_lib_socket"; then
+             LIBS="$gl_save_LIBS -lnet"
+             AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();]], [[setsockopt();]])],
+               [gl_cv_lib_socket="-lnet"])
+           fi
+         fi
+         LIBS="$gl_save_LIBS"
+        ])
+      if test -z "$gl_cv_lib_socket"; then
+        gl_cv_lib_socket="none needed"
+      fi
+    ])
+    if test "$gl_cv_lib_socket" != "none needed"; then
+      LIBSOCKET="$gl_cv_lib_socket"
+    fi
+  fi
+  AC_SUBST([LIBSOCKET])
+])
diff --git a/m4/sockets.m4 b/m4/sockets.m4
new file mode 100644 (file)
index 0000000..06d3b9d
--- /dev/null
@@ -0,0 +1,17 @@
+# sockets.m4 serial 7
+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.
+
+AC_DEFUN([gl_SOCKETS],
+[
+  AC_REQUIRE([AC_C_INLINE])
+  AC_REQUIRE([gl_SOCKETLIB])
+  gl_PREREQ_SOCKETS
+])
+
+# Prerequisites of lib/sockets.c.
+AC_DEFUN([gl_PREREQ_SOCKETS], [
+  :
+])
diff --git a/m4/socklen.m4 b/m4/socklen.m4
new file mode 100644 (file)
index 0000000..deb5135
--- /dev/null
@@ -0,0 +1,76 @@
+# socklen.m4 serial 11
+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,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Albert Chin, Windows fixes from Simon Josefsson.
+
+dnl Check for socklen_t: historically on BSD it is an int, and in
+dnl POSIX 1g it is a type of its own, but some platforms use different
+dnl types for the argument to getsockopt, getpeername, etc.:
+dnl HP-UX 10.20, IRIX 6.5, OSF/1 4.0, Interix 3.5, BeOS.
+dnl So we have to test to find something that will work.
+
+AC_DEFUN([gl_TYPE_SOCKLEN_T],
+  [AC_REQUIRE([gl_CHECK_SOCKET_HEADERS])dnl
+   AC_CHECK_TYPE([socklen_t], ,
+     [AC_CACHE_CHECK([for socklen_t equivalent],
+        [gl_cv_socklen_t_equiv],
+        [# Systems have either "struct sockaddr *" or
+         # "void *" as the second argument to getpeername
+         gl_cv_socklen_t_equiv=
+         for arg2 in "struct sockaddr" void; do
+           for t in int size_t "unsigned int" "long int" "unsigned long int"; do
+             AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+                 [[#include <sys/types.h>
+                   #include <sys/socket.h>
+
+                   int getpeername (int, $arg2 *, $t *);]],
+                 [[$t len;
+                  getpeername (0, 0, &len);]])],
+               [gl_cv_socklen_t_equiv="$t"])
+             test "$gl_cv_socklen_t_equiv" != "" && break
+           done
+           test "$gl_cv_socklen_t_equiv" != "" && break
+         done
+         if test "$gl_cv_socklen_t_equiv" = ""; then
+           AC_MSG_ERROR([Cannot find a type to use in place of socklen_t])
+         fi
+        ])
+      AC_DEFINE_UNQUOTED([socklen_t], [$gl_cv_socklen_t_equiv],
+        [type to use in place of socklen_t if not defined])],
+     [gl_SOCKET_HEADERS])])
+
+dnl On mingw32, socklen_t is in ws2tcpip.h ('int'), so we try to find
+dnl it there too.  But on Cygwin, wc2tcpip.h must not be included.  Users
+dnl of this module should use the same include pattern as gl_SOCKET_HEADERS.
+dnl When you change this macro, keep also in sync:
+dnl   - gl_CHECK_SOCKET_HEADERS,
+dnl   - the Include section of modules/socklen.
+AC_DEFUN([gl_SOCKET_HEADERS],
+[
+/* <sys/types.h> is not needed according to POSIX, but the
+   <sys/socket.h> in i386-unknown-freebsd4.10 and
+   powerpc-apple-darwin5.5 required it. */
+#include <sys/types.h>
+#if HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#elif HAVE_WS2TCPIP_H
+# include <ws2tcpip.h>
+#endif
+])
+
+dnl Tests for the existence of the header for socket facilities.
+dnl Defines the C macros HAVE_SYS_SOCKET_H, HAVE_WS2TCPIP_H.
+dnl This macro must match gl_SOCKET_HEADERS.
+AC_DEFUN([gl_CHECK_SOCKET_HEADERS],
+  [AC_CHECK_HEADERS_ONCE([sys/socket.h])
+   if test $ac_cv_header_sys_socket_h = no; then
+     dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
+     dnl the check for those headers unconditional; yet cygwin reports
+     dnl that the headers are present but cannot be compiled (since on
+     dnl cygwin, all socket information should come from sys/socket.h).
+     AC_CHECK_HEADERS([ws2tcpip.h])
+   fi
+  ])
diff --git a/m4/sockpfaf.m4 b/m4/sockpfaf.m4
new file mode 100644 (file)
index 0000000..7b32982
--- /dev/null
@@ -0,0 +1,84 @@
+# sockpfaf.m4 serial 9
+dnl Copyright (C) 2004, 2006, 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,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Test for some common socket protocol families (PF_INET, PF_INET6, ...)
+dnl and some common address families (AF_INET, AF_INET6, ...).
+dnl This test assumes that a system supports an address family if and only if
+dnl it supports the corresponding protocol family.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([gl_SOCKET_FAMILIES],
+[
+  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+  AC_CHECK_HEADERS_ONCE([netinet/in.h])
+
+  AC_CACHE_CHECK([for IPv4 sockets],
+    [gl_cv_socket_ipv4],
+    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif]],
+[[int x = AF_INET; struct in_addr y; struct sockaddr_in z;
+ if (&x && &y && &z) return 0;]])],
+       gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)])
+  if test $gl_cv_socket_ipv4 = yes; then
+    AC_DEFINE([HAVE_IPV4], [1], [Define to 1 if <sys/socket.h> defines AF_INET.])
+  fi
+
+  AC_CACHE_CHECK([for IPv6 sockets],
+    [gl_cv_socket_ipv6],
+    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif]],
+[[int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z;
+ if (&x && &y && &z) return 0;]])],
+       gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)])
+  if test $gl_cv_socket_ipv6 = yes; then
+    AC_DEFINE([HAVE_IPV6], [1], [Define to 1 if <sys/socket.h> defines AF_INET6.])
+  fi
+])
+
+AC_DEFUN([gl_SOCKET_FAMILY_UNIX],
+[
+  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+  AC_CHECK_HEADERS_ONCE([sys/un.h])
+
+  AC_CACHE_CHECK([for UNIX domain sockets],
+    [gl_cv_socket_unix],
+    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_SYS_UN_H
+#include <sys/un.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif]],
+[[int x = AF_UNIX; struct sockaddr_un y;
+ if (&x && &y) return 0;]])],
+       gl_cv_socket_unix=yes, gl_cv_socket_unix=no)])
+  if test $gl_cv_socket_unix = yes; then
+    AC_DEFINE([HAVE_UNIXSOCKET], [1], [Define to 1 if <sys/socket.h> defines AF_UNIX.])
+  fi
+])
index fbe1d0687ef555f6314a3695ce9785148f236593..38bcee1c7d997372918aaa6f0db7810e6e165c9c 100644 (file)
@@ -1,5 +1,5 @@
 # ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-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.
diff --git a/m4/stat-time.m4 b/m4/stat-time.m4
new file mode 100644 (file)
index 0000000..1685788
--- /dev/null
@@ -0,0 +1,83 @@
+# Checks for stat-related time functions.
+
+# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2019 Free Software
+# Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+# st_atim.tv_nsec - Linux, Solaris, Cygwin
+# st_atimespec.tv_nsec - FreeBSD, NetBSD, if ! defined _POSIX_SOURCE
+# st_atimensec - FreeBSD, NetBSD, if defined _POSIX_SOURCE
+# st_atim.st__tim.tv_nsec - UnixWare (at least 2.1.2 through 7.1)
+
+# st_birthtimespec - FreeBSD, NetBSD (hidden on OpenBSD 3.9, anyway)
+# st_birthtim - Cygwin 1.7.0+
+
+AC_DEFUN([gl_STAT_TIME],
+[
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_CHECK_HEADERS_ONCE([sys/time.h])
+
+  AC_CHECK_MEMBERS([struct stat.st_atim.tv_nsec],
+    [AC_CACHE_CHECK([whether struct stat.st_atim is of type struct timespec],
+       [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec],
+       [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+          [[
+            #include <sys/types.h>
+            #include <sys/stat.h>
+            #if HAVE_SYS_TIME_H
+            # include <sys/time.h>
+            #endif
+            #include <time.h>
+            struct timespec ts;
+            struct stat st;
+          ]],
+          [[
+            st.st_atim = ts;
+          ]])],
+          [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes],
+          [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no])])
+     if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then
+       AC_DEFINE([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], [1],
+         [Define to 1 if the type of the st_atim member of a struct stat is
+          struct timespec.])
+     fi],
+    [AC_CHECK_MEMBERS([struct stat.st_atimespec.tv_nsec], [],
+       [AC_CHECK_MEMBERS([struct stat.st_atimensec], [],
+          [AC_CHECK_MEMBERS([struct stat.st_atim.st__tim.tv_nsec], [], [],
+             [#include <sys/types.h>
+              #include <sys/stat.h>])],
+          [#include <sys/types.h>
+           #include <sys/stat.h>])],
+       [#include <sys/types.h>
+        #include <sys/stat.h>])],
+    [#include <sys/types.h>
+     #include <sys/stat.h>])
+])
+
+# Check for st_birthtime, a feature from UFS2 (FreeBSD, NetBSD, OpenBSD, etc.)
+# and NTFS (Cygwin).
+# There was a time when this field was named st_createtime (21 June
+# 2002 to 16 July 2002) But that window is very small and applied only
+# to development code, so systems still using that configuration are
+# not supported.  See revisions 1.10 and 1.11 of FreeBSD's
+# src/sys/ufs/ufs/dinode.h.
+#
+AC_DEFUN([gl_STAT_BIRTHTIME],
+[
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_CHECK_HEADERS_ONCE([sys/time.h])
+  AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec], [],
+    [AC_CHECK_MEMBERS([struct stat.st_birthtimensec], [],
+      [AC_CHECK_MEMBERS([struct stat.st_birthtim.tv_nsec], [], [],
+         [#include <sys/types.h>
+          #include <sys/stat.h>])],
+       [#include <sys/types.h>
+        #include <sys/stat.h>])],
+    [#include <sys/types.h>
+     #include <sys/stat.h>])
+])
index 1ae327b3684511fe1e6ab5dec7b973c13416d03e..60040d13756e20f7d4c4ccc8ae321e8081011743 100644 (file)
@@ -1,6 +1,6 @@
-# serial 11
+# serial 15
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -8,64 +8,67 @@
 
 AC_DEFUN([gl_FUNC_STAT],
 [
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
   AC_CHECK_FUNCS_ONCE([lstat])
-  dnl mingw is the only known platform where stat(".") and stat("./") differ
-  AC_CACHE_CHECK([whether stat handles trailing slashes on directories],
-      [gl_cv_func_stat_dir_slash],
-      [AC_RUN_IFELSE(
-         [AC_LANG_PROGRAM(
-           [[#include <sys/stat.h>
-]], [[struct stat st; return stat (".", &st) != stat ("./", &st);]])],
-         [gl_cv_func_stat_dir_slash=yes], [gl_cv_func_stat_dir_slash=no],
-         [case $host_os in
-            mingw*) gl_cv_func_stat_dir_slash="guessing no";;
-            *) gl_cv_func_stat_dir_slash="guessing yes";;
-          esac])])
-  dnl AIX 7.1, Solaris 9, mingw64 mistakenly succeed on stat("file/").
-  dnl (For mingw, this is due to a broken stat() override in libmingwex.a.)
-  dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/").
-  AC_CACHE_CHECK([whether stat handles trailing slashes on files],
-      [gl_cv_func_stat_file_slash],
-      [touch conftest.tmp
-       # Assume that if we have lstat, we can also check symlinks.
-       if test $ac_cv_func_lstat = yes; then
-         ln -s conftest.tmp conftest.lnk
-       fi
-       AC_RUN_IFELSE(
-         [AC_LANG_PROGRAM(
-           [[#include <sys/stat.h>
+  case "$host_os" in
+    mingw*)
+      dnl On this platform, the original stat() returns st_atime, st_mtime,
+      dnl st_ctime values that are affected by the time zone.
+      REPLACE_STAT=1
+      ;;
+    *)
+      dnl AIX 7.1, Solaris 9, mingw64 mistakenly succeed on stat("file/").
+      dnl (For mingw, this is due to a broken stat() override in libmingwex.a.)
+      dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/").
+      AC_CACHE_CHECK([whether stat handles trailing slashes on files],
+        [gl_cv_func_stat_file_slash],
+        [touch conftest.tmp
+         # Assume that if we have lstat, we can also check symlinks.
+         if test $ac_cv_func_lstat = yes; then
+           ln -s conftest.tmp conftest.lnk
+         fi
+         AC_RUN_IFELSE(
+           [AC_LANG_PROGRAM(
+             [[#include <sys/stat.h>
 ]], [[int result = 0;
-      struct stat st;
-      if (!stat ("conftest.tmp/", &st))
-        result |= 1;
+               struct stat st;
+               if (!stat ("conftest.tmp/", &st))
+                 result |= 1;
 #if HAVE_LSTAT
-      if (!stat ("conftest.lnk/", &st))
-        result |= 2;
+               if (!stat ("conftest.lnk/", &st))
+                 result |= 2;
 #endif
-      return result;
-           ]])],
-         [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no],
-         [case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_stat_file_slash="guessing no" ;;
-          esac
-         ])
-       rm -f conftest.tmp conftest.lnk])
-  case $gl_cv_func_stat_dir_slash in
-    *no) REPLACE_STAT=1
-      AC_DEFINE([REPLACE_FUNC_STAT_DIR], [1], [Define to 1 if stat needs
-        help when passed a directory name with a trailing slash]);;
-  esac
-  case $gl_cv_func_stat_file_slash in
-    *no) REPLACE_STAT=1
-      AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs
-        help when passed a file name with a trailing slash]);;
+               return result;
+             ]])],
+           [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no],
+           [case "$host_os" in
+                               # Guess yes on Linux systems.
+              linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # Guess yes on glibc systems.
+              *-gnu* | gnu*)   gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # If we don't know, assume the worst.
+              *)               gl_cv_func_stat_file_slash="guessing no" ;;
+            esac
+           ])
+         rm -f conftest.tmp conftest.lnk])
+      case $gl_cv_func_stat_file_slash in
+        *no)
+          REPLACE_STAT=1
+          AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs
+            help when passed a file name with a trailing slash]);;
+      esac
+      case $host_os in
+        dnl Solaris stat can return a negative tv_nsec.
+        solaris*)
+          REPLACE_FSTAT=1 ;;
+      esac
+      ;;
   esac
 ])
 
-# Prerequisites of lib/stat.c.
-AC_DEFUN([gl_PREREQ_STAT], [:])
+# Prerequisites of lib/stat.c and lib/stat-w32.c.
+AC_DEFUN([gl_PREREQ_STAT], [
+  AC_REQUIRE([gl_HEADER_SYS_STAT_H])
+  :
+])
diff --git a/m4/std-gnu11.m4 b/m4/std-gnu11.m4
new file mode 100644 (file)
index 0000000..23e7f75
--- /dev/null
@@ -0,0 +1,824 @@
+# Prefer GNU C11 and C++11 to earlier versions.  -*- coding: utf-8 -*-
+
+# This implementation is taken from GNU Autoconf lib/autoconf/c.m4
+# commit 017d5ddd82854911f0119691d91ea8a1438824d6
+# dated Sun Apr 3 13:57:17 2016 -0700
+# This implementation will be obsolete once we can assume Autoconf 2.70
+# or later is installed everywhere a Gnulib program might be developed.
+
+
+# Copyright (C) 2001-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 David MacKenzie, with help from
+# Akim Demaille, Paul Eggert,
+# François Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor,
+# Roland McGrath, Noah Friedman, david d zuhn, and many others.
+
+
+# AC_PROG_CC([COMPILER ...])
+# --------------------------
+# COMPILER ... is a space separated list of C compilers to search for.
+# This just gives the user an opportunity to specify an alternative
+# search list for the C compiler.
+AC_DEFUN_ONCE([AC_PROG_CC],
+[AC_LANG_PUSH(C)dnl
+AC_ARG_VAR([CC],     [C compiler command])dnl
+AC_ARG_VAR([CFLAGS], [C compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+_AC_ARG_VAR_LIBS()dnl
+_AC_ARG_VAR_CPPFLAGS()dnl
+m4_ifval([$1],
+      [AC_CHECK_TOOLS(CC, [$1])],
+[AC_CHECK_TOOL(CC, gcc)
+if test -z "$CC"; then
+  dnl Here we want:
+  dnl  AC_CHECK_TOOL(CC, cc)
+  dnl but without the check for a tool without the prefix.
+  dnl Until the check is removed from there, copy the code:
+  if test -n "$ac_tool_prefix"; then
+    AC_CHECK_PROG(CC, [${ac_tool_prefix}cc], [${ac_tool_prefix}cc])
+  fi
+fi
+if test -z "$CC"; then
+  AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+fi
+if test -z "$CC"; then
+  AC_CHECK_TOOLS(CC, cl.exe)
+fi
+if test -z "$CC"; then
+  AC_CHECK_TOOL(CC, clang)
+fi
+])
+
+test -z "$CC" && AC_MSG_FAILURE([no acceptable C compiler found in \$PATH])
+
+# Provide some information about the compiler.
+_AS_ECHO_LOG([checking for _AC_LANG compiler version])
+set X $ac_compile
+ac_compiler=$[2]
+for ac_option in --version -v -V -qversion -version; do
+  m4_ifdef([_AC_DO_LIMIT],[_AC_DO_LIMIT],[_AC_DO])([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD])
+done
+
+m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
+m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl
+_AC_LANG_COMPILER_GNU
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+_AC_PROG_CC_G
+dnl
+dnl Set ac_prog_cc_stdc to the supported C version.
+dnl Also set the documented variable ac_cv_prog_cc_stdc;
+dnl its name was chosen when it was cached, but it is no longer cached.
+_AC_PROG_CC_C11([ac_prog_cc_stdc=c11
+                ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11],
+  [_AC_PROG_CC_C99([ac_prog_cc_stdc=c99
+                   ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99],
+     [_AC_PROG_CC_C89([ac_prog_cc_stdc=c89
+                      ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89],
+                     [ac_prog_cc_stdc=no
+                      ac_cv_prog_cc_stdc=no])])])
+dnl
+AC_LANG_POP(C)dnl
+])# AC_PROG_CC
+
+
+
+# AC_PROG_CXX([LIST-OF-COMPILERS])
+# --------------------------------
+# LIST-OF-COMPILERS is a space separated list of C++ compilers to search
+# for (if not specified, a default list is used).  This just gives the
+# user an opportunity to specify an alternative search list for the C++
+# compiler.
+# aCC  HP-UX C++ compiler much better than `CC', so test before.
+# FCC   Fujitsu C++ compiler
+# KCC  KAI C++ compiler
+# RCC  Rational C++
+# xlC_r        AIX C Set++ (with support for reentrant code)
+# xlC  AIX C Set++
+AC_DEFUN([AC_PROG_CXX],
+[AC_LANG_PUSH(C++)dnl
+AC_ARG_VAR([CXX],      [C++ compiler command])dnl
+AC_ARG_VAR([CXXFLAGS], [C++ compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+_AC_ARG_VAR_LIBS()dnl
+_AC_ARG_VAR_CPPFLAGS()dnl
+_AC_ARG_VAR_PRECIOUS([CCC])dnl
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    AC_CHECK_TOOLS(CXX,
+                  [m4_default([$1],
+                              [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++])],
+                  g++)
+  fi
+fi
+# Provide some information about the compiler.
+_AS_ECHO_LOG([checking for _AC_LANG compiler version])
+set X $ac_compile
+ac_compiler=$[2]
+for ac_option in --version -v -V -qversion; do
+  m4_ifdef([_AC_DO_LIMIT],[_AC_DO_LIMIT],[_AC_DO])([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD])
+done
+
+m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
+m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl
+_AC_LANG_COMPILER_GNU
+if test $ac_compiler_gnu = yes; then
+  GXX=yes
+else
+  GXX=
+fi
+_AC_PROG_CXX_G
+_AC_PROG_CXX_CXX11([ac_prog_cxx_stdcxx=cxx11
+                   ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11
+                   ac_cv_prog_cxx_cxx98=$ac_cv_prog_cxx_cxx11],
+   [_AC_PROG_CXX_CXX98([ac_prog_cxx_stdcxx=cxx98
+                       ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98],
+                      [ac_prog_cxx_stdcxx=no
+                       ac_cv_prog_cxx_stdcxx=no])])
+AC_LANG_POP(C++)dnl
+])# AC_PROG_CXX
+
+
+# _AC_C_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST,
+#              ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
+# --------------------------------------------------------------
+# Check whether the C compiler accepts features of STANDARD (e.g `c89', `c99')
+# by trying to compile a program of TEST-PROLOGUE and TEST-BODY.  If this fails,
+# try again with each compiler option in the space-separated OPTION-LIST; if one
+# helps, append it to CC.  If eventually successful, run ACTION-IF-AVAILABLE,
+# else ACTION-IF-UNAVAILABLE.
+AC_DEFUN([_AC_C_STD_TRY],
+[AC_MSG_CHECKING([for $CC option to enable ]m4_translit($1, [c], [C])[ features])
+AC_CACHE_VAL(ac_cv_prog_cc_$1,
+[ac_cv_prog_cc_$1=no
+ac_save_CC=$CC
+AC_LANG_CONFTEST([AC_LANG_PROGRAM([$2], [$3])])
+for ac_arg in '' $4
+do
+  CC="$ac_save_CC $ac_arg"
+  _AC_COMPILE_IFELSE([], [ac_cv_prog_cc_$1=$ac_arg])
+  test "x$ac_cv_prog_cc_$1" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+])# AC_CACHE_VAL
+ac_prog_cc_stdc_options=
+case "x$ac_cv_prog_cc_$1" in
+  x)
+    AC_MSG_RESULT([none needed]) ;;
+  xno)
+    AC_MSG_RESULT([unsupported]) ;;
+  *)
+    ac_prog_cc_stdc_options=" $ac_cv_prog_cc_$1"
+    CC=$CC$ac_prog_cc_stdc_options
+    AC_MSG_RESULT([$ac_cv_prog_cc_$1]) ;;
+esac
+AS_IF([test "x$ac_cv_prog_cc_$1" != xno], [$5], [$6])
+])# _AC_C_STD_TRY
+
+# _AC_C_C99_TEST_HEADER
+# ---------------------
+# A C header suitable for testing for C99.
+AC_DEFUN([_AC_C_C99_TEST_HEADER],
+[[#include <stdarg.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <stdio.h>
+
+// Check varargs macros.  These examples are taken from C99 6.10.3.5.
+#define debug(...) fprintf (stderr, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+  int x = 1234;
+  int y = 5678;
+  debug ("Flag");
+  debug ("X = %d\n", x);
+  showlist (The first, second, and third items.);
+  report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+  your preprocessor is broken;
+#endif
+#if BIG_OK
+#else
+  your preprocessor is broken;
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+  int datasize;
+  double data[];
+};
+
+struct named_init {
+  int number;
+  const wchar_t *name;
+  double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+  // See if C++-style comments work.
+  // Iterate through items via the restricted pointer.
+  // Also check for declarations in for loops.
+  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
+    continue;
+  return 0;
+}
+
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+  va_list args;
+  va_start (args, format);
+  va_list args_copy;
+  va_copy (args_copy, args);
+
+  const char *str = "";
+  int number = 0;
+  float fnumber = 0;
+
+  while (*format)
+    {
+      switch (*format++)
+       {
+       case 's': // string
+         str = va_arg (args_copy, const char *);
+         break;
+       case 'd': // int
+         number = va_arg (args_copy, int);
+         break;
+       case 'f': // float
+         fnumber = va_arg (args_copy, double);
+         break;
+       default:
+         break;
+       }
+    }
+  va_end (args_copy);
+  va_end (args);
+
+  return *str && number && fnumber;
+}]])# _AC_C_C99_TEST_HEADER
+
+# _AC_C_C99_TEST_BODY
+# -------------------
+# A C body suitable for testing for C99, assuming the corresponding header.
+AC_DEFUN([_AC_C_C99_TEST_BODY],
+[[
+  // Check bool.
+  _Bool success = false;
+
+  // Check restrict.
+  if (test_restrict ("String literal") == 0)
+    success = true;
+  char *restrict newvar = "Another string";
+
+  // Check varargs.
+  success &= test_varargs ("s, d' f .", "string", 65, 34.234);
+  test_varargs_macros ();
+
+  // Check flexible array members.
+  struct incomplete_array *ia =
+    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+  ia->datasize = 10;
+  for (int i = 0; i < ia->datasize; ++i)
+    ia->data[i] = i * 1.234;
+
+  // Check named initializers.
+  struct named_init ni = {
+    .number = 34,
+    .name = L"Test wide string",
+    .average = 543.34343,
+  };
+
+  ni.number = 58;
+
+  int dynamic_array[ni.number];
+  dynamic_array[ni.number - 1] = 543;
+
+  // work around unused variable warnings
+  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
+         || dynamic_array[ni.number - 1] != 543);
+]])
+
+# _AC_PROG_CC_C99 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
+# ----------------------------------------------------------------
+# If the C compiler is not in ISO C99 mode by default, try to add an
+# option to output variable CC to make it so.  This macro tries
+# various options that select ISO C99 on some system or another.  It
+# considers the compiler to be in ISO C99 mode if it handles _Bool,
+# // comments, flexible array members, inline, long long int, mixed
+# code and declarations, named initialization of structs, restrict,
+# va_copy, varargs macros, variable declarations in for loops and
+# variable length arrays.
+AC_DEFUN([_AC_PROG_CC_C99],
+[_AC_C_STD_TRY([c99],
+[_AC_C_C99_TEST_HEADER],
+[_AC_C_C99_TEST_BODY],
+dnl Try
+dnl GCC                -std=gnu99 (unused restrictive modes: -std=c99 -std=iso9899:1999)
+dnl IBM XL C   -qlanglvl=extc1x (V12.1; does not pass C11 test)
+dnl IBM XL C   -qlanglvl=extc99
+dnl            (pre-V12.1; unused restrictive mode: -qlanglvl=stdc99)
+dnl HP cc      -AC99
+dnl Intel ICC  -std=c99, -c99 (deprecated)
+dnl IRIX       -c99
+dnl Solaris    -D_STDC_C99=
+dnl            cc's -xc99 option uses linker magic to define the external
+dnl            symbol __xpg4 as if by "int __xpg4 = 1;", which enables C99
+dnl            behavior for C library functions.  This is not wanted here,
+dnl            because it means that a single module compiled with -xc99
+dnl            alters C runtime behavior for the entire program, not for
+dnl            just the module.  Instead, define the (private) symbol
+dnl            _STDC_C99, which suppresses a bogus failure in <stdbool.h>.
+dnl            The resulting compiler passes the test case here, and that's
+dnl            good enough.  For more, please see the thread starting at:
+dnl            https://lists.gnu.org/r/autoconf/2010-12/msg00059.html
+dnl Tru64      -c99
+dnl with extended modes being tried first.
+[[-std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc1x -qlanglvl=extc99]], [$1], [$2])[]dnl
+])# _AC_PROG_CC_C99
+
+
+# _AC_PROG_CC_C11 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
+# ----------------------------------------------------------------
+# If the C compiler is not in ISO C11 mode by default, try to add an
+# option to output variable CC to make it so.  This macro tries
+# various options that select ISO C11 on some system or another.  It
+# considers the compiler to be in ISO C11 mode if it handles _Alignas,
+# _Alignof, _Noreturn, _Static_assert, UTF-8 string literals,
+# duplicate typedefs, and anonymous structures and unions.
+AC_DEFUN([_AC_PROG_CC_C11],
+[_AC_C_STD_TRY([c11],
+[_AC_C_C99_TEST_HEADER[
+// Check _Alignas.
+char _Alignas (double) aligned_as_double;
+char _Alignas (0) no_special_alignment;
+extern char aligned_as_int;
+char _Alignas (0) _Alignas (int) aligned_as_int;
+
+// Check _Alignof.
+enum
+{
+  int_alignment = _Alignof (int),
+  int_array_alignment = _Alignof (int[100]),
+  char_alignment = _Alignof (char)
+};
+_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
+
+// Check _Noreturn.
+int _Noreturn does_not_return (void) { for (;;) continue; }
+
+// Check _Static_assert.
+struct test_static_assert
+{
+  int x;
+  _Static_assert (sizeof (int) <= sizeof (long int),
+                  "_Static_assert does not work in struct");
+  long int y;
+};
+
+// Check UTF-8 literals.
+#define u8 syntax error!
+char const utf8_literal[] = u8"happens to be ASCII" "another string";
+
+// Check duplicate typedefs.
+typedef long *long_ptr;
+typedef long int *long_ptr;
+typedef long_ptr long_ptr;
+
+// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
+struct anonymous
+{
+  union {
+    struct { int i; int j; };
+    struct { int k; long int l; } w;
+  };
+  int m;
+} v1;
+]],
+[_AC_C_C99_TEST_BODY[
+  v1.i = 2;
+  v1.w.k = 5;
+  _Static_assert ((offsetof (struct anonymous, i)
+                  == offsetof (struct anonymous, w.k)),
+                 "Anonymous union alignment botch");
+]],
+dnl Try
+dnl GCC                -std=gnu11 (unused restrictive mode: -std=c11)
+dnl with extended modes being tried first.
+dnl
+dnl Do not try -qlanglvl=extc1x, because IBM XL C V12.1 (the latest version as
+dnl of September 2012) does not pass the C11 test.  For now, try extc1x when
+dnl compiling the C99 test instead, since it enables _Static_assert and
+dnl _Noreturn, which is a win.  If -qlanglvl=extc11 or -qlanglvl=extc1x passes
+dnl the C11 test in some future version of IBM XL C, we'll add it here,
+dnl preferably extc11.
+[[-std=gnu11]], [$1], [$2])[]dnl
+])# _AC_PROG_CC_C11
+
+
+# AC_PROG_CC_C89
+# --------------
+# Do not use AU_ALIAS here and in AC_PROG_CC_C99 and AC_PROG_CC_STDC,
+# as that'd be incompatible with how Automake redefines AC_PROG_CC.  See
+# <https://lists.gnu.org/r/autoconf/2012-10/msg00048.html>.
+AU_DEFUN([AC_PROG_CC_C89],
+  [AC_REQUIRE([AC_PROG_CC])],
+  [$0 is obsolete; use AC_PROG_CC]
+)
+
+# AC_PROG_CC_C99
+# --------------
+AU_DEFUN([AC_PROG_CC_C99],
+  [AC_REQUIRE([AC_PROG_CC])],
+  [$0 is obsolete; use AC_PROG_CC]
+)
+
+# AC_PROG_CC_STDC
+# ---------------
+AU_DEFUN([AC_PROG_CC_STDC],
+  [AC_REQUIRE([AC_PROG_CC])],
+  [$0 is obsolete; use AC_PROG_CC]
+)
+
+
+# AC_C_PROTOTYPES
+# ---------------
+# Check if the C compiler supports prototypes, included if it needs
+# options.
+AC_DEFUN([AC_C_PROTOTYPES],
+[AC_REQUIRE([AC_PROG_CC])dnl
+if test "$ac_prog_cc_stdc" != no; then
+  AC_DEFINE(PROTOTYPES, 1,
+           [Define to 1 if the C compiler supports function prototypes.])
+  AC_DEFINE(__PROTOTYPES, 1,
+           [Define like PROTOTYPES; this can be used by system headers.])
+fi
+])# AC_C_PROTOTYPES
+
+
+# _AC_CXX_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST,
+#                ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
+# ----------------------------------------------------------------
+# Check whether the C++ compiler accepts features of STANDARD (e.g
+# `cxx98', `cxx11') by trying to compile a program of TEST-PROLOGUE
+# and TEST-BODY.  If this fails, try again with each compiler option
+# in the space-separated OPTION-LIST; if one helps, append it to CXX.
+# If eventually successful, run ACTION-IF-AVAILABLE, else
+# ACTION-IF-UNAVAILABLE.
+AC_DEFUN([_AC_CXX_STD_TRY],
+[AC_MSG_CHECKING([for $CXX option to enable ]m4_translit(m4_translit($1, [x], [+]), [a-z], [A-Z])[ features])
+AC_LANG_PUSH(C++)dnl
+AC_CACHE_VAL(ac_cv_prog_cxx_$1,
+[ac_cv_prog_cxx_$1=no
+ac_save_CXX=$CXX
+AC_LANG_CONFTEST([AC_LANG_PROGRAM([$2], [$3])])
+for ac_arg in '' $4
+do
+  CXX="$ac_save_CXX $ac_arg"
+  _AC_COMPILE_IFELSE([], [ac_cv_prog_cxx_$1=$ac_arg])
+  test "x$ac_cv_prog_cxx_$1" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CXX=$ac_save_CXX
+])# AC_CACHE_VAL
+ac_prog_cxx_stdcxx_options=
+case "x$ac_cv_prog_cxx_$1" in
+  x)
+    AC_MSG_RESULT([none needed]) ;;
+  xno)
+    AC_MSG_RESULT([unsupported]) ;;
+  *)
+    ac_prog_cxx_stdcxx_options=" $ac_cv_prog_cxx_$1"
+    CXX=$CXX$ac_prog_cxx_stdcxx_options
+    AC_MSG_RESULT([$ac_cv_prog_cxx_$1]) ;;
+esac
+AC_LANG_POP(C++)dnl
+AS_IF([test "x$ac_cv_prog_cxx_$1" != xno], [$5], [$6])
+])# _AC_CXX_STD_TRY
+
+# _AC_CXX_CXX98_TEST_HEADER
+# -------------------------
+# A C++ header suitable for testing for CXX98.
+AC_DEFUN([_AC_CXX_CXX98_TEST_HEADER],
+[[
+#include <algorithm>
+#include <cstdlib>
+#include <fstream>
+#include <iomanip>
+#include <iostream>
+#include <list>
+#include <map>
+#include <set>
+#include <sstream>
+#include <stdexcept>
+#include <string>
+#include <utility>
+#include <vector>
+
+namespace test {
+  typedef std::vector<std::string> string_vec;
+  typedef std::pair<int,bool> map_value;
+  typedef std::map<std::string,map_value> map_type;
+  typedef std::set<int> set_type;
+
+  template<typename T>
+  class printer {
+  public:
+    printer(std::ostringstream& os): os(os) {}
+    void operator() (T elem) { os << elem << std::endl; }
+  private:
+    std::ostringstream& os;
+  };
+}
+]])# _AC_CXX_CXX98_TEST_HEADER
+
+# _AC_CXX_CXX98_TEST_BODY
+# -----------------------
+# A C++ body suitable for testing for CXX98, assuming the corresponding header.
+AC_DEFUN([_AC_CXX_CXX98_TEST_BODY],
+[[
+
+try {
+  // Basic string.
+  std::string teststr("ASCII text");
+  teststr += " string";
+
+  // Simple vector.
+  test::string_vec testvec;
+  testvec.push_back(teststr);
+  testvec.push_back("foo");
+  testvec.push_back("bar");
+  if (testvec.size() != 3) {
+    throw std::runtime_error("vector size is not 1");
+  }
+
+  // Dump vector into stringstream and obtain string.
+  std::ostringstream os;
+  for (test::string_vec::const_iterator i = testvec.begin();
+       i != testvec.end(); ++i) {
+    if (i + 1 != testvec.end()) {
+      os << teststr << '\n';
+    }
+  }
+  // Check algorithms work.
+  std::for_each(testvec.begin(), testvec.end(), test::printer<std::string>(os));
+  std::string os_out = os.str();
+
+  // Test pair and map.
+  test::map_type testmap;
+  testmap.insert(std::make_pair(std::string("key"),
+                                std::make_pair(53,false)));
+
+  // Test set.
+  int values[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
+  test::set_type testset(values, values + sizeof(values)/sizeof(values[0]));
+  std::list<int> testlist(testset.begin(), testset.end());
+  std::copy(testset.begin(), testset.end(), std::back_inserter(testlist));
+} catch (const std::exception& e) {
+  std::cerr << "Caught exception: " << e.what() << std::endl;
+
+  // Test fstream
+  std::ofstream of("test.txt");
+  of << "Test ASCII text\n" << std::flush;
+  of << "N= " << std::hex << std::setw(8) << std::left << 534 << std::endl;
+  of.close();
+}
+std::exit(0);
+]])
+
+# _AC_CXX_CXX11_TEST_HEADER
+# -------------------------
+# A C++ header suitable for testing for CXX11.
+AC_DEFUN([_AC_CXX_CXX11_TEST_HEADER],
+[[
+#include <deque>
+#include <functional>
+#include <memory>
+#include <tuple>
+#include <array>
+#include <regex>
+#include <iostream>
+
+namespace cxx11test
+{
+  typedef std::shared_ptr<std::string> sptr;
+  typedef std::weak_ptr<std::string> wptr;
+
+  typedef std::tuple<std::string,int,double> tp;
+  typedef std::array<int, 20> int_array;
+
+  constexpr int get_val() { return 20; }
+
+  struct testinit
+  {
+    int i;
+    double d;
+  };
+
+  class delegate  {
+  public:
+    delegate(int n) : n(n) {}
+    delegate(): delegate(2354) {}
+
+    virtual int getval() { return this->n; };
+  protected:
+    int n;
+  };
+
+  class overridden : public delegate {
+  public:
+    overridden(int n): delegate(n) {}
+    virtual int getval() override final { return this->n * 2; }
+  };
+
+  class nocopy {
+  public:
+    nocopy(int i): i(i) {}
+    nocopy() = default;
+    nocopy(const nocopy&) = delete;
+    nocopy & operator=(const nocopy&) = delete;
+  private:
+    int i;
+  };
+}
+]])# _AC_CXX_CXX11_TEST_HEADER
+
+# _AC_CXX_CXX11_TEST_BODY
+# -----------------------
+# A C++ body suitable for testing for CXX11, assuming the corresponding header.
+AC_DEFUN([_AC_CXX_CXX11_TEST_BODY],
+[[
+{
+  // Test auto and decltype
+  std::deque<int> d;
+  d.push_front(43);
+  d.push_front(484);
+  d.push_front(3);
+  d.push_front(844);
+  int total = 0;
+  for (auto i = d.begin(); i != d.end(); ++i) { total += *i; }
+
+  auto a1 = 6538;
+  auto a2 = 48573953.4;
+  auto a3 = "String literal";
+
+  decltype(a2) a4 = 34895.034;
+}
+{
+  // Test constexpr
+  short sa[cxx11test::get_val()] = { 0 };
+}
+{
+  // Test initializer lists
+  cxx11test::testinit il = { 4323, 435234.23544 };
+}
+{
+  // Test range-based for and lambda
+  cxx11test::int_array array = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
+  for (int &x : array) { x += 23; }
+  std::for_each(array.begin(), array.end(), [](int v1){ std::cout << v1; });
+}
+{
+  using cxx11test::sptr;
+  using cxx11test::wptr;
+
+  sptr sp(new std::string("ASCII string"));
+  wptr wp(sp);
+  sptr sp2(wp);
+}
+{
+  cxx11test::tp tuple("test", 54, 45.53434);
+  double d = std::get<2>(tuple);
+  std::string s;
+  int i;
+  std::tie(s,i,d) = tuple;
+}
+{
+  static std::regex filename_regex("^_?([a-z0-9_.]+-)+[a-z0-9]+$");
+  std::string testmatch("Test if this string matches");
+  bool match = std::regex_search(testmatch, filename_regex);
+}
+{
+  cxx11test::int_array array = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
+  cxx11test::int_array::size_type size = array.size();
+}
+{
+  // Test constructor delegation
+  cxx11test::delegate d1;
+  cxx11test::delegate d2();
+  cxx11test::delegate d3(45);
+}
+{
+  // Test override and final
+  cxx11test::overridden o1(55464);
+}
+{
+  // Test nullptr
+  char *c = nullptr;
+}
+{
+  // Test template brackets
+  std::vector<std::pair<int,char*>> v1;
+}
+{
+  // Unicode literals
+  char const *utf8 = u8"UTF-8 string \u2500";
+  char16_t const *utf16 = u"UTF-8 string \u2500";
+  char32_t const *utf32 = U"UTF-32 string \u2500";
+}
+]])
+
+# _AC_PROG_CXX_CXX98 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
+# -------------------------------------------------------------------
+
+# If the C++ compiler is not in ISO C++98 mode by default, try to add
+# an option to output variable CXX to make it so.  This macro tries
+# various options that select ISO C++98 on some system or another.  It
+# considers the compiler to be in ISO C++98 mode if it handles basic
+# features of the std namespace including: string, containers (list,
+# map, set, vector), streams (fstreams, iostreams, stringstreams,
+# iomanip), pair, exceptions and algorithms.
+
+
+AC_DEFUN([_AC_PROG_CXX_CXX98],
+[_AC_CXX_STD_TRY([cxx98],
+[_AC_CXX_CXX98_TEST_HEADER],
+[_AC_CXX_CXX98_TEST_BODY],
+dnl Try
+dnl GCC                -std=gnu++98 (unused restrictive mode: -std=c++98)
+dnl IBM XL C   -qlanglvl=extended
+dnl HP aC++    -AA
+dnl Intel ICC  -std=gnu++98
+dnl Solaris    N/A (default)
+dnl Tru64      N/A (default, but -std gnu could be used)
+dnl with extended modes being tried first.
+[[-std=gnu++98 -std=c++98 -qlanglvl=extended -AA]], [$1], [$2])[]dnl
+])# _AC_PROG_CXX_CXX98
+
+# _AC_PROG_CXX_CXX11 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
+# -------------------------------------------------------------------
+# If the C++ compiler is not in ISO CXX11 mode by default, try to add
+# an option to output variable CXX to make it so.  This macro tries
+# various options that select ISO C++11 on some system or another.  It
+# considers the compiler to be in ISO C++11 mode if it handles all the
+# tests from the C++98 checks, plus the following: Language features
+# (auto, constexpr, decltype, default/deleted constructors, delegate
+# constructors, final, initializer lists, lambda functions, nullptr,
+# override, range-based for loops, template brackets without spaces,
+# unicode literals) and library features (array, memory (shared_ptr,
+# weak_ptr), regex and tuple types).
+AC_DEFUN([_AC_PROG_CXX_CXX11],
+[_AC_CXX_STD_TRY([cxx11],
+[_AC_CXX_CXX11_TEST_HEADER
+_AC_CXX_CXX98_TEST_HEADER],
+[_AC_CXX_CXX11_TEST_BODY
+_AC_CXX_CXX98_TEST_BODY],
+dnl Try
+dnl GCC                -std=gnu++11 (unused restrictive mode: -std=c++11) [and 0x variants]
+dnl IBM XL C   -qlanglvl=extended0x
+dnl            (pre-V12.1; unused restrictive mode: -qlanglvl=stdcxx11)
+dnl HP aC++    -AA
+dnl Intel ICC  -std=c++11 -std=c++0x
+dnl Solaris    N/A (no support)
+dnl Tru64      N/A (no support)
+dnl with extended modes being tried first.
+[[-std=gnu++11 -std=c++11 -std=gnu++0x -std=c++0x -qlanglvl=extended0x -AA]], [$1], [$2])[]dnl
+])# _AC_PROG_CXX_CXX11
diff --git a/m4/stdalign.m4 b/m4/stdalign.m4
new file mode 100644 (file)
index 0000000..601fd21
--- /dev/null
@@ -0,0 +1,57 @@
+# Check for stdalign.h that conforms to C11.
+
+dnl Copyright 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,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Prepare for substituting <stdalign.h> if it is not supported.
+
+AC_DEFUN([gl_STDALIGN_H],
+[
+  AC_CACHE_CHECK([for working stdalign.h],
+    [gl_cv_header_working_stdalign_h],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stdalign.h>
+            #include <stddef.h>
+
+            /* Test that alignof yields a result consistent with offsetof.
+               This catches GCC bug 52023
+               <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.  */
+            #ifdef __cplusplus
+               template <class t> struct alignof_helper { char a; t b; };
+            # define ao(type) offsetof (alignof_helper<type>, b)
+            #else
+            # define ao(type) offsetof (struct { char a; type b; }, b)
+            #endif
+            char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1];
+            char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1];
+            char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1];
+
+            /* Test _Alignas only on platforms where gnulib can help.  */
+            #if \
+                ((defined __cplusplus && 201103 <= __cplusplus) \
+                 || (defined __APPLE__ && defined __MACH__ \
+                     ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+                     : __GNUC__) \
+                 || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
+                 || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__ \
+                 || 1300 <= _MSC_VER)
+              struct alignas_test { char c; char alignas (8) alignas_8; };
+              char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
+                                ? 1 : -1];
+            #endif
+          ]])],
+       [gl_cv_header_working_stdalign_h=yes],
+       [gl_cv_header_working_stdalign_h=no])])
+
+  if test $gl_cv_header_working_stdalign_h = yes; then
+    STDALIGN_H=''
+  else
+    STDALIGN_H='stdalign.h'
+  fi
+
+  AC_SUBST([STDALIGN_H])
+  AM_CONDITIONAL([GL_GENERATE_STDALIGN_H], [test -n "$STDALIGN_H"])
+])
index 732aa313b6aff04057f12c40975f6b57c59dee6d..f43fe20b8f630cb500730132c2e0183541332f4b 100644 (file)
@@ -1,5 +1,5 @@
-# stdarg.m4 serial 6
-dnl Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc.
+# stdarg.m4 serial 7
+dnl Copyright (C) 2006, 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.
@@ -11,19 +11,19 @@ AC_DEFUN([gl_STDARG_H],
 [
   STDARG_H=''
   NEXT_STDARG_H='<stdarg.h>'
-  AC_MSG_CHECKING([for va_copy])
-  AC_CACHE_VAL([gl_cv_func_va_copy], [
-    AC_COMPILE_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[#include <stdarg.h>]],
-         [[
+  AC_CACHE_CHECK([for va_copy],
+    [gl_cv_func_va_copy],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stdarg.h>]],
+          [[
 #ifndef va_copy
 void (*func) (va_list, va_list) = va_copy;
 #endif
-         ]])],
-      [gl_cv_func_va_copy=yes],
-      [gl_cv_func_va_copy=no])])
-  AC_MSG_RESULT([$gl_cv_func_va_copy])
+          ]])],
+       [gl_cv_func_va_copy=yes],
+       [gl_cv_func_va_copy=no])
+    ])
   if test $gl_cv_func_va_copy = no; then
     dnl Provide a substitute.
     dnl Usually a simple definition in <config.h> is enough. Not so on AIX 5
index 006ed52de5dc227a240dc92051b32d20bf7c324a..acb852244f786cbb98fcd4001ceb1a07c75c5851 100644 (file)
@@ -1,11 +1,11 @@
 # Check for stdbool.h that conforms to C99.
 
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 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,
 dnl with or without modifications, as long as this notice is preserved.
 
-#serial 5
+#serial 7
 
 # Prepare for substituting <stdbool.h> if it is not supported.
 
@@ -43,56 +43,64 @@ AC_DEFUN([AC_CHECK_HEADER_STDBOOL],
         [AC_LANG_PROGRAM(
            [[
              #include <stdbool.h>
-             #ifndef bool
-              "error: bool is not defined"
-             #endif
-             #ifndef false
-              "error: false is not defined"
-             #endif
-             #if false
-              "error: false is not 0"
-             #endif
-             #ifndef true
-              "error: true is not defined"
-             #endif
-             #if true != 1
-              "error: true is not 1"
+
+             #ifdef __cplusplus
+              typedef bool Bool;
+             #else
+              typedef _Bool Bool;
+              #ifndef bool
+               "error: bool is not defined"
+              #endif
+              #ifndef false
+               "error: false is not defined"
+              #endif
+              #if false
+               "error: false is not 0"
+              #endif
+              #ifndef true
+               "error: true is not defined"
+              #endif
+              #if true != 1
+               "error: true is not 1"
+              #endif
              #endif
+
              #ifndef __bool_true_false_are_defined
               "error: __bool_true_false_are_defined is not defined"
              #endif
 
-             struct s { _Bool s: 1; _Bool t; } s;
+             struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s;
 
              char a[true == 1 ? 1 : -1];
              char b[false == 0 ? 1 : -1];
              char c[__bool_true_false_are_defined == 1 ? 1 : -1];
              char d[(bool) 0.5 == true ? 1 : -1];
              /* See body of main program for 'e'.  */
-             char f[(_Bool) 0.0 == false ? 1 : -1];
+             char f[(Bool) 0.0 == false ? 1 : -1];
              char g[true];
-             char h[sizeof (_Bool)];
+             char h[sizeof (Bool)];
              char i[sizeof s.t];
              enum { j = false, k = true, l = false * true, m = true * 256 };
              /* The following fails for
                 HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
-             _Bool n[m];
+             Bool n[m];
              char o[sizeof n == m * sizeof n[0] ? 1 : -1];
-             char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+             char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
              /* Catch a bug in an HP-UX C compiler.  See
-                http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-                http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+                https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+                https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html
               */
-             _Bool q = true;
-             _Bool *pq = &q;
+             Bool q = true;
+             Bool *pq = &q;
+             bool *qq = &q;
            ]],
            [[
              bool e = &s;
-             *pq |= q;
-             *pq |= ! q;
+             *pq |= q; *pq |= ! q;
+             *qq |= q; *qq |= ! q;
              /* Refer to every declared value, to avoid compiler optimizations.  */
              return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
-                     + !m + !n + !o + !p + !q + !pq);
+                     + !m + !n + !o + !p + !q + !pq + !qq);
            ]])],
         [ac_cv_header_stdbool_h=yes],
         [ac_cv_header_stdbool_h=no])])
index c555e29524458b98a7369b58e0f5470a5ded57a2..979e3cf7e794d3def8d6886b1d8ee74b327abe1b 100644 (file)
@@ -1,6 +1,6 @@
-dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
-# stddef_h.m4 serial 4
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl A placeholder for <stddef.h>, for platforms that have issues.
+# stddef_h.m4 serial 6
+dnl Copyright (C) 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -10,10 +10,33 @@ AC_DEFUN([gl_STDDEF_H],
   AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
   AC_REQUIRE([gt_TYPE_WCHAR_T])
   STDDEF_H=
+
+  dnl Test whether the type max_align_t exists and whether its alignment
+  dnl "is as great as is supported by the implementation in all contexts".
+  AC_CACHE_CHECK([for good max_align_t],
+    [gl_cv_type_max_align_t],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stddef.h>
+            unsigned int s = sizeof (max_align_t);
+            #if defined __GNUC__ || defined __IBM__ALIGNOF__
+            int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1];
+            int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1];
+            #endif
+          ]])],
+       [gl_cv_type_max_align_t=yes],
+       [gl_cv_type_max_align_t=no])
+    ])
+  if test $gl_cv_type_max_align_t = no; then
+    HAVE_MAX_ALIGN_T=0
+    STDDEF_H=stddef.h
+  fi
+
   if test $gt_cv_c_wchar_t = no; then
     HAVE_WCHAR_T=0
     STDDEF_H=stddef.h
   fi
+
   AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions],
     [gl_cv_decl_null_works],
     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stddef.h>
@@ -25,6 +48,7 @@ AC_DEFUN([gl_STDDEF_H],
     REPLACE_NULL=1
     STDDEF_H=stddef.h
   fi
+
   AC_SUBST([STDDEF_H])
   AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"])
   if test -n "$STDDEF_H"; then
@@ -43,5 +67,6 @@ AC_DEFUN([gl_STDDEF_H_DEFAULTS],
 [
   dnl Assume proper GNU behavior unless another module says otherwise.
   REPLACE_NULL=0;                AC_SUBST([REPLACE_NULL])
+  HAVE_MAX_ALIGN_T=1;            AC_SUBST([HAVE_MAX_ALIGN_T])
   HAVE_WCHAR_T=1;                AC_SUBST([HAVE_WCHAR_T])
 ])
index 1981d9dbc2b5cf31781f4d43db2d520d2bc0c591..11d8e8e52d45b20872c3cd476bfee70f24bd1b0c 100644 (file)
@@ -1,5 +1,5 @@
-# stdint.m4 serial 43
-dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# stdint.m4 serial 53
+dnl Copyright (C) 2001-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.
@@ -7,9 +7,15 @@ dnl with or without modifications, as long as this notice is preserved.
 dnl From Paul Eggert and Bruno Haible.
 dnl Test whether <stdint.h> is supported or must be substituted.
 
+AC_PREREQ([2.61])
+
 AC_DEFUN_ONCE([gl_STDINT_H],
 [
   AC_PREREQ([2.59])dnl
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+  AC_REQUIRE([gl_LIMITS_H])
+  AC_REQUIRE([gt_TYPE_WINT_T])
 
   dnl Check for long long int and unsigned long long int.
   AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
@@ -70,6 +76,8 @@ AC_DEFUN_ONCE([gl_STDINT_H],
        AC_COMPILE_IFELSE([
          AC_LANG_PROGRAM([[
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
 #include <stdint.h>
 /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>.  */
 #if !(defined WCHAR_MIN && defined WCHAR_MAX)
@@ -150,6 +158,15 @@ uintptr_t h = UINTPTR_MAX;
 intmax_t i = INTMAX_MAX;
 uintmax_t j = UINTMAX_MAX;
 
+/* Check that SIZE_MAX has the correct type, if possible.  */
+#if 201112 <= __STDC_VERSION__
+int k = _Generic (SIZE_MAX, size_t: 0);
+#elif (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
+       || (0x5110 <= __SUNPRO_C && !__STDC__))
+extern size_t k;
+extern __typeof__ (SIZE_MAX) k;
+#endif
+
 #include <limits.h> /* for CHAR_BIT */
 #define TYPE_MINIMUM(t) \
   ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t)))
@@ -218,6 +235,8 @@ struct s {
           AC_RUN_IFELSE([
             AC_LANG_PROGRAM([[
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
 #include <stdint.h>
 ]
 gl_STDINT_INCLUDES
@@ -272,34 +291,86 @@ static const char *macro_values[] =
 ]])],
               [gl_cv_header_working_stdint_h=yes],
               [],
-              [dnl When cross-compiling, assume it works.
-               gl_cv_header_working_stdint_h=yes
+              [case "$host_os" in
+                         # Guess yes on native Windows.
+                 mingw*) gl_cv_header_working_stdint_h="guessing yes" ;;
+                         # In general, assume it works.
+                 *)      gl_cv_header_working_stdint_h="guessing yes" ;;
+               esac
               ])
          ])
       ])
   fi
-  if test "$gl_cv_header_working_stdint_h" = yes; then
-    STDINT_H=
-  else
-    dnl Check for <sys/inttypes.h>, and for
-    dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5).
-    AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h])
-    if test $ac_cv_header_sys_inttypes_h = yes; then
-      HAVE_SYS_INTTYPES_H=1
-    else
-      HAVE_SYS_INTTYPES_H=0
-    fi
-    AC_SUBST([HAVE_SYS_INTTYPES_H])
-    if test $ac_cv_header_sys_bitypes_h = yes; then
-      HAVE_SYS_BITYPES_H=1
-    else
-      HAVE_SYS_BITYPES_H=0
-    fi
-    AC_SUBST([HAVE_SYS_BITYPES_H])
 
-    gl_STDINT_TYPE_PROPERTIES
-    STDINT_H=stdint.h
-  fi
+  HAVE_C99_STDINT_H=0
+  HAVE_SYS_BITYPES_H=0
+  HAVE_SYS_INTTYPES_H=0
+  STDINT_H=stdint.h
+  case "$gl_cv_header_working_stdint_h" in
+    *yes)
+      HAVE_C99_STDINT_H=1
+      dnl Now see whether the system <stdint.h> works without
+      dnl __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS defined.
+      AC_CACHE_CHECK([whether stdint.h predates C++11],
+        [gl_cv_header_stdint_predates_cxx11_h],
+        [gl_cv_header_stdint_predates_cxx11_h=yes
+         AC_COMPILE_IFELSE([
+           AC_LANG_PROGRAM([[
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.h>
+]
+gl_STDINT_INCLUDES
+[
+intmax_t im = INTMAX_MAX;
+int32_t i32 = INT32_C (0x7fffffff);
+           ]])],
+           [gl_cv_header_stdint_predates_cxx11_h=no])])
+
+      if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then
+        AC_DEFINE([__STDC_CONSTANT_MACROS], [1],
+                  [Define to 1 if the system <stdint.h> predates C++11.])
+        AC_DEFINE([__STDC_LIMIT_MACROS], [1],
+                  [Define to 1 if the system <stdint.h> predates C++11.])
+      fi
+      AC_CACHE_CHECK([whether stdint.h has UINTMAX_WIDTH etc.],
+        [gl_cv_header_stdint_width],
+        [gl_cv_header_stdint_width=no
+         AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM([[
+              /* Work if build is not clean.  */
+              #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1
+              #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+               #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+              #endif
+              #include <stdint.h>
+              ]gl_STDINT_INCLUDES[
+              int iw = UINTMAX_WIDTH;
+              ]])],
+           [gl_cv_header_stdint_width=yes])])
+      if test "$gl_cv_header_stdint_width" = yes; then
+        STDINT_H=
+      fi
+      ;;
+    *)
+      dnl Check for <sys/inttypes.h>, and for
+      dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5).
+      AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h])
+      if test $ac_cv_header_sys_inttypes_h = yes; then
+        HAVE_SYS_INTTYPES_H=1
+      fi
+      if test $ac_cv_header_sys_bitypes_h = yes; then
+        HAVE_SYS_BITYPES_H=1
+      fi
+      gl_STDINT_TYPE_PROPERTIES
+      ;;
+  esac
+
+  dnl The substitute stdint.h needs the substitute limit.h's _GL_INTEGER_WIDTH.
+  gl_REPLACE_LIMITS_H
+
+  AC_SUBST([HAVE_C99_STDINT_H])
+  AC_SUBST([HAVE_SYS_BITYPES_H])
+  AC_SUBST([HAVE_SYS_INTTYPES_H])
   AC_SUBST([STDINT_H])
   AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"])
 ])
@@ -467,18 +538,7 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES],
   dnl requirement that wint_t is "unchanged by default argument promotions".
   dnl In this case gnulib's <wchar.h> and <wctype.h> override wint_t.
   dnl Set the variable BITSIZEOF_WINT_T accordingly.
-  if test $BITSIZEOF_WINT_T -lt 32; then
+  if test $GNULIB_OVERRIDES_WINT_T = 1; then
     BITSIZEOF_WINT_T=32
   fi
 ])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
-  AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
-
-# Hey Emacs!
-# Local Variables:
-# indent-tabs-mode: nil
-# End:
index d15913a3ca02e81bbe79791cbb783f2e7e275172..6c9c104044aacb7d1ecdf463f78f2039317b75b0 100644 (file)
@@ -1,14 +1,45 @@
-# stdio_h.m4 serial 43
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# stdio_h.m4 serial 49
+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,
 dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([gl_STDIO_H],
 [
+  AH_VERBATIM([MINGW_ANSI_STDIO],
+[/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
+])
+  AC_DEFINE([__USE_MINGW_ANSI_STDIO])
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
   gl_NEXT_HEADERS([stdio.h])
 
+  dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and
+  dnl inttypes.h behave like gnu instead of system; we must give our
+  dnl printf wrapper the right attribute to match.
+  AC_CACHE_CHECK([which flavor of printf attribute matches inttypes macros],
+    [gl_cv_func_printf_attribute_flavor],
+    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+       #define __STDC_FORMAT_MACROS 1
+       #include <stdio.h>
+       #include <inttypes.h>
+       /* For non-mingw systems, compilation will trivially succeed.
+          For mingw, compilation will succeed for older mingw (system
+          printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */
+       #if (defined _WIN32 && ! defined __CYGWIN__) && \
+         (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+       extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1];
+       #endif
+      ]])], [gl_cv_func_printf_attribute_flavor=system],
+      [gl_cv_func_printf_attribute_flavor=gnu])])
+  if test "$gl_cv_func_printf_attribute_flavor" = gnu; then
+    AC_DEFINE([GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU], [1],
+      [Define to 1 if printf and friends should be labeled with
+       attribute "__gnu_printf__" instead of "__printf__"])
+  fi
+
   dnl No need to create extra modules for these functions. Everyone who uses
   dnl <stdio.h> likely needs them.
   GNULIB_FSCANF=1
index 03b448b94f4ec640d1f6550a2cffbada5a658349..6121602aea371f3eb6dbf35727c706a32defa865 100644 (file)
@@ -1,5 +1,5 @@
-# stdlib_h.m4 serial 42
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -14,16 +14,19 @@ AC_DEFUN([gl_STDLIB_H],
   dnl guaranteed by C89.
   gl_WARN_ON_USE_PREPARE([[#include <stdlib.h>
 #if HAVE_SYS_LOADAVG_H
+/* OpenIndiana has a bug: <sys/time.h> must be included before
+   <sys/loadavg.h>.  */
+# include <sys/time.h>
 # include <sys/loadavg.h>
 #endif
 #if HAVE_RANDOM_H
 # include <random.h>
 #endif
     ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt
-    initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps
-    posix_openpt ptsname ptsname_r random random_r realpath rpmatch
-    secure_getenv setenv setstate setstate_r srandom srandom_r
-    strtod strtoll strtoull unlockpt unsetenv])
+    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 strtold strtoll strtoull unlockpt unsetenv])
 ])
 
 AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
@@ -55,14 +58,17 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   GNULIB_PTSNAME=0;       AC_SUBST([GNULIB_PTSNAME])
   GNULIB_PTSNAME_R=0;     AC_SUBST([GNULIB_PTSNAME_R])
   GNULIB_PUTENV=0;        AC_SUBST([GNULIB_PUTENV])
+  GNULIB_QSORT_R=0;       AC_SUBST([GNULIB_QSORT_R])
   GNULIB_RANDOM=0;        AC_SUBST([GNULIB_RANDOM])
   GNULIB_RANDOM_R=0;      AC_SUBST([GNULIB_RANDOM_R])
+  GNULIB_REALLOCARRAY=0;  AC_SUBST([GNULIB_REALLOCARRAY])
   GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
   GNULIB_REALPATH=0;      AC_SUBST([GNULIB_REALPATH])
   GNULIB_RPMATCH=0;       AC_SUBST([GNULIB_RPMATCH])
   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])
@@ -76,6 +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])
@@ -84,15 +93,20 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   HAVE_POSIX_OPENPT=1;       AC_SUBST([HAVE_POSIX_OPENPT])
   HAVE_PTSNAME=1;            AC_SUBST([HAVE_PTSNAME])
   HAVE_PTSNAME_R=1;          AC_SUBST([HAVE_PTSNAME_R])
+  HAVE_QSORT_R=1;            AC_SUBST([HAVE_QSORT_R])
   HAVE_RANDOM=1;             AC_SUBST([HAVE_RANDOM])
   HAVE_RANDOM_H=1;           AC_SUBST([HAVE_RANDOM_H])
   HAVE_RANDOM_R=1;           AC_SUBST([HAVE_RANDOM_R])
+  HAVE_REALLOCARRAY=1;       AC_SUBST([HAVE_REALLOCARRAY])
   HAVE_REALPATH=1;           AC_SUBST([HAVE_REALPATH])
   HAVE_RPMATCH=1;            AC_SUBST([HAVE_RPMATCH])
   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])
@@ -101,17 +115,22 @@ 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])
   REPLACE_PTSNAME=0;         AC_SUBST([REPLACE_PTSNAME])
   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])
 ])
index 1681a30eba91a9f715c94c8fe2f8a7baef3ad370..82d74202dfeb4bca65bde3259cd70e0a5a0895e1 100644 (file)
@@ -1,6 +1,6 @@
 # strdup.m4 serial 13
 
-dnl Copyright (C) 2002-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-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,
index 0763fe3b4d65c366c999f11d6b85f20bbbf20bc6..2c90f3163ca94a09251cf6f6ec46399143200dae 100644 (file)
@@ -1,5 +1,5 @@
-# strerror.m4 serial 17
-dnl Copyright (C) 2002, 2007-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -24,10 +24,12 @@ AC_DEFUN([gl_FUNC_STRERROR],
         [gl_cv_func_working_strerror=yes],
         [gl_cv_func_working_strerror=no],
         [case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_working_strerror="guessing yes" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_working_strerror="guessing no" ;;
+                          # 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
         ])
     ])
@@ -78,10 +80,14 @@ AC_DEFUN([gl_FUNC_STRERROR_0],
       [gl_cv_func_strerror_0_works=yes],
       [gl_cv_func_strerror_0_works=no],
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_strerror_0_works="guessing no" ;;
+                        # 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.
+         *)             gl_cv_func_strerror_0_works="guessing no" ;;
        esac
       ])
   ])
diff --git a/m4/strerror_r.m4 b/m4/strerror_r.m4
new file mode 100644 (file)
index 0000000..dafc46d
--- /dev/null
@@ -0,0 +1,173 @@
+# strerror_r.m4 serial 19
+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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_STRERROR_R],
+[
+  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+  AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS])
+
+  dnl Persuade Solaris <string.h> to declare strerror_r().
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+  dnl Some systems don't declare strerror_r() if _THREAD_SAFE and _REENTRANT
+  dnl are not defined.
+  AC_CHECK_DECLS_ONCE([strerror_r])
+  if test $ac_cv_have_decl_strerror_r = no; then
+    HAVE_DECL_STRERROR_R=0
+  fi
+
+  if test $ac_cv_func_strerror_r = yes; then
+    if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
+      if test $gl_cv_func_strerror_r_posix_signature = yes; then
+        case "$gl_cv_func_strerror_r_works" in
+          dnl The system's strerror_r has bugs.  Replace it.
+          *no) REPLACE_STRERROR_R=1 ;;
+        esac
+      else
+        dnl The system's strerror_r() has a wrong signature. Replace it.
+        REPLACE_STRERROR_R=1
+      fi
+    else
+      dnl The system's strerror_r() cannot know about the new errno values we
+      dnl add to <errno.h>, or any fix for strerror(0). Replace it.
+      REPLACE_STRERROR_R=1
+    fi
+  fi
+])
+
+# Prerequisites of lib/strerror_r.c.
+AC_DEFUN([gl_PREREQ_STRERROR_R], [
+  dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r.
+  AC_CHECK_FUNCS_ONCE([__xpg_strerror_r])
+  AC_CHECK_FUNCS_ONCE([catgets])
+  AC_CHECK_FUNCS_ONCE([snprintf])
+])
+
+# Detect if strerror_r works, but without affecting whether a replacement
+# strerror_r will be used.
+AC_DEFUN([gl_FUNC_STRERROR_R_WORKS],
+[
+  AC_REQUIRE([gl_HEADER_ERRNO_H])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([gl_FUNC_STRERROR_0])
+
+  AC_CHECK_FUNCS_ONCE([strerror_r])
+  if test $ac_cv_func_strerror_r = yes; then
+    if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
+      dnl The POSIX prototype is:  int strerror_r (int, char *, size_t);
+      dnl glibc, Cygwin:           char *strerror_r (int, char *, size_t);
+      dnl AIX 5.1, OSF/1 5.1:      int strerror_r (int, char *, int);
+      AC_CACHE_CHECK([for strerror_r with POSIX signature],
+        [gl_cv_func_strerror_r_posix_signature],
+        [AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM(
+              [[#include <string.h>
+                int strerror_r (int, char *, size_t);
+              ]],
+              [])],
+           [gl_cv_func_strerror_r_posix_signature=yes],
+           [gl_cv_func_strerror_r_posix_signature=no])
+        ])
+      if test $gl_cv_func_strerror_r_posix_signature = yes; then
+        dnl AIX 6.1 strerror_r fails by returning -1, not an error number.
+        dnl HP-UX 11.31 strerror_r always fails when the buffer length argument
+        dnl is less than 80.
+        dnl FreeBSD 8.s strerror_r claims failure on 0
+        dnl Mac OS X 10.5 strerror_r treats 0 like -1
+        dnl Solaris 10 strerror_r corrupts errno on failure
+        AC_CACHE_CHECK([whether strerror_r works],
+          [gl_cv_func_strerror_r_works],
+          [AC_RUN_IFELSE(
+             [AC_LANG_PROGRAM(
+                [[#include <errno.h>
+                  #include <string.h>
+                ]],
+                [[int result = 0;
+                  char buf[79];
+                  if (strerror_r (EACCES, buf, 0) < 0)
+                    result |= 1;
+                  errno = 0;
+                  if (strerror_r (EACCES, buf, sizeof buf) != 0)
+                    result |= 2;
+                  strcpy (buf, "Unknown");
+                  if (strerror_r (0, buf, sizeof buf) != 0)
+                    result |= 4;
+                  if (errno)
+                    result |= 8;
+                  if (strstr (buf, "nknown") || strstr (buf, "ndefined"))
+                    result |= 0x10;
+                  errno = 0;
+                  *buf = 0;
+                  if (strerror_r (-3, buf, sizeof buf) < 0)
+                    result |= 0x20;
+                  if (errno)
+                    result |= 0x40;
+                  if (!*buf)
+                    result |= 0x80;
+                  return result;
+                ]])],
+             [gl_cv_func_strerror_r_works=yes],
+             [gl_cv_func_strerror_r_works=no],
+             [
+changequote(,)dnl
+              case "$host_os" in
+                       # Guess no on AIX.
+                aix*)  gl_cv_func_strerror_r_works="guessing no";;
+                       # Guess no on HP-UX.
+                hpux*) gl_cv_func_strerror_r_works="guessing no";;
+                       # Guess no on BSD variants.
+                *bsd*)  gl_cv_func_strerror_r_works="guessing no";;
+                       # Guess yes otherwise.
+                *)     gl_cv_func_strerror_r_works="guessing yes";;
+              esac
+changequote([,])dnl
+             ])
+          ])
+      else
+        dnl The system's strerror() has a wrong signature.
+        dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r.
+        AC_CHECK_FUNCS_ONCE([__xpg_strerror_r])
+        dnl In glibc < 2.14, __xpg_strerror_r does not populate buf on failure.
+        dnl In cygwin < 1.7.10, __xpg_strerror_r clobbers strerror's buffer.
+        if test $ac_cv_func___xpg_strerror_r = yes; then
+          AC_CACHE_CHECK([whether __xpg_strerror_r works],
+            [gl_cv_func_strerror_r_works],
+            [AC_RUN_IFELSE(
+               [AC_LANG_PROGRAM(
+                  [[#include <errno.h>
+                    #include <string.h>
+                    extern
+                    #ifdef __cplusplus
+                    "C"
+                    #endif
+                    int __xpg_strerror_r(int, char *, size_t);
+                  ]],
+                  [[int result = 0;
+                    char buf[256] = "^";
+                    char copy[256];
+                    char *str = strerror (-1);
+                    strcpy (copy, str);
+                    if (__xpg_strerror_r (-2, buf, 1) == 0)
+                      result |= 1;
+                    if (*buf)
+                      result |= 2;
+                    __xpg_strerror_r (-2, buf, 256);
+                    if (strcmp (str, copy))
+                      result |= 4;
+                    return result;
+                  ]])],
+               [gl_cv_func_strerror_r_works=yes],
+               [gl_cv_func_strerror_r_works=no],
+               [dnl Guess no on all platforms that have __xpg_strerror_r,
+                dnl at least until fixed glibc and cygwin are more common.
+                gl_cv_func_strerror_r_works="guessing no"
+               ])
+            ])
+        fi
+      fi
+    fi
+  fi
+])
index 64e683f9dc8ae56195bd6d426e1c2ff282beed5d..0c0e3a71af3c3963dda8169e13e9cb2d5fad584a 100644 (file)
@@ -1,11 +1,11 @@
 # Configure a GNU-like replacement for <string.h>.
 
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 21
+# serial 22
 
 # Written by Paul Eggert.
 
@@ -43,6 +43,7 @@ AC_DEFUN([gl_STRING_MODULE_INDICATOR],
 
 AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
 [
+  GNULIB_EXPLICIT_BZERO=0; AC_SUBST([GNULIB_EXPLICIT_BZERO])
   GNULIB_FFSL=0;        AC_SUBST([GNULIB_FFSL])
   GNULIB_FFSLL=0;       AC_SUBST([GNULIB_FFSLL])
   GNULIB_MEMCHR=0;      AC_SUBST([GNULIB_MEMCHR])
@@ -82,6 +83,7 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
   GNULIB_STRVERSCMP=0;  AC_SUBST([GNULIB_STRVERSCMP])
   HAVE_MBSLEN=0;        AC_SUBST([HAVE_MBSLEN])
   dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_EXPLICIT_BZERO=1;        AC_SUBST([HAVE_EXPLICIT_BZERO])
   HAVE_FFSL=1;                  AC_SUBST([HAVE_FFSL])
   HAVE_FFSLL=1;                 AC_SUBST([HAVE_FFSLL])
   HAVE_MEMCHR=1;                AC_SUBST([HAVE_MEMCHR])
@@ -105,16 +107,16 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
   REPLACE_MEMCHR=0;             AC_SUBST([REPLACE_MEMCHR])
   REPLACE_MEMMEM=0;             AC_SUBST([REPLACE_MEMMEM])
   REPLACE_STPNCPY=0;            AC_SUBST([REPLACE_STPNCPY])
+  REPLACE_STRCHRNUL=0;          AC_SUBST([REPLACE_STRCHRNUL])
   REPLACE_STRDUP=0;             AC_SUBST([REPLACE_STRDUP])
+  REPLACE_STRNCAT=0;            AC_SUBST([REPLACE_STRNCAT])
+  REPLACE_STRNDUP=0;            AC_SUBST([REPLACE_STRNDUP])
+  REPLACE_STRNLEN=0;            AC_SUBST([REPLACE_STRNLEN])
   REPLACE_STRSTR=0;             AC_SUBST([REPLACE_STRSTR])
   REPLACE_STRCASESTR=0;         AC_SUBST([REPLACE_STRCASESTR])
-  REPLACE_STRCHRNUL=0;          AC_SUBST([REPLACE_STRCHRNUL])
+  REPLACE_STRTOK_R=0;           AC_SUBST([REPLACE_STRTOK_R])
   REPLACE_STRERROR=0;           AC_SUBST([REPLACE_STRERROR])
   REPLACE_STRERROR_R=0;         AC_SUBST([REPLACE_STRERROR_R])
-  REPLACE_STRNCAT=0;            AC_SUBST([REPLACE_STRNCAT])
-  REPLACE_STRNDUP=0;            AC_SUBST([REPLACE_STRNDUP])
-  REPLACE_STRNLEN=0;            AC_SUBST([REPLACE_STRNLEN])
   REPLACE_STRSIGNAL=0;          AC_SUBST([REPLACE_STRSIGNAL])
-  REPLACE_STRTOK_R=0;           AC_SUBST([REPLACE_STRTOK_R])
   UNDEFINE_STRTOK_R=0;          AC_SUBST([UNDEFINE_STRTOK_R])
 ])
index 55df039987ba676e6d63b1c455a1d5641f79fcc0..325af5d13d6abb718e944c7f1c66336ec30ccfb2 100644 (file)
@@ -1,5 +1,5 @@
-# strndup.m4 serial 21
-dnl Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+# strndup.m4 serial 22
+dnl Copyright (C) 2002-2003, 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -31,11 +31,14 @@ AC_DEFUN([gl_FUNC_STRNDUP],
   #endif
   char *strndup (const char *, size_t);
 #endif
+  int result;
   char *s;
   s = strndup ("some longer string", 15);
   free (s);
   s = strndup ("shorter string", 13);
-  return s[13] != '\0';]])],
+  result = s[13] != '\0';
+  free (s);
+  return result;]])],
          [gl_cv_func_strndup_works=yes],
          [gl_cv_func_strndup_works=no],
          [
index 94317f8a997fb650f0df6ab56e9f6f37f215da5a..c283c3ece9f0bd01c01ca1a1ad0205ed90a0f5d1 100644 (file)
@@ -1,5 +1,5 @@
 # strnlen.m4 serial 13
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2019 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
index 9f2a1777b39890afd9aaae627fa349ffdeb9c6b1..3ba7e223b582334041f01f9faa77c6bc1d13aa2d 100644 (file)
@@ -1,5 +1,5 @@
 # strtoll.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 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.
index f4d5f61660aa1356175ae96aaf167aad728a0ee9..532139c5f2600b0c19c962f9d2879c51ed5277bd 100644 (file)
@@ -1,5 +1,5 @@
 # strtoull.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 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.
index de4924b431ad2d8616c3e3277500993cdee5f1ad..508e94dd41016cb8b743e8a62068bf836d07de13 100644 (file)
@@ -1,7 +1,7 @@
-# serial 6
+# serial 8
 # See if we need to provide symlink replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -36,10 +36,12 @@ AC_DEFUN([gl_FUNC_SYMLINK],
            ]])],
          [gl_cv_func_symlink_works=yes], [gl_cv_func_symlink_works=no],
          [case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_symlink_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_symlink_works="guessing no" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_symlink_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_symlink_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_symlink_works="guessing no" ;;
           esac
          ])
       rm -f conftest.f conftest.link conftest.lnk2])
diff --git a/m4/sys_ioctl_h.m4 b/m4/sys_ioctl_h.m4
new file mode 100644 (file)
index 0000000..5400421
--- /dev/null
@@ -0,0 +1,64 @@
+# sys_ioctl_h.m4 serial 10
+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 Written by Bruno Haible.
+
+AC_DEFUN([gl_SYS_IOCTL_H],
+[
+  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+  dnl once only, before all statements that occur in other macros.
+  AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])
+
+  AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
+  if test $ac_cv_header_sys_ioctl_h = yes; then
+    HAVE_SYS_IOCTL_H=1
+    dnl Test whether <sys/ioctl.h> declares ioctl(), or whether some other
+    dnl header file, such as <unistd.h> or <stropts.h>, is needed for that.
+    AC_CACHE_CHECK([whether <sys/ioctl.h> declares ioctl],
+      [gl_cv_decl_ioctl_in_sys_ioctl_h],
+      [dnl We cannot use AC_CHECK_DECL because it produces its own messages.
+       AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [AC_INCLUDES_DEFAULT([#include <sys/ioctl.h>])],
+            [(void) ioctl;])],
+         [gl_cv_decl_ioctl_in_sys_ioctl_h=yes],
+         [gl_cv_decl_ioctl_in_sys_ioctl_h=no])
+      ])
+  else
+    HAVE_SYS_IOCTL_H=0
+  fi
+  AC_SUBST([HAVE_SYS_IOCTL_H])
+  dnl <sys/ioctl.h> is always overridden, because of GNULIB_POSIXCHECK.
+  gl_CHECK_NEXT_HEADERS([sys/ioctl.h])
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use.
+  gl_WARN_ON_USE_PREPARE([[#include <sys/ioctl.h>
+/* Some platforms declare ioctl in the wrong header.  */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <unistd.h>
+#endif
+    ]], [ioctl])
+])
+
+AC_DEFUN([gl_SYS_IOCTL_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_SYS_IOCTL_H_DEFAULTS],
+[
+  GNULIB_IOCTL=0;         AC_SUBST([GNULIB_IOCTL])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  SYS_IOCTL_H_HAVE_WINSOCK2_H=0; AC_SUBST([SYS_IOCTL_H_HAVE_WINSOCK2_H])
+  SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
+                        AC_SUBST([SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS])
+  REPLACE_IOCTL=0;      AC_SUBST([REPLACE_IOCTL])
+])
diff --git a/m4/sys_select_h.m4 b/m4/sys_select_h.m4
new file mode 100644 (file)
index 0000000..918212a
--- /dev/null
@@ -0,0 +1,95 @@
+# sys_select_h.m4 serial 20
+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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_HEADER_SYS_SELECT],
+[
+  AC_REQUIRE([AC_C_RESTRICT])
+  AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS])
+  AC_CACHE_CHECK([whether <sys/select.h> is self-contained],
+    [gl_cv_header_sys_select_h_selfcontained],
+    [
+      dnl Test against two bugs:
+      dnl 1. On many platforms, <sys/select.h> assumes prior inclusion of
+      dnl    <sys/types.h>.
+      dnl 2. On OSF/1 4.0, <sys/select.h> provides only a forward declaration
+      dnl    of 'struct timeval', and no definition of this type.
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/select.h>]],
+                                         [[struct timeval b;]])],
+        [gl_cv_header_sys_select_h_selfcontained=yes],
+        [gl_cv_header_sys_select_h_selfcontained=no])
+      dnl Test against another bug:
+      dnl 3. On Solaris 10, <sys/select.h> provides an FD_ZERO implementation
+      dnl    that relies on memset(), but without including <string.h>.
+      if test $gl_cv_header_sys_select_h_selfcontained = yes; then
+        AC_COMPILE_IFELSE(
+          [AC_LANG_PROGRAM([[#include <sys/select.h>]],
+                           [[int memset; int bzero;]])
+          ],
+          [AC_LINK_IFELSE(
+             [AC_LANG_PROGRAM([[#include <sys/select.h>]], [[
+                  #undef memset
+                  #define memset nonexistent_memset
+                  extern
+                  #ifdef __cplusplus
+                  "C"
+                  #endif
+                  void *memset (void *, int, unsigned long);
+                  #undef bzero
+                  #define bzero nonexistent_bzero
+                  extern
+                  #ifdef __cplusplus
+                  "C"
+                  #endif
+                  void bzero (void *, unsigned long);
+                  fd_set fds;
+                  FD_ZERO (&fds);
+                ]])
+             ],
+             [],
+             [gl_cv_header_sys_select_h_selfcontained=no])
+          ])
+      fi
+    ])
+  dnl <sys/select.h> is always overridden, because of GNULIB_POSIXCHECK.
+  gl_CHECK_NEXT_HEADERS([sys/select.h])
+  if test $ac_cv_header_sys_select_h = yes; then
+    HAVE_SYS_SELECT_H=1
+  else
+    HAVE_SYS_SELECT_H=0
+  fi
+  AC_SUBST([HAVE_SYS_SELECT_H])
+  gl_PREREQ_SYS_H_WINSOCK2
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use.
+  gl_WARN_ON_USE_PREPARE([[
+/* Some systems require prerequisite headers.  */
+#include <sys/types.h>
+#if !(defined __GLIBC__ && !defined __UCLIBC__) && HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+#include <sys/select.h>
+    ]], [pselect select])
+])
+
+AC_DEFUN([gl_SYS_SELECT_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_SYS_SELECT_H_DEFAULTS],
+[
+  GNULIB_PSELECT=0; AC_SUBST([GNULIB_PSELECT])
+  GNULIB_SELECT=0; AC_SUBST([GNULIB_SELECT])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_PSELECT=1; AC_SUBST([HAVE_PSELECT])
+  REPLACE_PSELECT=0; AC_SUBST([REPLACE_PSELECT])
+  REPLACE_SELECT=0; AC_SUBST([REPLACE_SELECT])
+])
index 114d828172a919e23ed517ccb7004617ddc686c8..d0a902061aa0ce45a4fd3201dd2995d7f01dec05 100644 (file)
@@ -1,5 +1,5 @@
-# sys_socket_h.m4 serial 23
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -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.
index eaa7642ba311bd74570887f5a8d6b9bead70a9b2..361ac3fc14154c8b4928a001f22cecbd3c761b9e 100644 (file)
@@ -1,5 +1,5 @@
-# sys_stat_h.m4 serial 28   -*- Autoconf -*-
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# sys_stat_h.m4 serial 31   -*- Autoconf -*-
+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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -19,18 +19,21 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H],
   dnl Ensure the type mode_t gets defined.
   AC_REQUIRE([AC_TYPE_MODE_T])
 
-  dnl Whether to override 'struct stat'.
+  dnl Whether to enable precise timestamps in 'struct stat'.
+  m4_ifdef([gl_WINDOWS_STAT_TIMESPEC], [
+    AC_REQUIRE([gl_WINDOWS_STAT_TIMESPEC])
+  ], [
+    WINDOWS_STAT_TIMESPEC=0
+  ])
+  AC_SUBST([WINDOWS_STAT_TIMESPEC])
+
+  dnl Whether to ensure that struct stat.st_size is 64-bit wide.
   m4_ifdef([gl_LARGEFILE], [
     AC_REQUIRE([gl_LARGEFILE])
   ], [
     WINDOWS_64_BIT_ST_SIZE=0
   ])
   AC_SUBST([WINDOWS_64_BIT_ST_SIZE])
-  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
-    AC_DEFINE([_GL_WINDOWS_64_BIT_ST_SIZE], [1],
-      [Define to 1 if Gnulib overrides 'struct stat' on Windows so that
-       struct stat.st_size becomes 64-bit.])
-  fi
 
   dnl Define types that are supposed to be defined in <sys/types.h> or
   dnl <sys/stat.h>.
@@ -72,6 +75,7 @@ AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
   GNULIB_MKNODAT=0;     AC_SUBST([GNULIB_MKNODAT])
   GNULIB_STAT=0;        AC_SUBST([GNULIB_STAT])
   GNULIB_UTIMENSAT=0;   AC_SUBST([GNULIB_UTIMENSAT])
+  GNULIB_OVERRIDES_STRUCT_STAT=0; AC_SUBST([GNULIB_OVERRIDES_STRUCT_STAT])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_FCHMODAT=1;      AC_SUBST([HAVE_FCHMODAT])
   HAVE_FSTATAT=1;       AC_SUBST([HAVE_FSTATAT])
index 5c79300f8ec66e55a7b7a35eca0f0bcac22b8912..3d9233aa998dabc321fbb62a4be52ed733d28b5d 100644 (file)
@@ -1,7 +1,7 @@
 # Configure a replacement for <sys/time.h>.
-# serial 8
+# serial 9
 
-# Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
index 9748905b5986ad97c588567c525987ae8472a84d..be0655900d5ff409394fd847a114893a11bfbbbc 100644 (file)
@@ -1,11 +1,14 @@
-# sys_types_h.m4 serial 5
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# sys_types_h.m4 serial 9
+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,
 dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN_ONCE([gl_SYS_TYPES_H],
 [
+  dnl Use sane struct stat types in OpenVMS 8.2 and later.
+  AC_DEFINE([_USE_STD_STAT], 1, [For standard stat data types on VMS.])
+
   AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS])
   gl_NEXT_HEADERS([sys/types.h])
 
@@ -17,8 +20,41 @@ AC_DEFUN_ONCE([gl_SYS_TYPES_H],
 
   dnl Whether to override the 'off_t' type.
   AC_REQUIRE([gl_TYPE_OFF_T])
+
+  dnl Whether to override the 'dev_t' and 'ino_t' types.
+  m4_ifdef([gl_WINDOWS_STAT_INODES], [
+    AC_REQUIRE([gl_WINDOWS_STAT_INODES])
+  ], [
+    WINDOWS_STAT_INODES=0
+  ])
+  AC_SUBST([WINDOWS_STAT_INODES])
 ])
 
 AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS],
 [
 ])
+
+# This works around a buggy version in autoconf <= 2.69.
+# See <https://lists.gnu.org/r/autoconf/2016-08/msg00014.html>
+
+m4_version_prereq([2.70], [], [
+
+# This is taken from the following Autoconf patch:
+# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=e17a30e987d7ee695fb4294a82d987ec3dc9b974
+
+m4_undefine([AC_HEADER_MAJOR])
+AC_DEFUN([AC_HEADER_MAJOR],
+[AC_CHECK_HEADERS_ONCE([sys/types.h])
+AC_CHECK_HEADER([sys/mkdev.h],
+  [AC_DEFINE([MAJOR_IN_MKDEV], [1],
+    [Define to 1 if `major', `minor', and `makedev' are declared in
+     <mkdev.h>.])])
+if test $ac_cv_header_sys_mkdev_h = no; then
+  AC_CHECK_HEADER([sys/sysmacros.h],
+    [AC_DEFINE([MAJOR_IN_SYSMACROS], [1],
+      [Define to 1 if `major', `minor', and `makedev' are declared in
+       <sysmacros.h>.])])
+fi
+])
+
+])
diff --git a/m4/sys_uio_h.m4 b/m4/sys_uio_h.m4
new file mode 100644 (file)
index 0000000..8b8ba6d
--- /dev/null
@@ -0,0 +1,31 @@
+# sys_uio_h.m4 serial 1
+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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_HEADER_SYS_UIO],
+[
+  AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS])
+  dnl <sys/uio.h> is always overridden, because of GNULIB_POSIXCHECK.
+  gl_CHECK_NEXT_HEADERS([sys/uio.h])
+  if test $ac_cv_header_sys_uio_h = yes; then
+    HAVE_SYS_UIO_H=1
+  else
+    HAVE_SYS_UIO_H=0
+  fi
+  AC_SUBST([HAVE_SYS_UIO_H])
+])
+
+AC_DEFUN([gl_SYS_UIO_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_SYS_UIO_H_DEFAULTS],
+[
+])
index 1594e1f5d0494af537062782dc209f34ddfda682..664a6322f3827d952edf045a46924d1f0bd275d9 100644 (file)
@@ -1,6 +1,6 @@
 #serial 5
 
-# Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2007, 2009-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
index b6d602a633a30267940bf4f3e8d7f3ab81494e7c..decf6a8e3172b1554534c0054ff34cc15d6a0bd5 100644 (file)
@@ -1,5 +1,5 @@
 # thread.m4 serial 3
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+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.
index a88170261760153ec8609453f9b6ce8fa30340e7..045d9dad29c8446acaddf81deb5362bd4fac9a0b 100644 (file)
@@ -1,11 +1,13 @@
-# threadlib.m4 serial 10 (gettext-0.18.2)
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Bruno Haible.
 
+AC_PREREQ([2.60])
+
 dnl gl_THREADLIB
 dnl ------------
 dnl Tests for a multithreading library to be used.
@@ -14,17 +16,19 @@ 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).
 dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for
 dnl programs that really need multithread functionality. The difference
 dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak
-dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread".
+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],
 [
@@ -43,17 +47,14 @@ AC_DEFUN([gl_THREADLIB_EARLY_BODY],
 
   AC_REQUIRE([AC_CANONICAL_HOST])
   dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems.
-  dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
-  dnl AC_GNU_SOURCE.
-  m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
-    [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
-    [AC_REQUIRE([AC_GNU_SOURCE])])
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
   dnl Check for multithreading.
   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
@@ -64,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 <http://cygwin.com/ml/cygwin/2009-08/msg00283.html>.
-         osf*) gl_use_threads=no ;;
+         dnl <https://cygwin.com/ml/cygwin/2009-08/msg00283.html>.
          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
@@ -148,7 +157,18 @@ int main ()
               [gl_cv_have_weak="guessing no"])
            ])
        fi
+       dnl But when linking statically, weak symbols don't work.
+       case " $LDFLAGS " in
+         *" -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.
@@ -162,15 +182,31 @@ int main ()
         # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
         # in libc. IRIX 6.5 has the first one in both libc and libpthread, but
         # the second one only in libpthread, and lock.c needs it.
-        AC_LINK_IFELSE(
-          [AC_LANG_PROGRAM(
-             [[#include <pthread.h>]],
-             [[pthread_mutex_lock((pthread_mutex_t*)0);
-               pthread_mutexattr_init((pthread_mutexattr_t*)0);]])],
-          [gl_have_pthread=yes])
+        #
+        # If -pthread works, prefer it to -lpthread, since Ubuntu 14.04
+        # needs -pthread for some reason.  See:
+        # https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
+        save_LIBS=$LIBS
+        for gl_pthread in '' '-pthread'; do
+          LIBS="$LIBS $gl_pthread"
+          AC_LINK_IFELSE(
+            [AC_LANG_PROGRAM(
+               [[#include <pthread.h>
+                 pthread_mutex_t m;
+                 pthread_mutexattr_t ma;
+               ]],
+               [[pthread_mutex_lock (&m);
+                 pthread_mutexattr_init (&ma);]])],
+            [gl_have_pthread=yes
+             LIBTHREAD=$gl_pthread LTLIBTHREAD=$gl_pthread
+             LIBMULTITHREAD=$gl_pthread LTLIBMULTITHREAD=$gl_pthread])
+          LIBS=$save_LIBS
+          test -n "$gl_have_pthread" && break
+        done
+
         # Test for libpthread by looking for pthread_kill. (Not pthread_self,
         # since it is defined as a macro on OSF/1.)
-        if test -n "$gl_have_pthread"; then
+        if test -n "$gl_have_pthread" && test -z "$LIBTHREAD"; then
           # The program links fine without libpthread. But it may actually
           # need to link with libpthread in order to create multiple threads.
           AC_CHECK_LIB([pthread], [pthread_kill],
@@ -179,13 +215,15 @@ int main ()
              # Therefore pthread_in_use() needs to actually try to create a
              # thread: pthread_create from libc will fail, whereas
              # pthread_create will actually create a thread.
+             # On Solaris 10 or newer, this test is no longer needed, because
+             # libc contains the fully functional pthread functions.
              case "$host_os" in
-               solaris* | hpux*)
+               solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*)
                  AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1],
                    [Define if the pthread_in_use() detection is hard.])
              esac
             ])
-        else
+        elif test -z "$gl_have_pthread"; then
           # Some library is needed. Try libpthread and libc_r.
           AC_CHECK_LIB([pthread], [pthread_kill],
             [gl_have_pthread=yes
@@ -214,67 +252,6 @@ int main ()
         fi
       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.
@@ -317,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
@@ -326,6 +315,8 @@ dnl Linux 2.4/glibc    posix      -lpthread       Y      OK
 dnl
 dnl GNU Hurd/glibc     posix
 dnl
+dnl Ubuntu 14.04       posix      -pthread        Y      OK
+dnl
 dnl FreeBSD 5.3        posix      -lc_r           Y
 dnl                    posix      -lkse ?         Y
 dnl                    posix      -lpthread ?     Y
@@ -344,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)
@@ -358,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             --
index 9852778f9a5db376afbc8b2174cfc67ef96cc01a..f08f29b35ea5fe7c56d37bb70e8a51bfbe7494bb 100644 (file)
@@ -1,8 +1,8 @@
 # Configure a more-standard replacement for <time.h>.
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
 
-# serial 8
+# serial 11
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -26,7 +26,7 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY],
 ])
 
 dnl Check whether 'struct timespec' is declared
-dnl in time.h, sys/time.h, or pthread.h.
+dnl in time.h, sys/time.h, pthread.h, or unistd.h.
 
 AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
 [
@@ -44,6 +44,7 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
   TIME_H_DEFINES_STRUCT_TIMESPEC=0
   SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
   PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
+  UNISTD_H_DEFINES_STRUCT_TIMESPEC=0
   if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
     TIME_H_DEFINES_STRUCT_TIMESPEC=1
   else
@@ -70,12 +71,26 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
            [gl_cv_sys_struct_timespec_in_pthread_h=no])])
       if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
         PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+      else
+        AC_CACHE_CHECK([for struct timespec in <unistd.h>],
+          [gl_cv_sys_struct_timespec_in_unistd_h],
+          [AC_COMPILE_IFELSE(
+             [AC_LANG_PROGRAM(
+                [[#include <unistd.h>
+                ]],
+                [[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
+             [gl_cv_sys_struct_timespec_in_unistd_h=yes],
+             [gl_cv_sys_struct_timespec_in_unistd_h=no])])
+        if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then
+          UNISTD_H_DEFINES_STRUCT_TIMESPEC=1
+        fi
       fi
     fi
   fi
   AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
   AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
   AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+  AC_SUBST([UNISTD_H_DEFINES_STRUCT_TIMESPEC])
 ])
 
 AC_DEFUN([gl_TIME_MODULE_INDICATOR],
@@ -89,23 +104,34 @@ AC_DEFUN([gl_TIME_MODULE_INDICATOR],
 
 AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS],
 [
+  GNULIB_CTIME=0;                        AC_SUBST([GNULIB_CTIME])
   GNULIB_MKTIME=0;                       AC_SUBST([GNULIB_MKTIME])
+  GNULIB_LOCALTIME=0;                    AC_SUBST([GNULIB_LOCALTIME])
   GNULIB_NANOSLEEP=0;                    AC_SUBST([GNULIB_NANOSLEEP])
+  GNULIB_STRFTIME=0;                     AC_SUBST([GNULIB_STRFTIME])
   GNULIB_STRPTIME=0;                     AC_SUBST([GNULIB_STRPTIME])
   GNULIB_TIMEGM=0;                       AC_SUBST([GNULIB_TIMEGM])
   GNULIB_TIME_R=0;                       AC_SUBST([GNULIB_TIME_R])
+  GNULIB_TIME_RZ=0;                      AC_SUBST([GNULIB_TIME_RZ])
+  GNULIB_TZSET=0;                        AC_SUBST([GNULIB_TZSET])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_DECL_LOCALTIME_R=1;               AC_SUBST([HAVE_DECL_LOCALTIME_R])
   HAVE_NANOSLEEP=1;                      AC_SUBST([HAVE_NANOSLEEP])
   HAVE_STRPTIME=1;                       AC_SUBST([HAVE_STRPTIME])
   HAVE_TIMEGM=1;                         AC_SUBST([HAVE_TIMEGM])
+  HAVE_TZSET=1;                          AC_SUBST([HAVE_TZSET])
+  dnl Even GNU libc does not have timezone_t yet.
+  HAVE_TIMEZONE_T=0;                     AC_SUBST([HAVE_TIMEZONE_T])
   dnl If another module says to replace or to not replace, do that.
   dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK;
   dnl this lets maintainers check for portability.
+  REPLACE_CTIME=GNULIB_PORTCHECK;        AC_SUBST([REPLACE_CTIME])
   REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;  AC_SUBST([REPLACE_LOCALTIME_R])
   REPLACE_MKTIME=GNULIB_PORTCHECK;       AC_SUBST([REPLACE_MKTIME])
   REPLACE_NANOSLEEP=GNULIB_PORTCHECK;    AC_SUBST([REPLACE_NANOSLEEP])
+  REPLACE_STRFTIME=GNULIB_PORTCHECK;     AC_SUBST([REPLACE_STRFTIME])
   REPLACE_TIMEGM=GNULIB_PORTCHECK;       AC_SUBST([REPLACE_TIMEGM])
+  REPLACE_TZSET=GNULIB_PORTCHECK;        AC_SUBST([REPLACE_TZSET])
 
   dnl Hack so that the time module doesn't depend on the sys_time module.
   dnl First, default GNULIB_GETTIMEOFDAY to 0 if sys_time is absent.
index 1fa197e6943f8e9335c9c14d48ddb203f895f591..a3b3905f84e51a3cef2336e8d1b5aec7495f4a49 100644 (file)
@@ -1,5 +1,5 @@
-# unistd_h.m4 serial 67
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -37,17 +37,17 @@ AC_DEFUN([gl_UNISTD_H],
 # include <fcntl.h>
 # include <stdio.h>
 # include <stdlib.h>
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 #  include <io.h>
 # endif
 #endif
     ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat
     fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups
-    gethostname getlogin getlogin_r getpagesize
+    gethostname getlogin getlogin_r getpagesize getpass
     getusershell setusershell endusershell
     group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite
-    readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r
-    unlink unlinkat usleep])
+    readlink readlinkat rmdir sethostname sleep symlink symlinkat
+    truncate ttyname_r unlink unlinkat usleep])
 ])
 
 AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
@@ -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])
@@ -83,6 +84,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   GNULIB_GETLOGIN=0;             AC_SUBST([GNULIB_GETLOGIN])
   GNULIB_GETLOGIN_R=0;           AC_SUBST([GNULIB_GETLOGIN_R])
   GNULIB_GETPAGESIZE=0;          AC_SUBST([GNULIB_GETPAGESIZE])
+  GNULIB_GETPASS=0;              AC_SUBST([GNULIB_GETPASS])
   GNULIB_GETUSERSHELL=0;         AC_SUBST([GNULIB_GETUSERSHELL])
   GNULIB_GROUP_MEMBER=0;         AC_SUBST([GNULIB_GROUP_MEMBER])
   GNULIB_ISATTY=0;               AC_SUBST([GNULIB_ISATTY])
@@ -102,6 +104,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   GNULIB_SLEEP=0;                AC_SUBST([GNULIB_SLEEP])
   GNULIB_SYMLINK=0;              AC_SUBST([GNULIB_SYMLINK])
   GNULIB_SYMLINKAT=0;            AC_SUBST([GNULIB_SYMLINKAT])
+  GNULIB_TRUNCATE=0;             AC_SUBST([GNULIB_TRUNCATE])
   GNULIB_TTYNAME_R=0;            AC_SUBST([GNULIB_TTYNAME_R])
   GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING])
   GNULIB_UNISTD_H_SIGPIPE=0;     AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
@@ -111,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])
@@ -125,6 +129,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   HAVE_GETHOSTNAME=1;     AC_SUBST([HAVE_GETHOSTNAME])
   HAVE_GETLOGIN=1;        AC_SUBST([HAVE_GETLOGIN])
   HAVE_GETPAGESIZE=1;     AC_SUBST([HAVE_GETPAGESIZE])
+  HAVE_GETPASS=1;         AC_SUBST([HAVE_GETPASS])
   HAVE_GROUP_MEMBER=1;    AC_SUBST([HAVE_GROUP_MEMBER])
   HAVE_LCHOWN=1;          AC_SUBST([HAVE_LCHOWN])
   HAVE_LINK=1;            AC_SUBST([HAVE_LINK])
@@ -145,10 +150,12 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   HAVE_DECL_FCHDIR=1;     AC_SUBST([HAVE_DECL_FCHDIR])
   HAVE_DECL_FDATASYNC=1;  AC_SUBST([HAVE_DECL_FDATASYNC])
   HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME])
+  HAVE_DECL_GETLOGIN=1;   AC_SUBST([HAVE_DECL_GETLOGIN])
   HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
   HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE])
   HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL])
   HAVE_DECL_SETHOSTNAME=1; AC_SUBST([HAVE_DECL_SETHOSTNAME])
+  HAVE_DECL_TRUNCATE=1;   AC_SUBST([HAVE_DECL_TRUNCATE])
   HAVE_DECL_TTYNAME_R=1;  AC_SUBST([HAVE_DECL_TTYNAME_R])
   HAVE_OS_H=0;            AC_SUBST([HAVE_OS_H])
   HAVE_SYS_PARAM_H=0;     AC_SUBST([HAVE_SYS_PARAM_H])
@@ -156,6 +163,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   REPLACE_CLOSE=0;        AC_SUBST([REPLACE_CLOSE])
   REPLACE_DUP=0;          AC_SUBST([REPLACE_DUP])
   REPLACE_DUP2=0;         AC_SUBST([REPLACE_DUP2])
+  REPLACE_FACCESSAT=0;    AC_SUBST([REPLACE_FACCESSAT])
   REPLACE_FCHOWNAT=0;     AC_SUBST([REPLACE_FCHOWNAT])
   REPLACE_FTRUNCATE=0;    AC_SUBST([REPLACE_FTRUNCATE])
   REPLACE_GETCWD=0;       AC_SUBST([REPLACE_GETCWD])
@@ -164,6 +172,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   REPLACE_GETLOGIN_R=0;   AC_SUBST([REPLACE_GETLOGIN_R])
   REPLACE_GETGROUPS=0;    AC_SUBST([REPLACE_GETGROUPS])
   REPLACE_GETPAGESIZE=0;  AC_SUBST([REPLACE_GETPAGESIZE])
+  REPLACE_GETPASS=0;      AC_SUBST([REPLACE_GETPASS])
   REPLACE_ISATTY=0;       AC_SUBST([REPLACE_ISATTY])
   REPLACE_LCHOWN=0;       AC_SUBST([REPLACE_LCHOWN])
   REPLACE_LINK=0;         AC_SUBST([REPLACE_LINK])
@@ -173,9 +182,12 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   REPLACE_PWRITE=0;       AC_SUBST([REPLACE_PWRITE])
   REPLACE_READ=0;         AC_SUBST([REPLACE_READ])
   REPLACE_READLINK=0;     AC_SUBST([REPLACE_READLINK])
+  REPLACE_READLINKAT=0;   AC_SUBST([REPLACE_READLINKAT])
   REPLACE_RMDIR=0;        AC_SUBST([REPLACE_RMDIR])
   REPLACE_SLEEP=0;        AC_SUBST([REPLACE_SLEEP])
   REPLACE_SYMLINK=0;      AC_SUBST([REPLACE_SYMLINK])
+  REPLACE_SYMLINKAT=0;    AC_SUBST([REPLACE_SYMLINKAT])
+  REPLACE_TRUNCATE=0;     AC_SUBST([REPLACE_TRUNCATE])
   REPLACE_TTYNAME_R=0;    AC_SUBST([REPLACE_TTYNAME_R])
   REPLACE_UNLINK=0;       AC_SUBST([REPLACE_UNLINK])
   REPLACE_UNLINKAT=0;     AC_SUBST([REPLACE_UNLINKAT])
index 03cf8ae0b1780d9ae06a5029049bf3656d3de51e..69fd1af7f8ae6f1bdc26a739e8f02f1054161f83 100644 (file)
@@ -1,5 +1,5 @@
-# unlink.m4 serial 11
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# unlink.m4 serial 13
+dnl Copyright (C) 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -43,10 +43,14 @@ AC_DEFUN([gl_FUNC_UNLINK],
       [gl_cv_func_unlink_honors_slashes=yes],
       [gl_cv_func_unlink_honors_slashes=no],
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_unlink_honors_slashes="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_unlink_honors_slashes="guessing no" ;;
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_unlink_honors_slashes="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu*)          gl_cv_func_unlink_honors_slashes="guessing yes" ;;
+                          # Guess no on native Windows.
+         mingw*)          gl_cv_func_unlink_honors_slashes="guessing no" ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_unlink_honors_slashes="guessing no" ;;
        esac
       ])
      rm -f conftest.file conftest.lnk])
index 99797af54e7ba854dee4369344f71996154028da..7a9c02733dc9b49f7b1d47515f6aa72d972f98be 100644 (file)
@@ -1,6 +1,6 @@
 # serial 7
 
-# Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2005-2007, 2009-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 1d67e58b5184a19d482583d91e4f8e4129ac6204..4a6bff0bada0354a788e3c00480ac72b712ec404 100644 (file)
@@ -1,5 +1,5 @@
-# usleep.m4 serial 3
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# usleep.m4 serial 6
+dnl Copyright (C) 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -29,10 +29,14 @@ AC_DEFUN([gl_FUNC_USLEEP],
 ]], [[return !!usleep (1000000);]])],
         [gl_cv_func_usleep_works=yes], [gl_cv_func_usleep_works=no],
         [case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_usleep_works="guessing yes" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_usleep_works="guessing no" ;;
+                          # Guess yes on glibc systems.
+           *-gnu* | gnu*) gl_cv_func_usleep_works="guessing yes" ;;
+                          # Guess yes on musl systems.
+           *-musl*)       gl_cv_func_usleep_works="guessing yes" ;;
+                          # Guess no on native Windows.
+           mingw*)        gl_cv_func_usleep_works="guessing no" ;;
+                          # If we don't know, assume the worst.
+           *)             gl_cv_func_usleep_works="guessing no" ;;
          esac
         ])])
     case "$gl_cv_func_usleep_works" in
index 667f9f82d94f1bf371079f4e80ccbc5e761eb54a..4b2c4ffad7d1965ecd06d14d41260e17cc057155 100644 (file)
@@ -1,5 +1,5 @@
 # version-etc.m4 serial 1
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2019 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
index cc690f8e2cb766766a4b14628e71e70420cd955a..7ebe2d317a519d6879551f5ed5ee7c7f4b8eb0d6 100644 (file)
@@ -1,11 +1,13 @@
-# warn-on-use.m4 serial 5
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# warn-on-use.m4 serial 6
+dnl Copyright (C) 2010-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.
 
 # gl_WARN_ON_USE_PREPARE(INCLUDES, NAMES)
 # ---------------------------------------
+# If the module 'posixcheck' is in use:
+#
 # For each whitespace-separated element in the list of NAMES, define
 # HAVE_RAW_DECL_name if the function has a declaration among INCLUDES
 # even after being undefined as a macro.
@@ -23,25 +25,27 @@ dnl with or without modifications, as long as this notice is preserved.
 # needing gl_WARN_ON_USE_PREPARE.
 AC_DEFUN([gl_WARN_ON_USE_PREPARE],
 [
-  m4_foreach_w([gl_decl], [$2],
-    [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])),
-      [Define to 1 if ]m4_defn([gl_decl])[ is declared even after
-       undefining macros.])])dnl
+  m4_ifdef([gl_POSIXCHECK],
+    [m4_foreach_w([gl_decl], [$2],
+       [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])),
+         [Define to 1 if ]m4_defn([gl_decl])[ is declared even after
+          undefining macros.])])dnl
 dnl FIXME: gl_Symbol must be used unquoted until we can assume
 dnl autoconf 2.64 or newer.
-  for gl_func in m4_flatten([$2]); do
-    AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl
-    AC_CACHE_CHECK([whether $gl_func is declared without a macro],
-      gl_Symbol,
-      [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1],
+     for gl_func in m4_flatten([$2]); do
+       AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl
+       AC_CACHE_CHECK([whether $gl_func is declared without a macro],
+         gl_Symbol,
+         [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1],
 [@%:@undef $gl_func
   (void) $gl_func;])],
-        [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])])
-    AS_VAR_IF(gl_Symbol, [yes],
-      [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1])
-       dnl shortcut - if the raw declaration exists, then set a cache
-       dnl variable to allow skipping any later AC_CHECK_DECL efforts
-       eval ac_cv_have_decl_$gl_func=yes])
-    AS_VAR_POPDEF([gl_Symbol])dnl
-  done
+           [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])])
+       AS_VAR_IF(gl_Symbol, [yes],
+         [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1])
+          dnl shortcut - if the raw declaration exists, then set a cache
+          dnl variable to allow skipping any later AC_CHECK_DECL efforts
+          eval ac_cv_have_decl_$gl_func=yes])
+       AS_VAR_POPDEF([gl_Symbol])dnl
+     done
+    ])
 ])
index 43156f450066369b17991bdd7520843457fdcb90..235cac6171c0477c023f8e63878c2900654d5284 100644 (file)
@@ -1,5 +1,5 @@
-# warnings.m4 serial 11
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# warnings.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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -20,10 +20,12 @@ m4_ifdef([AS_VAR_APPEND],
 # -----------------------------------------------------------------
 # Check if the compiler supports OPTION when compiling PROGRAM.
 #
-# FIXME: gl_Warn must be used unquoted until we can assume Autoconf
-# 2.64 or newer.
+# The effects of this macro depend on the current language (_AC_LANG).
 AC_DEFUN([gl_COMPILER_OPTION_IF],
-[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]_AC_LANG_ABBREV[]_$1])dnl
+[
+dnl FIXME: gl_Warn must be used unquoted until we can assume Autoconf
+dnl 2.64 or newer.
+AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]_AC_LANG_ABBREV[]_$1])dnl
 AS_VAR_PUSHDEF([gl_Flags], [_AC_LANG_PREFIX[]FLAGS])dnl
 AS_LITERAL_IF([$1],
   [m4_pushdef([gl_Positive], m4_bpatsubst([$1], [^-Wno-], [-W]))],
@@ -51,27 +53,61 @@ AS_VAR_POPDEF([gl_Warn])dnl
 # ------------------------------
 # Clang doesn't complain about unknown warning options unless one also
 # specifies -Wunknown-warning-option -Werror.  Detect this.
+#
+# The effects of this macro depend on the current language (_AC_LANG).
 AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS],
+[_AC_LANG_DISPATCH([$0], _AC_LANG, $@)])
+
+# Specialization for _AC_LANG = C. This macro can be AC_REQUIREd.
+# Use of m4_defun rather than AC_DEFUN works around a bug in autoconf < 2.63b.
+m4_defun([gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)],
+[
+  AC_LANG_PUSH([C])
+  gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL
+  AC_LANG_POP([C])
+])
+
+# Specialization for _AC_LANG = C++. This macro can be AC_REQUIREd.
+# Use of m4_defun rather than AC_DEFUN works around a bug in autoconf < 2.63b.
+m4_defun([gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)],
+[
+  AC_LANG_PUSH([C++])
+  gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL
+  AC_LANG_POP([C++])
+])
+
+# Specialization for _AC_LANG = Objective C. This macro can be AC_REQUIREd.
+# Use of m4_defun rather than AC_DEFUN works around a bug in autoconf < 2.63b.
+m4_defun([gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)],
+[
+  AC_LANG_PUSH([Objective C])
+  gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL
+  AC_LANG_POP([Objective C])
+])
+
+AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL],
 [gl_COMPILER_OPTION_IF([-Werror -Wunknown-warning-option],
    [gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror'],
    [gl_unknown_warnings_are_errors=])])
 
-# gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS],
+# gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS/WARN_CXXFLAGS],
 #             [PROGRAM = AC_LANG_PROGRAM()])
-# ---------------------------------------------
-# Adds parameter to WARN_CFLAGS if the compiler supports it when
-# compiling PROGRAM.  For example, gl_WARN_ADD([-Wparentheses]).
+# -----------------------------------------------------------
+# Adds parameter to WARN_CFLAGS/WARN_CXXFLAGS if the compiler supports it
+# when compiling PROGRAM.  For example, gl_WARN_ADD([-Wparentheses]).
 #
 # If VARIABLE is a variable name, AC_SUBST it.
+#
+# The effects of this macro depend on the current language (_AC_LANG).
 AC_DEFUN([gl_WARN_ADD],
-[AC_REQUIRE([gl_UNKNOWN_WARNINGS_ARE_ERRORS])
+[AC_REQUIRE([gl_UNKNOWN_WARNINGS_ARE_ERRORS(]_AC_LANG[)])
 gl_COMPILER_OPTION_IF([$1],
-  [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])],
+  [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_]_AC_LANG_PREFIX[FLAGS]], [[$2]]), [" $1"])],
   [],
   [$3])
 m4_ifval([$2],
          [AS_LITERAL_IF([$2], [AC_SUBST([$2])])],
-         [AC_SUBST([WARN_CFLAGS])])dnl
+         [AC_SUBST([WARN_]_AC_LANG_PREFIX[FLAGS])])dnl
 ])
 
 # Local Variables:
index 85db95286b073f452ddcd9380cc26a1fe7b6b31c..cd20e7a0c174abb3d16b2bbb2516d0d53d0f625a 100644 (file)
@@ -1,13 +1,13 @@
 dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
 
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+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,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl Written by Eric Blake.
 
-# wchar_h.m4 serial 39
+# wchar_h.m4 serial 43
 
 AC_DEFUN([gl_WCHAR_H],
 [
@@ -35,6 +35,8 @@ AC_DEFUN([gl_WCHAR_H],
   fi
   AC_SUBST([HAVE_WINT_T])
 
+  AC_REQUIRE([gl_TYPE_WINT_T_PREREQ])
+
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
   gl_WARN_ON_USE_PREPARE([[
@@ -53,7 +55,7 @@ AC_DEFUN([gl_WCHAR_H],
      wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset
      wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp
      wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr
-     wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth
+     wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth wcsftime
     ])
 ])
 
@@ -61,8 +63,8 @@ dnl Check whether <wchar.h> is usable at all.
 AC_DEFUN([gl_WCHAR_H_INLINE_OK],
 [
   dnl Test whether <wchar.h> suffers due to the transition from '__inline' to
-  dnl 'gnu_inline'. See <http://sourceware.org/bugzilla/show_bug.cgi?id=4022>
-  dnl and <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>. In summary,
+  dnl 'gnu_inline'. See <https://sourceware.org/bugzilla/show_bug.cgi?id=4022>
+  dnl and <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>. In summary,
   dnl glibc version 2.5 or older, together with gcc version 4.3 or newer and
   dnl the option -std=c99 or -std=gnu99, leads to a broken <wchar.h>.
   AC_CACHE_CHECK([whether <wchar.h> uses 'inline' correctly],
@@ -81,8 +83,15 @@ AC_DEFUN([gl_WCHAR_H_INLINE_OK],
 extern int zero (void);
 int main () { return zero(); }
 ]])])
-     if AC_TRY_EVAL([ac_compile]); then
-       mv conftest.$ac_objext conftest1.$ac_objext
+     dnl Do not rename the object file from conftest.$ac_objext to
+     dnl conftest1.$ac_objext, as this will cause the link to fail on
+     dnl z/OS when using the XPLINK object format (due to duplicate
+     dnl CSECT names). Instead, temporarily redefine $ac_compile so
+     dnl that the object file has the latter name from the start.
+     save_ac_compile="$ac_compile"
+     ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
+     if echo '#include "conftest.c"' >conftest1.c &&
+        AC_TRY_EVAL([ac_compile]); then
        AC_LANG_CONFTEST([
          AC_LANG_SOURCE([[#define wcstod renamed_wcstod
 /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
@@ -95,8 +104,10 @@ int main () { return zero(); }
 #include <wchar.h>
 int zero (void) { return 0; }
 ]])])
-       if AC_TRY_EVAL([ac_compile]); then
-         mv conftest.$ac_objext conftest2.$ac_objext
+       dnl See note above about renaming object files.
+       ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
+       if echo '#include "conftest.c"' >conftest2.c &&
+          AC_TRY_EVAL([ac_compile]); then
          if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then
            :
          else
@@ -104,7 +115,8 @@ int zero (void) { return 0; }
          fi
        fi
      fi
-     rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
+     ac_compile="$save_ac_compile"
+     rm -f conftest[12].c conftest[12].$ac_objext conftest$ac_exeext
     ])
   if test $gl_cv_header_wchar_h_correct_inline = no; then
     AC_MSG_ERROR([<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
@@ -112,7 +124,7 @@ This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in
 C99 mode. You have four options:
   - Add the flag -fgnu89-inline to CC and reconfigure, or
   - Fix your include files, using parts of
-    <http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or
+    <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or
   - Use a gcc version older than 4.3, or
   - Don't use the flags -std=c99 or -std=gnu99.
 Configuration aborted.])
@@ -169,6 +181,7 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS],
   GNULIB_WCSSTR=0;      AC_SUBST([GNULIB_WCSSTR])
   GNULIB_WCSTOK=0;      AC_SUBST([GNULIB_WCSTOK])
   GNULIB_WCSWIDTH=0;    AC_SUBST([GNULIB_WCSWIDTH])
+  GNULIB_WCSFTIME=0;    AC_SUBST([GNULIB_WCSFTIME])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_BTOWC=1;         AC_SUBST([HAVE_BTOWC])
   HAVE_MBSINIT=1;       AC_SUBST([HAVE_MBSINIT])
@@ -207,6 +220,7 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS],
   HAVE_WCSSTR=1;        AC_SUBST([HAVE_WCSSTR])
   HAVE_WCSTOK=1;        AC_SUBST([HAVE_WCSTOK])
   HAVE_WCSWIDTH=1;      AC_SUBST([HAVE_WCSWIDTH])
+  HAVE_WCSFTIME=1;      AC_SUBST([HAVE_WCSFTIME])
   HAVE_DECL_WCTOB=1;    AC_SUBST([HAVE_DECL_WCTOB])
   HAVE_DECL_WCWIDTH=1;  AC_SUBST([HAVE_DECL_WCWIDTH])
   REPLACE_MBSTATE_T=0;  AC_SUBST([REPLACE_MBSTATE_T])
@@ -222,4 +236,5 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS],
   REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS])
   REPLACE_WCWIDTH=0;    AC_SUBST([REPLACE_WCWIDTH])
   REPLACE_WCSWIDTH=0;   AC_SUBST([REPLACE_WCSWIDTH])
+  REPLACE_WCSFTIME=0;   AC_SUBST([REPLACE_WCSFTIME])
 ])
index 839a04c17c34f4fb0b22ef1e18465fd271e3d806..5db5815209d458444ed31c4cc5408ea95b2a1d3d 100644 (file)
@@ -1,5 +1,5 @@
 # wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 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.
index 844ef6a8c3e8e9952c4ecd6b9511cdaf257808d5..fec22f34e0198399fc5aab229604fee2b76d0f04 100644 (file)
@@ -1,5 +1,5 @@
-# wcrtomb.m4 serial 11
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# 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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -33,15 +33,56 @@ AC_DEFUN([gl_FUNC_WCRTOMB],
   else
     if test $REPLACE_MBSTATE_T = 1; then
       REPLACE_WCRTOMB=1
-    else
-      dnl On AIX 4.3, OSF/1 5.1 and Solaris 10, wcrtomb (NULL, 0, NULL) sometimes
-      dnl returns 0 instead of 1.
+    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])
       AC_REQUIRE([gt_LOCALE_FR])
       AC_REQUIRE([gt_LOCALE_FR_UTF8])
       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],
         [
@@ -51,6 +92,8 @@ changequote(,)dnl
           case "$host_os" in
                                      # Guess no on AIX 4, OSF/1 and Solaris.
             aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;;
+                                     # Guess yes on native Windows.
+            mingw*)                  gl_cv_func_wcrtomb_retval="guessing yes" ;;
                                      # Guess yes otherwise.
             *)                       gl_cv_func_wcrtomb_retval="guessing yes" ;;
           esac
index 41f57afc767dfa3b63fc91ed8b794e82e06a5123..05c1237ee0a4c607b573324e565431c5c16efe26 100644 (file)
@@ -1,5 +1,5 @@
-# wctob.m4 serial 10
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# wctob.m4 serial 11
+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.
@@ -17,7 +17,7 @@ AC_DEFUN([gl_FUNC_WCTOB],
 
     dnl Solaris 9 has the wctob() function but it does not work.
     dnl Cygwin 1.7.2 has the wctob() function but it clobbers caller-owned
-    dnl registers, see <http://cygwin.com/ml/cygwin/2010-05/msg00015.html>.
+    dnl registers, see <https://cygwin.com/ml/cygwin/2010-05/msg00015.html>.
     AC_REQUIRE([AC_PROG_CC])
     AC_REQUIRE([gt_LOCALE_FR])
     AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
@@ -30,6 +30,9 @@ changequote(,)dnl
         case "$host_os" in
             # Guess no on Solaris <= 9 and Cygwin.
           solaris2.[1-9] | solaris2.[1-9].* | cygwin*)
+            gl_cv_func_wctob_works="guessing no" ;;
+            # Guess no on native Windows.
+          mingw*)
             gl_cv_func_wctob_works="guessing no" ;;
             # Guess yes otherwise.
           *) gl_cv_func_wctob_works="guessing yes" ;;
index 3b4ff7978d70b78155ca14b46a9ffb88eb6e40b3..79d29f18542feccc987eb8f734c5194a8ccd2994 100644 (file)
@@ -1,5 +1,5 @@
 # wctomb.m4 serial 2
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+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,
 dnl with or without modifications, as long as this notice is preserved.
index 3fac0ee099d1b1bc2918d843e77b2b5e352da1e3..6903d7583c770735632d290d589a3e5fb6a0a0c2 100644 (file)
@@ -1,8 +1,8 @@
-# wctype_h.m4 serial 18
+# wctype_h.m4 serial 21
 
 dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it.
 
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -30,6 +30,8 @@ AC_DEFUN([gl_WCTYPE_H],
   fi
   AC_SUBST([HAVE_WINT_T])
 
+  AC_REQUIRE([gl_TYPE_WINT_T_PREREQ])
+
   gl_CHECK_NEXT_HEADERS([wctype.h])
   if test $ac_cv_header_wctype_h = yes; then
     if test $ac_cv_func_iswcntrl = yes; then
@@ -51,7 +53,8 @@ AC_DEFUN([gl_WCTYPE_H],
                int main () { return iswprint ('x') == 0; }
             ]])],
             [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no],
-            [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
+            [dnl Guess no on Linux libc5, yes otherwise.
+             AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
                           #if __GNU_LIBRARY__ == 1
                           Linux libc5 i18n is broken.
                           #endif]], [])],
index 9b07b07090054edd2a4340698be18b2bbc0b7a7e..61e8a23d2785b2d3fc43a678a7b3c9151ce82577 100644 (file)
@@ -1,11 +1,12 @@
-# wint_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+# wint_t.m4 serial 7
+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,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Bruno Haible.
-dnl Test whether <wchar.h> has the 'wint_t' type.
+dnl Test whether <wchar.h> has the 'wint_t' type and whether gnulib's
+dnl <wchar.h> or <wctype.h> would, if present, override 'wint_t'.
 dnl Prerequisite: AC_PROG_CC
 
 AC_DEFUN([gt_TYPE_WINT_T],
@@ -28,5 +29,46 @@ AC_DEFUN([gt_TYPE_WINT_T],
        [gt_cv_c_wint_t=no])])
   if test $gt_cv_c_wint_t = yes; then
     AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.])
+
+    dnl Determine whether gnulib's <wchar.h> or <wctype.h> would, if present,
+    dnl override 'wint_t'.
+    AC_CACHE_CHECK([whether wint_t is too small],
+      [gl_cv_type_wint_t_too_small],
+      [AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM([[
+/* 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>.  */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <stddef.h>
+# include <stdio.h>
+# include <time.h>
+#endif
+#include <wchar.h>
+              int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1];
+              ]])],
+           [gl_cv_type_wint_t_too_small=no],
+           [gl_cv_type_wint_t_too_small=yes])])
+    if test $gl_cv_type_wint_t_too_small = yes; then
+      GNULIB_OVERRIDES_WINT_T=1
+    else
+      GNULIB_OVERRIDES_WINT_T=0
+    fi
+  else
+    GNULIB_OVERRIDES_WINT_T=0
+  fi
+  AC_SUBST([GNULIB_OVERRIDES_WINT_T])
+])
+
+dnl Prerequisites of the 'wint_t' override.
+AC_DEFUN([gl_TYPE_WINT_T_PREREQ],
+[
+  AC_CHECK_HEADERS_ONCE([crtdefs.h])
+  if test $ac_cv_header_crtdefs_h = yes; then
+    HAVE_CRTDEFS_H=1
+  else
+    HAVE_CRTDEFS_H=0
   fi
+  AC_SUBST([HAVE_CRTDEFS_H])
 ])
index b6a2257befa85b9b9e593f13a4666d08c5d5a77f..dfff94319b7e63655149b8059125ff6dee04e843 100644 (file)
@@ -1,5 +1,5 @@
 # xalloc.m4 serial 18
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 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,
 dnl with or without modifications, as long as this notice is preserved.
index 8521f0ed5f93a5cdcc54385671fc576cbbed646f..32dc51bede4b978139a7bcc232660ca8208f3a7e 100644 (file)
@@ -1,5 +1,5 @@
 # xstrndup.m4 serial 2
-dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 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,
 dnl with or without modifications, as long as this notice is preserved.
index 03419d8143019e5f56c9adea24000b024da5c976..ee86a563301cb99e54f0bd23b7c1ca8a963f5741 100644 (file)
@@ -1,5 +1,5 @@
 #serial 11
-dnl Copyright (C) 2002-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-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,
 dnl with or without modifications, as long as this notice is preserved.
index e9442a6242d81974e2073c047f707e595982be59..59c8c38eb4f3a1433b6cf46931e2db1e5d1a4dbd 100644 (file)
@@ -1,5 +1,5 @@
-# yield.m4 serial 2
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+# yield.m4 serial 3
+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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -10,7 +10,7 @@ AC_DEFUN([gl_YIELD],
   dnl On some systems, sched_yield is in librt, rather than in libpthread.
   YIELD_LIB=
   if test $gl_threads_api = posix; then
-    dnl Solaris has sched_yield in librt, not in libpthread or libc.
+    dnl Solaris 7...10 has sched_yield in librt, not in libpthread or libc.
     AC_CHECK_LIB([rt], [sched_yield], [YIELD_LIB=-lrt],
       [dnl Solaris 2.5.1, 2.6 has sched_yield in libposix4, not librt.
        AC_CHECK_LIB([posix4], [sched_yield], [YIELD_LIB=-lposix4])])
index b6cd5a2031c9469cac717687e35ff0482c63f009..16e936022c76aa98276cbebf142ab4d7c9312393 100644 (file)
--- a/maint.mk
+++ b/maint.mk
@@ -2,7 +2,7 @@
 # This Makefile fragment tries to be general-purpose enough to be
 # used by many projects via the gnulib maintainer-makefile module.
 
-## Copyright (C) 2001-2014 Free Software Foundation, Inc.
+## Copyright (C) 2001-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
 ## 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 <http://www.gnu.org/licenses/>.
+## along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # This is reported not to work with make-3.79.1
 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
 ME := maint.mk
 
-# Diagnostic for continued use of deprecated variable.
-# Remove in 2013
-ifneq ($(build_aux),)
- $(error "$(ME): \
-set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)")
-endif
+# These variables ought to be defined through the configure.ac section
+# of the module description. But some packages import this file directly,
+# ignoring the module description.
+AWK ?= awk
+GREP ?= grep
+SED ?= sed
 
 # Helper variables.
 _empty =
@@ -53,7 +53,7 @@ member-check =                                                                \
 # Do not save the original name or timestamp in the .tar.gz file.
 # Use --rsyncable if available.
 gzip_rsyncable := \
-  $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null \
+  $(shell gzip --help 2>/dev/null|$(GREP) rsyncable >/dev/null \
     && printf %s --rsyncable)
 GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
 
@@ -62,6 +62,10 @@ VC = $(GIT)
 
 VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir)
 
+# You can override this variable in cfg.mk if your gnulib submodule lives
+# in a different location.
+gnulib_dir ?= $(srcdir)/gnulib
+
 # You can override this variable in cfg.mk to set your own regexp
 # matching files to ignore.
 VC_LIST_ALWAYS_EXCLUDE_REGEX ?= ^$$
@@ -86,9 +90,9 @@ _sc_excl = \
   $(or $(exclude_file_name_regexp--$@),^$$)
 VC_LIST_EXCEPT = \
   $(VC_LIST) | $(SED) 's|^$(_dot_escaped_srcdir)/||' \
-       | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \
-         else grep -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \
-       | grep -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \
+       | if test -f $(srcdir)/.x-$@; then $(GREP) -vEf $(srcdir)/.x-$@; \
+         else $(GREP) -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \
+       | $(GREP) -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \
        $(_prepend_srcdir_prefix)
 
 ifeq ($(origin prev_version_file), undefined)
@@ -133,8 +137,8 @@ gnu_ftp_host-stable = ftp.gnu.org
 gnu_rel_host ?= $(gnu_ftp_host-$(release-type))
 
 url_dir_list ?= $(if $(call _equal,$(gnu_rel_host),ftp.gnu.org),       \
-                     http://ftpmirror.gnu.org/$(PACKAGE),              \
-                     ftp://$(gnu_rel_host)/gnu/$(PACKAGE))
+                     https://ftpmirror.gnu.org/$(PACKAGE),             \
+                     https://$(gnu_rel_host)/gnu/$(PACKAGE))
 
 # Override this in cfg.mk if you are using a different format in your
 # NEWS file.
@@ -155,6 +159,7 @@ export LC_ALL = C
 ## Sanity checks.  ##
 ## --------------- ##
 
+ifneq ($(_gl-Makefile),)
 _cfg_mk := $(wildcard $(srcdir)/cfg.mk)
 
 # Collect the names of rules starting with 'sc_'.
@@ -186,7 +191,7 @@ $(sc_z_rules_): %.z: %
        @end=$$(date +%s.%N);                                           \
        start=$$(cat .sc-start-$*);                                     \
        rm -f .sc-start-$*;                                             \
-       awk -v s=$$start -v e=$$end                                     \
+       $(AWK) -v s=$$start -v e=$$end                                  \
          'END {printf "%.2f $(patsubst sc_%,%,$*)\n", e - s}' < /dev/null
 
 # The patsubst here is to replace each sc_% rule with its sc_%.z wrapper
@@ -196,6 +201,7 @@ local-check :=                                                              \
     $(filter-out $(local-checks-to-skip), $(local-checks-available)))
 
 syntax-check: $(local-check)
+endif
 
 # _sc_search_regexp
 #
@@ -293,42 +299,56 @@ define _sc_search_regexp
                                                                        \
    : Filter by file name;                                              \
    if test -n "$$in_files"; then                                       \
-     files=$$(find $(srcdir) | grep -E "$$in_files"                    \
-              | grep -Ev '$(_sc_excl)');                               \
+     files=$$(find $(srcdir) | $(GREP) -E "$$in_files"                 \
+              | $(GREP) -Ev '$(_sc_excl)');                            \
    else                                                                        \
      files=$$($(VC_LIST_EXCEPT));                                      \
      if test -n "$$in_vc_files"; then                                  \
-       files=$$(echo "$$files" | grep -E "$$in_vc_files");             \
+       files=$$(echo "$$files" | $(GREP) -E "$$in_vc_files");          \
      fi;                                                               \
    fi;                                                                 \
                                                                        \
    : Filter by content;                                                        \
-   test -n "$$files" && test -n "$$containing"                         \
-     && { files=$$(grep -l "$$containing" $$files); } || :;            \
-   test -n "$$files" && test -n "$$non_containing"                     \
-     && { files=$$(grep -vl "$$non_containing" $$files); } || :;       \
+   test -n "$$files"                                                   \
+     && test -n "$$containing"                                         \
+     && { files=$$(echo "$$files" | xargs $(GREP) -l "$$containing"); }        \
+     || :;                                                             \
+   test -n "$$files"                                                   \
+     && test -n "$$non_containing"                                     \
+     && { files=$$(echo "$$files" | xargs $(GREP) -vl "$$non_containing"); } \
+     || :;                                                             \
                                                                        \
    : Check for the construct;                                          \
    if test -n "$$files"; then                                          \
      if test -n "$$prohibit"; then                                     \
-       grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \
-         | grep -vE "$${exclude:-^$$}"                                 \
-         && { msg="$$halt" $(_sc_say_and_exit) } || :;                 \
+       echo "$$files"                                                  \
+         | xargs $(GREP) $$with_grep_options $(_ignore_case) -nE       \
+               "$$prohibit" /dev/null                                  \
+         | $(GREP) -vE "$${exclude:-^$$}"                              \
+         && { msg="$$halt" $(_sc_say_and_exit) }                       \
+         || :;                                                         \
      else                                                              \
-       grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \
-           | grep .                                                    \
-         && { msg="$$halt" $(_sc_say_and_exit) } || :;                 \
+       echo "$$files"                                                  \
+         | xargs                                                       \
+             $(GREP) $$with_grep_options $(_ignore_case) -LE "$$require" \
+         | $(GREP) .                                                   \
+         && { msg="$$halt" $(_sc_say_and_exit) }                       \
+         || :;                                                         \
      fi                                                                        \
    else :;                                                             \
    fi || :;
 endef
 
 sc_avoid_if_before_free:
-       @$(srcdir)/$(_build-aux)/useless-if-before-free                 \
-               $(useless_free_options)                                 \
-           $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) &&   \
-         { echo '$(ME): found useless "if" before "free" above' 1>&2;  \
-           exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | $(GREP) -v useless-if-before-free                           \
+         | xargs                                                       \
+             $(srcdir)/$(_build-aux)/useless-if-before-free            \
+             $(useless_free_options)                                   \
+         && { printf '$(ME): found useless "if"'                       \
+                     ' before "free" above\n' 1>&2;                    \
+              exit 1; }                                                \
+         || :
 
 sc_cast_of_argument_to_free:
        @prohibit='\<free *\( *\(' halt="don't cast free argument"      \
@@ -389,6 +409,43 @@ sc_prohibit_magic_number_exit:
        halt='use EXIT_* values rather than magic number'               \
          $(_sc_search_regexp)
 
+# Check that we don't use $< in non-implicit Makefile rules.
+#
+# To find the Makefiles, trace AC_CONFIG_FILES.  Using VC_LIST would
+# miss the Makefiles that are not under VC control (e.g., symlinks
+# installed for gettext).  "Parsing" (recursive) uses of SUBDIRS seems
+# too delicate.
+#
+# Use GNU Make's --print-data-base to normalize the rules into some
+# easy to parse format: they are separated by two \n.  Look for the
+# "section" about non-pattern rules (marked with "# Files") inside
+# which there are still the POSIX Make like implicit rules (".c.o").
+sc_prohibit_gnu_make_extensions_awk_ =                                 \
+  BEGIN {                                                              \
+      RS = "\n\n";                                                     \
+      in_rules = 0;                                                    \
+  }                                                                    \
+  /^\# Files/ {                                                                \
+      in_rules = 1;                                                    \
+  }                                                                    \
+  /\$$</ && in_rules && $$0 !~ /^(.*\n)*\.\w+(\.\w+)?:/ {              \
+      print "Error: " file ": $$< in a non implicit rule\n" $$0;       \
+      status = 1;                                                      \
+  }                                                                    \
+  END {                                                                        \
+     exit status;                                                      \
+  }
+sc_prohibit_gnu_make_extensions:
+       @if $(AWK) --version | grep GNU >/dev/null 2>&1; then           \
+         (cd $(srcdir) && autoconf --trace AC_CONFIG_FILES:'$$1') |    \
+           tr ' ' '\n' |                                               \
+           $(SED) -ne '/Makefile/{s/\.in$$//;p;}' |                    \
+           while read m; do                                            \
+             $(MAKE) -qp -f $$m .DUMMY-TARGET 2>/dev/null |            \
+               $(AWK) -v file=$$m -e '$($@_awk_)' || exit 1;           \
+           done;                                                       \
+       fi
+
 # Using EXIT_SUCCESS as the first argument to error is misleading,
 # since when that parameter is 0, error does not exit.  Use '0' instead.
 sc_error_exit_success:
@@ -400,28 +457,35 @@ sc_error_exit_success:
 # "FATAL:" should be fully upper-cased in error messages
 # "WARNING:" should be fully upper-cased, or fully lower-cased
 sc_error_message_warn_fatal:
-       @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT))              \
-           | grep -E '"Warning|"Fatal|"fatal' &&                       \
-         { echo '$(ME): use FATAL, WARNING or warning' 1>&2;           \
-           exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null              \
+         | $(GREP) -E '"Warning|"Fatal|"fatal'                         \
+         && { echo '$(ME): use FATAL, WARNING or warning' 1>&2;        \
+              exit 1; }                                                \
+         || :
 
 # Error messages should not start with a capital letter
 sc_error_message_uppercase:
-       @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT))              \
-           | grep -E '"[A-Z]'                                          \
-           | grep -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' &&           \
-         { echo '$(ME): found capitalized error message' 1>&2;         \
-           exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null              \
+         | $(GREP) -E '"[A-Z]'                                         \
+         | $(GREP) -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX'             \
+         && { echo '$(ME): found capitalized error message' 1>&2;      \
+              exit 1; }                                                \
+         || :
 
 # Error messages should not end with a period
 sc_error_message_period:
-       @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT))              \
-           | grep -E '[^."]\."' &&                                     \
-         { echo '$(ME): found error message ending in period' 1>&2;    \
-           exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null              \
+         | $(GREP) -E '[^."]\."'                                       \
+         && { echo '$(ME): found error message ending in period' 1>&2; \
+              exit 1; }                                                \
+         || :
 
 sc_file_system:
        @prohibit=file''system                                          \
+       exclude='/proc/filesystems'                                     \
        ignore_case=1                                                   \
        halt='found use of "file''system"; spell it "file system"'      \
          $(_sc_search_regexp)
@@ -442,17 +506,26 @@ sc_require_config_h:
        halt='the above files do not include <config.h>'                \
          $(_sc_search_regexp)
 
+# Print each file name for which the first #include does not match
+# $(config_h_header).  Like grep -m 1, this only looks at the first match.
+perl_config_h_first_ =                                                 \
+  -e 'BEGIN {$$ret = 0}'                                               \
+  -e 'if (/^\# *include\b/) {'                                         \
+  -e '  if (not m{^\# *include $(config_h_header)}) {'                 \
+  -e '    print "$$ARGV\n";'                                           \
+  -e '    $$ret = 1;'                                                  \
+  -e '  }'                                                             \
+  -e '  \# Move on to next file after first include'                   \
+  -e '  close ARGV;'                                                   \
+  -e '}'                                                               \
+  -e 'END {exit $$ret}'
+
 # You must include <config.h> before including any other header file.
 # This can possibly be via a package-specific header, if given by cfg.mk.
 sc_require_config_h_first:
-       @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then       \
-         fail=0;                                                       \
-         for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do             \
-           grep '^# *include\>' $$i | $(SED) 1q                        \
-               | grep -E '^# *include $(config_h_header)' > /dev/null  \
-             || { echo $$i; fail=1; };                                 \
-         done;                                                         \
-         test $$fail = 1 &&                                            \
+       @if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then       \
+         files=$$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$') &&              \
+         perl -n $(perl_config_h_first_) $$files ||                    \
            { echo '$(ME): the above files include some other header'   \
                'before <config.h>' 1>&2; exit 1; } || :;               \
        else :;                                                         \
@@ -469,10 +542,10 @@ sc_prohibit_HAVE_MBRTOWC:
 define _sc_header_without_use
   dummy=; : so we do not need a semicolon before each use;             \
   h_esc=`echo '[<"]'"$$h"'[">]'|$(SED) 's/\./\\\\./g'`;                        \
-  if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then             \
-    files=$$(grep -l '^# *include '"$$h_esc"                           \
-            $$($(VC_LIST_EXCEPT) | grep '\.c$$')) &&                   \
-    grep -LE "$$re" $$files | grep . &&                                        \
+  if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then             \
+    files=$$($(GREP) -l '^# *include '"$$h_esc"                                \
+            $$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$')) &&                \
+    $(GREP) -LE "$$re" $$files | $(GREP) . &&                          \
       { echo "$(ME): the above files include $$h but don't use it"     \
        1>&2; exit 1; } || :;                                           \
   else :;                                                              \
@@ -502,7 +575,7 @@ sc_prohibit_quote_without_use:
 
 # Don't include this header unless you use one of its functions.
 sc_prohibit_long_options_without_use:
-       @h='long-options.h' re='\<parse_long_options *\(' \
+       @h='long-options.h' re='\<parse_(long_options|gnu_standard_options_only) *\(' \
          $(_sc_header_without_use)
 
 # Don't include this header unless you use one of its functions.
@@ -563,7 +636,7 @@ sc_prohibit_posixver_without_use:
        @h='posixver.h' re='\<posix2_version *\(' $(_sc_header_without_use)
 
 sc_prohibit_same_without_use:
-       @h='same.h' re='\<same_name *\(' $(_sc_header_without_use)
+       @h='same.h' re='\<same_name(at)? *\(' $(_sc_header_without_use)
 
 sc_prohibit_hash_pjw_without_use:
        @h='hash-pjw.h' \
@@ -653,18 +726,14 @@ sc_prohibit_strings_without_use:
        re='\<(strn?casecmp|ffs(ll)?)\>'                                \
          $(_sc_header_without_use)
 
-# Get the list of symbol names with this:
-# perl -lne '/^# *define ([A-Z]\w+)\(/ and print $1' lib/intprops.h|fmt
-_intprops_names =                                                      \
-  TYPE_IS_INTEGER TYPE_TWOS_COMPLEMENT TYPE_ONES_COMPLEMENT            \
-  TYPE_SIGNED_MAGNITUDE TYPE_SIGNED TYPE_MINIMUM TYPE_MAXIMUM          \
-  INT_BITS_STRLEN_BOUND INT_STRLEN_BOUND INT_BUFSIZE_BOUND             \
-  INT_ADD_RANGE_OVERFLOW INT_SUBTRACT_RANGE_OVERFLOW                   \
-  INT_NEGATE_RANGE_OVERFLOW INT_MULTIPLY_RANGE_OVERFLOW                        \
-  INT_DIVIDE_RANGE_OVERFLOW INT_REMAINDER_RANGE_OVERFLOW               \
-  INT_LEFT_SHIFT_RANGE_OVERFLOW INT_ADD_OVERFLOW INT_SUBTRACT_OVERFLOW \
-  INT_NEGATE_OVERFLOW INT_MULTIPLY_OVERFLOW INT_DIVIDE_OVERFLOW                \
-  INT_REMAINDER_OVERFLOW INT_LEFT_SHIFT_OVERFLOW
+# Extract the raw list of symbol names with this:
+gl_extract_define_simple = \
+  /^\# *define ([A-Z]\w+)\(/ and print $$1
+# Filter out duplicates and convert to a space-separated list:
+_intprops_names = \
+  $(shell f=$(gnulib_dir)/lib/intprops.h;                              \
+    perl -lne '$(gl_extract_define_simple)' $$f | sort -u | tr '\n' ' ')
+# Remove trailing space and convert to a regular expression:
 _intprops_syms_re = $(subst $(_sp),|,$(strip $(_intprops_names)))
 # Prohibit the inclusion of intprops.h without an actual use.
 sc_prohibit_intprops_without_use:
@@ -692,7 +761,7 @@ sc_prohibit_dirent_without_use:
 # Prohibit the inclusion of verify.h without an actual use.
 sc_prohibit_verify_without_use:
        @h='verify.h'                                                   \
-       re='\<(verify(true|expr)?|static_assert) *\('                   \
+       re='\<(verify(true|expr)?|assume|static_assert) *\('            \
          $(_sc_header_without_use)
 
 # Don't include xfreopen.h unless you use one of its functions.
@@ -713,15 +782,6 @@ sc_changelog:
        halt='found unexpected prefix in a ChangeLog'                   \
          $(_sc_search_regexp)
 
-# Ensure that each .c file containing a "main" function also
-# calls set_program_name.
-sc_program_name:
-       @require='set_program_name *\(m?argv\[0\]\);'                   \
-       in_vc_files='\.c$$'                                             \
-       containing='\<main *('                                          \
-       halt='the above files do not call set_program_name'             \
-         $(_sc_search_regexp)
-
 # Ensure that each .c file containing a "main" function also
 # calls bindtextdomain.
 sc_bindtextdomain:
@@ -739,9 +799,9 @@ Exit_base := $(notdir $(Exit_witness_file))
 sc_require_test_exit_idiom:
        @if test -f $(srcdir)/$(Exit_witness_file); then                \
          die=0;                                                        \
-         for i in $$(grep -l -F 'srcdir/$(Exit_base)'                  \
+         for i in $$($(GREP) -l -F 'srcdir/$(Exit_base)'               \
                $$($(VC_LIST) tests)); do                               \
-           tail -n1 $$i | grep '^Exit .' > /dev/null                   \
+           tail -n1 $$i | $(GREP) '^Exit .' > /dev/null                \
              && : || { die=1; echo $$i; }                              \
          done;                                                         \
          test $$die = 1 &&                                             \
@@ -846,18 +906,23 @@ endef
 # Don't define macros that we already get from gnulib header files.
 sc_prohibit_always-defined_macros:
        @if test -d $(gnulib_dir); then                                 \
-         case $$(echo all: | grep -l -f - Makefile) in Makefile);; *)  \
+         case $$(echo all: | $(GREP) -l -f - Makefile) in Makefile);; *) \
            echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \
          esac;                                                         \
-         $(def_sym_regex) | grep -E -f - $$($(VC_LIST_EXCEPT))         \
-           && { echo '$(ME): define the above via some gnulib .h file' \
-                 1>&2;  exit 1; } || :;                                \
+         regex=$$($(def_sym_regex)); export regex;                     \
+         $(VC_LIST_EXCEPT)                                             \
+           | xargs sh -c 'echo $$regex | $(GREP) -E -f - "$$@"'        \
+               dummy /dev/null                                         \
+           && { printf '$(ME): define the above'                       \
+                       ' via some gnulib .h file\n' 1>&2;              \
+                exit 1; }                                              \
+           || :;                                                       \
        fi
 # ==================================================================
 
 # Prohibit checked in backup files.
 sc_prohibit_backup_files:
-       @$(VC_LIST) | grep '~$$' &&                             \
+       @$(VC_LIST) | $(GREP) '~$$' &&                                  \
          { echo '$(ME): found version controlled backup file' 1>&2;    \
            exit 1; } || :
 
@@ -876,7 +941,7 @@ sc_GFDL_version:
          $(_sc_search_regexp)
 
 # Don't use Texinfo's @acronym{}.
-# http://lists.gnu.org/archive/html/bug-gnulib/2010-03/msg00321.html
+# https://lists.gnu.org/r/bug-gnulib/2010-03/msg00321.html
 texinfo_suffix_re_ ?= \.(txi|texi(nfo)?)$$
 sc_texinfo_acronym:
        @prohibit='@acronym\{'                                          \
@@ -931,9 +996,11 @@ require_exactly_one_NL_at_EOF_ =                                   \
     }                                                                  \
   END { exit defined $$fail }
 sc_prohibit_empty_lines_at_EOF:
-       @perl -le '$(require_exactly_one_NL_at_EOF_)' $$($(VC_LIST_EXCEPT)) \
-         || { echo '$(ME): empty line(s) or no newline at EOF'         \
-               1>&2; exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs perl -le '$(require_exactly_one_NL_at_EOF_)'          \
+         || { echo '$(ME): empty line(s) or no newline at EOF' 1>&2;   \
+              exit 1; }                                                \
+         || :
 
 # Make sure we don't use st_blocks.  Use ST_NBLOCKS instead.
 # This is a bit of a kludge, since it prevents use of the string
@@ -959,8 +1026,13 @@ perl_filename_lineno_text_ =                                              \
     -e '    print "$$ARGV:$$n:$$v\n";'                                 \
     -e '  }'
 
+prohibit_doubled_words_ = \
+    the then in an on if is it but for or at and do to
+# expand the regex before running the check to avoid using expensive captures
+prohibit_doubled_word_expanded_ = \
+    $(join $(prohibit_doubled_words_),$(addprefix \s+,$(prohibit_doubled_words_)))
 prohibit_doubled_word_RE_ ?= \
-  /\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims
+    /\b(?:$(subst $(_sp),|,$(prohibit_doubled_word_expanded_)))\b/gims
 prohibit_doubled_word_ =                                               \
     -e 'while ($(prohibit_doubled_word_RE_))'                          \
     $(perl_filename_lineno_text_)
@@ -971,9 +1043,12 @@ prohibit_doubled_word_ =                                          \
 ignore_doubled_word_match_RE_ ?= ^$$
 
 sc_prohibit_doubled_word:
-       @perl -n -0777 $(prohibit_doubled_word_) $$($(VC_LIST_EXCEPT))  \
-         | grep -vE '$(ignore_doubled_word_match_RE_)'                 \
-         | grep . && { echo '$(ME): doubled words' 1>&2; exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs perl -n -0777 $(prohibit_doubled_word_)               \
+         | $(GREP) -vE '$(ignore_doubled_word_match_RE_)'              \
+         | $(GREP) .                                                   \
+         && { echo '$(ME): doubled words' 1>&2; exit 1; }              \
+         || :
 
 # A regular expression matching undesirable combinations of words like
 # "can not"; this matches them even when the two words appear on different
@@ -983,10 +1058,11 @@ sc_prohibit_doubled_word:
 # Also prohibit a prefix matching "\w+ +".
 # @pxref gets the same see/also treatment and should be parenthesized;
 # presume it must *not* start a sentence.
+# POSIX spells it "timestamp" rather than "time\s+stamp", so we do, too.
 bad_xref_re_ ?= (?:[\w,:;] +|(?:see|also)\s+)\@xref\{
 bad_pxref_re_ ?= (?:[.!?]|(?:see|also))\s+\@pxref\{
 prohibit_undesirable_word_seq_RE_ ?=                                   \
-  /(?:\bcan\s+not\b|$(bad_xref_re_)|$(bad_pxref_re_))/gims
+  /(?:\bcan\s+not\b|\btime\s+stamps?\b|$(bad_xref_re_)|$(bad_pxref_re_))/gims
 prohibit_undesirable_word_seq_ =                                       \
     -e 'while ($(prohibit_undesirable_word_seq_RE_))'                  \
     $(perl_filename_lineno_text_)
@@ -996,10 +1072,20 @@ prohibit_undesirable_word_seq_ =                                 \
 ignore_undesirable_word_sequence_RE_ ?= ^$$
 
 sc_prohibit_undesirable_word_seq:
-       @perl -n -0777 $(prohibit_undesirable_word_seq_)                \
-            $$($(VC_LIST_EXCEPT))                                      \
-         | grep -vE '$(ignore_undesirable_word_sequence_RE_)' | grep . \
-         && { echo '$(ME): undesirable word sequence' >&2; exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs perl -n -0777 $(prohibit_undesirable_word_seq_)       \
+         | $(GREP) -vE '$(ignore_undesirable_word_sequence_RE_)'       \
+         | $(GREP) .                                                   \
+         && { echo '$(ME): undesirable word sequence' >&2; exit 1; }   \
+         || :
+
+# Except for shell files and for loops, double semicolon is probably a mistake
+sc_prohibit_double_semicolon:
+       @prohibit='; *;[        {} \]*(/[/*]|$$)'                       \
+       in_vc_files='\.[chly]$$'                                        \
+       exclude='\bfor *\(.*\)'                                         \
+       halt="Double semicolon detected"                                \
+         $(_sc_search_regexp)
 
 _ptm1 = use "test C1 && test C2", not "test C1 -''a C2"
 _ptm2 = use "test C1 || test C2", not "test C1 -''o C2"
@@ -1023,7 +1109,8 @@ sc_prohibit_test_double_equal:
 # definition of LDADD from the appropriate Makefile.am and exits 0
 # when it contains "ICONV".
 sc_proper_name_utf8_requires_ICONV:
-       @progs=$$(grep -l 'proper_name_utf8 ''("' $$($(VC_LIST_EXCEPT)));\
+       @progs=$$($(VC_LIST_EXCEPT)                                     \
+                   | xargs $(GREP) -l 'proper_name_utf8 ''("');        \
        if test "x$$progs" != x; then                                   \
          fail=0;                                                       \
          for p in $$progs; do                                          \
@@ -1032,7 +1119,7 @@ sc_proper_name_utf8_requires_ICONV:
              -ne 'exit !(/^LDADD =(.+?[^\\]\n)/ms && $$1 =~ /ICONV/)'  \
              $$dir/Makefile.am && continue;                            \
            base=$$(basename "$$p" .c);                                 \
-           grep "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null \
+           $(GREP) "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null      \
              || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \
          done;                                                         \
          test $$fail = 1 &&                                            \
@@ -1093,12 +1180,12 @@ sc_makefile_at_at_check:
           -e ' && !/(\w+)\s+=.*\@\1\@$$/'                              \
           -e ''$(_makefile_at_at_check_exceptions)                     \
          -e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}'    \
-           $$($(VC_LIST_EXCEPT) | grep -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \
+           $$($(VC_LIST_EXCEPT) | $(GREP) -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \
          && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || :
 
 news-check: NEWS
        $(AM_V_GEN)if $(SED) -n $(news-check-lines-spec)p $<            \
-           | grep -E $(news-check-regexp) >/dev/null; then             \
+           | $(GREP) -E $(news-check-regexp) >/dev/null; then          \
          :;                                                            \
        else                                                            \
          echo 'NEWS: $$(news-check-regexp) failed to match' 1>&2;      \
@@ -1121,6 +1208,21 @@ fix_po_file_diag = \
 'you have changed the set of files with translatable diagnostics;\n\
 apply the above patch\n'
 
+# Generate a list of files in which to search for translatable strings.
+perl_translatable_files_list_ =                                                \
+  -e 'foreach $$file (@ARGV) {'                                                \
+  -e ' \# Consider only file extensions with one or two letters'       \
+  -e ' $$file =~ /\...?$$/ or next;'                                   \
+  -e ' \# Ignore m4 and mk files'                                      \
+  -e ' $$file =~ /\.m[4k]$$/ and next;'                                \
+  -e ' \# Ignore a .c or .h file with a corresponding .l or .y file'   \
+  -e ' $$file =~ /(.+)\.[ch]$$/ && (-e "$${1}.l" || -e "$${1}.y")'     \
+  -e '   and next;'                                                    \
+  -e ' \# Skip unreadable files'                                       \
+  -e ' -r $$file or next;'                                             \
+  -e ' print "$$file ";'                                               \
+  -e '}'
+
 # Verify that all source files using _() (more specifically, files that
 # match $(_gl_translatable_string_re)) are listed in po/POTFILES.in.
 po_file ?= $(srcdir)/po/POTFILES.in
@@ -1128,25 +1230,13 @@ generated_files ?= $(srcdir)/lib/*.[ch]
 _gl_translatable_string_re ?= \b(N?_|gettext *)\([^)"]*("|$$)
 sc_po_check:
        @if test -f $(po_file); then                                    \
-         grep -E -v '^(#|$$)' $(po_file)                               \
-           | grep -v '^src/false\.c$$' | sort > $@-1;                  \
-         files=;                                                       \
-         for file in $$($(VC_LIST_EXCEPT)) $(generated_files); do      \
-           test -r $$file || continue;                                 \
-           case $$file in                                              \
-             *.m4|*.mk) continue ;;                                    \
-             *.?|*.??) ;;                                              \
-             *) continue;;                                             \
-           esac;                                                       \
-           case $$file in                                              \
-           *.[ch])                                                     \
-             base=`expr " $$file" : ' \(.*\)\..'`;                     \
-             { test -f $$base.l || test -f $$base.y; } && continue;;   \
-           esac;                                                       \
-           files="$$files $$file";                                     \
-         done;                                                         \
-         grep -E -l '$(_gl_translatable_string_re)' $$files            \
-           | $(SED) 's|^$(_dot_escaped_srcdir)/||' | sort -u > $@-2;   \
+         $(GREP) -E -v '^(#|$$)' $(po_file)                            \
+           | $(GREP) -v '^src/false\.c$$' | sort > $@-1;               \
+         { $(VC_LIST_EXCEPT); echo $(generated_files); }               \
+           | xargs perl $(perl_translatable_files_list_)               \
+           | xargs $(GREP) -E -l '$(_gl_translatable_string_re)'       \
+           | $(SED) 's|^$(_dot_escaped_srcdir)/||'                     \
+           | sort -u > $@-2;                                           \
          diff -u -L $(po_file) -L $(po_file) $@-1 $@-2                 \
            || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; };   \
          rm -f $@-1 $@-2;                                              \
@@ -1210,18 +1300,21 @@ _hv_regex_weak ?= ^ *\. .*/init\.sh"
 _hv_regex_strong ?= ^ *\. "\$${srcdir=\.}/init\.sh"
 sc_cross_check_PATH_usage_in_tests:
        @if test -f $(_hv_file); then                                   \
-         grep -l 'VERSION mismatch' $(_hv_file) >/dev/null             \
+         $(GREP) -l 'VERSION mismatch' $(_hv_file) >/dev/null          \
            || { echo "$@: skipped: no such file: $(_hv_file)" 1>&2;    \
                 exit 0; };                                             \
-         grep -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null         \
+         $(GREP) -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null      \
            || { echo "$@: $(_hv_file) lacks conforming use of init.sh" 1>&2; \
                 exit 1; };                                             \
-         good=$$(grep -E '$(_hv_regex_strong)' $(_hv_file));           \
-         grep -LFx "$$good"                                            \
-               $$(grep -lE '$(_hv_regex_weak)' $$($(VC_LIST_EXCEPT)))  \
-             | grep . &&                                               \
-           { echo "$(ME): the above files use path_prepend_ inconsistently" \
-               1>&2; exit 1; } || :;                                   \
+         good=$$($(GREP) -E '$(_hv_regex_strong)' $(_hv_file));        \
+         $(VC_LIST_EXCEPT)                                             \
+           | xargs $(GREP) -lE '$(_hv_regex_weak)'                     \
+           | xargs $(GREP) -LFx "$$good"                               \
+           | $(GREP) .                                                 \
+           && { printf "$(ME): the above files use"                    \
+                       " path_prepend_ inconsistently\n" 1>&2;         \
+                exit 1; }                                              \
+           || :;                                                       \
        fi
 
 # BRE regex of file contents to identify a test script.
@@ -1258,7 +1351,7 @@ sc_vulnerable_makefile_CVE-2009-4029:
        halt=$$(printf '%s\n'                                           \
          'the above files are vulnerable; beware of running'           \
          '  "make dist*" rules, and upgrade to fixed automake'         \
-         '  see http://bugzilla.redhat.com/542609 for details')        \
+         '  see https://bugzilla.redhat.com/show_bug.cgi?id=542609 for details') \
          $(_sc_search_regexp)
 
 sc_vulnerable_makefile_CVE-2012-3386:
@@ -1267,7 +1360,7 @@ sc_vulnerable_makefile_CVE-2012-3386:
        halt=$$(printf '%s\n'                                           \
          'the above files are vulnerable; beware of running'           \
          '  "make distcheck", and upgrade to fixed automake'           \
-         '  see http://bugzilla.redhat.com/CVE-2012-3386 for details') \
+         '  see https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2012-3386 for details') \
          $(_sc_search_regexp)
 
 vc-diff-check:
@@ -1282,7 +1375,6 @@ vc-diff-check:
 
 rel-files = $(DIST_ARCHIVES)
 
-gnulib_dir ?= $(srcdir)/gnulib
 gnulib-version = $$(cd $(gnulib_dir)                           \
                     && { git describe || git rev-parse --short=10 HEAD; } )
 bootstrap-tools ?= autoconf,automake,gnulib
@@ -1294,7 +1386,7 @@ gpg_key_ID ?=                                                             \
   $$(cd $(srcdir)                                                      \
      && git cat-file tag v$(VERSION)                                   \
         | $(gpgv) --status-fd 1 --keyring /dev/null - - 2>/dev/null    \
-        | awk '/^\[GNUPG:\] ERRSIG / {print $$3; exit}')
+        | $(AWK) '/^\[GNUPG:\] ERRSIG / {print $$3; exit}')
 
 translation_project_ ?= coordinator@translationproject.org
 
@@ -1343,8 +1435,8 @@ release-commit:
 ## Updating files.  ##
 ## ---------------- ##
 
-ftp-gnu = ftp://ftp.gnu.org/gnu
-www-gnu = http://www.gnu.org
+ftp-gnu = https://ftp.gnu.org/gnu
+www-gnu = https://www.gnu.org
 
 upload_dest_dir_ ?= $(PACKAGE)
 upload_command =                                               \
@@ -1415,7 +1507,7 @@ check: $(gl_public_submodule_commit)
 ALL_RECURSIVE_TARGETS += alpha beta stable
 alpha beta stable: $(local-check) writable-files $(submodule-checks)
        $(AM_V_GEN)test $@ = stable                                     \
-         && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$'         \
+         && { echo $(VERSION) | $(GREP) -E '^[0-9]+(\.[0-9]+)+$$'      \
               || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
          || :
        $(AM_V_at)$(MAKE) vc-diff-check
@@ -1492,7 +1584,10 @@ gen-coverage:
                --highlight --frames --legend \
                --title "$(PACKAGE_NAME)"
 
-coverage: init-coverage build-coverage gen-coverage
+coverage:
+       $(MAKE) init-coverage
+       $(MAKE) build-coverage
+       $(MAKE) gen-coverage
 
 # Some projects carry local adjustments for gnulib modules via patches in
 # a gnulib patch directory whose default name is gl/ (defined in bootstrap
@@ -1510,7 +1605,7 @@ refresh-gnulib-patches:
               -e 'END{defined $$d and print $$d}' bootstrap.conf);     \
          test -n "$$t" && gl=$$t;                                      \
        fi;                                                             \
-       for diff in $$(cd $$gl; git ls-files | grep '\.diff$$'); do     \
+       for diff in $$(cd $$gl; git ls-files | $(GREP) '\.diff$$'); do  \
          b=$$(printf %s "$$diff"|$(SED) 's/\.diff$$//');               \
          VERSION_CONTROL=none                                          \
            patch "$(gnulib_dir)/$$b" "$$gl/$$diff" || exit 1;          \
@@ -1522,7 +1617,7 @@ refresh-gnulib-patches:
 # Update gettext files.
 PACKAGE ?= $(shell basename $(PWD))
 PO_DOMAIN ?= $(PACKAGE)
-POURL = http://translationproject.org/latest/$(PO_DOMAIN)/
+POURL = https://translationproject.org/latest/$(PO_DOMAIN)/
 PODIR ?= po
 refresh-po:
        rm -f $(PODIR)/*.po && \
@@ -1553,7 +1648,7 @@ update-copyright-env ?=
 # in the file .x-update-copyright.
 .PHONY: update-copyright
 update-copyright:
-       $(AM_V_GEN)grep -l -w Copyright                                  \
+       $(AM_V_GEN)$(GREP) -l -w Copyright                               \
          $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \
          | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@
 
@@ -1567,9 +1662,9 @@ _gl_TS_dir ?= src
 ALL_RECURSIVE_TARGETS += sc_tight_scope
 sc_tight_scope: tight-scope.mk
        @fail=0;                                                        \
-       if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk        \
+       if ! $(GREP) '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk     \
                > /dev/null                                             \
-          && ! grep -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \
+          && ! $(GREP) -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \
                > /dev/null 2>&1; then                                  \
            echo '$(ME): skipping $@';                                  \
        else                                                            \
@@ -1597,7 +1692,7 @@ ifeq (a,b)
 # do not need to be marked.  Symbols matching '__.*' are
 # reserved by the compiler, so are automatically excluded below.
 _gl_TS_unmarked_extern_functions ?= main usage
-_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/
+_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\w+) *\(/
 
 # If your project uses a macro like "XTERN", then put
 # the following in cfg.mk to override this default:
@@ -1630,6 +1725,7 @@ _gl_TS_other_headers ?= *.h
 
 .PHONY: _gl_tight_scope
 _gl_tight_scope: $(bin_PROGRAMS)
+       sed_wrap='s/^/^_?/;s/$$/$$/';                                   \
        t=exceptions-$$$$;                                              \
        trap 's=$$?; rm -f $$t; exit $$s' 0;                            \
        for sig in 1 2 3 13 15; do                                      \
@@ -1639,21 +1735,21 @@ _gl_tight_scope: $(bin_PROGRAMS)
               test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`;   \
        hdr=`for f in $(_gl_TS_headers); do                             \
               test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`;   \
-       ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_functions);  \
-         grep -h -A1 '^extern .*[^;]$$' $$src                          \
-           | grep -vE '^(extern |--)' | $(SED) 's/ .*//';              \
+       ( printf '%s\n' '__.*' $(_gl_TS_unmarked_extern_functions);     \
+         $(GREP) -h -A1 '^extern .*[^;]$$' $$src                       \
+           | $(GREP) -vE '^(extern |--|#)' | $(SED) 's/ .*//; /^$$/d'; \
          perl -lne                                                     \
-            '$(_gl_TS_function_match) and print "^$$1\$$"' $$hdr;      \
-       ) | sort -u > $$t;                                              \
-       nm -e $(_gl_TS_obj_files)|$(SED) -n 's/.* T //p'|grep -Ev -f $$t \
+            '$(_gl_TS_function_match) and print $$1' $$hdr;            \
+       ) | sort -u | $(SED) "$$sed_wrap" > $$t;                        \
+       nm -g $(_gl_TS_obj_files)|$(SED) -n 's/.* T //p'|$(GREP) -Ev -f $$t \
          && { echo the above functions should have static scope >&2;   \
               exit 1; } || : ;                                         \
-       ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_vars);       \
-         perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"'           \
+       ( printf '%s\n' '__.*' main $(_gl_TS_unmarked_extern_vars);     \
+         perl -lne '$(_gl_TS_var_match) and print $$1'                 \
                $$hdr $(_gl_TS_other_headers)                           \
-       ) | sort -u > $$t;                                              \
-       nm -e $(_gl_TS_obj_files) | $(SED) -n 's/.* [BCDGRS] //p'       \
-            | sort -u | grep -Ev -f $$t                                        \
+       ) | sort -u | $(SED) "$$sed_wrap" > $$t;                        \
+       nm -g $(_gl_TS_obj_files) | $(SED) -n 's/.* [BCDGRS] //p'       \
+            | sort -u | $(GREP) -Ev -f $$t                             \
          && { echo the above variables should have static scope >&2;   \
               exit 1; } || :
 # TS-end
index 2eaafe32f4af3948403b1ab4c73a0db6b4e3ff29..6904e1e20416eab66854489b60b9312e82ee4511 100644 (file)
@@ -12,7 +12,7 @@
 
 Summary:   The GNU disk partition manipulation program
 Name:      parted
-Version:   3.2
+Version:   3.2.153.3-5236
 Release:   1
 Source:    ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.bz2
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -60,8 +60,7 @@ Parted library, you need to install this package.
 %endif
    --enable-part-static \
    --enable-pc98=no \
-   --enable-Werror=no \
-   --disable-dynamic-loading
+   --enable-Werror=no
 %{__make} %{?_smp_mflags}
 
 %install
index cd5a99a06ca33bf9a78ebb7bc266a5bcd2414426..bdbe21890aea3b35dce3a693ccbe758f4bad2296 100644 (file)
@@ -60,8 +60,7 @@ Parted library, you need to install this package.
 %endif
    --enable-part-static \
    --enable-pc98=no \
-   --enable-Werror=no \
-   --disable-dynamic-loading
+   --enable-Werror=no
 %{__make} %{?_smp_mflags}
 
 %install
index 183db2635c186dc0c74b95c574585e509a1d5a7d..178723fd3e6b4f00efac8befeb2838b8f8b84969 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,79 +90,101 @@ build_triplet = @build@
 host_triplet = @host@
 sbin_PROGRAMS = parted$(EXEEXT)
 subdir = parted
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(top_srcdir)/build-aux/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -162,10 +194,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(sbindir)"
+PROGRAMS = $(sbin_PROGRAMS)
 LIBRARIES = $(noinst_LIBRARIES)
 AM_V_AR = $(am__v_AR_@AM_V@)
 am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
@@ -175,8 +210,6 @@ libver_a_AR = $(AR) $(ARFLAGS)
 libver_a_LIBADD =
 nodist_libver_a_OBJECTS = version.$(OBJEXT)
 libver_a_OBJECTS = $(nodist_libver_a_OBJECTS)
-am__installdirs = "$(DESTDIR)$(sbindir)"
-PROGRAMS = $(sbin_PROGRAMS)
 am_parted_OBJECTS = command.$(OBJEXT) parted.$(OBJEXT) \
        strlist.$(OBJEXT) ui.$(OBJEXT) table.$(OBJEXT)
 parted_OBJECTS = $(am_parted_OBJECTS)
@@ -205,7 +238,10 @@ am__v_at_0 = @
 am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/command.Po ./$(DEPDIR)/parted.Po \
+       ./$(DEPDIR)/strlist.Po ./$(DEPDIR)/table.Po ./$(DEPDIR)/ui.Po \
+       ./$(DEPDIR)/version.Po
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -251,6 +287,8 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -283,11 +321,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -302,18 +338,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -321,6 +364,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -366,6 +410,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -374,14 +422,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -427,6 +482,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -436,6 +493,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -443,26 +510,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -474,6 +556,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -485,6 +568,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -494,9 +578,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -526,6 +613,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -554,10 +642,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -568,17 +662,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -588,6 +687,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -598,6 +698,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -607,6 +708,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -619,13 +721,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -637,12 +744,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -657,6 +766,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -665,25 +776,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -694,20 +877,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -729,6 +925,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -754,12 +951,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -776,13 +975,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -796,52 +999,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -876,16 +1102,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -894,6 +1121,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -911,8 +1139,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -940,6 +1173,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -949,21 +1183,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -976,6 +1270,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -984,14 +1279,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -1004,6 +1303,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1017,16 +1317,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1034,9 +1338,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1148,14 +1453,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu parted/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu parted/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1166,14 +1470,6 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
-
-clean-noinstLIBRARIES:
-       -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-
-libver.a: $(libver_a_OBJECTS) $(libver_a_DEPENDENCIES) $(EXTRA_libver_a_DEPENDENCIES) 
-       $(AM_V_at)-rm -f libver.a
-       $(AM_V_AR)$(libver_a_AR) libver.a $(libver_a_OBJECTS) $(libver_a_LIBADD)
-       $(AM_V_at)$(RANLIB) libver.a
 install-sbinPROGRAMS: $(sbin_PROGRAMS)
        @$(NORMAL_INSTALL)
        @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
@@ -1224,6 +1520,14 @@ clean-sbinPROGRAMS:
        echo " rm -f" $$list; \
        rm -f $$list
 
+clean-noinstLIBRARIES:
+       -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+libver.a: $(libver_a_OBJECTS) $(libver_a_DEPENDENCIES) $(EXTRA_libver_a_DEPENDENCIES) 
+       $(AM_V_at)-rm -f libver.a
+       $(AM_V_AR)$(libver_a_AR) libver.a $(libver_a_OBJECTS) $(libver_a_LIBADD)
+       $(AM_V_at)$(RANLIB) libver.a
+
 parted$(EXEEXT): $(parted_OBJECTS) $(parted_DEPENDENCIES) $(EXTRA_parted_DEPENDENCIES) 
        @rm -f parted$(EXEEXT)
        $(AM_V_CCLD)$(parted_LINK) $(parted_OBJECTS) $(parted_LDADD) $(LIBS)
@@ -1234,12 +1538,18 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/command.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parted.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strlist.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/table.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/command.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parted.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strlist.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/table.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -1323,7 +1633,10 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1356,7 +1669,7 @@ distdir: $(DISTFILES)
 check-am: all-am
 check: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(LIBRARIES) $(PROGRAMS)
+all-am: Makefile $(PROGRAMS) $(LIBRARIES)
 installdirs:
        for dir in "$(DESTDIR)$(sbindir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
@@ -1401,7 +1714,12 @@ clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
        clean-sbinPROGRAMS mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/command.Po
+       -rm -f ./$(DEPDIR)/parted.Po
+       -rm -f ./$(DEPDIR)/strlist.Po
+       -rm -f ./$(DEPDIR)/table.Po
+       -rm -f ./$(DEPDIR)/ui.Po
+       -rm -f ./$(DEPDIR)/version.Po
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -1447,7 +1765,12 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/command.Po
+       -rm -f ./$(DEPDIR)/parted.Po
+       -rm -f ./$(DEPDIR)/strlist.Po
+       -rm -f ./$(DEPDIR)/table.Po
+       -rm -f ./$(DEPDIR)/ui.Po
+       -rm -f ./$(DEPDIR)/version.Po
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1468,20 +1791,22 @@ uninstall-am: uninstall-sbinPROGRAMS
 
 .MAKE: all check install install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
-       clean-libtool clean-noinstLIBRARIES clean-sbinPROGRAMS \
-       cscopelist-am ctags ctags-am distclean distclean-compile \
-       distclean-generic distclean-libtool distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-sbinPROGRAMS \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
-       uninstall-sbinPROGRAMS
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+       clean-generic clean-libtool clean-noinstLIBRARIES \
+       clean-sbinPROGRAMS cscopelist-am ctags ctags-am distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-sbinPROGRAMS install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags tags-am uninstall uninstall-am uninstall-sbinPROGRAMS
+
+.PRECIOUS: Makefile
 
 version.c: Makefile
        $(AM_V_GEN)rm -f $@
index bc70e8ac7f42703f72caf689429afc0d0cc93646..5014d71ed5f7d1bf822a63786adc53dc6237be44 100644 (file)
@@ -1,6 +1,7 @@
 /*
     parted - a frontend to libparted
-    Copyright (C) 1999-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2000, 2007, 2009-2014, 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
index 28c3f8ef0a966fe6b353eb981d6ed1eee0990cbd..fa78ae4adb2aae07ecec33aeb40235ca58758f3a 100644 (file)
@@ -1,6 +1,7 @@
 /*
     parted - a frontend to libparted
-    Copyright (C) 1999-2000, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2000, 2007, 2009-2014, 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
index f27a035806bc8aefa3b739852a936f014407fa2e..9dcdb0539cbe581f00db609167fc0aa550695530 100644 (file)
@@ -1,6 +1,6 @@
 /*
     parted - a frontend to libparted
-    Copyright (C) 1999-2003, 2005-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2003, 2005-2014, 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
@@ -183,7 +183,8 @@ static TimerContext timer_context;
 static int _print_list ();
 static void _done (PedDevice* dev, PedDisk *diskp);
 static bool partition_align_check (PedDisk const *disk,
-                        PedPartition const *part, enum AlignmentType a_type);
+                        PedPartition const *part, enum AlignmentType a_type,
+                        char **align_err);
 
 static void
 _timer_handler (PedTimer* timer, void* context)
@@ -681,14 +682,15 @@ do_mkpart (PedDevice** dev, PedDisk** diskp)
 
         peek_word = command_line_peek_word ();
         if (part_type == PED_PARTITION_EXTENDED
-            || (peek_word && isdigit (peek_word[0]))) {
+            || (peek_word && (isdigit (peek_word[0]) || peek_word[0] == '-'))) {
                 fs_type = NULL;
+                free (peek_word);
         } else {
+                free (peek_word);
                 if (!command_line_get_fs_type (_("File system type?"),
                                                &fs_type))
                         goto error;
         }
-        free (peek_word);
 
         if (!command_line_get_sector (_("Start?"), *dev, &start, &range_start, NULL))
                 goto error;
@@ -741,7 +743,7 @@ do_mkpart (PedDevice** dev, PedDisk** diskp)
                 ped_constraint_destroy (constraint_any);
 
                 if (!added_ok)
-                        goto error_remove_part;
+                        goto error_destroy_simple_constraints;
 
                 if (!ped_geometry_test_sector_inside(range_start, part->geom.start) ||
                     !ped_geometry_test_sector_inside(range_end, part->geom.end)) {
@@ -783,21 +785,25 @@ do_mkpart (PedDevice** dev, PedDisk** diskp)
                         }
                 }
 
+                char *align_err = NULL;
                 if ((alignment == ALIGNMENT_OPTIMAL &&
-                     !partition_align_check(disk, part, PA_OPTIMUM)) ||
+                     !partition_align_check(disk, part, PA_OPTIMUM, &align_err)) ||
                     (alignment == ALIGNMENT_MINIMAL &&
-                     !partition_align_check(disk, part, PA_MINIMUM))) {
+                     !partition_align_check(disk, part, PA_MINIMUM, &align_err))) {
                         if (ped_exception_throw(
                                 PED_EXCEPTION_WARNING,
                                 (opt_script_mode
                                  ? PED_EXCEPTION_OK
                                  : PED_EXCEPTION_IGNORE_CANCEL),
                                 _("The resulting partition is not properly "
-                                  "aligned for best performance.")) ==
+                                  "aligned for best performance: %s"),
+                                align_err ? align_err : _("unknown (malloc failed)")) ==
                             PED_EXCEPTION_CANCEL) {
+                                free(align_err);
                                 /* undo partition addition */
                                 goto error_remove_part;
                         }
+                        free(align_err);
                 }
         } else {
                 ped_exception_leave_all();
@@ -806,16 +812,18 @@ do_mkpart (PedDevice** dev, PedDisk** diskp)
 
         /* set minor attributes */
         if (part_name)
-                PED_ASSERT (ped_partition_set_name (part, part_name));
+            if (!ped_partition_set_name (part, part_name))
+                goto error_remove_part;
         free (part_name);  /* avoid double-free upon failure */
         part_name = NULL;
+
         if (!ped_partition_set_system (part, fs_type))
-                goto error;
+                goto error_remove_part;
         if (ped_partition_is_flag_available (part, PED_PARTITION_LBA))
                 ped_partition_set_flag (part, PED_PARTITION_LBA, 1);
 
         if (!ped_disk_commit (disk))
-                goto error;
+                goto error_remove_part;
 
         /* clean up */
         if (range_start != NULL)
@@ -860,8 +868,15 @@ do_name (PedDevice** dev, PedDisk** diskp)
 
         if (!*diskp)
                 *diskp = ped_disk_new (*dev);
-        if (!diskp)
+        if (!*diskp)
+                goto error;
+
+        if (!ped_disk_type_check_feature((*diskp)->type, PED_DISK_TYPE_PARTITION_NAME)) {
+                ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL,
+                                     _("%s disk labels do not support partition name."),
+                                    (*diskp)->type->name);
                 goto error;
+        }
 
         if (!command_line_get_partition (_("Partition number?"), *diskp, &part))
                 goto error;
@@ -972,7 +987,8 @@ _print_disk_info (const PedDevice *dev, const PedDisk *diskp)
                                          "cpqarray", "file", "ataraid", "i2o",
                                          "ubd", "dasd", "viodasd", "sx8", "dm",
                                          "xvd", "sd/mmc", "virtblk", "aoe",
-                                         "md", "loopback"};
+                                         "md", "loopback", "nvme", "brd",
+                                         "pmem"};
 
         char* start = ped_unit_format (dev, 0);
         PedUnit default_unit = ped_unit_get_default ();
@@ -1084,6 +1100,7 @@ do_print (PedDevice** dev, PedDisk** diskp)
         if (has_devices_arg) {
                 char*           dev_name;
                 PedDevice*      current_dev = NULL;
+                int             status = 0;
 
                 ped_device_probe_all();
 
@@ -1099,14 +1116,11 @@ do_print (PedDevice** dev, PedDisk** diskp)
                 ped_device_free_all ();
 
                 *dev = ped_device_get (dev_name);
-                if (!*dev)
-                       return 0;
-                if (!ped_device_open (*dev))
-                        return 0;
-
+                if (*dev && ped_device_open (*dev))
+                    status = 1;
                 free (dev_name);
 
-                return 1;
+                return status;
         }
 
         else if (has_list_arg)
@@ -1269,7 +1283,7 @@ do_print (PedDevice** dev, PedDisk** diskp)
                         putchar (':');
 
                     if (has_name)
-                        printf ("%s:", _(ped_partition_get_name (part)));
+                        printf ("%s:", ped_partition_get_name (part));
                     else
                         putchar (':');
 
@@ -1382,8 +1396,12 @@ _rescue_add_partition (PedPartition* part)
                 default: break;
         }
 
-        ped_partition_set_system (part, fs_type);
-        ped_disk_commit (part->disk);
+        if (!ped_partition_set_system (part, fs_type))
+                return 0;
+
+        if (!ped_disk_commit (part->disk))
+                return 0;
+
         return 1;
 }
 
@@ -1472,6 +1490,10 @@ do_rescue (PedDevice** dev, PedDisk** diskp)
         disk = ped_disk_new (*dev);
         if (!disk)
                 goto error;
+        if (ped_disk_is_flag_available(disk, PED_DISK_CYLINDER_ALIGNMENT))
+                if (!ped_disk_set_flag(disk, PED_DISK_CYLINDER_ALIGNMENT,
+                                       0))
+                        goto error;
 
         if (!command_line_get_sector (_("Start?"), *dev, &start, NULL, NULL))
                 goto error_destroy_disk;
@@ -1543,8 +1565,11 @@ do_resizepart (PedDevice** dev, PedDisk** diskp)
 
         start = part->geom.start;
         end = oldend = part->geom.end;
-        if (!command_line_get_sector (_("End?"), *dev, &end, &range_end, NULL))
+        char *end_input;
+        if (!command_line_get_sector (_("End?"), *dev, &end, &range_end, &end_input))
                 goto error;
+        _adjust_end_if_iec(&start, &end, range_end, end_input);
+        free(end_input);
         /* Do not move start of the partition */
         constraint = constraint_from_start_end_fixed_start (*dev, start, range_end);
         if (!ped_disk_set_partition_geom (disk, part, constraint,
@@ -1589,8 +1614,10 @@ do_rm (PedDevice** dev, PedDisk** diskp)
         if (!_partition_warn_busy (part))
                 goto error;
 
-        ped_disk_delete_partition (*diskp, part);
-        ped_disk_commit (*diskp);
+        if (!ped_disk_delete_partition (*diskp, part))
+                goto error;
+        if (!ped_disk_commit (*diskp))
+                goto error;
 
         if ((*dev)->type != PED_DEVICE_FILE)
                 disk_is_modified = 1;
@@ -1625,10 +1652,18 @@ do_select (PedDevice** dev, PedDisk** diskp)
    offset and alignment requirements.  Also return true if there is
    insufficient kernel support to determine DISK's alignment requirements.
    Otherwise, return false.  A_TYPE selects whether to check for minimal
-   or optimal alignment requirements.  */
+   or optimal alignment requirements.
+
+   If align_err is not NULL a string describing why the check failed
+   will be allocated and returned. It is up to the caller to free this.
+   Pass NULL if no error description is needed.
+
+   If allocating the error string fails *align_err will be set to NULL, the
+   caller should always check for this.
+*/
 static bool
 partition_align_check (PedDisk const *disk, PedPartition const *part,
-                      enum AlignmentType a_type)
+                      enum AlignmentType a_type, char **align_err)
 {
   PED_ASSERT (part->disk == disk);
   PedDevice const *dev = disk->dev;
@@ -1637,10 +1672,20 @@ partition_align_check (PedDisk const *disk, PedPartition const *part,
                      ? ped_device_get_minimum_alignment (dev)
                      : ped_device_get_optimum_alignment (dev));
   if (pa == NULL)
-    return true;
+      return true;
 
   PED_ASSERT (pa->grain_size != 0);
   bool ok = (part->geom.start % pa->grain_size == pa->offset);
+
+  /* If it isn't aligned and the caller wants an explanation,
+     show them the math.  */
+  if (!ok && align_err) {
+      if (asprintf(align_err,
+                   "%llds %% %llds != %llds",
+                   part->geom.start, pa->grain_size, pa->offset) < 0) {
+          *align_err = NULL;
+      }
+  }
   free (pa);
   return ok;
 }
@@ -1661,12 +1706,23 @@ do_align_check (PedDevice **dev, PedDisk** diskp)
   if (!command_line_get_partition (_("Partition number?"), *diskp, &part))
     goto error;
 
-  bool aligned = partition_align_check (*diskp, part, align_type);
-  if (!opt_script_mode)
-    printf(aligned ? _("%d aligned\n") : _("%d not aligned\n"), part->num);
+  char *align_err = NULL;
+  bool aligned = partition_align_check (*diskp, part, align_type, &align_err);
+
+  /* Don't print the error in script mode */
+  if (opt_script_mode) {
+      free(align_err);
+      return aligned ? 1 : 0;
+  }
 
-  if (opt_script_mode)
-    return aligned ? 1 : 0;
+  if (aligned)
+      printf(_("%d aligned\n"), part->num);
+  else
+      printf(_("%d not aligned: %s\n"),
+             part->num,
+             align_err ? align_err : _("unknown (malloc failed)"));
+
+  free(align_err);
 
   /* Always return 1 in interactive mode, to be consistent
      with the other modes.  */
@@ -1684,7 +1740,7 @@ do_disk_set (PedDevice** dev, PedDisk** diskp)
 
     if (!*diskp)
             *diskp = ped_disk_new (*dev);
-    if (!diskp)
+    if (!*diskp)
         goto error;
 
     if (!command_line_get_disk_flag (_("Flag to Invert?"), *diskp, &flag))
@@ -1914,7 +1970,7 @@ _init_commands ()
                     do_align_check,
                     str_list_create (
                                      _("align-check TYPE N"
-                                       "                        "
+                                       "                       "
                                        "check partition N for"
                                        " TYPE(min|opt) alignment"), NULL),
 
index bca93665aa3a60a25e697b8311d382b2c68e4c66..7ed4e9e7653fc1ec53e52022dfecf63972c6f2d1 100644 (file)
@@ -1,6 +1,7 @@
 /*
     parted - a frontend to libparted
-    Copyright (C) 1999-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2001, 2007, 2009-2014, 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
index 1b67a5d0d64108d9f727db010246746d5e38b3b9..c5d8bb0a96d0bcd3d32c057efe1b50616725893f 100644 (file)
@@ -1,6 +1,7 @@
 /*
     parted - a frontend to libparted
-    Copyright (C) 1999-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2001, 2007, 2009-2014, 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
index b26de3fcc40860ab729235f5b2fa109bc0163318..21ebbb041191ecbd6fc618e0e728371e8d8e5788 100644 (file)
@@ -3,7 +3,7 @@
  */
 /*
     parted - a frontend to libparted
-    Copyright (C) 2006-2014 Free Software Foundation, Inc.
+    Copyright (C) 2006-2014, 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
index 0487559e1b2dd61bc2c25b76b133a48cfff8ff7a..3fe0794ccba96aa21fb07c0db9e81454556c7341 100644 (file)
@@ -1,6 +1,6 @@
 /*
     parted - a frontend to libparted
-    Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+    Copyright (C) 2006-2007, 2009-2014, 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
index 7365e7d4f60b2393fa4f51a846f8d717e57962b4..7b5374de6c4d7a538c0264481c22df42d62fe634 100644 (file)
@@ -1,6 +1,6 @@
 /*
     parted - a frontend to libparted
-    Copyright (C) 1999-2002, 2006-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2002, 2006-2014, 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
@@ -29,6 +29,8 @@
 #include <unistd.h>
 #include <setjmp.h>
 #include <assert.h>
+#include <limits.h>
+#include <errno.h>
 
 #include "command.h"
 #include "strlist.h"
@@ -726,7 +728,7 @@ command_line_push_line (const char* line, int multi_word)
                         line++;
 
                 i = 0;
-                for (; *line; line++) {
+                for (; *line && i < sizeof (this_word) - 1; line++) {
                         if (*line == ' ' && !quoted) {
                                 if (multi_word)
                                         break;
@@ -829,8 +831,11 @@ command_line_prompt_words (const char* prompt, const char* def,
         }
 
         if (opt_script_mode) {
-                if (_def)
+                if (_def) {
                         command_line_push_line (_def, 0);
+                        if (_def_needs_free)
+                                free (_def);
+                }
                 return;
         }
 
@@ -906,16 +911,30 @@ command_line_get_integer (const char* prompt, int* value)
 {
         char     def_str [10];
         char*    input;
-        int      valid;
+        long     ret;
 
         snprintf (def_str, 10, "%d", *value);
         input = command_line_get_word (prompt, *value ? def_str : NULL,
                                        NULL, 1);
         if (!input)
                 return 0;
-        valid = sscanf (input, "%d", value);
+
+        errno = 0;
+        ret = strtol (input, (char**) NULL, 10);
+        if (errno)
+                goto error;
+
+        if ((ret > INT_MAX) || (ret < INT_MIN))
+                goto error;
+        else
+                *value = (int) ret;
+
         free (input);
-        return valid;
+        return 1;
+
+error:
+        free (input);
+        return 0;
 }
 
 int
@@ -938,6 +957,7 @@ command_line_get_sector (const char* prompt, PedDevice* dev, PedSector* value,
                 if (range) {
                         *range = ped_geometry_new (dev, *value, 1);
                         free (def_str);
+                        free (input);
                         return *range != NULL;
                 }
 
@@ -1025,6 +1045,7 @@ command_line_get_partition (const char* prompt, PedDisk* disk,
                             PedPartition** value)
 {
         PedPartition*    part;
+        int ret;
 
         /* Flawed logic, doesn't seem to work?!
         check = ped_disk_next_partition (disk, part);
@@ -1041,7 +1062,8 @@ command_line_get_partition (const char* prompt, PedDisk* disk,
         */
         int num = (*value) ? (*value)->num : 0;
 
-        if (!command_line_get_integer (prompt, &num)) {
+        ret = command_line_get_integer (prompt, &num);
+        if ((!ret) || (num < 0)) {
                 ped_exception_throw (PED_EXCEPTION_ERROR,
                                      PED_EXCEPTION_CANCEL,
                                      _("Expecting a partition number."));
@@ -1128,7 +1150,14 @@ command_line_get_disk_flag (const char* prompt, const PedDisk* disk,
                         opts = str_list_append_unique (opts, _(walk_name));
                 }
         }
+        if (opts == NULL)
+        {
+                ped_exception_throw (PED_EXCEPTION_ERROR,
+                                     PED_EXCEPTION_OK,
+                                     _("No flags supported"));
 
+                return 0;
+        }
         flag_name = command_line_get_word (prompt, NULL, opts, 1);
         str_list_destroy (opts);
 
@@ -1157,7 +1186,14 @@ command_line_get_part_flag (const char* prompt, const PedPartition* part,
                         opts = str_list_append_unique (opts, _(walk_name));
                 }
         }
+        if (opts == NULL)
+        {
+                ped_exception_throw (PED_EXCEPTION_ERROR,
+                                     PED_EXCEPTION_OK,
+                                     _("No flags supported"));
 
+                return 0;
+        }
         flag_name = command_line_get_word (prompt, NULL, opts, 1);
         str_list_destroy (opts);
 
@@ -1266,6 +1302,7 @@ command_line_get_ex_opt (const char* prompt, PedExceptionOption options)
         PedExceptionOption    opt;
         char*                 opt_name;
 
+        command_line_flush ();
         for (opt = option_get_next (options, 0); opt;
              opt = option_get_next (options, opt)) {
                 options_strlist = str_list_append_unique (options_strlist,
@@ -1590,8 +1627,14 @@ interactive_mode (PedDevice** dev, PedDisk** disk, Command* cmd_list[])
                         cmd = command_get (commands, word);
                         free (word);
                         if (cmd) {
-                                if (!command_run (cmd, dev, disk))
+                                if (!command_run (cmd, dev, disk)) {
                                         command_line_flush ();
+
+                                        if (*disk) {
+                                                ped_disk_destroy (*disk);
+                                                *disk = 0;
+                                        }
+                                }
                         } else
                                 print_commands_help ();
                 }
index 5e4719b8ecd6fbc379c37e5346d2616df08c70af..6192ee512c0b58fde5ff62e65a5603ed1009377b 100644 (file)
@@ -1,6 +1,6 @@
 /*
     parted - a frontend to libparted
-    Copyright (C) 1999-2001, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2001, 2007-2014, 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
index ffc2f03ad8cbb49c532cc81349bcaa591c0d7359..57792b095ad99c7ca929e39d58f179f13fc863f8 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,79 +89,101 @@ build_triplet = @build@
 host_triplet = @host@
 sbin_PROGRAMS = partprobe$(EXEEXT)
 subdir = partprobe
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(top_srcdir)/build-aux/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -161,6 +193,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -194,7 +227,8 @@ am__v_at_0 = @
 am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/partprobe.Po
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -240,6 +274,8 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -272,11 +308,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -291,18 +325,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -310,6 +351,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -355,6 +397,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -363,14 +409,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -416,6 +469,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -425,6 +480,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -432,26 +497,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -463,6 +543,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -474,6 +555,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -483,9 +565,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -515,6 +600,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -543,10 +629,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -557,17 +649,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -577,6 +674,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -587,6 +685,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -596,6 +695,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -608,13 +708,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -626,12 +731,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -646,6 +753,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -654,25 +763,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -683,20 +864,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -718,6 +912,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -743,12 +938,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -765,13 +962,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -785,52 +986,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -865,16 +1089,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -883,6 +1108,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -900,8 +1126,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -929,6 +1160,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -938,21 +1170,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -965,6 +1257,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -973,14 +1266,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -993,6 +1290,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1006,16 +1304,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1023,9 +1325,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1119,14 +1422,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu partprobe/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu partprobe/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1197,7 +1499,13 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/partprobe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/partprobe.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -1281,7 +1589,10 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1354,7 +1665,7 @@ clean-am: clean-generic clean-libtool clean-sbinPROGRAMS \
        mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/partprobe.Po
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -1400,7 +1711,7 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/partprobe.Po
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1421,9 +1732,9 @@ uninstall-am: uninstall-sbinPROGRAMS
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
-       clean-libtool clean-sbinPROGRAMS cscopelist-am ctags ctags-am \
-       distclean distclean-compile distclean-generic \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+       clean-generic clean-libtool clean-sbinPROGRAMS cscopelist-am \
+       ctags ctags-am distclean distclean-compile distclean-generic \
        distclean-libtool distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-data \
        install-data-am install-dvi install-dvi-am install-exec \
@@ -1435,6 +1746,8 @@ uninstall-am: uninstall-sbinPROGRAMS
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags tags-am uninstall uninstall-am uninstall-sbinPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 34997fe9e482c69bfa2be70dd259bee8a0eec7dc..686d76c4c1121b0737a21a7d66468fd5c20d8ab2 100644 (file)
@@ -1,6 +1,6 @@
 /*
     partprobe - informs the OS kernel of partition layout
-    Copyright (C) 2001-2002, 2007-2014 Free Software Foundation, Inc.
+    Copyright (C) 2001-2002, 2007-2014, 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
@@ -105,6 +105,9 @@ process_dev (PedDevice* dev)
        PedDiskType*    disk_type;
        PedDisk*        disk;
 
+       if (!ped_device_open (dev))
+               return 0;
+
        disk_type = ped_disk_probe (dev);
        if (!disk_type) {
                /* Partition table not found, so create dummy,
@@ -128,11 +131,13 @@ process_dev (PedDevice* dev)
        if (opt_summary)
                summary (disk);
        ped_disk_destroy (disk);
+       ped_device_close (dev);
        return 1;
 
 error_destroy_disk:
        ped_disk_destroy (disk);
 error:
+       ped_device_close (dev);
        return 0;
 }
 
index cc94d1be24d3083e624b997eb145684f10d65f0b..7d370c9b0314de51ff57810f88b6ff7828920377 100644 (file)
@@ -4,10 +4,13 @@ da
 de
 es
 fr
+fur
 gl
+hu
 id
 it
 ja
+ko
 nl
 nn
 pl
index a8e59941b8f206b178d7153da4cd4f472130648f..166b6520e4ae2b3e46537b0c2314553165923d4b 100644 (file)
@@ -1,11 +1,12 @@
 # libparted
-# Copyright (C) 1999-2001, 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2006-2014, 2019 Free Software Foundation, Inc.
 # This file may be modified and/or copied without restriction.
 
 # list of files containing translatable strings
 
 # lib
 lib/argmatch.c
+lib/argmatch.h
 lib/closeout.c
 lib/error.c
 lib/getopt.c
@@ -27,6 +28,7 @@ libparted/debug.c
 libparted/disk.c
 libparted/exception.c
 libparted/labels/aix.c
+libparted/labels/atari.c
 libparted/labels/bsd.c
 libparted/labels/dasd.c
 libparted/labels/dos.c
index 57ba45c46404ecb7b721c11259c1d5c95fe49229..63db9e2f6653291f8e53d248e0733c607f4db75b 100644 (file)
Binary files a/po/ca.gmo and b/po/ca.gmo differ
index 86af570aad5b72485537908ddd4535601091ea15..dd8d40dc7f06b52aac78e8a7352833a30dc8ac1b 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 1.6.0\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2002-05-05 14:47+0100\n"
 "Last-Translator: Miquel Matas <miquelmatas@wanadoo.es>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -14,86 +14,67 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "X-Generator: KBabel 0.7\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr ""
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr ""
 
-#: lib/error.c:188
+#: lib/error.c:195
 #, fuzzy
 msgid "Unknown system error"
 msgstr "Tipus de sistema de fitxers desconegut \"%s\"."
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr ""
-
-#: lib/getopt.c:624 lib/getopt.c:628
+#: lib/getopt.c:278
 #, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous\n"
 msgstr ""
 
-#: lib/getopt.c:637 lib/getopt.c:642
+#: lib/getopt.c:284
 #, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr ""
 
-#: lib/getopt.c:685 lib/getopt.c:704
+#: lib/getopt.c:319
 #, c-format
-msgid "%s: option '--%s' requires an argument\n"
+msgid "%s: unrecognized option '%s%s'\n"
 msgstr ""
 
-#: lib/getopt.c:742 lib/getopt.c:745
+#: lib/getopt.c:345
 #, c-format
-msgid "%s: unrecognized option '--%s'\n"
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr ""
 
-#: lib/getopt.c:753 lib/getopt.c:756
+#: lib/getopt.c:360
 #, c-format
-msgid "%s: unrecognized option '%c%s'\n"
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr ""
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr ""
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr ""
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr ""
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -113,85 +94,85 @@ msgstr ""
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr ""
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr ""
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr ""
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr ""
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr ""
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr ""
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr ""
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr ""
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr ""
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr ""
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr ""
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr ""
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr ""
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr ""
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr ""
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr ""
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr ""
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr ""
 
@@ -215,12 +196,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -228,34 +209,33 @@ msgstr ""
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -263,7 +243,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -273,7 +253,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -283,7 +263,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -293,7 +273,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -303,7 +283,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -314,7 +294,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -325,7 +305,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -337,30 +317,24 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
+#: lib/version-etc.c:249
 #, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+msgid "Report bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: lib/version-etc.c:253
+#: lib/version-etc.c:260
 #, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 
 #: lib/xalloc-die.c:34
@@ -387,59 +361,59 @@ msgid "Disk Image"
 msgstr ""
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Error obrint %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "No s'ha pogut obrir %s lectura/escritura (%s). %s s'ha obert només lectura. "
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s mentre es preparava per llegir a %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s mentre s'estava llegint a %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "No s'ha pogut escriure a %s, ja que era obert per només lectura"
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s mentre es preparava per escruire a %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s mentre s'estava escrivint a %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr ""
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -449,13 +423,13 @@ msgid ""
 "  -v, --version    output version information and exit\n"
 msgstr ""
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -500,7 +474,7 @@ msgstr ""
 "de les modificacions fetes. S'ha de re-arrencar la màquina abans de fer res "
 "amb %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -513,45 +487,45 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s intentant de sincronitzar %s al dics"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Impossible d'inicialitzar el dispositiu %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, fuzzy, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "No s'ha pogut determinar la mida de %s (%s)"
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
 "Using the default sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
 "Using the logical sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, fuzzy, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "No s'ha pogut determinar la mida de %s (%s)"
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr ""
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "No s'ha pogut obtenir la identitat del dispositiu %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr ""
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -560,19 +534,19 @@ msgid ""
 "Please consult the web site for up-to-date information."
 msgstr ""
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Error inicialitzant el dispositiu SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
 "partition table.  Perhaps you selected the wrong device?"
 msgstr ""
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, fuzzy, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -581,87 +555,100 @@ msgstr ""
 "No s'ha pogut determinar la geometria del fitxer/dispositiu. No s'hauria de "
 "fer servir Parted EXCEPTE que se sàpiga el que s'està fent!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr ""
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Nou dispositiu?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Controlador RAID DAC960"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr ""
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr ""
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Controlador ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Controlador I20"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr ""
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 #, fuzzy
 msgid "Loopback device"
 msgstr "Dispositiu d'origen?"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr ""
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Desconegut"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Dispositiu no suportat"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, fuzzy, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Error obrint %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr ""
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, fuzzy, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -673,12 +660,12 @@ msgstr ""
 "reinicieu - per tant no podeu muntar-la o utilitzar-la en cap sentit abans "
 "d'inicialitzar la màquina. "
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, fuzzy, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "No s'ha pogut determinar la mida de %s (%s)"
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -687,36 +674,36 @@ msgid ""
 "making further changes."
 msgstr ""
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, fuzzy, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "No es pot acabar abans de començar!"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, fuzzy, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "S'ha intentat escriure sectors %ld-%ld fora de la partició a %s"
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "comprovant blocs errònis"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr ""
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr ""
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, fuzzy, c-format
 msgid "%s: unrecognised disk label"
 msgstr "No s'ha pogut obrir %s - etiqueta de disc desconeguda."
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -725,41 +712,41 @@ msgstr ""
 "Aquesta libparted no té suport per escriure a %s. Potser va ser compilada "
 "per només lectura."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, fuzzy, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "La partició %d és de %.3fMb, però el sistema de fitxers és de %.3fMb."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr ""
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 #, fuzzy
 msgid "pmbr_boot"
 msgstr "boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, fuzzy, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Flag desconegut a %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Les etiquetes de disc de %s no suporten particions exteses."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "Les etiquetes de disc de %s no suporten particions lògiques o exteses."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 #, fuzzy
 msgid "Too many primary partitions."
 msgstr "Massa particions primàries."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -767,128 +754,128 @@ msgstr ""
 "No es pot afegir una partició lògica a %s, ja que no hi ha una partició "
 "extesa"
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, fuzzy, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "No pot haver més d'una partició extesa a %s"
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "No poden haver particions lògiques fora de la partició extesa."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "No pot haver una partició lògica fora de la partició extesa a %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "No pot haver una partició primaria dins d'una partició extesa."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "No es pot fer una partició fora del disc!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 #, fuzzy
 msgid "Can't have overlapping partitions."
 msgstr "No poden haver particions solapades."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadata"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "lliure"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "extesa"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "lògica"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primària"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "boot"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr ""
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "root"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "oculta"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "servei-hp"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr ""
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr ""
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr ""
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 #, fuzzy
 msgid "msftdata"
 msgstr "metadata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr ""
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr ""
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr ""
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 #, fuzzy
 msgid "esp"
 msgstr "Sí"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, fuzzy, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Flag desconegut a %d."
@@ -954,33 +941,33 @@ msgid ""
 "containing at least the version (%s) and the following message:  "
 msgstr ""
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 #, fuzzy
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
 "El suport per crear sistemes de fitxers de %s encara no està implementat."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 #, fuzzy
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
 "El suport per crear sistemes de fitxers de %s encara no està implementat."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 #, fuzzy
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "El suport per crear sistemes de fitxers de %s encara no està implementat."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 #, fuzzy
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "El suport per crear sistemes de fitxers de %s encara no està implementat."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 #, fuzzy
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
@@ -988,193 +975,308 @@ msgid ""
 msgstr ""
 "El suport per crear sistemes de fitxers de %s encara no està implementat."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 #, fuzzy
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "El suport per crear sistemes de fitxers de %s encara no està implementat."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "No es poden copiar particions exteses."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "No s'ha pogut satisfer les limitacions a la partició"
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+#, fuzzy
+msgid "Unable to allocate a partition number."
+msgstr "S'esperava un múmero de partició."
+
+#: libparted/labels/bsd.c:592
 #, fuzzy
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "No s'ha pogut reservar una etiqueta bsd"
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 #, fuzzy
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "No s'ha pogut reservar una etiqueta bsd"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, fuzzy, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Taula de particions invàlida a %s - signatura dolenta %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Taula de particions invàlida - partició recursiva a %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr ""
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Taula de particions invàlida - partició recursiva a %s."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 #, fuzzy
 msgid "cannot create any more partitions"
 msgstr "No es pot crear cap més partició."
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, fuzzy, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr ""
 "%s no té partició extesa (partició de capçalera de volum).  Si ignoreu, tots "
 "els volums d'arrencada seràn esborrats. "
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 "Checksum incorrecte, la qual cosa indica que la taula de particions és "
 "corrupte."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Només les particions primàries poden ser particions root."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Només les particions primàries poden ser particions swap."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Només les particions lògiques poden ser un fitxer d'arrencada."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, fuzzy, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
 "Only logical partitions (boot files) have a name."
 msgstr "Només les particions lògiques (fitxers d'arrencada) tenen nom."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Massa particions primàries."
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr ""
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 #, fuzzy
 msgid "Unsupported disk type"
 msgstr "ped_device_new()  Dispositiu no suportat"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr ""
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr ""
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr ""
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr ""
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 #, fuzzy
 msgid "Fatal error"
 msgstr "Fatal"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr ""
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 #, fuzzy
 msgid "No room for partition info."
 msgstr "No s'ha trobat un mapa de particions vàlid."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr ""
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr ""
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "No s'ha pogut detectar el sistema de fitxers."
+
+#: libparted/labels/fdasd.c:1029
 #, fuzzy
 msgid "Could not retrieve disk geometry information."
 msgstr "No s'ha pogut llegir la geometria de %s - %s"
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr ""
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
 msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 #, fuzzy
 msgid "device is too small for GPT"
 msgstr "Sistema de fitxers massa petit per ext2."
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, fuzzy, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1183,7 +1285,7 @@ msgstr ""
 "El format de la taula de particions GPT és més nou que el que Parted pot "
 "reconeixer. Si-us-plau, diga'ns-ho a  bug-parted@gnu.org"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1191,7 +1293,7 @@ msgid ""
 "setting? "
 msgstr ""
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 #, fuzzy
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
@@ -1201,7 +1303,7 @@ msgstr ""
 "voler dir que un altre sistema operatiu creu que el disc és més petit. Ho "
 "voleu arreglar novent la còpia al final ( i esborrant la còpia antiga)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 #, fuzzy
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
@@ -1211,7 +1313,7 @@ msgstr ""
 "taula actualitzada, i fent servir la opció de rescat de Parted per "
 "reconstruïr les particions."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 #, fuzzy
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
@@ -1220,7 +1322,7 @@ msgstr ""
 "La taula primària GPT és corrupte, però la còpia sembla correcta, per tant "
 "es farà servir aquesta."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 #, fuzzy
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
@@ -1229,65 +1331,65 @@ msgstr ""
 "La taula primària GPT és corrupte, però la còpia sembla correcta, per tant "
 "es farà servir aquesta."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr ""
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "No s'ha pogut determinar si la partició està muntada."
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Signatura invàlida %x per etiquetes de discs Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "El Mapa de particions no té entrada de mapa de particions!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s massa petita per una etiqueta d'un disc Mac."
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "La partició %d té una signatura invàlida %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "La partició %d té una logitud invàlida de 0 bytes!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 #, fuzzy
 msgid "The data region doesn't start at the start of the partition."
 msgstr "La regió de dades no comença al principi de la partició"
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 #, fuzzy
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "La regió d'arrencada no comemça al principi de la partició"
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "La regió d'arrencada de la partició no ocupa la partició sencera."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "La regió de dades de la partició no ocupa la partició sencera."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr ""
 "La mida de bloc extrany al dispositiu: %d bytes no és divisible per 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1296,11 +1398,11 @@ msgstr ""
 "El controlador diu que el tamany de bloc físic és de %d bytes, però Linux "
 "troba que és de %d bytes."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "No s'ha trobat un mapa de particions vàlid."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, fuzzy, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1309,12 +1411,12 @@ msgstr ""
 "Conflicte de mida de entrada del mapa de particions! La entrada 1 diu que és "
 "%d, però la entrada %d diu que és %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 #, fuzzy
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Estrany - 2 entrades de mapes de particions!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1322,7 +1424,7 @@ msgstr ""
 "Canviar el nom d'una partició root o swap impedirà que Linux les reconeixi "
 "com a tals."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 #, fuzzy
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
@@ -1346,75 +1448,70 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "No es pot afegir un altra partició."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
 msgstr ""
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
 msgstr ""
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr ""
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr ""
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, fuzzy, c-format
 msgid "Failed to write partition block at %d."
 msgstr "No s'ha pogut determinar si la partició està muntada."
 
-#: libparted/labels/rdb.c:1080
-#, fuzzy
-msgid "Unable to allocate a partition number."
-msgstr "S'esperava un múmero de partició."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "S'ha detectat una etiqueta Sun corrupte."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, fuzzy, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1423,17 +1520,17 @@ msgstr ""
 "La geometria del disc CHS (%d,%d,%d) no coincideix amb la geometria "
 "emmagatzemada a la etiqueta del disc (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "La etiqueta del disc descriu un disc més gran de %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr ""
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1445,7 +1542,7 @@ msgstr ""
 "Solaris pot no ser capaç d'arrencar sense ella i SILO ( el gestor "
 "d'arrencada d'sparc) també la té en compte."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "La etiqueta del disc de Sun està plena."
 
@@ -1465,62 +1562,62 @@ msgstr ""
 msgid "reading from device failed"
 msgstr ""
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 #, fuzzy
 msgid "Could not read volume label."
 msgstr "No s'ha pogut llegir la geometria de %s - %s"
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 #, fuzzy
 msgid "Could not write volume label."
 msgstr "No s'ha pogut detectar el sistema de fitxers."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr ""
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Sense memòria."
 
@@ -1543,73 +1640,73 @@ msgstr ""
 msgid "The maximum sector value is %d."
 msgstr ""
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr ""
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr ""
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, fuzzy, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s mentre s'estava escrivint a %s"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr ""
@@ -1662,60 +1759,51 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "El sector boot de la FAT diu que la mida del sector lògic és 0. Això és "
 "extrany."
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 "El sector boot de la FAT diu que no hi ha taules FAT.  Això és extrany."
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "El sector boot de la FAT diu que els clústers tenen 0 sectors. Això és "
 "extrany."
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 #, fuzzy
 msgid "File system is FAT12, which is unsupported."
 msgstr "El sistema de fitxers és FAT12, que no està suportat."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, fuzzy, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Signatura de linux swap '%10s' no reconeguda."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, fuzzy, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Signatura de linux swap '%10s' no reconeguda."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, fuzzy, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Signatura de linux swap '%10s' no reconeguda."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Aquest sistema de fitxers té una mida de sector lògic de %d. GNU Parted no "
-"treballarà correctament amb mides de sectors diferents de 512 bytes."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1725,7 +1813,7 @@ msgid ""
 "geometry."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1744,7 +1832,7 @@ msgstr ""
 "Es necessiten %dM d'espai lliure per contraure aquesta partició a aquesta "
 "mida (actualment només hi ha %dM lliures)"
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
@@ -1752,14 +1840,14 @@ msgstr ""
 "El començament delta de cluster = %d, que no és multiple de la mida de "
 "cluster %d. "
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Entrada de directori incorrecta per %s: el primer clúster és el final de la "
 "marca de fitxer."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1767,7 +1855,7 @@ msgstr ""
 "FAT incorrecta: cadena sense acabar per %s. Has de executar dosfsck o "
 "scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, fuzzy, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1776,7 +1864,7 @@ msgstr ""
 "FAT incorrecta: clúster %d fora del sistema de fitxers a la cadena per %s. "
 "Has de executar dosfsck o scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1785,12 +1873,12 @@ msgstr ""
 "FAT incorrecta: clúster %d té un enllaç creuat per %s. Has d'executar "
 "dosfsck o scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, fuzzy, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s és %dk, però té %d clústers (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1845,17 +1933,17 @@ msgstr ""
 "No hi ha espai suficient al directori root, per a tots els fitxers. O bé, "
 "cancel·lar, o bé, Ignorar perdent els fitxers. "
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Error escribint al directori root."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 #, fuzzy
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 "Si deixes el sistema de fitxers com FAT16, llavors no tindràs problemes"
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1866,7 +1954,7 @@ msgstr ""
 "vols fer aixó, hauries de consultar el manual de Parted ( o el manual de la "
 "teva distribució)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1874,7 +1962,7 @@ msgstr ""
 "Si deixes el teu sistema de fitxers com a FAT32, llavors no tindràs més "
 "problemes."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1888,35 +1976,35 @@ msgstr ""
 "teva distribució). També, convertint a FAT32 faràs que MS DOS, MS Windows "
 "95a i Windows NT no puguin llegir el sistema de fitxers "
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Vol fer servir FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "El sistema de fitxers només pot ser redimensionada a aquesta mida covertint-"
 "la a FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "El sistema de fitxers només pot ser redimensionada a aquesta mida covertint-"
 "la a FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 #, fuzzy
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
@@ -1963,67 +2051,67 @@ msgstr ""
 msgid "The file system is bigger than its volume!"
 msgstr "El sistema de fitxers és més gran que ho és el volum!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr ""
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:213
+#: libparted/fs/r/hfs/cache.c:214
 #, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
@@ -2098,128 +2186,128 @@ msgstr ""
 msgid "shrinking embedded HFS+ volume"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 #, fuzzy
 msgid "shrinking HFS wrapper"
 msgstr "encongint"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 #, fuzzy
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 "El començament delta de cluster = %d, que no és multiple de la mida de "
 "cluster %d. "
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 #, fuzzy
 msgid "Some header fields are not multiple of the sector size."
 msgstr ""
 "El començament delta de cluster = %d, que no és multiple de la mida de "
 "cluster %d. "
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 #, fuzzy
 msgid "Could not cache the file system in memory."
 msgstr "No s'ha pogut detectar el sistema de fitxers."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
@@ -2329,144 +2417,155 @@ msgstr ""
 "General Pública GNU.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(temps que queda %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "La(s) partició(ns) a %s s'està utilitzant."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
 "will be lost. Do you want to continue?"
 msgstr ""
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Nou tipus d'etiqueta?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Tipus de partició?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Nom de la partició?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Sistema de fitxers?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Inici?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Fi?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
 "The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
 msgstr ""
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
 msgstr ""
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Les etiquetes de disc de %s no suporten particions exteses."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Número de partició?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr ""
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, fuzzy, c-format
 msgid "Disk %s: %s\n"
 msgstr "Tipus d'etiqueta: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr ""
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, fuzzy, c-format
 msgid "Partition Table: %s\n"
 msgstr "Nom de la partició?"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, fuzzy, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Tipus d'etiqueta: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr ""
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 #, fuzzy
 msgid "Start"
 msgstr "Inici?"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 #, fuzzy
 msgid "End"
 msgstr "Fi?"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr ""
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr ""
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 #, fuzzy
 msgid "File system"
 msgstr "Sistema de fitxers?"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr ""
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Flags"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr ""
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, fuzzy, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2475,82 +2574,82 @@ msgstr ""
 "Una partició %s %s ha estat trobada a %.3fMb -> %.3fMb.  Vols afegir-la a la "
 "taula de particions?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 #, fuzzy
 msgid "searching for file systems"
 msgstr "sistema de fitxers creixent"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Nou dispositiu?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1721
 #, c-format
-msgid "%d not aligned\n"
+msgid "%d not aligned: %s\n"
 msgstr ""
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 #, fuzzy
 msgid "Flag to Invert?"
 msgstr "Flag a canviar?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Nou estat?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr ""
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 #, fuzzy
 msgid "align-check"
 msgstr "comprova"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "ajuda"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 #, fuzzy
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr "Ajuda [ORDRE]                 imprimeix ajuda general, o ajuda d'ORDRE"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr ""
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 #, fuzzy
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
@@ -2558,16 +2657,16 @@ msgid ""
 msgstr ""
 "mklabel TIPUS-ETI        crea una nova etiqueta de disc (taula de partició)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 #, fuzzy
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart TIPUS-PART [TIPUS-SF] INICI FI      crea una partició"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 #, fuzzy
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
@@ -2576,196 +2675,196 @@ msgstr ""
 "mkpart crea una partició sense crear cap sistema de fitxers a la partició. "
 "TIPUS-SF ha de ser especificat per assignar una ID de partició.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 #, fuzzy
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "name MINOR NOM               anomena la partició MINOR NOM"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
 msgstr ""
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 #, fuzzy
 msgid "quit                                     exit program"
 msgstr "quit                          surt del programa"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescatar"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 #, fuzzy
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
 msgstr "rescatar INICI FI        rescata particions perdudes entre INICI i FI"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 #, fuzzy
 msgid "resizepart"
 msgstr "resize"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "rm MINOR                      suprimeix la partició MINOR"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 #, fuzzy
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm MINOR                      suprimeix la partició MINOR"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 #, fuzzy
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select DISPOSITIU                 escollir el dispositiu a editar"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr ""
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr ""
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 #, fuzzy
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set MINOR FLAG ESTAT          canvia un flag a la partició MINOR"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr ""
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr ""
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 #, fuzzy
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr "quit                          surt del programa"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr ""
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "No s'ha trobat el dispositiu"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 #, fuzzy
 msgid "You may need to update /etc/fstab.\n"
 msgstr "No us oblideu d'actualitzar /etc/fstab si cal.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 #, fuzzy
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
@@ -2778,7 +2877,7 @@ msgstr ""
 "ORDRES, s'executa en\n"
 "mode interactiu.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2812,209 +2911,213 @@ msgid ""
 "consider important.\n"
 msgstr ""
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
 msgstr ""
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
 msgstr ""
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
 msgstr ""
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
 msgstr ""
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
 msgstr ""
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
 msgstr ""
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
 msgstr ""
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
 msgstr ""
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
 msgstr ""
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
 msgstr ""
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
 msgstr ""
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
 msgstr ""
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
 msgstr ""
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
 msgstr ""
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 msgstr ""
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
 msgstr ""
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
 msgstr ""
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
 msgstr ""
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
 msgstr ""
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
 msgstr ""
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, fuzzy, c-format
 msgid "invalid token: %s"
 msgstr "Taula de particions invàlida a %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "S'esperava un múmero de partició."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "La partició no existeix."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "S'esperava un tipus de sistema de fitxers."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Tipus de sistema de fitxers desconegut \"%s\"."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "S'esperava un tipus de etiqueta de dics."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "No es pot crear cap més partició."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "S'esperava un tipus de partició."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "on"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "off"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr ""
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr ""
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "OPCIONS:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "ORDRES:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
 "Report bugs to %s\n"
 msgstr ""
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Utilitzant %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr ""
 
@@ -3250,6 +3353,13 @@ msgstr ""
 #~ "El sistema de fitxers té una signatura invàlida per a un sistema de "
 #~ "fitxers FAT."
 
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Aquest sistema de fitxers té una mida de sector lògic de %d. GNU Parted "
+#~ "no treballarà correctament amb mides de sectors diferents de 512 bytes."
+
 #~ msgid ""
 #~ "The FATs aren't big enough to describe all clusters!  Each FAT is %d "
 #~ "sectors.  There are %d clusters, which would require each FAT to be %d "
index 2d98651e7a450535da3ecdc0e226a0b159d351dc..31b927d62b6bade819334a27cbedacb681afe6be 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index b2a80d1a24bc13938b7caf428b09f0c616004e8d..adde028021fceab11566965b48402476037b8f48 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 1.8.8\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2007-09-11 14:02+0200\n"
 "Last-Translator: Miloslav Trmac <mitr@volny.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -14,84 +14,65 @@ msgstr ""
 "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"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, fuzzy, c-format
 msgid "invalid argument %s for %s"
 msgstr "neplatný token: %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr ""
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "chyba při zápisu"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Neznámá chyba systému"
 
-#: lib/getopt.c:547 lib/getopt.c:576
+#: lib/getopt.c:278
 #, fuzzy, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+msgid "%s: option '%s%s' is ambiguous\n"
 msgstr "%s: přepínač `%s' není jednoznačný\n"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, fuzzy, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: přepínač `--%s' nepovoluje parametr\n"
-
-#: lib/getopt.c:637 lib/getopt.c:642
+#: lib/getopt.c:284
 #, fuzzy, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: přepínač `%c%s' nepovoluje parametr\n"
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s: přepínač `%s' není jednoznačný\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
+#: lib/getopt.c:319
 #, fuzzy, c-format
-msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: přepínač `%s' vyžaduje parametr\n"
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: neznámý přepínač `%c%s'\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
+#: lib/getopt.c:345
 #, fuzzy, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: neznámý přepínač `--%s'\n"
+msgid "%s: option '%s%s' doesn't allow an argument\n"
+msgstr "%s: přepínač `%c%s' nepovoluje parametr\n"
 
-#: lib/getopt.c:753 lib/getopt.c:756
+#: lib/getopt.c:360
 #, fuzzy, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: neznámý přepínač `%c%s'\n"
+msgid "%s: option '%s%s' requires an argument\n"
+msgstr "%s: přepínač `%s' vyžaduje parametr\n"
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, fuzzy, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: neplatný přepínač -- %c\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: přepínač vyžaduje parametr -- %c\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, fuzzy, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: přepínač `-W %s' není jednoznačný\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, fuzzy, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: přepínač `-W %s' nepovoluje parametr\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, fuzzy, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: přepínač `%s' vyžaduje parametr\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -111,85 +92,86 @@ msgstr "%s: přepínač `%s' vyžaduje parametr\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "„"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "”"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Úspěch"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Žádný výskyt"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Neplatný regulární výraz"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Neplatný řadicí znak"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Neplatný název třídy znaků"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Koncové zpětné lomítko"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Neplatný odkaz zpět"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Nepárová [ nebo [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Nepárová ( nebo \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Nepárová \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Neplatný obsah \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Neplatný konec rozsahu"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Došla paměť"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Neplatný předchozí regulární výraz"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Předčasný konec regulárního výrazu"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Regulární výraz je příliš velký"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Nepárová ) nebo \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Žádný předchozí regulární výraz"
 
@@ -213,12 +195,12 @@ msgstr "^[aA]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -226,19 +208,17 @@ msgstr ""
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: lib/version-etc.c:86
-#, fuzzy
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "License GPLv3+: GNU GPL verze 3 nebo novější <http://gnu.org/licenses/gpl."
@@ -248,19 +228,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Napsal(a) %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Napsali %s a %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Napsali %s, %s a %s.\n"
@@ -268,7 +248,7 @@ msgstr "Napsali %s, %s a %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -280,7 +260,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -292,7 +272,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -304,7 +284,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -316,7 +296,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -330,7 +310,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -344,7 +324,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -359,34 +339,28 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
+#: lib/version-etc.c:249
 #, fuzzy, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Chyby hlaste na <%s>.\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, fuzzy, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 "\n"
 "Chyby hlaste na <%s>.\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: lib/version-etc.c:253
+#: lib/version-etc.c:260
 #, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 
 #: lib/xalloc-die.c:34
@@ -413,59 +387,59 @@ msgid "Disk Image"
 msgstr "Obraz disku"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Chyba při otevírání %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Nemohu otevřít %s pro čtení/zápis (%s). %s bylo otevřeno jen pro čtení."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s při seek pro čtení %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s při čtení %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Nemohu zapisovat na %s, protože je otevřen jen pro čtení."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s při seek pro zápis na %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s při zápisu na %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Pro více informací zkuste `%s --help'.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "použití: %s [PŘEPÍNAČ] [ZAŘÍZENÍ]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -481,7 +455,7 @@ msgstr ""
 "  -h, --help       zobrazit tuto nápovědu a skončit\n"
 "  -v, --version    vypsat informace o verzi a skončit\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -489,7 +463,7 @@ msgstr ""
 "\n"
 "Když není zadáno ZAŘÍZENÍ, prozkoumat všechny oddíly.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -534,7 +508,7 @@ msgstr ""
 "změnách, které jste provedli. Než budete cokoli dělat s %s, měli byste "
 "restartovat svůj počítač."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -547,17 +521,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s při pokusu sync %s na disk"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Nemohu stat zařízení %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, fuzzy, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Nemohu určit velikost %s (%s)."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -566,7 +540,7 @@ msgstr ""
 "Nemohu zjistit velikost sektoru pro %s: %s.\n"
 "Používám implicitní velikost sektoru (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, fuzzy, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -575,21 +549,21 @@ msgstr ""
 "Nemohu zjistit velikost sektoru pro %s: %s.\n"
 "Používám implicitní velikost sektoru (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Nemohu určit velikost %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Obecné IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Nemohu získat identitu zařízení %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Obecné IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -602,12 +576,12 @@ msgstr ""
 "jmenovky disku/systému souborů, např. GPT a ext2/3.\n"
 "Pro aktuální informace prosím navštivte WWW server."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Chyba při inicializaci zařízení SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, fuzzy, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -616,7 +590,7 @@ msgstr ""
 "Zařízení %s má nulovou délku a nemůže obsahovat systém souborů nebo tabulku "
 "oddílů. Možná jste vybrali špatné zařízení?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -625,88 +599,101 @@ msgstr ""
 "Nemohu určit geometrii souboru/zařízení %s. Neměli byste používat Parted, "
 "pokud OPRAVDU nevíte, co děláte!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr ""
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Nové zařízení?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Řadič RAID DAC960"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Zařízení Promise SX8 SATA"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "Disk IBM S390 DASD"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "Virtuální DASD IBM iSeries"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Řadič ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Řadič I2O"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "UBD User-mode Linuxu"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 #, fuzzy
 msgid "Loopback device"
 msgstr "Zdrojové zařízení?"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, fuzzy, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linux device-mapper"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Virtuální blokové zařízení Xenu"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Neznámý"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 #, fuzzy
 msgid "Virtio Block Device"
 msgstr "Virtuální blokové zařízení Xenu"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Nepodporovaný typ zařízení"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, fuzzy, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Chyba při otevírání %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr ""
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -717,12 +704,12 @@ msgstr ""
 "nebude vědět o změnách, které provedli na %s, dokud nerestartujete systém — "
 "takže byste jej neměli připojovat nebo jej před restartem jakkoli používat."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, fuzzy, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Nemohu určit velikost %s (%s)."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -731,36 +718,36 @@ msgid ""
 "making further changes."
 msgstr ""
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, fuzzy, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "Nemohu mít konec před začátkem!"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Pokus zapisovat sektory %ld-%ld mimo oddíl na %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "hledám špatné bloky"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Backtrace má na zásobníku %d volání:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Tvrzení (%s) na %s:%d ve funkci %s() selhalo."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: neznámá jmenovka disku"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -769,166 +756,166 @@ msgstr ""
 "Tato libparted nemá podporu pro zápis pro %s. Možná byla přeložena jen pro "
 "čtení."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Oddíl %d je %s, ale systém souborů je %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr ""
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 #, fuzzy
 msgid "pmbr_boot"
 msgstr "boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, fuzzy, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Neznámý příznak oddílu, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Jmenovky disku %s nepodporují rozšířené oddíly."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "Jmenovky disku %s nepodporují logické nebo rozšířené oddíly."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Příliš mnoho primárních oddílů."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
 msgstr "Nemohu přidat logický oddíl do %s, protože neexistuje rozšířený oddíl."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Nemohu mít více než jeden rozšířený oddíl na %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Nemohu mít logické oddíly mimo rozšířený oddíl."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "Nemohu mít logický oddíl mimo rozšířený oddíl na %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Nemohu mít primární oddíl uvnitř rozšířeného oddílu."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Nemohu mít oddíl mimo disk!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Nemohu mít překrývající se oddíly."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadata"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "volné"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "rozšířený"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logický"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primární"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "boot"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr ""
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "root"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "skrytý"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 #, fuzzy
 msgid "msftdata"
 msgstr "metadata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr ""
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr ""
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr ""
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 #, fuzzy
 msgid "esp"
 msgstr "Ano"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Neznámý příznak oddílu, %d."
@@ -998,29 +985,29 @@ msgstr ""
 "parted.html! Pošlete prosím e-mailem hlášení o chybě na bug-parted@gnu.org "
 "obsahující alespoň verzi (%s) a následující zprávu:"
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "Podpora pro čtení jmenovek disku AIXu ještě není implementována."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "Podpora pro zápis jmenovek disku AIXu ještě není implementována."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "Podpora pro přidávání oddílů do jmenovek disku AIXu ještě není "
 "implementována."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Podpora pro duplikování oddílů ve jmenovkách disku AIXu ještě není "
 "implementována."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1028,185 +1015,301 @@ msgstr ""
 "Podpora pro nastavování typu systému oddílů ve jmenovkách disku AIXu ještě "
 "není implementována."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "Podpora pro nastavování přepínačů ve jmenovkách disku AIXu ještě není "
 "implementována."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted nemůže používat systémy souborů HFS na disků s velikostí sektoru "
+"jinou než %d bajtů."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Nemohu kopírovat rozšířený oddíl."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Nemohu splnit všechna omezení na oddíl."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Nemohu alokovat číslo oddílu."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Nemohu alokovat položku jmenovky disku bsd."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Nemohu alokovat položku jmenovky disku dasd"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Neplatná tabulka oddílů na %s - nesprávný podpis %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Neplatná tabulka oddílů - rekurzivní oddíl na %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Rozšířené oddíly nelze na jmenovkách disku msdos skrývat."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Rozšířené oddíly nelze na jmenovkách disku msdos skrývat."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted neumí měnit velikost oddílů spravovaných pomocí Windows Dynamic Disk."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 #, fuzzy
 msgid "cannot create any more partitions"
 msgstr "Nemohu vytvářet další oddíly."
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s nemá rozšířený oddíl (oddíl hlavičky svazku)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 "Kontrolní součet je špatně, což indikuje, že tabulka oddílů je poškozená."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Jen primární oddíly mohou být kořenové oddíly."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Jen primární oddíly mohou být odkládací oddíly."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Jen logické oddíly mohou být zaváděcí soubor."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, fuzzy, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
 "Only logical partitions (boot files) have a name."
 msgstr "Jen logické oddíly (zaváděcí soubory) mají název."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Příliš mnoho primárních oddílů"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "chyba při otevírání"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "chyba při posunu"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "chyba při čtení"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "chyba při ioctl()"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "Nesoulad verzí API"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Nepodporovaný typ disku"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Nepodporovaný formát disku"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Disk se používá"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Chyba syntaxe v souboru s nastavením"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Jmenovka svazku je poškozena"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Název sady dat je poškozen"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Alokace paměti selhala"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Ověřování zařízení selhalo"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Zadané zařízení není platné zařízení DASD"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Fatální chyba"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Není místo na jmenovku svazku."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Není místo pro informace o oddílech."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Neplatná VTOC."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Nemohu získat verzi API."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr "Aktuální verze API '%d' neodpovídá verzi API ovladače '%d'!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Nemohu získat informace o disku."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Nemohu získat informace o geometrii disku."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Nemohu získat informace o velikosti bloku."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Nemohu získat informace o disku."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 #, fuzzy
 msgid "device is too small for GPT"
 msgstr "Zařízení pro %lu bloků příliš malé."
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, fuzzy, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1215,7 +1318,7 @@ msgstr ""
 "Formát tabulky oddílů GPT je verze %x, což je novější, než kterou umí "
 "rozpoznat Parted. Oznamte nám to prosím! bug-parted@gnu.org"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1226,7 +1329,7 @@ msgstr ""
 "používala všechno místo (dalších %llu bloků) nebo pokračovat se současným "
 "nasatvením? "
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 #, fuzzy
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
@@ -1236,7 +1339,7 @@ msgstr ""
 "že jiný operační systém si myslí, že disk je menší. Mám to opravit "
 "přesunutím zálohy na konec (a odstraněním staré zálohy)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1244,7 +1347,7 @@ msgstr ""
 "Primární i záložní tabulka GPT je poškozena. Zkuste vytvořit novou tabulku a "
 "obnovit oddíly pomocí schopnosti Partedu rescue."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 #, fuzzy
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
@@ -1253,7 +1356,7 @@ msgstr ""
 "Primární tabulka GPT je poškozena, ale záloha se zdá být v pořádku, takže "
 "bude použita záloha."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1261,63 +1364,63 @@ msgstr ""
 "Primární tabulka GPT je poškozena, ale záloha se zdá být v pořádku, takže "
 "bude použita záloha."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr ""
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "Nemohu alokovat číslo oddílu."
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Neplatný podpis %x pro jmenovky disku Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Mapa oddílů nemá žádnou položku mapy oddílů!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s je příliš malý pro jmenovku disku Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Oddíl %d má neplatný podpis %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Oddíl %d má neplatnou délku 0 bajtů."
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Datový region nezačíná na začátku oddílu."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Zaváděcí region nezačíná na začátku oddílu."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Zaváděcí region oddílu nezabírá celý oddíl."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Datový region oddílu nezabírá celý oddíl."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr ""
 "Podivná velikost bloku v deskriptoru zařízení: %d bajtů není dělitelné 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1326,11 +1429,11 @@ msgstr ""
 "Deskriptor ovladače říká, že fyzická velikost bloku je %d bajtů ale Linux "
 "říká, že je to %d bajtů."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Nenalezena platná mapa oddílů."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1339,11 +1442,11 @@ msgstr ""
 "Kolidující velikosti položek mapy oddílů! Položka 1 říká, že je to %d, ale "
 "položka %d říká, že je to %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Podivné! Existují 2 položky mapy oddílu!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1351,7 +1454,7 @@ msgstr ""
 "Změna názvu kořenového nebo odkládacího oddílu zabrání Linuxu v jeho "
 "rozpoznání."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Nemohu přidat další oddíl — mapa oddílů je příliš malá!"
 
@@ -1372,74 +1475,70 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Nemohu přidat další oddíl."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
 msgstr ""
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
 msgstr ""
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Špatný kontrolní součet bloku %llu typu %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : Nenašel jsem blok rdb, to by se nemělo nikdy stát."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : Na bloku %d detekována smyčka."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : Seznam %s je zřejmě v bloku %s špatný."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Nemohu vypsat špatné bloky."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Nemohu vypsat bloky oddílu."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Nemohu vypsat bloky systému souborů."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Nemohu vypsat zaváděcí bloky."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Nemohu zapsat blok oddílu na %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Nemohu alokovat číslo oddílu."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Detekována poškozená jmenovka disku Sun."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1448,17 +1547,17 @@ msgstr ""
 "Geometrie disku CHS (%d,%d,%d) ohlášená operačním systémem neodpovídá "
 "geometrii uložené v jmenovce disku (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Jmenovka disku popisuje disk větší než %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "Disk má %d cylindrů, což je více než maximum 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1469,7 +1568,7 @@ msgstr ""
 "oddíl přepsat skutečným oddílem. Bez něj možná nebude možné zavést Solaris a "
 "SILO (zavaděč systému pro sparc) jej také ocení."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Jmenovka disku Sun je plná."
 
@@ -1489,61 +1588,61 @@ msgstr "zápis na zařízení selhal"
 msgid "reading from device failed"
 msgstr "čtení ze zařízení selhalo"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Nemohu číst jmenovku svazku."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Nemohu zapsat jmenovku svazku."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Nemohu číst jmenovky VTOC."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Nemohu číst FMT1 DSCB VTOC."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Nemohu číst FMT4 DSCB VTOC."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Nemohu číst FMT5 DSCB VTOC."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Nemohu číst FMT7 DSCB VTOC."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Nemohu zapisovat jmenovky VTOC."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Nemohu zapisovat FMT1 DSCB VTOC."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Nemohu zapisovat FMT4 DSCB VTOC."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Nemohu zapisovat FMT5 DSCB VTOC."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Nemohu zapisovat FMT7 DSCB VTOC."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 #, fuzzy
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Nemohu zapisovat FMT1 DSCB VTOC."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Nedostatek paměti."
 
@@ -1566,73 +1665,73 @@ msgstr "Maximální hodnota hlavy je %d."
 msgid "The maximum sector value is %d."
 msgstr "Maximální hodnota sektoru je %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Umístění %s je mimo zařízení %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Neplatné číslo."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Nemohu alokovat blok oddílu\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Nemohu alokovat blok\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Nemohu číst zaváděcí blok %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Nemohu číst kořenový blok %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : Nemohu alokovat prvek seznamu id\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Nemohu číst blok %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Špatný kontrolní součet bloku %llu typu %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Nemohu zapsat blok %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s : Nemohu alokovat disk_specific blok rdb\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : Nenašeljsem blok rdb, to by se nemělo nikdy stát\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Nemohučíst blok oddílu %llu\n"
@@ -1675,40 +1774,40 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "Zaváděcí sektor FAT říká, že logická velikost sektoru je 0. To je divné. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 "Zaváděcí sektor FAT říká, že neexistuje žádná tabulka FAT. To je divné. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr "Zaváděcí sektor FAT říká, že cluster je 0 sektorů. To je divné. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Systém souborů je FAT12, což není podporováno."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, fuzzy, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Nerozpoznaný podpis odkládacího oddílu linuxu '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, fuzzy, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Nerozpoznaný podpis odkládacího oddílu linuxu '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, fuzzy, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Nerozpoznaný podpis odkládacího oddílu linuxu '%10s'."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1717,16 +1816,7 @@ msgstr ""
 "Parted nemůže používat systémy souborů HFS na disků s velikostí sektoru "
 "jinou než %d bajtů."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Systém souborů má logickou velikost sektoru %d. Ví se, že GNU Parted "
-"nepracuje správně s velikostí sektoru jinou než 512 bajtů."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1741,7 +1831,7 @@ msgstr ""
 "systému souborů bude nastavena tak, aby odpovídala geometrii CHS tabulky "
 "oddílů."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1760,18 +1850,18 @@ msgstr ""
 "Pro zmenšení tohoto oddílu na tuto velikost potřebujete %s volného místa. "
 "Momentálně je volné jen %s."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr "Změna začátku clusteru = %d, což není násobek velikosti clusteru %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr "Špatná položka adresáře pro %s: první cluster je značka konce souboru."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1779,7 +1869,7 @@ msgstr ""
 "Špatná FAT: neukončený řetězec pro %s. Měli byste spustit dosfsck nebo "
 "scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1788,7 +1878,7 @@ msgstr ""
 "Špatná FAT: cluster %d je mimo systém souborů v řetězci pro %s. Měli byste "
 "spustit dosfsck nebo scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1797,12 +1887,12 @@ msgstr ""
 "Špatná FAT: cluster %d pro %s má křížové odkazy. Měli byste spustit dosfsck "
 "nebo scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s je %dk, ale má %d clusterů (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1853,16 +1943,16 @@ msgstr ""
 "V kořenovém adresáři není dostatek místa pro všechny souborů. Zvolte buď "
 "Zrušit, nebo Ignorovat pro ztrátu těchto souborů."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Chyba při zápisu do kořenového adresáře."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 "Pokud svůj systém souborů ponecháte jako FAT16, nebudete mít žádné problémy."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1872,7 +1962,7 @@ msgstr ""
 "musíte reinstalovat zavaděč systému MS Windows. Pokud to chcete udělat, měli "
 "byste si přečíst manuál Partedu (nebo manuál své distribuce)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1880,7 +1970,7 @@ msgstr ""
 "Pokud svůj systém souborů ponecháte jako FAT16, nezpůsobíte žádné nové "
 "problémy."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1894,35 +1984,35 @@ msgstr ""
 "FAT32 také učiní systém souborů nečitelným pro MS DOS, MS Windows 95a a MS "
 "Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Chcete použít FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Velikost systému souborů může být na tuto hodnotu změněna jen převodem na "
 "FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Velikost systému souborů může být na tuto hodnotu změněna jen převodem na "
 "FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1966,18 +2056,18 @@ msgstr ""
 msgid "The file system is bigger than its volume!"
 msgstr "Systém souborů je větší než jeho obsah!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Systém souborů obsahuje chyby."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Nelze číst špatné bloky."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -1986,51 +2076,51 @@ msgstr ""
 "Pokouším se zaregistrovat rozsah začínající na bloku 0x%X, ale v tomto "
 "umístění již jeden existuje. Měli byste zkontrolovat systém souborů!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Pokouším se přesunout rozsah z bloku 0x%X do bloku 0x%X, ale v tomto "
 "umístění již jeden existuje. To by se nemělo stát!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr "Nemohu aktualizovat cache rozsahů pro soubor HFS s CNID %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "Pokus číst soubor HFS s CNID %X za koncem souboru."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Nemohu najít sektor %lli souboru HFS s CNID %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "Pokus zapisovat do souboru HFS s CNID %X za konec souboru."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr "Nemohu aktualizovat cache rozsahů pro soubor HFS+ s CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "Pokus číst soubor HFS+ s CNID %X za koncem souboru."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Nemohu najít sektor %lli souboru HFS+ s CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "Pokus zapisovat do souboru HFS+ s CNID %X za konec souboru."
@@ -2105,19 +2195,19 @@ msgstr "Lituji, HFS+ zatím nelze takto měnit velikost."
 msgid "shrinking embedded HFS+ volume"
 msgstr "zmenšuji vložený svazek HFS+"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Změna velikosti svazku HFS+ selhala."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "zmenšuji obal HFS"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "Aktualizace obalu HFS selhala."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2126,43 +2216,44 @@ msgstr ""
 "Toto není skutečná kontrola %s. Toto pro ladicí účely extrahuje speciální "
 "nízkoúrovňové soubory."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Kontrolní součet hlavičky seznamu špatných bloků."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr "Neplatná velikost bloku transakce při přehrávání žurnálu (%i bajtů)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Žurnály uložené mimo svazek nejsou podporovány. Zkuste deaktivovat žurnál a "
 "spusťte Parted znovu."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr "Posun nebo velikost žurnálu není násobek velikosti sektoru."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Neplatné kouzelné hodnoty v hlavičce žurnálu."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "Nesoulad velikosti žurnálu mezi blokem informací o žurnálu a hlavičkou "
 "žurnálu."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Některé pole hlavičky nejsou násobek velikosti sektoru."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2170,11 +2261,11 @@ msgstr ""
 "Velikost sektoru uložená v žurnálunení 512. Parted podporuje jen sektory "
 "velké 512 bajtů."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Špatný kontrolní součet žurnálu."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2182,7 +2273,7 @@ msgstr ""
 "Žurnál není prázdný. Před otevřením systému souborů musí Parted přehrát "
 "transakce. To změní systém souborů."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2190,11 +2281,11 @@ msgstr ""
 "Hlavička svazku nebo hlavní blok adresáře se při přehrávání žurnálu změnil. "
 "Měli byste restartovat Parted."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Rozsah nebyl přesunut."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2202,16 +2293,16 @@ msgstr ""
 "Odkaz na rozsah přichází z místa, ze kterého by neměla. Měli byste "
 "zkontrolovat systém souborů!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr "Tento svazek HFS nemá soubor katalogu. To je velice neobvyklé!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Tento svazek HFS nemá soubor přetečení rozsahů. To je celkem neobvyklé!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2219,23 +2310,23 @@ msgstr ""
 "Soubor přetečení rozsahů by neměl obsahovat své vlastní rozsahy! Měli byste "
 "zkontrolovat systém souborů."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Nemohu kešovat systém souborů v paměti."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Seznam špatných bloků nelze načíst."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Při přesunu rozsahu došlo k chybě."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr "Tento svazek HFS+ nemá soubor katalogu. To je velice neobvyklé!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Tento svazek HFS+ nemá soubor přetečení rozsahů. To je celkem neobvyklé!"
@@ -2347,23 +2438,23 @@ msgstr ""
 "podrobnosti najdete v GNU General Public License.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(zbylý čas %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, fuzzy, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
 "Oddíl %s se používá. Než jej budete upravovat Partedem, musíte jej odpojit."
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Oddíl(a) na %s jsou používány."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2372,31 +2463,31 @@ msgstr ""
 "Existující jmenovka disku na %s bude zničena a všechna data na tomto disku "
 "budou ztracena. Chcete pokračovat?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Typ nové jmenovky disku?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Typ oddílu?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Název oddílu?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Typ souborového systému?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Začátek?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Konec?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, fuzzy, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2406,88 +2497,99 @@ msgstr ""
 "Nejbližší umístění, které zvládneme, je %s až %s. Je to pro vás ještě "
 "přijatelné?"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
 msgstr ""
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Jmenovky disku %s nepodporují rozšířené oddíly."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Číslo oddílu?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr "Geometrie cylindr,hlava,sektor BIOSu: %d,%d,%d. Každý cylindr je %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Model: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disk %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Sector size (logical/physical): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Tabulka oddílů: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, fuzzy, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Disk %s: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Číslo"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Začátek"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Konec"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Velikost"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Typ"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Systém souborů"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Název"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Přepínače"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Volné místo"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2495,65 +2597,65 @@ msgid ""
 msgstr ""
 "Byl nalezen oddíl %s %s na %s -> %s. Chcete jej přidat do tabulky oddílů?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "hledám systémy souborů"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Nové zařízení?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1721
 #, c-format
-msgid "%d not aligned\n"
+msgid "%d not aligned: %s\n"
 msgstr ""
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Přepínač, který změnit?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Nový stav?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Jednotka?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 #, fuzzy
 msgid "align-check"
 msgstr "check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2561,15 +2663,15 @@ msgstr ""
 "help [PŘÍKAZ]                            vypsat obecnou nápovědu nebo "
 "nápovědu o PŘÍKAZu"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2577,15 +2679,15 @@ msgstr ""
 "mklabel,mktable TYP-JMENOVKY             vytvořit novou jmenovku disku "
 "(tabulku oddílů)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart TYP-ODDÍLU [TYP-FS] ZAČÁTEK KONEC  vytvořit oddíl"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2593,19 +2695,19 @@ msgstr ""
 "'mkpart' vytvoří oddíl bez vytvoření nového systému souborů na něm. TYP-FS "
 "může být určen pro nastavení odpovídajícího ID oddílu.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "name ČÍSLO NÁZEV                         pojmenovat oddíl ČÍSLO NÁZEV"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2614,7 +2716,7 @@ msgstr ""
 "print [devices|free|list,all|ČÍSLO]      zobrazit tabulku oddílů, dostupná "
 "zařízení, volné místo, všechny nalezené oddíly, nebo konkrétní oddíl"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2622,11 +2724,11 @@ msgstr ""
 "'print' bez parametrů zobrazí celou tabulku oddílů. S následujícími "
 "parametry ale provede různé jiné akce.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : zobrazit všechna aktivní bloková zařízení\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2634,32 +2736,32 @@ msgstr ""
 "  free      : zobrazit informace o volném místě mimo oddíly na aktuálním "
 "blokovém zařízení\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : zobrazit tabulky oddílů všech aktivních blokových zařízení\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 "  ČÍSLO     : zobrazit podrobnější informace o tomto konkrétním oddílu\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     ukončit program"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2667,57 +2769,57 @@ msgstr ""
 "rescue ZAČÁTEK KONEC                     zachránit ztracený oddíl poblíž "
 "ZAČÁTKU a KONCE"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 #, fuzzy
 msgid "resizepart"
 msgstr "resize"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "move ČÍSLO ZAČÁTEK KONEC                 přesunout oddíl ČÍSLO"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm ČÍSLO                                 odstranit oddíl ČÍSLO"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select ZAŘÍZENÍ                          zvolit upravované zařízení"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr ""
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 #, fuzzy
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 "set ČÍSLO PŘEPÍNAČ STAV                  změnit PŘEPÍNAČ na oddílu ČÍSLO"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 #, fuzzy
 msgid "disk_toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 #, fuzzy
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
@@ -2726,21 +2828,21 @@ msgstr ""
 "toggle [ČÍSLO [PŘEPÍNAČ]]                přepnout stav PŘEPÍNAČE na oddílu "
 "ČÍSLO"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 "set ČÍSLO PŘEPÍNAČ STAV                  změnit PŘEPÍNAČ na oddílu ČÍSLO"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
@@ -2748,21 +2850,21 @@ msgstr ""
 "toggle [ČÍSLO [PŘEPÍNAČ]]                přepnout stav PŘEPÍNAČE na oddílu "
 "ČÍSLO"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "unit JEDNOTKA                            nastavit implicitní jednotku na "
 "JEDNOTKA"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2770,7 +2872,7 @@ msgstr ""
 "version                                  zobrazit číslo verze a informace o "
 "copyrightu GNU Parted"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2778,29 +2880,29 @@ msgstr ""
 "'version' zobrazí informace o copyrightu a informace o verzi odpovídající "
 "této kopii GNU Parted\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, fuzzy, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr "Použití: %s [-hlmsv] [ZAŘÍZENÍ [PŘÍKAZ [PARAMETRY]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Nenalezeno žádné zařízení"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 #, fuzzy
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr "VAROVÁNÍ: Nejste superuživatel. Pozor na oprávnění."
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Možná budete potřebovat aktualizovat /etc/fstab.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr "Vítá vás GNU Parted! Zobrazte seznam příkazů napsáním 'help'.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2811,7 +2913,7 @@ msgstr ""
 "Provést PŘÍKAZy s PARAMETRY na ZAŘÍZENÍ. Není-li zadán PŘÍKAZ, spustit\n"
 "v interaktivním režimu.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2874,7 +2976,7 @@ msgstr ""
 "Také přidejte další informace o vaší konfiguraci, které\n"
 "považujete za důležité.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2882,7 +2984,7 @@ msgstr ""
 "\n"
 "Historie příkazů:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2890,7 +2992,7 @@ msgstr ""
 "\n"
 "Chyba: SEGV_MAPERR (Adresa nepřiřazena objektu)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2898,7 +3000,7 @@ msgstr ""
 "\n"
 "Chyba: SEGV_ACCERR (Neplatné oprávnění namapovaného objektu)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2906,7 +3008,7 @@ msgstr ""
 "\n"
 "Chyba: Byl přijat obecný signál SIGSEGV.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2914,7 +3016,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_INTDIV (Celá čísla: dělení nulou)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2922,7 +3024,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_INTOVF (Celá čísla: přetečení)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2930,7 +3032,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTDIV (Plovoucí: dělení nulou)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2938,7 +3040,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTOVF (Plovoucí: přetečení)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2946,7 +3048,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTUND (Plovoucí: podtečení)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2954,7 +3056,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTRES (Plovoucí: nepřesný výsledek)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2962,7 +3064,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTINV (Plovoucí: neplatný výsledek)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -2970,7 +3072,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTSUB (Plovoucí: index mimo rozsah)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -2978,7 +3080,7 @@ msgstr ""
 "\n"
 "Chyba: Byl přijat obecný signál SIGFPE."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -2986,7 +3088,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_ILLOPC (Neplatný kód operace)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -2994,7 +3096,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_ILLOPN (Neplatný parametr)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3002,7 +3104,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_ILLADR (Neplatný režim adresování)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3010,7 +3112,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_ILLTRP (Neplatné zachycení)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3018,7 +3120,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_PRVOPC (Privilegovaný kód operace)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3026,7 +3128,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_PRVREG (Privilegovaný registr)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3034,7 +3136,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_COPROC (Chyba koprocesoru)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3042,7 +3144,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_BADSTK (Interní chyba zásobníku)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3050,65 +3152,69 @@ msgstr ""
 "\n"
 "Chyba: Byl přijat obecný signál SIGILL."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "neplatný token: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Očekávám číslo oddílu."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Oddíl neexistuje."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Očekávám typ systému souborů."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Neznámý typ systému souborů \"%s\"."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Očekávám typ jmenovky disku."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Nemohu vytvářet další oddíly."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Očekávám typ oddílu."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "on"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "off"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr ""
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr ""
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "PŘEPÍNAČe:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "PŘÍKAZy:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -3117,18 +3223,30 @@ msgstr ""
 "\n"
 "Chyby hlaste na <%s>.\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Používám %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Tento příkaz nedává smysl v neinteraktivním režimu.\n"
 
+#~ msgid "%s: option `--%s' doesn't allow an argument\n"
+#~ msgstr "%s: přepínač `--%s' nepovoluje parametr\n"
+
+#~ msgid "%s: unrecognized option `--%s'\n"
+#~ msgstr "%s: neznámý přepínač `--%s'\n"
+
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: neplatný přepínač -- %c\n"
 
+#~ msgid "%s: option `-W %s' is ambiguous\n"
+#~ msgstr "%s: přepínač `-W %s' není jednoznačný\n"
+
+#~ msgid "%s: option `-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: přepínač `-W %s' nepovoluje parametr\n"
+
 #~ msgid ""
 #~ "Usage: %s [OPTION]\n"
 #~ "  or:  %s DEVICE MINOR\n"
@@ -3404,6 +3522,13 @@ msgstr "Tento příkaz nedává smysl v neinteraktivním režimu.\n"
 #~ msgid "File system too small for ext2."
 #~ msgstr "Systém souborů příliš malý pro ext2."
 
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Systém souborů má logickou velikost sektoru %d. Ví se, že GNU Parted "
+#~ "nepracuje správně s velikostí sektoru jinou než 512 bajtů."
+
 #~ msgid "Too many bad pages."
 #~ msgstr "Příliš mnoho špatných stránek."
 
@@ -3420,9 +3545,6 @@ msgstr "Tento příkaz nedává smysl v neinteraktivním režimu.\n"
 #~ msgid "Source partition number?"
 #~ msgstr "Číslo zdrojového oddílu?"
 
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "Nemohu kopírovat rozšířený oddíl."
-
 #~ msgid "Destination partition number?"
 #~ msgstr "Číslo cílového oddílu?"
 
index 70dc109ca5926598dc6f590c6468fdfe8e9ce8dc..98c9d1cdce7aae068e2ebf99aafd652f28d12cde 100644 (file)
Binary files a/po/da.gmo and b/po/da.gmo differ
index 6e40b70671bfd84459aa94f5a71d89a7ec3bddd3..fc87fe5f85121ac4d816676f3e2c682af4056f24 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 3.0\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2011-06-03 23:23+0200\n"
 "Last-Translator: Keld Simonsen <keld@keldix.com>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -16,84 +16,65 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "Ugyldigt argument %s for %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "flertydigt argument %s for %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Gyldige argumenter er:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "skrivefejl"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Ukendt systemfejl"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: flaget '-W %s' er flertydigt\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: flaget '%s' er flertydigt; muligheder:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: flaget '--%s' tillader intet argument\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: ukendt flag '%c%s'\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: flaget '%c%s' tillader intet argument\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: flaget '--%s' kræver et argument\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: ukendt flag '--%s'\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: ukendt flag '%c%s'\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: ugyldig flag -- '%c'\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: flaget kræver et argument -- '%c'\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: flaget '-W %s' er flertydigt\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: flaget '-W %s' tillader intet argument\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: flaget '-W %s' kræver et argument\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -113,85 +94,86 @@ msgstr "%s: flaget '-W %s' kr
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "'"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "'"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Lykkedes"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Ingen træffer"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Ugyldigt regulært udtryk"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Ugyldigt sorteringstegn"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Ugyldigt tegnklassnavn"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Efterfølgende omvendt skråstreg"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Ugyldig bagudreference"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Ensomt [ eller [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Ensomt ( eller \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Ensomt \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Ugyldigt indhold i \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Ugyldig intervalslut"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Slut på hukommelse"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Ugyldigt foregående regulært udtryk"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "For tidlig slutning på regulært udtryk"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Regulært udtryk er for stort"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Ensomt ) eller \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Ingen tidligere regulære udtryk"
 
@@ -215,12 +197,12 @@ msgstr "^[jJyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pakket af %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pakket af %s\n"
@@ -228,18 +210,17 @@ msgstr "Pakket af %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Licens GPLv3+: GNU GPL version 3 eller senere <http://gnu.org/licenses/gpl."
@@ -249,19 +230,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Skrevet af %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Skrevet af %s og %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Skrevet af %s, %s og %s.\n"
@@ -269,7 +250,7 @@ msgstr "Skrevet af %s, %s og %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -281,7 +262,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -293,7 +274,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -305,7 +286,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -317,7 +298,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -331,7 +312,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -345,7 +326,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -360,33 +341,27 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Rapportér fejl til: %s\n"
 "Send synspunkter på oversættelsen til <dansk@dansk-gruppen.dk>\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Rapporteér fejl i %s til: %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Hjemmeside for %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Hjemmeside for %s: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 "Generel hjælp for hvordan man bruger GNU-programmer: <http://www.gnu.org/"
 "gethelp/>\n"
@@ -415,60 +390,60 @@ msgid "Disk Image"
 msgstr "Diskafbildning"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "En fejl opstod da %s åbnedes: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Kunne ikke åbne %s for både læsning og skrivning (%s). %s åbnedes i "
 "læsetilstand."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s under positionering for at læse på %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s under læsning på %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Kan ikke skrive til %s eftersom den kun er åbnet i læsetilstand."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s under positionering for at skrive på %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s under skrivning på %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Prøv '%s --help' for mere information.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Brug: %s [FLAG] [ENHED]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -484,7 +459,7 @@ msgstr ""
 "  -h, --help       vis denne hjælpetekst og afslut\n"
 "  -v, --version    vis versionsinformation og afslut\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -492,7 +467,7 @@ msgstr ""
 "\n"
 "Når ingen ENHED er sngivet, så undersøg alle partitioner.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -539,7 +514,7 @@ msgstr ""
 "véd noget som helst om de ændringer du lavede. Du bør genstarte maskinen "
 "inden du gør noget som helst med %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -552,17 +527,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s prøver at synkronisere %s med disk"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Kunne ikke tage status på enheden %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Kunne ikke bestemme dm-typen på %s."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -571,7 +546,7 @@ msgstr ""
 "Kunne ikke bestemme sektorstørrelse for %s: %s.\n"
 "Bruger standardsektorstørrelsen (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -580,21 +555,21 @@ msgstr ""
 "Kunne ikke bestemme fysisk sektorstørrelse for %s.\n"
 "Bruger den logiske sektorstørrelse (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Kunne ikke bestemme størrelsen på %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Generisk IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Kunne ikke finde identitet for enhed %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Generisk IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -607,12 +582,12 @@ msgstr ""
 "kombinationer af disketikette/filsystem, fx GPT og ext2/3.\n"
 "Referér til webstedet for opdateret information."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "En fejl opstod ved initiering af SCSI-enheden %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -621,7 +596,7 @@ msgstr ""
 "Enheden %s har så lille at den slet ikke kan indeholde et filsystem eller en "
 "partitionstabel. Måske har du valgt den forkerte enhed?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -630,86 +605,99 @@ msgstr ""
 "Kunne ikke bestemme geometrien på fil/enhed %s. Du bør ikke bruge Parted "
 "hvis du ikke er RIGTIGT sikker på hvad du gør!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Generelt SD/MMC-lagringskort"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Ny enhed?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Styrekort for DAC960 RAID"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Promise SX8 SATA-enhed"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "ATA over Ethernet-enhed"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "IBM S390 DASD-enhed"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries virtuel DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Styrekort for ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "I2O-styrekort"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "User-Mode Linux UBD"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr ""
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linux device-mapper (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Xen virtuel blokenhed"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Ukendt"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Virtio-blokenhed"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Linux programmeret RAID"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new() Understøttelse mangler for denne enhedstype"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "fejl ved fsync/close på %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, fuzzy, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "filslutning ved læsning af %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -721,12 +709,12 @@ msgstr ""
 "før du genopstarter - så du bør ikke montere den eller bruge den på nogen "
 "måde før du har genstartet."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, fuzzy, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Kunne ikke bestemme størrelsen eller længden af %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -739,36 +727,36 @@ msgstr ""
 "gamle partitioner stadig i bruge  Du bør genstate nu før du laver yderligere "
 "ændringer."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "Kan ikke have slutningen før begyndelsen! (startsektor=%jd længde=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Forsøg på at skrive sektorerne %ld-%ld udenfor partitionen på %s"
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "kontrollerer for dårlige blokke"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Backtrace har %d kald på stakken:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Påstand (%s) på %s:%d i funktionen %s() mislykkedes."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: ukendt diskmærke"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -777,42 +765,42 @@ msgstr ""
 "Denne libparted har ikke skriveunderstøttelse for %s. Måske var den oversat "
 "skrivebeskyttet."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Partition %d er %s, men filsystemet er %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "cylinder_alignment"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 #, fuzzy
 msgid "pmbr_boot"
 msgstr "start"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Ukendt diskflag, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Filallokeringstabeller for %s understøtter ikke udvidede partitioner."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr ""
 "Filallokeringstabeller for %s understøtter ikke logiske eller udvidede "
 "partitioner."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "For mange primære partitioner."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -820,128 +808,128 @@ msgstr ""
 "Kan ikke tilføje en logisk partition til %s, da der mangler en udvidet "
 "partition."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Kan ikke have mere end én udvidet partition på %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Kan ikke have logiske partitioner udenfor den udvidede partition."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr ""
 "Kan ikke have en logisk partition udenfor den udvidede partition på %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Kan ikke have en primær partition inden i en udvidet partition."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Kan ikke have en partition udenfor disken!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Kan ikke have overlappende partitioner."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadata"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "ledigt"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "udvidet"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logisk"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primær"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "start"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "rod"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swapplads"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "skjult"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 #, fuzzy
 msgid "msftdata"
 msgstr "metadata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 #, fuzzy
 msgid "esp"
 msgstr "Ja"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Ukendt partitionsflag, %d."
@@ -1011,30 +999,30 @@ msgstr ""
 "nyttigt for fejlrapportering! Send en fejlrapport med e-post til %s hvor du "
 "angiver versionsnumret (%s) og følgende meddelelse:"
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
 "Understøttelse for at læse AIX disketiketter er ikke implementeret endnu."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
 "Understøttelse for at skrive AIX disketiketter er ikke implementeret endnu."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "Understøttelse for at tilføje AIX disketiketter er ikke implementeret endnu."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Understøttelse for at duplikere AIX disketiketter er ikke implementeret "
 "endnu."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1042,76 +1030,182 @@ msgstr ""
 "Understøttelse for at sætte systemtype på partitioner i AIX disketiketter er "
 "ikke implementeret endnu."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "Understøttelse for at sætte flag i AIX disketiketter er ikke implementeret "
 "endnu."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted kan ikke bruge HFS-filsystemer på diske med en sektorstørrelse "
+"forskellig fra %d byte."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Kunne ikke opfylde alle begrænsninger på partitionen."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Kan ikke tildele et partitionsnummer."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Kan ikke tildele en plads til bsd-disketikette."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Kan ikke tildele en plads til dasd-disketikette"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Ugyldig partitionstabel på %s - fejlagtig signatur %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Ugyldig partitionstabel - rekursiv partition på %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Udvidede partitioner kan ikke være skjulte i etiketter af typen msdos."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Udvidede partitioner kan ikke være skjulte i etiketter af typen msdos."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted kan ikke ændre størrelse på partitioner som håndteres af Windows "
 "Dynamic Disk."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 #, fuzzy
 msgid "cannot create any more partitions"
 msgstr "Kan ikke tilføje flere partitioner."
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s har ingen udvidet partition (bindhoved-partition)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 "Tjeksummen er forkert, og det tyder på at partitionstabellen er ødelagt."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Kun primære partitioner kan være rod-partitioner."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Kun primære partitioner kan være swap-partitioner."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Kun logiske partitioner kan være en opstatsfil."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1120,87 +1214,91 @@ msgstr ""
 "mislykkedes med at sætte navn på dvh-partition %s:\n"
 "Kun logiske partitioner (opstartsfiler) har et navn."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "For mange primære partitioner"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "fejl ved åbning (open)"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "fejl ved søgning (seek)"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "fejl ved læsning (read)"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "ioctl()-fejl"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "API-versionen stemmer ikke"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Disktypen understøttes ikke"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Diskformatet understøttes ikke"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Disken er i brug"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Syntaksfejl i konfigurationsfilen"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Volumetiketten er skaded"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Et datasætnavn er skadet"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Hukommelsesallokeringen mislykkedes"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Enhedsverificeringen mislykkedes"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Den angivne enhed er ikke en gyldig DASD-enhed"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Fatal fejl"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Ingen plads for volumetikette."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Ingen plads for partitionsinformation."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Ugyldig VTOC."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Kunne ikke få fat på API-versionen."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
@@ -1208,23 +1306,28 @@ msgstr ""
 "Den aktuelle API-version '%d' passer ikke med API-versionen '%d' for dasd-"
 "drivrutinen!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Kunne ikke få fat på diskinformation."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Kunne ikke få fat på information om diskgeometri."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Kunne ikke få fat på information om blokstørrelse."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Kunne ikke få fat på diskinformation."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr ""
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1233,7 +1336,7 @@ msgstr ""
 "Formatet på GPT-partitionstabellen er version %x, hvilket er nyere end hvad "
 "Parted kan genkende. Rapportér gerne dette!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1244,7 +1347,7 @@ msgstr ""
 "GPT til at bruge al pladsen (%llu blokke mere), eller fortsæt med at bruge "
 "den aktuelle indstilling? "
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 #, fuzzy
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
@@ -1255,7 +1358,7 @@ msgstr ""
 "Skal det rettes ved at flytte sikkerhedskopien til slutningen (og fjerne den "
 "gamle sikkerhedskopi)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1263,7 +1366,7 @@ msgstr ""
 "Både den primære GPT-tabel og sikkerhedskopien er ødelagt. Prøv at lave en "
 "frisk tabel, og at genskabe partitioner med Parteds redningsfacilitet."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1271,7 +1374,7 @@ msgstr ""
 "Sikkerhedskopien af GPT-tabellen er ødelagt, men den primære tabel ser ud "
 "til at være i orden, så den vil blive brugt."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1279,56 +1382,56 @@ msgstr ""
 "Den primære GPT-tabel er ødelagt, men sikkerhedskopien ser ud til at være i "
 "orden, så den vil blive brugt."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "Uoverensstemmelse for CRC på primær partitionstabel"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "Kan ikke tildele et partitionsnummer."
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Ugyldig signatur %x for en filallokeringstabel for Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Partitionstabellen mangler oplysninger om sig selv!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s er for lille for en filallokeringstabel for Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Partition %d har en ugyldig signatur %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Partition %d har en ugyldig længde, 0 byte!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Dataområdet begynder ikke ved partitionens begyndelse."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Startområdet begynder ikke ved partitionens begyndelse"
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Partitionens opstartområde optager ikke hele partitionens plads."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Partitionens dataområde optager ikke hele partitionens plads."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1336,7 +1439,7 @@ msgstr ""
 "Mærkelig blokstørrelse på enhedens beskriver: %d byte er ikke helt delbart "
 "med 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1345,11 +1448,11 @@ msgstr ""
 "Enhedens beskriver påstår at den fysiske blokstørrelse er %d byte, men Linux "
 "påstår at den er %d byte."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Ingen gyldig partitionstabel kunne findes."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1358,11 +1461,11 @@ msgstr ""
 "Konfliktende størrelsesdata i partitionstabellen! Post 1 påstår den er %d, "
 "mens post %d påstår den er %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Mærkeligt! Der er 2 poster i partitionstabellen!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1370,7 +1473,7 @@ msgstr ""
 "At ændre navnet på en rod- eller swappartition gør at Linux ikke kan "
 "genkende dem."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Kan ikke tilføje endnu en partition - partitionstabellen er for lille!"
 
@@ -1392,7 +1495,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Kan ikke tilføje endnu en partition."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1401,7 +1504,7 @@ msgstr ""
 "partitionslængden på %jd sektorer overstiger maksimum for %s-partition-table-"
 "imposed på %jd"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1410,60 +1513,56 @@ msgstr ""
 "sektornumret for begyndelsen, %jd overstiger maksimum for %s-partition-table-"
 "imposed maksimum på %jd"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Fejlagtig kontrolsum på blok %llu af typen %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : Fandt ikke rdb-blok. Dette bør aldrig ske."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : løkke opdaget ved blok %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : %s-listen ser ud til at være fejlagtig på blok %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Mislykkedes med at liste fejlagtige blokke."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Mislykkedes med at liste partitionsblokke."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Mislykkedes med at liste filsystemsblokke."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Mislykkedes med at liste opstartsblokke."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Mislykkedes med at skrive partitionsblok på %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Kan ikke tildele et partitionsnummer."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "En beskadiget Sun disk-etikette blev fundet."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1472,17 +1571,17 @@ msgstr ""
 "Disk CHS-geometrien (%d,%d,%d) som opgivet af styresystemet passer ikke med "
 "geometrien gemt på disk-etiketten (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Disk-etiketten beskriver en disk større end %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "Disken har %d cylindre, hvilket er større end maksimum som er 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1494,7 +1593,7 @@ msgstr ""
 "én. Solaris vil muligvis ikke kunne starte op uden den, og SILO "
 "(opstartsprogrammet for Sparc) sætter også pris på den."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Sun disk-etikette er fuld."
 
@@ -1514,61 +1613,61 @@ msgstr "skrivning til enheden mislykkedes"
 msgid "reading from device failed"
 msgstr "læsning fra enheden mislykkedes"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Kunne ikke læse volumetikette."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Kunne ikke skrive volumetikette."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Kunne ikke læse VTOC-etiketter."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Kunne ikke læse VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Kunne ikke læse VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Kunne ikke læse VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Kunne ikke læse VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Kunne ikke skrive VTOC-etiketter."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Kunne ikke skrive VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Kunne ikke skrive VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Kunne ikke skrive VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Kunne ikke skrive VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 #, fuzzy
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Kunne ikke skrive VTOC FMT1 DSCB."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Ikke mere hukommelse."
 
@@ -1591,73 +1690,73 @@ msgstr "Den maksimale v
 msgid "The maximum sector value is %d."
 msgstr "Den maksimale sektor-værdi er %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Placeringen %s er udenfor enheden %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Ugyldigt nummer."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Mislykkedes med at allokere partitionsblok\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Mislykkedes med at allokere blok\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Kunne ikke læse startblok %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Kunne ikke læse rodblok %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : Mislykkedes med at allokere id liste-element\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Kunne ikke læse blok %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Fejlagtig kontrolsum på blok %llu af typen %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Kunne ikke skrive blok %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s : Mislykkedes med at allokere dikspecifik rdb-blok\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s :Fandt ikke rdb-blok, dette burde aldig kunne ske\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Mislykkedes med at læse partitionsblok %llu\n"
@@ -1702,39 +1801,39 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "FAT's startsektor mener at den logiske sektorstørrelse er 0. Mærkeligt."
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr "FAT's startsektor mener at der mangler FAT-tabeller. Mærkeligt."
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr "FAT's startsektor mener at en klynge består af 0 sektorer. Mærkeligt."
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Filsystemet er FAT12, som ikke understøttes."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Ukendt signatur '%10s' for gammel type Linux swapplads."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Ukendt signatur '%10s' for ny type Linux swapplads."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Ukendt Linux swsup signatur '%9s'."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1743,16 +1842,7 @@ msgstr ""
 "Parted kan ikke bruge HFS-filsystemer på diske med en sektorstørrelse "
 "forskellig fra %d byte."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Filsystemet har en logisk sektorstørrelse på %d. Det er kendt at GNU Parted "
-"ikke fungerer godt med andre sektorstørrelser end 512 byte."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1767,7 +1857,7 @@ msgstr ""
 "vil filsystemets CHS-geometri bilve sat til at matche partitionstabellens "
 "CHS-geometri."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1784,43 +1874,43 @@ msgid ""
 "Currently, only %s is free."
 msgstr ""
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
 "dosfsck or scandisk."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
 "scandisk."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1862,28 +1952,28 @@ msgid ""
 "cancel, or ignore to lose the files."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
 "should consult the Parted manual (or your distribution's manual)."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1892,31 +1982,31 @@ msgid ""
 "Windows 95a, and MS Windows NT."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1957,67 +2047,67 @@ msgstr "Forventer en filsystemstype."
 msgid "The file system is bigger than its volume!"
 msgstr "Disk-etiketten beskriver en disk større end %s."
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr ""
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:213
+#: libparted/fs/r/hfs/cache.c:214
 #, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
@@ -2091,120 +2181,120 @@ msgstr ""
 msgid "shrinking embedded HFS+ volume"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
@@ -2316,24 +2406,24 @@ msgstr ""
 "SALGBARHED eller EGNETHED FOR NOGET SPECIELT FORMÅL. Se GNU General\n"
 "Public License for yderligere information.\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(tid tilbage %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, fuzzy, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
 "Partitionen %s bruges. Du skal afmontere den inden du kan ændre den med "
 "Parted."
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Partitionen på %s er i brug."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2342,31 +2432,31 @@ msgstr ""
 "Den eksisterende disketikette på %s vil blive ødelagt og alle data på denne "
 "disk vil gå tabt. Vil du fortsætte?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Type på ny disketikette?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Type på partitionen"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Navn på partitionen?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Type på filsystemet?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Start?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Slut?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, fuzzy, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2375,7 +2465,7 @@ msgstr ""
 "Du bad om at oprette en partition fra %s til %s.\n"
 "Det nærmeste Parted kan klare er fra %s til %s.%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2383,83 +2473,94 @@ msgstr ""
 "\n"
 "Er dette stadigvæk acceptabelt for dig?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr "Den resulterende partition er ikke rigtigt justeret for bedste ydelse."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Filallokeringstabeller for %s understøtter ikke udvidede partitioner."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Nummer på partitionen?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "BIOS-geometri for cylinder,hoved,sektor: %d,%d,%d. Hver cylinder er %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Model: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disk %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Sektorstørrelse (logisk/fysisk): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Partitionstabel: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, fuzzy, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Disk %s: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Nummer"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Start"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Slut"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Størrelse"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Type"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Filsystem"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Name"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Flag"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Fri plads"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2468,66 +2569,67 @@ msgstr ""
 "En %s %s partition blev fundet på %s -> %s. Ønsker du at tilføje den til "
 "partitionstabellen?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "leder efter filsystemer"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Ny enhed?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "justeringstype (min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d justeret\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d ikke justeret\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Flag at invertere?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Ny tilstand?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Enhed?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "align-check TYPE N                        tjek partition N for TYPE(min|opt) "
 "justering"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "hjælp"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2535,15 +2637,15 @@ msgstr ""
 "hjælp [KOMMANDO]                         udskriver generel hjælp, eller "
 "speciel hjælp for KOMMANDO"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2551,15 +2653,15 @@ msgstr ""
 "mklabel,mktable ETIKETTE-TYPE            opret en ny disketikette "
 "(partitionstabel)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart PARTITIONSTYPE [FS-TYPE] START SLUT    lav en partition"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2567,20 +2669,20 @@ msgstr ""
 "'mkpart' laver en partition uden at oprette et nyt filsystem på partitionen. "
 "FS-TYPE kan angives for at sætte en passende identitet på partitionen.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
 "name NUMMER NAVN                         navngiv partition NUMMER som NAVN"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2590,7 +2692,7 @@ msgstr ""
 "tilgængelige enheder, ledig plads, alle partitioner som blev fundet, eller "
 "en specifik partition"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2599,11 +2701,11 @@ msgstr ""
 "en partition er angivet vil mere detaljeret information om denne partition "
 "blive vist.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : vis alle aktive blokenheder\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2611,31 +2713,31 @@ msgstr ""
 "  free      : vis information om ledig upartitioneret plads på den aktuelle "
 "blokenhed\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr "  list, all : vis partitionstabellerne på alle aktive blokenheder\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 "  NUMMER    : vis mere detaljeret information om denne specifikke partition\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     afslut programmet"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2643,56 +2745,56 @@ msgstr ""
 "rescue START SLUT                        red tabte partitioner nær ved START "
 "og SLUT"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr ""
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
 msgstr ""
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "rm NUMMER                                slet partition NUMMER"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm NUMMER                                slet partition NUMMER"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "vælg"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "vælg ENHED                               vælg enhed at redigere"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr ""
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 #, fuzzy
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 "sæt NUMMER FLAG TILSTAND                 ændr et flag på partition NUMMER"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 #, fuzzy
 msgid "disk_toggle"
 msgstr "skift"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 #, fuzzy
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
@@ -2701,21 +2803,21 @@ msgstr ""
 "skift [NUMMER [FLAG]]                  væxla tilstandet for FLAG på "
 "partition NUMMER"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "sæt"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 "sæt NUMMER FLAG TILSTAND                 ændr et flag på partition NUMMER"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "skift"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
@@ -2723,19 +2825,19 @@ msgstr ""
 "skift [NUMMER [FLAG]]                  væxla tilstandet for FLAG på "
 "partition NUMMER"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr "enhed ENHED                              sæt standardenheden til ENHED"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2743,7 +2845,7 @@ msgstr ""
 "version                                  vis versionsnummeret og "
 "ophavsretlig information om GNU Parted"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2751,32 +2853,32 @@ msgstr ""
 "'version' viser information om version og ophavsret for denne kopi af GNU "
 "Parted\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr "Usage: %s [-hlmsv] [-a<align>] [ENHED [KOMMANDO [PARAMETRE]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Ingen enhed fundet"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 #, fuzzy
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 "ADVARSEL: Du er ikke superbruger. Vær opmærksom på rettighedsproblemer."
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Glem ikke at opdatere /etc/fstab, om nødvendigt.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 "Velkommen til GNU Parted! Skriv 'hjælp' for at vise en liste med "
 "kommandoer.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2787,7 +2889,7 @@ msgstr ""
 "Kør KOMMANDO med PARAMETRE på ENHED. Hvis ingen KOMMANDOER angives køres\n"
 "programmet i interaktiv tilstand.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2850,7 +2952,7 @@ msgstr ""
 "Inkludér også yderligere information om din konfiguration som\n"
 "du mener er vigtigt at vide.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2858,7 +2960,7 @@ msgstr ""
 "\n"
 "Kommandohistorik:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2866,7 +2968,7 @@ msgstr ""
 "\n"
 "Fejl: SEGV_MAPERR (Adresse ikke mappet to objekt)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2874,7 +2976,7 @@ msgstr ""
 "\n"
 "Fejl: SEGV_ACCERR (Ugyldige rettigheder for mappet object)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2882,7 +2984,7 @@ msgstr ""
 "\n"
 "Fejl: Et generelt SIGSEGV-signal indtraf.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2890,7 +2992,7 @@ msgstr ""
 "\n"
 "Fejl: FPE_INTDIV (heltal: division med nul)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2898,7 +3000,7 @@ msgstr ""
 "\n"
 "Fejl: FPE_INTOVF (Integer: overløb)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2906,7 +3008,7 @@ msgstr ""
 "\n"
 "Fejl: FPE_FLTDIV (Float: division med nul)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2914,7 +3016,7 @@ msgstr ""
 "\n"
 "Fejl: FPE_FLTOVF (Float: overløb)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2922,7 +3024,7 @@ msgstr ""
 "\n"
 "Fejl: FPE_FLTUND (Float: underløb)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2930,7 +3032,7 @@ msgstr ""
 "\n"
 "Fejl: FPE_FLTRES (Float: unøjagtigt resultat)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2938,7 +3040,7 @@ msgstr ""
 "\n"
 "Fejl: FPE_FLTINV (Float: ugyldig operation)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -2946,7 +3048,7 @@ msgstr ""
 "\n"
 "Fejl: FPE_FLTSUB (Float: subskript uden for område)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -2954,7 +3056,7 @@ msgstr ""
 "\n"
 "Fejl: Et generelt SIGFPE-signal indtraf."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -2962,7 +3064,7 @@ msgstr ""
 "\n"
 "Fejl: ILL_ILLOPC (Ugyldig Opcode)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -2970,7 +3072,7 @@ msgstr ""
 "\n"
 "Fejl: ILL_ILLOPN (Ugyldig Operand)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -2978,7 +3080,7 @@ msgstr ""
 "\n"
 "Fejl: ILL_ILLADR (Ugyldig adressingstilstand)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -2986,7 +3088,7 @@ msgstr ""
 "\n"
 "Fejl: ILL_ILLTRP (Ugyldig Fælde)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -2994,7 +3096,7 @@ msgstr ""
 "\n"
 "Fejl: ILL_PRVOPC (Privilligeret Opkode)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3002,7 +3104,7 @@ msgstr ""
 "\n"
 "Fejl: ILL_PRVREG (Privilligeret Register)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3010,7 +3112,7 @@ msgstr ""
 "\n"
 "Fejl: ILL_COPROC (Coprocessor fejl)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3018,7 +3120,7 @@ msgstr ""
 "\n"
 "Fejl: ILL_BADSTK (Intern stakfejl)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3026,65 +3128,69 @@ msgstr ""
 "\n"
 "Fejl: Et generelt SIGILL-signal indtraf."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "ugyldigt token: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Forventer et partitionsnummer."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Partitionen findes ikke."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Forventer en filsystemstype."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Ukendt filsystemstype '%s'."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Forventer en disketikettetype."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Kan ikke tilføje flere partitioner."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Forventer eN partitionstype."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "på"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "fra"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "optimal"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "minimal"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "FLAG:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "KOMMANDOer:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3093,15 +3199,30 @@ msgstr ""
 "\n"
 "Rapportér fejl til %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Bruger %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Denne kommando er meningsløs i ikke-interaktiv tilstand.\n"
 
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: flaget '--%s' tillader intet argument\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: ukendt flag '--%s'\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: flaget '-W %s' tillader intet argument\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: flaget '-W %s' kræver et argument\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Hjemmeside for %s: <http://www.gnu.org/software/%s/>\n"
+
 #~ msgid "Failed to add partition %d (%s)"
 #~ msgstr "Mislykkedes med at tilføje partition %d (%s)"
 
@@ -3124,3 +3245,10 @@ msgstr "Denne kommando er meningsl
 #~ "burde. Måske er den ødelagt - muligvis af et program der ikke forstår GPT-"
 #~ "partitionstabeller. Eller måske slettede du GPT-tabellen, og bruger nu en "
 #~ "msdos-partitionstabel. Er dette en GPT-tabel?"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Filsystemet har en logisk sektorstørrelse på %d. Det er kendt at GNU "
+#~ "Parted ikke fungerer godt med andre sektorstørrelser end 512 byte."
index 905b8353e31dc912a24fd3bb1bba2d6816ef8fac..1048f9c1bf4430d3ad33d045108f47fe3529ac12 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 68c4a08732ffd9d636419b47cc551804e1d42901..2bc3f8179945c7a64023e4f0ba027274315b6ea9 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted-3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2014-07-03 21:25+0100\n"
 "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -16,85 +16,66 @@ msgstr ""
 "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"
 "X-Generator: Poedit 1.5.4\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "ungültiges Argument %s für %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "Mehrdeutiges Argument %s für %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Zulässige Argumente sind:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "Schreibfehler"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Unbekannter Systemfehler"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: Die Option »-W %s« ist mehrdeutig\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: Die Option »%s« ist mehrdeutig; Möglichkeiten:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: Die Option »%s« erlaubt kein Argument\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: unbekannte Option »%c%s«\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: Die Option »%c%s« erlaubt kein Argument\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: Die Option »%s« benötigt ein Argument\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: Unbekannte Option »--%s«\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: unbekannte Option »%c%s«\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: ungültige Option -- »%c«\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: Die Option benötigt ein Argument -- »%c«\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: Die Option »-W %s« ist mehrdeutig\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: Die Option »-W %s« erlaubt kein Argument\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: Die Option »-W %s« benötigt ein Argument\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -114,85 +95,86 @@ msgstr "%s: Die Option »-W %s« benötigt ein Argument\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "»"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "«"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Erfolg"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Keine Übereinstimmung"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Ungültiger regulärer Ausdruck"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Ungültiger Sortierbuchstabe"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Ungültiger Klassenname des Buchstabens"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Angehängter umgekehrter Schrägstrich"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Ungültige Zurück-Referenz"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Nicht gefunden: [ oder [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Nicht gefunden: ( oder \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Nicht gefunden: \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Ungültiger Inhalt in \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Ungültiges Ende des Bereichs"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Speicher erschöpft"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Vorausgehender ungültiger regulärer Ausdruck"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Verfrühtes Ende des regülären Ausdrucks"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Regulärer Ausdruck zu groß"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Nicht gefunden: ) oder \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Kein regulärer Ausdruck vorher"
 
@@ -216,12 +198,12 @@ msgstr "^[jJ]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Gepackt von %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Gepackt von %s\n"
@@ -229,18 +211,17 @@ msgstr "Gepackt von %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Lizenz GPLv3+: GNU GPL Version 3 oder neuer <http://gnu.org/licenses/gpl."
@@ -251,19 +232,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Geschrieben von %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Geschrieben von %s und %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Geschrieben von %s, %s und %s.\n"
@@ -271,7 +252,7 @@ msgstr "Geschrieben von %s, %s und %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -281,7 +262,7 @@ msgstr "Geschrieben von %s, %s, %s und %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -293,7 +274,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -305,7 +286,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -317,7 +298,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -331,7 +312,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -345,7 +326,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -360,32 +341,26 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Melden Sie Fehler an: %s\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Melden Sie %s-Fehler an: %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Webseite von %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Webseite von %s: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr "Allgemeine Hilfe zu GNU-Software: <http://www.gnu.org/gethelp/>\n"
 
 #: lib/xalloc-die.c:34
@@ -412,61 +387,61 @@ msgid "Disk Image"
 msgstr "Speicherabbild"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Fehler beim Öffnen von %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "%s kann nicht zum Schreiben geöffnet werden (%s). %s wurde nur lesbar "
 "geöffnet."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s, während %s zum Lesen positioniert wurde"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s, während von %s gelesen wurde"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr ""
 "Auf %s kann nicht geschrieben werden, weil es nur-lesend geöffnet wurde."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s, während %s zum Schreiben positioniert wurde"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s, während auf %s geschrieben wurde"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Rufen Sie »%s --help« auf, um mehr Informationen zu erhalten.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Aufruf: %s [OPTION] [GERÄT] …\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -482,7 +457,7 @@ msgstr ""
 "  -h, --help       diese Hilfe anzeigen und beenden\n"
 "  -v, --version    Versionsangaben ausgeben und beenden\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -490,7 +465,7 @@ msgstr ""
 "\n"
 "Ohne GERÄT, alle Partitionen testen.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -536,7 +511,7 @@ msgstr ""
 "bedeutet, dass das Hurd nichts über Ihre Änderungen weiß. Sie sollten den "
 "Computer neu starten, bevor Sie irgend etwas mit %s machen."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -550,17 +525,17 @@ msgid "%s trying to sync %s to disk"
 msgstr "%s beim Versuch, %s auf die Platte zu speichern (sync)"
 
 # cformat removed for testing
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Aufruf von stat für Gerät %s schlug fehl - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "dm-Typ von %s kann nicht festgestellt werden."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -569,7 +544,7 @@ msgstr ""
 "Die Sektorgröße von %s konnte nicht ermittelt werden: %s.\n"
 "Es wird die Standardsektorgröße verwendet (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -578,21 +553,21 @@ msgstr ""
 "Die physische Sektorgröße von %s konnte nicht ermittelt werden.\n"
 "Es wird die logische Sektorgröße verwendet (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Die Größe von %s kann nicht festgestellt werden (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Standard IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Die Identität von Gerät %s konnte nicht ermittelt werden - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Standard IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -605,12 +580,12 @@ msgstr ""
 "Plattenkennungen/Dateisystem-Kombinationen, z.B.: GPT und ext2/3.\n"
 "Bitte besuchen Sie die Webseite für aktuelle Informationen."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Fehler in der Initialisierung von SCSI-Gerät %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -620,7 +595,7 @@ msgstr ""
 "eine Partitionstabelle speichern kann. Vielleicht haben Sie das falsche "
 "Gerät ausgewählt?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -629,86 +604,99 @@ msgstr ""
 "Geometrie von Datei/Gerät %s konnte nicht ermittelt werden. Sie sollten "
 "Parted nicht verwenden, wenn Sie nicht WIRKLICH wissen, was Sie tun!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Generisch SD/MMC-Speicherkarte"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Neues Gerät?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "DAC960 RAID-Controller"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Promise SX8 SATA-Gerät"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "ATA over Ethernet-Gerät"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "IBM S390 DASD-Laufwerk"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries Virtual DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "ATARAID-Controller"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "I20-Controller"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "User-Mode Linux UBD"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Loopback-Gerät"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linux device-mapper (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Xen Virtuelles Blockorientiertes Gerät"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Unbekannt"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Virtio Blockorientiertes Gerät"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Linux Software-RAID-Verbund"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Nicht unterstützter Gerätetyp"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Fehler beim Abgleich oder Schließen von %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%0.0sDateiende beim Lesen von %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -720,12 +708,12 @@ msgstr ""
 "sehen wird. Sie sollten daher die Partition nicht einhängen oder sonst "
 "irgendwie benutzen, bis Sie den Rechner neu gestartet haben."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Beginn und Länge von %s können nicht festgestellt werden."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -739,37 +727,37 @@ msgstr ""
 "benutzt. Sie sollten nun den Rechner neu starten, bevor Sie weitere "
 "Änderungen vornehmen."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "Das Ende kommt nicht vor dem Anfang! (Startsektor=%jd Länge=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr ""
 "Versuch, die Sektoren %ld-%ld außerhalb der Partition auf %s zu schreiben."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "Nach defekten Blöcken wird gesucht"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Die Ablaufverfolgung hat %d Aufrufe auf dem Stack:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Aussage (%s) bei %s:%d in der Funktion %s() fehlgeschlagen."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: unbekannte Partitionstabelle"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -778,40 +766,40 @@ msgstr ""
 "Der libparted fehlt die Schreibunterstützung für %s. Vielleicht wurde sie "
 "nur lesbar kompiliert."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Die Partition %d hat %s, aber das Dateisystem hat %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "cylinder_alignment"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Unbekanntes Disk-Flag, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "%s-Disk-Labels unterstützen keine erweiterten Partitionen."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr ""
 "%s-Disk-Labels unterstützen keine logischen oder erweiterten Partitionen."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Zu viele primäre Partitionen."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -819,128 +807,128 @@ msgstr ""
 "Zu %s kann keine logische Partition hinzugefügt werden, da es keine "
 "erweiterte Partition gibt."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Auf %s kann es nicht mehr als eine erweiterte Partition geben."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr ""
 "Logische Partitionen können nicht außerhalb der erweiterten Partition sein."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr ""
 "Außerhalb der erweiterten Partition auf %s kann keine logische Partition "
 "existieren."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Es kann keine primäre Partition in einer erweiterten Partition sein."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Partitionen außerhalb der Festplatte sind nicht möglich!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Es können keine überlappenden Partitionen existieren."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "Metadaten"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "frei"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "erweitert"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logisch"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primär"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "boot"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "root"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "versteckt"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr "irst"
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 msgid "esp"
 msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Unbekanntes Partitionsflag %d."
@@ -1010,33 +998,33 @@ msgstr ""
 "einen Fehlerbericht sein könnte. Bitte senden Sie einen Fehlerbericht an %s "
 "unter Angabe der Version (%s) und der folgenden Meldung:  "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
 "Unterstützung für das Lesen von AIX-Partitionstabellen ist noch nicht "
 "implementiert."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
 "Unterstützung für das Schreiben von AIX-Partitionstabellen ist noch nicht "
 "implementiert."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "Unterstützung für das Hinzufügen von Partitionen zu AIX-Partitionstabellen "
 "ist noch nicht implementiert."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Unterstützung für das Duplizieren von Partitionen in AIX-Partitionstabellen "
 "ist noch nicht implementiert."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1044,76 +1032,183 @@ msgstr ""
 "Unterstützung für das Setzen des Systemtyps von Partitionen in AIX-"
 "Partitionstabellen ist noch nicht implementiert."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "Unterstützung für das Setzen von Flags in AIX-Partitionstabellen ist noch "
 "nicht implementiert."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted kann das HFS-Dateisystem nicht auf Festplatten mit einer Sektorgröße "
+"ungleich %d Bytes verwenden."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Es können nicht alle Anforderungen an die Partition erfüllt werden."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Die Partitionsnummer konnte nicht zugewiesen werden."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "BSD-Disklabel-Zeilen können nicht belegt werden."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "dasd-Disklabel-Zeilen können nicht belegt werden"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Ungültige Partitionstabelle auf %s -- falsche Signatur %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Ungültige Partitionstabelle - Rekursive Partition auf %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr ""
 "Erweiterte Partitionen können in MS-DOS-Disk-Labels nicht versteckt werden."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr ""
+"Erweiterte Partitionen können in MS-DOS-Disk-Labels nicht versteckt werden."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted kann von Windows Dynamic Disk verwaltete Partitionen nicht in der "
 "Größe verändern."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "Es können keine weiteren Partitionen erzeugt werden."
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s hat keine erweiterte Partition (volume header partition)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 "Die Prüfsumme ist falsch. Das weist auf eine defekte Partitionstabelle hin."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Nur primäre Partitionen können Root-Partitionen sein."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Nur primäre Partitionen können Swap-Partitionen sein."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Nur logische Partitionen können Boot-Dateien sein."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1122,87 +1217,91 @@ msgstr ""
 "dvh-Partitionsname kann nicht auf %s gesetzt werden:\n"
 "Nur logische Partitionen (Boot-Dateien) haben einen Namen."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Zu viele primäre Partitionen"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "Fehler beim Öffnen"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "Fehler beim Suchen"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "Lesefehler"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "ioctl() Fehler"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "Versionsunterschied der API"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Nicht unterstützter Festplattentyp"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Nicht unterstütztes Festplattenfomat"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Festplatte ist in Verwendung"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Syntaxfehler in der Konfigurationsdatei"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Die Volumenbezeichnung ist beschädigt"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Ein Datensatzname ist beschädigt"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Speicherzuweisung ist fehlgeschlagen"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Geräteprüfung fehlgeschlagen"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Das angegebene Gerät ist kein gültiges DASD-Gerät"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Fataler Fehler"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Kein Platz für eine Volumenbezeichnung."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Kein Platz für Partitionsinformationen."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Ungültiges VTOC."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Die API-Version kann nicht abgefragt werden."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
@@ -1210,23 +1309,28 @@ msgstr ""
 "Die aktuelle API-Version »%d« stimmt nicht mit der dasd-Treiber-API »%d« "
 "überein!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Die Festplatteninformationen konnten nicht gelesen werden."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Die Festplattengeometrie konnte nicht gelesen werden."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Die Blöckgröße konnte nicht gelesen werden."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Die Festplatteninformationen konnten nicht gelesen werden."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr "Gerät ist für GPT zu klein"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1235,7 +1339,7 @@ msgstr ""
 "Das Format der GPT-Partitionstabelle (%x) ist neuer als das von Parted "
 "verstandene. Bitte melden Sie das."
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1246,7 +1350,7 @@ msgstr ""
 "die GPT reparieren, damit der gesamte Platz verwendet wird (zusätzlich %llu "
 "Blöcke) oder Sie können mit den aktuellen Einstellungen fortfahren."
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
@@ -1255,7 +1359,7 @@ msgstr ""
 "normalerweise sein sollte. Soll das durch Verschieben der Sicherung zum Ende "
 "(und löschen der alten Sicherung) korrigiert werden?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1264,7 +1368,7 @@ msgstr ""
 "Sie, eine neue Tabelle anzulegen und die Partititionen mit Hilfe von "
 "Parted's Rettungsmöglichkeiten zu restaurieren."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1272,7 +1376,7 @@ msgstr ""
 "Die gesicherte GPT-Tabelle ist defekt, aber die primäre scheint in Ordnung "
 "zu sein, daher wird diese verwendet."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1280,55 +1384,55 @@ msgstr ""
 "Die primäre GPT-Tabelle ist defekt, aber die Sicherung scheint in Ordnung zu "
 "sein. Daher wird die Sicherung verwendet."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "Array der primären Partitionstabelle und CRC stimmen nicht überein"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
 msgstr "Der Partitionsname konnte nicht übersetzt werden."
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Ungültige Signatur %x für Mac-Partitionstabellen."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Die Partitionskarte hat keinen Partitionskarteneintrag!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s ist zu klein für eine Mac-Partitionstabelle!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Partition %d hat eine ungültige Signatur %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Partition %d hat eine ungültige Länge von 0 Bytes!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Die Datenregion beginnt nicht am Anfang der Partition."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Die Bootregion beginnt nicht am Anfang der Partition."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Die Bootregion der Partition belegt nicht die ganze Partition."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Die Datenregion der Partition belegt nicht die ganze Partition."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1336,7 +1440,7 @@ msgstr ""
 "Seltsame Blockgröße auf dem Gerätedeskriptor: %d Bytes ist nicht durch 512 "
 "teilbar."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1345,11 +1449,11 @@ msgstr ""
 "Der Treiberdeskriptor sagt, dass die physische Blockgröße %d Bytes ist. "
 "Linux sagt, dass es %d Bytes sind."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Keine gültige Partitionskarte gefunden."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1358,11 +1462,11 @@ msgstr ""
 "Widersprüchliche Größen in den Partitionskarteneinträgen! Eintrag 1 sagt, "
 "dass es %d Bytes sind, Eintrag %d sagt aber, dass es %d Bytes sind!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Seltsam! Es gibt 2 Partitionskarteneinträge!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1370,7 +1474,7 @@ msgstr ""
 "Eine Änderung des Namens der Root- oder Swap-Partition verhindert, dass "
 "Linux sie als solche erkennt."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
 "Eine weitere Partition kann nicht hinzugefügt werden -- die Partitionskarte "
@@ -1394,7 +1498,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Es kann keine weitere Partition hinzugefügt werden."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1403,7 +1507,7 @@ msgstr ""
 "Partitionslänge von %jd Sektoren übersteigt das %s-partition-table-imposed "
 "Maximum von %jd"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1412,61 +1516,57 @@ msgstr ""
 "Startsektornummer %jd übersteigt das %s-partition-table-imposed Maximum von "
 "%jd"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Falsche Prüfsumme bei Block %llu vom Typ %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr ""
 "%s : rdb-Block konnte nicht gefunden werden. Das sollte niemals passieren."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : Schleife bei Block %d gefunden."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : Die %s-Liste scheint am Block %s fehlerhaft zu sein."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Die fehlerhaften Blöcke konnten nicht angezeigt werden."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Die Partitionsblöcke konnten nicht angezeigt werden."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Die Dateisystemblöcke konnten nicht angezeigt werden."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Die Bootblöcke konnten nicht angezeigt werden."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Der Partitionsblock konnte an %d nicht geschrieben werden."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Die Partitionsnummer konnte nicht zugewiesen werden."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Defektes Sun-Disklabel gefunden."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1476,18 +1576,18 @@ msgstr ""
 "nicht mit der gespeicherten Geometrie in der Partitionstabelle (%d,%d,%d) "
 "überein."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Das Disklabel beschreibt eine Festplatte größer als %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr ""
 "Die Festplatte hat %d Zylinder, was größer ist als das Maximum von 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1499,7 +1599,7 @@ msgstr ""
 "bootet ohne vielleicht nicht mehr, und SILO (der Sparc-Bootlader) schätzt "
 "sie auch."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Das Sun-Disklabel ist voll."
 
@@ -1519,60 +1619,60 @@ msgstr "Fehler beim Schreiben auf das Gerät"
 msgid "reading from device failed"
 msgstr "Fehler beim Lesen vom Gerät"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Volumenbezeichnung kann nicht gelesen werden."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Volumenbezeichnung kann nicht geschrieben werden."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "VTOC-Bezeichnung kann nicht gelesen werden."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "VTOC FMT1 DSCB konnte nicht gelesen werden."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "VTOC FMT4 DSCB konnte nicht gelesen werden."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "VTOC FMT5 DSCB konnte nicht gelesen werden."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "VTOC FMT7 DSCB konnte nicht gelesen werden."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "VTOC-Bezeichnung kann nicht geschrieben werden."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "VTOC FMT1 DSCB kann nicht geschrieben werden."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "VTOC FMT4 DSCB kann nicht geschrieben werden."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "VTOC FMT5 DSCB kann nicht geschrieben werden."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "VTOC FMT7 DSCB kann nicht geschrieben werden."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "VTOC FMT9 DSCB kann nicht geschrieben werden."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Speicher erschöpft."
 
@@ -1596,75 +1696,75 @@ msgstr "Die maximale Zahl der Köpfe ist %d."
 msgid "The maximum sector value is %d."
 msgstr "Die maximale Zahl der Sektoren ist %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Der Ort %s ist außerhalb des Geräts %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Ungültige Nummer."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "Verwenden Sie eine kleinere Einheit anstelle eines Wertes < 1."
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Der Partitionsblock konnte nicht belegt werden\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Der Block konnte nicht belegt werden\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Der Boot-Block %llu konnte nicht gelesen werden\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Der Root-Block %llu konnte nicht gelesen werden\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : Das ID-Listen-Element konnte nicht belegt werden\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s: Der Block %llu konnte nicht gelesen werden\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Falsche Prüfsumme bei Block %llu vom Typ %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Block %d konnte nicht geschrieben werden\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr ""
 "%s : Der Festplatten-spezifische rdb-Block konnte nicht belegt werden\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr ""
 "%s : rdb-Block konnte nicht gefunden werden. Das sollte niemals passieren\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Der Partitionsblock %llu kann nicht gelesen werden\n"
@@ -1711,40 +1811,40 @@ msgstr ""
 "Die CHS-Geometrie des Dateisystems ist (%d, %d, %d), dies ist unzulässig. "
 "Die CHS-Geometrie der Partitionstabelle ist (%d, %d, %d)."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "Der FAT-Bootsektor sagt, die logische Sektorgröße sei 0. Das ist seltsam."
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr "Der FAT-Bootsektor sagt, es gäbe keine FAT-Tabellen. Das ist seltsam."
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "Der FAT-Bootsektor sagt, Cluster seien 0 Sektoren groß. Das ist seltsam."
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Das Dateisystem ist FAT12, welches nicht unterstützt wird."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Unbekannte veraltete Linux-Swap-Signatur »%10s«."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Unbekannte neue Linux-Swap-Signatur »%10s«."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Unbekannte swsusp-Linux-Swap-Signatur »%9s«."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1753,16 +1853,7 @@ msgstr ""
 "Parted kann das HFS-Dateisystem nicht auf Festplatten mit einer Sektorgröße "
 "ungleich %d Bytes verwenden."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Dieses Dateisystem hat eine logische Sektorgröße von %d. GNU Parted "
-"funktioniert mit anderen Sektorgrößen als 512 Bytes nicht richtig."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1777,7 +1868,7 @@ msgstr ""
 "Reparieren auswählen, wird die CHS-Geometrie des Dateisystems so gesetzt, "
 "dass sie mit der CHS-Geometrie der Partitionstabelle übereinstimmt."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1796,20 +1887,20 @@ msgstr ""
 "Sie benötigen %s freien Platz, um diese Partition auf diese Größe zu "
 "verkleinern. Momentan ist nur %s frei."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr "Clusteranfang delta = %d ist kein Vielfaches der Clustergröße %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Falscher Verzeichniseintrag für %s: Erster Cluster ist am Ende des "
 "Dateimarkers."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1817,7 +1908,7 @@ msgstr ""
 "Schlechte FAT: unbeendete Kette für %s. Sie sollten dosfsck oder Scandisk "
 "ausführen."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1826,7 +1917,7 @@ msgstr ""
 "Schlechte FAT: Cluster %d ist außerhalb des Dateisystems in Kette %s. Sie "
 "sollten dosfsck oder Scandisk ausführen."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1835,12 +1926,12 @@ msgstr ""
 "Schlechte FAT: Cluster %d ist querverbunden für %s. Sie sollten dosfsck oder "
 "Scandisk ausführen."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s ist %dk, hat aber %d Cluster (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1892,16 +1983,16 @@ msgstr ""
 "Es gibt im Root-Verzeichnis nicht genügend Platz für alle Dateien. Entweder "
 "abbrechen, oder ignorieren und die Dateien verlieren."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Fehler beim Schreiben in das Root-Verzeichnis."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 "Wenn Sie Ihr Dateisystem als FAT16 belassen, werden Sie keine Probleme haben."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1912,7 +2003,7 @@ msgstr ""
 "Sie das tun wollen, sollten Sie das Handbuch von Parted lesen (oder das "
 "Handbuch Ihrer Distribution)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1920,7 +2011,7 @@ msgstr ""
 "Wenn Sie Ihr Dateisystem als FAT32 belassen, werden Sie keine neuen Probleme "
 "herbeiführen."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1935,35 +2026,35 @@ msgstr ""
 "Dateisystem nicht mehr von MS-DOS, MS-Windows 95a und MS-Windows NT gelesen "
 "werden."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Wollen Sie FAT32 verwenden?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Das Dateisystem kann nur durch Konvertierung zu FAT16 in der Größe verändert "
 "werden."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Das Dateisystem kann nur durch Konvertierung zu FAT32 in der Größe verändert "
 "werden."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -2006,18 +2097,18 @@ msgstr "Größenänderung von %s-Dateisystemen ist noch nicht implementiert."
 msgid "The file system is bigger than its volume!"
 msgstr "Das Dateisystem ist größer als sein Datenträger!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Das Dateisystem enthält Fehler."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Fehlerhafte Blöcke konnten nicht gelesen werden."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -2027,61 +2118,61 @@ msgstr ""
 "aber es existiert bereits ein anderer an dieser Stelle. Sie sollten das "
 "Dateisystem überprüfen!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Es wurde versucht, einen erweiterten Block von 0x%X nach 0X%X zu "
 "verschieben, aber ein anderer existiert bereits an dieser Stelle. Das sollte "
 "nicht passieren!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 "Der erweiterte Cache der HFS-Datei mit der CNID %X konnte nicht aktualisiert "
 "werden."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
 "Die HFS-Datei mit der CNID %X kann nicht hinter dem Ende gelesen werden."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr ""
 "Der Sektor %lli der HFS-Datei mit der CNID %X konnte nicht gefunden werden."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
 "Die HFS-Datei mit der CNID %X kann nicht hinter dem Ende geschrieben werden."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 "Der erweiterte Cache der HFS+-Datei mit der CNID %X konnte nicht "
 "aktualisiert werden."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 "Die HFS+-Datei mit der CNID %X kann nicht hinter dem Ende gelesen werden."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr ""
 "Der Sektor %lli der HFS+-Datei mit der CNID %X konnte nicht gefunden werden."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
@@ -2163,19 +2254,19 @@ msgstr "Entschuldigung, HFS+ kann so nicht in der Größe verändert werden."
 msgid "shrinking embedded HFS+ volume"
 msgstr "Verkleinern des eingebetteten HFS+-Datenträgers"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Verkleinern des HFS+-Datenträgers ist fehlgeschlagen."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "Verkleinern des HFS-Wrappers"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "Aktualisieren des HFS-Wrappers ist fehlgeschlagen."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2184,11 +2275,11 @@ msgstr ""
 "Das ist keine echte Prüfung von %s. Es werden spezielle Dateien einer tiefen "
 "Ebene zu Fehlerbeseitigungszwecken extrahiert."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Prüfsummenfehler im Kopf der Liste der schlechten Blöcke."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
@@ -2196,32 +2287,33 @@ msgstr ""
 "Ungültige Größe eines Vorgangsblocks, während das Journal überprüft wurde "
 "(%i Bytes)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Ein Journal außerhalb des Datenträgers ist nicht unterstützt. Versuchen Sie, "
 "das Journal zu deaktivieren und führen Sie Parted dann erneut aus."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr "Journal-Abstand oder Größe ist kein Vielfaches der Sektorgröße."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Falsche Magic-Zahl im Kopf des Journals."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "Versatz der Größe des Journals zwischen Infoblock und dem Kopf des Journals."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Einige Einträge im Kopf sind kein Vielfaches der Clustergröße."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2229,11 +2321,11 @@ msgstr ""
 "Die im Journal gespeicherte Sektorgröße ist ungleich 512 Bytes. Parted "
 "unterstützt nur Sektoren mit einer Länge von 512 Bytes."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Falsche Prüfsumme des Journals."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2241,7 +2333,7 @@ msgstr ""
 "Das Journal ist nicht leer. Parted muss die Vorgänge überprüfen, bevor das "
 "Dateisystem geöffnet werden kann. Das wird das Dateisystem verändern."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2250,11 +2342,11 @@ msgstr ""
 "während des Überprüfens der Vorgänge geändert. Sie sollten Parted neu "
 "starten."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Eine Erweiterung wurde nicht umgelagert."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2262,17 +2354,17 @@ msgstr ""
 "Ein Verweis einer Erweiterung kam von einem Ort, von dem er nicht kommen "
 "sollte. Sie sollten das Dateisystem überprüfen lassen!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr "Dieser HFS-Datenträger hat keine Katalog-Datei. Das ist sehr unüblich!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Dieser HFS-Datenträger hat keine Überlaufdatei für Erweiterungen. Das ist "
 "schon ungewöhnlich!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2280,24 +2372,24 @@ msgstr ""
 "Die Überlaufdatei der Erweiterungen sollte nicht seine eigenen Erweiterungen "
 "enthalten! Sie sollten das Dateisystem überprüfen lassen."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Das Dateisystem konnte nicht zwischengespeichert werden."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Die Liste der schlechten Blöcke konnte nicht geladen werden."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Während der Umlagerung der Erweiterungen trat ein Fehler auf."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 "Dieser HFS+-Datenträger hat keine Katalog-Datei. Das ist sehr ungewöhnlich!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Dieser HFS-Datenträger hat keine Überlaufdatei für Erweiterungen. Das ist "
@@ -2412,24 +2504,24 @@ msgstr ""
 "\"GNU General Public License\" können weitere Einzelheiten nachgelesen\n"
 "werden.\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(Restzeit %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
 "Die Partition %s wird gerade verwendet. Sind Sie sicher, dass Sie fortsetzen "
 "wollen?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Partition(en) auf %s werden verwendet."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2438,31 +2530,31 @@ msgstr ""
 "Die bestehende Partitionstabelle und alle Daten auf %s werden gelöscht. "
 "Wollen Sie fortfahren?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Neuer Disk-Label-Typ?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Partitionstyp?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Partitionsname?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Dateisystemtyp?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Anfang?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Ende?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2472,7 +2564,7 @@ msgstr ""
 "Das Beste, was Parted bieten kann, ist von %s nach %s (Sektoren %llu..%llu)."
 "%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2480,85 +2572,96 @@ msgstr ""
 "\n"
 "Ist dies noch akzeptabel für Sie?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
 "Die Partition ist nicht sauber ausgerichtet, gemessen an bester Performance."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s-Disk-Labels unterstützen keine erweiterten Partitionen."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Partitionsnummer?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "BIOS Zylinder-, Kopf-, Sektor-Geometrie: %d, %d, %d. Jeder Zylinder ist %s "
 "groß.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Modell: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Festplatte  %s:  %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Sektorgröße (logisch/physisch): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Partitionstabelle: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Disk-Flags: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Nummer"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Anfang"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Ende"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Größe"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Typ"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Dateisystem"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Name"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Flags"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Freier Platz"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2567,83 +2670,84 @@ msgstr ""
 "Eine %s %s-Partition wurde bei %s -> %s gefunden. Wollen Sie diese Partition "
 "zur Partitionstabelle hinzufügen?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "Suche nach Dateisystemen"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr "Der resize-Befehl wurde in parted 3.0 entfernt."
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 "Das Verkleinern einer Partition kann Datenverlust zur Folge haben, sind Sie "
 "sicher, dass Sie fortsetzen wollen?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Neues Gerät?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "Ausrichtungstyp (min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d ausgerichtet\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d nicht ausgerichtet\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Umzukehrendes Flag?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Neuer Zustand?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Einheit?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "align-check TYP N                         Partition N auf TYP (min|opt) der "
 "Ausrichtung prüfen"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr ""
 "help [BEFEHL]                          Allgemeine Hilfe, oder Hilfe zu BEFEHL"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2651,15 +2755,15 @@ msgstr ""
 "mklabel,mktable LABEL-TYP                Neues Disklabel (Partitionstabelle) "
 "erzeugen"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart PART-TYP [FS-TYP] ANFANG ENDE    Partition erzeugen"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2668,20 +2772,20 @@ msgstr ""
 "Partition zu erzeugen. FS-TYP kann angegeben werden, um eine geeignete "
 "Partitions-ID zu setzen.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
 "name NUMMER NAME                         Partition NUMMER mit NAME benennen"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2691,7 +2795,7 @@ msgstr ""
 "Geräte, freien Speicher, alle Paritionen oder eine bestimmte Partition "
 "anzeigen"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2699,11 +2803,11 @@ msgstr ""
 "Ohne Argumente zeigt »print« die komplette Partitionstabelle an. Mit den "
 "folgenden Argumenten verrichtet es die zahlreichen anderen Aktionen.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : zeigt alle aktiven blockorientierten Geräte an\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2712,33 +2816,33 @@ msgstr ""
 "dem\n"
 "              aktuellen blockorientierten Gerät an\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : zeigt Partitionstabellen aller aktiven blockorientierten\n"
 "              Geräte an\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 "  NUMMER    : zeigt detailliertere Informationen über diese Partition an\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     Programm beenden"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2746,56 +2850,56 @@ msgstr ""
 "rescue ANFANG ENDE                       Eine verlorene Partitionen zwischen "
 "ANFANG und ENDE retten"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr "Der resize-Befehl wurde in parted 3.0 entfernt.\n"
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
 msgstr "resizepart"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr ""
 "resizepart NUMMER ENDE                   Größe der Partition NUMMER ändern"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm NUMMER                                Partition NUMMER löschen"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr ""
 "select GERÄT                             Wählen Sie ein GERÄT zur Bearbeitung"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "disk_set"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 "disk_set FLAG STATUS                     ändern des FLAGs auf dem gewählten "
 "Gerät"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
@@ -2803,22 +2907,22 @@ msgstr ""
 "disk_toggle [FLAG]                       Umschalten des FLAGs auf dem "
 "gewählten Gerät"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 "set NUMMER FLAG STATUS                   Ändern des FLAGs auf der Partition "
 "NUMMER"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
@@ -2826,20 +2930,20 @@ msgstr ""
 "toggle [NUMMER [FLAG]]                   Umschalten des FLAGs von Partition "
 "NUMMER"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "unit EINHEIT                             die Standardgröße auf EINHEIT setzen"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2848,7 +2952,7 @@ msgstr ""
 "Informationen\n"
 "                                         von GNU Parted an"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2856,31 +2960,31 @@ msgstr ""
 "»version« zeigt die Versions- und Copyright-Informationen zu dieser Kopie "
 "von GNU Parted an\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr "Aufruf: %s [-hlmsv] [-a<Ausrichtung>] [GERÄT [BEFEHL [PARAMETER]] …]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Kein Gerät gefunden"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 "WARNUNG: Sie sind kein Systemadministrator. Achten Sie auf Ihre Rechte.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Möglicherweise müssen Sie /etc/fstab anpassen.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 "Willkommen zu GNU Parted! Rufen Sie »help« auf, um eine Liste der "
 "verfügbaren Befehle zu erhalten.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2892,7 +2996,7 @@ msgstr ""
 "sind,\n"
 "interaktiv arbeiten.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2958,7 +3062,7 @@ msgstr ""
 "Nehmen Sie auch noch weitere Informationen über Ihr System auf, die Sie als "
 "wichtig empfinden.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2966,7 +3070,7 @@ msgstr ""
 "\n"
 "Befehlsfolge:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2974,7 +3078,7 @@ msgstr ""
 "\n"
 "Fehler: SEGV_MAPERR (Adresse nicht an ein Objekt gebunden)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2982,7 +3086,7 @@ msgstr ""
 "\n"
 "Fehler: SEGV_ACCERR (Ungültige Berechtigung für gebundenes Objekt)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2990,7 +3094,7 @@ msgstr ""
 "\n"
 "Fehler: Ein generelles SIGSEGV-Signal wurde empfangen.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2998,7 +3102,7 @@ msgstr ""
 "\n"
 "Fehler: FPE_INTDIV (Ganzzahl: Division durch Null)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -3006,7 +3110,7 @@ msgstr ""
 "\n"
 "Fehler: FPE_INTOVF (Ganzzahl: Überlauf)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -3014,7 +3118,7 @@ msgstr ""
 "\n"
 "Fehler: FPE_FLTDIV (Fließkommazahl: Division durch Null)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -3022,7 +3126,7 @@ msgstr ""
 "\n"
 "Fehler: FPE_FLTOVF (Fließkommazahl: Überlauf)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -3030,7 +3134,7 @@ msgstr ""
 "\n"
 "Fehler: FPE_FLTUND (Fließkommazahl: Unterlauf)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -3038,7 +3142,7 @@ msgstr ""
 "\n"
 "Fehler: FPE_FLTRES (Fließkommazahl: ungenaues Ergebnis)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -3046,7 +3150,7 @@ msgstr ""
 "\n"
 "Fehler: FPE_FLTINV (Fließkommazahl: ungültige Operation)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -3054,7 +3158,7 @@ msgstr ""
 "\n"
 "Fehler: FPE_FLTSUB (Fließkommazahl: Index außerhalb des zulässigen Bereichs)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -3062,7 +3166,7 @@ msgstr ""
 "\n"
 "Fehler: Ein generelles SIGFPE-Signal wurde empfangen."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -3070,7 +3174,7 @@ msgstr ""
 "\n"
 "Fehler: ILL_ILLOPC (Nicht erlaubter Opcode)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3078,7 +3182,7 @@ msgstr ""
 "\n"
 "Fehler: ILL_ILLOPN (Nicht erlaubter Operand)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3086,7 +3190,7 @@ msgstr ""
 "\n"
 "Fehler: ILL_ILLADR (Nicht erlaubter Adressierungsmodus)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3094,7 +3198,7 @@ msgstr ""
 "\n"
 "Fehler: ILL_ILLTRP (Nicht erlaubte Falle)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3102,7 +3206,7 @@ msgstr ""
 "\n"
 "Fehler: ILL_PRVOPC (Privilegierter Opcode)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3110,7 +3214,7 @@ msgstr ""
 "\n"
 "Fehler: ILL_PRVREG (Privilegiertes Register)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3118,7 +3222,7 @@ msgstr ""
 "\n"
 "Fehler: ILL_COPROC (Coprozessor-Fehler)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3126,7 +3230,7 @@ msgstr ""
 "\n"
 "Fehler: ILL_BADSTK (Interner Stack-Fehler)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3134,65 +3238,69 @@ msgstr ""
 "\n"
 "Fehler: Ein generelles SIGILL-Signal wurde empfangen."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "Unbekanntes Zeichen: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Es wird eine Partitionsnummer erwartet."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Die Partition existiert nicht."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Es wird ein Dateisystemtyp erwartet."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Unbekannter Dateisystemtyp »%s«."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Es wird ein Disklabeltyp erwartet."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Weitere Partitionen können nicht mehr erzeugt werden."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Es wird ein Partitionstyp erwartet."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "an"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "aus"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "optimal"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "minimal"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "OPTIONEN:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "BEFEHLE:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3201,15 +3309,37 @@ msgstr ""
 "\n"
 "Melden Sie Fehler an %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "%s wird verwendet\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Dieser Befehl ergibt im nicht-interaktiven Modus keinen Sinn.\n"
 
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: Die Option »%s« erlaubt kein Argument\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: Unbekannte Option »--%s«\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: Die Option »-W %s« erlaubt kein Argument\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: Die Option »-W %s« benötigt ein Argument\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Webseite von %s: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Dieses Dateisystem hat eine logische Sektorgröße von %d. GNU Parted "
+#~ "funktioniert mit anderen Sektorgrößen als 512 Bytes nicht richtig."
+
 #~ msgid "Failed to add partition %d (%s)"
 #~ msgstr "Partition %d konnte nicht hinzugefügt werden (%s)"
 
index d60d6b7e4163e0f73fb263ae18d91a5df5d8d47b..8432a33309ea3cd5353dde3e7c99d78e985be2f1 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index 654639ca5ff4d33bdf354164840e8e6c7dc589d3..02ef43866f2d6e7aad7f95d31fec14dffb14fec5 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU parted 1.6.23\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2005-09-18 20:05+0100\n"
 "Last-Translator: Vicente E. Llorens <vllorens@mundofree.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -14,85 +14,66 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr ""
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr ""
 
-#: lib/error.c:188
+#: lib/error.c:195
 #, fuzzy
 msgid "Unknown system error"
 msgstr "Tipo de sistema de ficheros \"%s\" desconocido."
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr ""
-
-#: lib/getopt.c:624 lib/getopt.c:628
+#: lib/getopt.c:278
 #, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous\n"
 msgstr ""
 
-#: lib/getopt.c:637 lib/getopt.c:642
+#: lib/getopt.c:284
 #, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr ""
 
-#: lib/getopt.c:685 lib/getopt.c:704
+#: lib/getopt.c:319
 #, c-format
-msgid "%s: option '--%s' requires an argument\n"
+msgid "%s: unrecognized option '%s%s'\n"
 msgstr ""
 
-#: lib/getopt.c:742 lib/getopt.c:745
+#: lib/getopt.c:345
 #, c-format
-msgid "%s: unrecognized option '--%s'\n"
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr ""
 
-#: lib/getopt.c:753 lib/getopt.c:756
+#: lib/getopt.c:360
 #, c-format
-msgid "%s: unrecognized option '%c%s'\n"
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr ""
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr ""
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr ""
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr ""
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -112,85 +93,85 @@ msgstr ""
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr ""
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr ""
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr ""
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr ""
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr ""
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr ""
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr ""
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr ""
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr ""
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr ""
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr ""
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr ""
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr ""
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr ""
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr ""
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr ""
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr ""
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr ""
 
@@ -214,12 +195,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -227,34 +208,33 @@ msgstr ""
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -262,7 +242,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -272,7 +252,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -282,7 +262,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -292,7 +272,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -302,7 +282,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -313,7 +293,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -324,7 +304,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,30 +316,24 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
+#: lib/version-etc.c:249
 #, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+msgid "Report bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: lib/version-etc.c:253
+#: lib/version-etc.c:260
 #, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 
 #: lib/xalloc-die.c:34
@@ -387,61 +361,61 @@ msgstr ""
 
 # o también "al abrir"
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Error al abrir %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "No se puede abrir %s en modo lectura-escritura (%s). %s ha sido abierto en "
 "modo de sólo lectura."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s durante la preparación para lectura en %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s durante la lectura en %s"
 
 # para sólo lectura.
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "No se puede escribir en %s, porque está abierto para sólo lectura."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s durante la preparación para escribir en %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s durante la escritura en %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr ""
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -451,13 +425,13 @@ msgid ""
 "  -v, --version    output version information and exit\n"
 msgstr ""
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -504,7 +478,7 @@ msgstr ""
 "computadora antes de hacer nada con %s."
 
 # boot loader -> cargador de arranque.
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -517,45 +491,45 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s intentando sincronizar %s al disco"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "No se puede hacer `stat' sobre el dispositivo %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, fuzzy, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "No se puede determinar el tamaño de %s (%s)."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
 "Using the default sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
 "Using the logical sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "No se puede determinar el tamaño de %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr ""
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "No se puede obtener la identidad del dispositivo %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr ""
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -564,12 +538,12 @@ msgid ""
 "Please consult the web site for up-to-date information."
 msgstr ""
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Error iniciando el dispositivo SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -578,7 +552,7 @@ msgstr ""
 
 # el Parted -> Parted. No se suelen poner artículos a los nombres de
 # los programas. queda un poco despectivo
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, fuzzy, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -587,92 +561,105 @@ msgstr ""
 "No se puede determinar la geometría del fichero/dispositivo.  ¡No debería "
 "utilizar Parted a no ser que REALMENTE sepa lo que está haciendo!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr ""
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "¿Nuevo dispositivo?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Controladora RAID DAC960"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr ""
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr ""
 
 # de Compaq
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Estructura Smart de Compaq"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Controladora ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Controladora I20"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr ""
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 #, fuzzy
 msgid "Loopback device"
 msgstr "¿Dispositivo de origen?"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr ""
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr ""
 
 # ¿Qué, exactamente, es desconocido? ¿No será desconocida?
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Desconocida"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Tipo de dispositivo no soportado"
 
 # o también "al abrir"
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, fuzzy, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Error al abrir %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr ""
 
 # informing the kernel -> al informar al núcleo
 # in any way -> de ninguna forma
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -684,12 +671,12 @@ msgstr ""
 "%s hasta que lo reinicie -- por lo tanto no puede montarla o utilizarla "
 "antes de reiniciarla."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, fuzzy, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "No se puede determinar el tamaño de %s (%s)."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -698,38 +685,38 @@ msgid ""
 "making further changes."
 msgstr ""
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, fuzzy, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "¡No se puede tener el final de la partición antes del inicio!"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr ""
 "Se intentaron escribir los sectores %ld-%ld fuera de la partición en %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "comprobando bloques erroneos"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr ""
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr ""
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, fuzzy, c-format
 msgid "%s: unrecognised disk label"
 msgstr "No se puede abrir %s - etiqueta de disco desconocida."
 
 # para sólo lectura.
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -738,41 +725,41 @@ msgstr ""
 "Esta libparted no tiene soporte para escritura en %s.  Quizás fue compilada "
 "para sólo lectura."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "La partición %d es %s, pero el sistema de ficheros es de %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr ""
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 #, fuzzy
 msgid "pmbr_boot"
 msgstr "arranque"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, fuzzy, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Modificador de particiones desconocido, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Las etiquetas de disco de %s no soportan particiones extendidas."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr ""
 "Las etiquetas de disco %s no soportan particiones extendidas o lógicas."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Demasiadas particiones primarias."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -780,130 +767,130 @@ msgstr ""
 "No se puede añadir una partición lógica en %s, porque no hay una partición "
 "extendida."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "No se puede tener más de una partición extendida en %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr ""
 "No se puede tener una partición lógica fuera de la partición extendida."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr ""
 "No se puede tener una partición lógica fuera de la partición extendida en %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr ""
 "No se puede tener una partición primaria dentro de una partición extendida."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "¡No se puede hacer una partición fuera del disco!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "No se puede tener particiones superpuestas."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadata"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "libre"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "extendida"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "lógica"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primaria"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "arranque"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr ""
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "raíz"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "oculta"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "utilidad-hp"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr ""
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 #, fuzzy
 msgid "msftdata"
 msgstr "metadata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr ""
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr ""
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr ""
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 #, fuzzy
 msgid "esp"
 msgstr "Sí"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Modificador de particiones desconocido, %d."
@@ -969,33 +956,33 @@ msgid ""
 "containing at least the version (%s) and the following message:  "
 msgstr ""
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 #, fuzzy
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
 "El soporte para crear el sistema de ficheros %s aún no está implementado."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 #, fuzzy
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
 "El soporte para crear el sistema de ficheros %s aún no está implementado."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 #, fuzzy
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "El soporte para crear el sistema de ficheros %s aún no está implementado."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 #, fuzzy
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "El soporte para crear el sistema de ficheros %s aún no está implementado."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 #, fuzzy
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
@@ -1003,54 +990,160 @@ msgid ""
 msgstr ""
 "El soporte para crear el sistema de ficheros %s aún no está implementado."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 #, fuzzy
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "El soporte para crear el sistema de ficheros %s aún no está implementado."
 
+#: libparted/labels/atari.c:273
+#, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "No es pueden copiar las particiones extendidas."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
 # No se pueden, con N.
 # no pongas dos espacios seguidos
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "No se pueden satisfacer todas las restricciones en la partición."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "No se puede asignar un número de partición."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "No se puede asignar una ranura de la etiqueta de disco bsd"
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 #, fuzzy
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "No se puede asignar una ranura de la etiqueta de disco bsd"
 
 # te doy permiso para poner inválida
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Tabla de particiones inválida en %s -- firma errónea %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Tabla de particiones inválida - partición recursiva en %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr ""
 "No pueden esconderse particiones extendidas en etiquetas de disco msdos."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr ""
+"No pueden esconderse particiones extendidas en etiquetas de disco msdos."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted no puede redimensionar particiones manejadas por Windows Dynamic Disk."
 
 # No se puede.
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 #, fuzzy
 msgid "cannot create any more partitions"
 msgstr "No se puede crear más particiones."
@@ -1060,7 +1153,7 @@ msgstr "No se puede crear m
 # La segunda acepción de ignorar (según el diccionario) también es pasar
 # por alto. vll
 # volumenes -> volúmenes
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, fuzzy, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr ""
@@ -1068,140 +1161,149 @@ msgstr ""
 "descarta, todos volúmenes de arranque serán borrados."
 
 # suma de comprobación
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 "La suma de comprobación es incorrecta, lo cual indica que la tabla de "
 "particiones está corrupta."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Sólo las particiones primarias pueden ser particiones raíz."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Sólo las particiones primarias pueden ser particiones de intercambio."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Sólo las particiones lógicas pueden ser un fichero de arranque."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, fuzzy, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
 "Only logical partitions (boot files) have a name."
 msgstr "Sólo las particiones lógicas (ficheros de arranque) tienen un nombre."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Demasiadas particiones primarias"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr ""
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 #, fuzzy
 msgid "Unsupported disk type"
 msgstr "ped_device_new()  Tipo de dispositivo no soportado"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr ""
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr ""
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr ""
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr ""
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 #, fuzzy
 msgid "Fatal error"
 msgstr "Fatal"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr ""
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 #, fuzzy
 msgid "No room for partition info."
 msgstr "Se encontró una tabla de particiones inválida."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr ""
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr ""
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "No se puede detectar el sistema de ficheros."
+
 # No se puede.
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1029
 #, fuzzy
 msgid "Could not retrieve disk geometry information."
 msgstr "No se puede leer la geometría de %s - %s."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr ""
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
 msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 #, fuzzy
 msgid "device is too small for GPT"
 msgstr "Sistema de ficheros demasiado pequeño para ext2."
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, fuzzy, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1211,7 +1313,7 @@ msgstr ""
 "nuevo que lo que Parted puede reconocer.  Por favor, díganoslo a bug-"
 "parted@gnu.org"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1219,7 +1321,7 @@ msgid ""
 "setting? "
 msgstr ""
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 #, fuzzy
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
@@ -1229,7 +1331,7 @@ msgstr ""
 "quiere decir que otro sistema operativo cree que el disco es más pequeño.  "
 "¿Lo quiere arreglar moviendo la copia al final (y borrando la copia vieja)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1238,7 +1340,7 @@ msgstr ""
 "una tabla actualizada, y utilice la opción de rescate de Parted para "
 "reconstruir las particiones."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 #, fuzzy
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
@@ -1247,7 +1349,7 @@ msgstr ""
 "La tabla primaria GPT está corrupta, pero la copia de respaldo parece "
 "correcta, por lo tanto se usará esta."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1255,58 +1357,58 @@ msgstr ""
 "La tabla primaria GPT está corrupta, pero la copia de respaldo parece "
 "correcta, por lo tanto se usará esta."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr ""
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "No se puede asignar un número de partición."
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Firma inválida %x para etiquetas de discos Mac."
 
 # Map es asignación o tabla. Mapa es un barbarismo.
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr ""
 "¡La tabla de particiones no tiene una entrada de la tabla de particiones!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "¡%s es demasiado pequeño para una etiqueta de disco Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "La partición %d tiene una firma inválida %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "¡La partición %d tiene una longitud inválida de 0 bytes!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "La región de datos no empieza al principio de la partición."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "La región de arranque no empieza al principio de la partición."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "La región de arranque de la partición no ocupa toda la partición."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "La región de datos de la partición no ocupa toda la partición."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1314,7 +1416,7 @@ msgstr ""
 "Tamaño de bloque extraño en el descriptor del dispositivo: %d bytes no es "
 "divisible por 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1323,11 +1425,11 @@ msgstr ""
 "El descriptor del controlador dice que el tamaño del bloque físico es de %d "
 "bytes, pero Linux dice que es de %d bytes."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Se encontró una tabla de particiones inválida."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1336,11 +1438,11 @@ msgstr ""
 "¡Conflicto en el tamaño de la entrada de la tabla de particiones! ¡La "
 "entrada 1 dice que es %d, pero la entrada %d dice que es %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "¡Extraño!  ¡Hay 2 entradas de tabla de particiones!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1348,7 +1450,7 @@ msgstr ""
 "Cambiando el nombre de una partición raíz o de intercambio impedirán a Linux "
 "de reconocela como tal."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
 "¡No se puede añadir otra partición -- la tabla de las particiones es "
@@ -1373,74 +1475,70 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "No se puede añadir otra partición."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
 msgstr ""
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
 msgstr ""
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Suma de comprobación mala en el bloque %llu de tipo %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : No se encuentra el bloque rdb, nunca debería ocurrir."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : Bucle detectado en el bloque %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : La lista %s parece mala en el bloque %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Fallo al escribir el bloque de la partición en %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "No se puede asignar un número de partición."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Se ha detectado una etiqueta de disco Sun corrupta."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1450,17 +1548,17 @@ msgstr ""
 "parece coincidir con la geometría guardada en la etiqueta de disco (%d,%d,"
 "%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "La etiqueta de disco describe un disco mayor que %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "El disco tiene %d cilindros que son mayores que el máximo de 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1472,7 +1570,7 @@ msgstr ""
 "verdadera. Solaris no se puede arrancar sin ella, y SILO (el cargador de "
 "arranque de sparc) también la agradece."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "La etiqueta de disco Sun está llena."
 
@@ -1493,62 +1591,62 @@ msgid "reading from device failed"
 msgstr ""
 
 # No se puede.
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 #, fuzzy
 msgid "Could not read volume label."
 msgstr "No se puede leer la geometría de %s - %s."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 #, fuzzy
 msgid "Could not write volume label."
 msgstr "No se puede detectar el sistema de ficheros."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr ""
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "No hay memoria."
 
@@ -1571,73 +1669,73 @@ msgstr ""
 msgid "The maximum sector value is %d."
 msgstr ""
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr ""
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr ""
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, fuzzy, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "Fallo al escribir el bloque de la partición en %d."
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, fuzzy, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Bucle detectado en el bloque %d."
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, fuzzy, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Bucle detectado en el bloque %d."
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, fuzzy, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Suma de comprobación mala en el bloque %llu de tipo %s."
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, fuzzy, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Bucle detectado en el bloque %d."
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, fuzzy, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : No se encuentra el bloque rdb, nunca debería ocurrir."
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, fuzzy, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "Fallo al escribir el bloque de la partición en %d."
@@ -1686,61 +1784,51 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "El sector de arranque de la FAT dice que el tamaño lógico del sector es 0.  "
 "Esto es extraño. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 "El sector de arranque de la FAT dice que no hay tablas FAT.  Esto es "
 "extraño. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "El sector de arranque de la FAT dice que los clusters tienen 0 sectores.  "
 "Esto es extraño. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "El sistema de ficheros es FAT12, el cuál no está soportado."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, fuzzy, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Firma de la partición de intercambio de linux '%10s' no reconocida."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, fuzzy, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Firma de la partición de intercambio de linux '%10s' no reconocida."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, fuzzy, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Firma de la partición de intercambio de linux '%10s' no reconocida."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"El sistema de ficheros tiene el tamaño del sector lógico de %d.  GNU Parted "
-"es conocido por no funcionar adecuadamente con tamaños de sector distintos "
-"de 512 bytes."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1750,7 +1838,7 @@ msgid ""
 "geometry."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1769,7 +1857,7 @@ msgstr ""
 "Necesita %s de espacio disco libre para reducir esta partición a este "
 "tamaño. Actualmente, sólo %s está libre."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
@@ -1777,14 +1865,14 @@ msgstr ""
 "El inicio delta del cluster = %d, que no es un múltiplo del tamaño de "
 "cluster %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Entrada de directorio incorrecta para %s: el primer cluster es el final de "
 "la marca del fichero."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1792,7 +1880,7 @@ msgstr ""
 "FAT incorrecta: cadena no terminada para %s.  Debería ejecutar dosfsck o "
 "scandisck."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1801,7 +1889,7 @@ msgstr ""
 "FAT incorrecta: el cluster %d está fuera del sistema de ficheros en la "
 "cadena para %s.  Debería ejecutar dosfsck o scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1810,12 +1898,12 @@ msgstr ""
 "FAT incorrecta: el cluster %d tiene enlaces cruzados para %s.  Debería "
 "ejecutar dosfsck o scandisck."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s es %dk, pero tiene %d clusters (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1869,16 +1957,16 @@ msgstr ""
 "No hay espacio suficiente en el directorio root para todos los ficheros.  "
 "Puede cancelar o descartar perdiendo los ficheros."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Error al escribir en el directorio root."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 "Si deja su sistema de ficheros como FAT16, entonces no tendrá problemas."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1888,7 +1976,7 @@ msgstr ""
 "debería re-instalar el cargador de arranque de MS Windows.  Si quiere hacer "
 "esto, debería consultar el manual de Parted (o el manual de su distribución)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1896,7 +1984,7 @@ msgstr ""
 "Si deja su sistema de ficheros como FAT32, entonces no tendrá nuevos "
 "problemas."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1910,35 +1998,35 @@ msgstr ""
 "También, la conversión a FAT32 hará ilegible el sistema de ficheros para MS "
 "DOS, MS Windows 95a y MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "¿Le gustaría usar FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "El sistema de ficheros sólo puede ser redimensionado a este tamaño para "
 "convertirlo a FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "El sistema de ficheros sólo puede ser redimensionado a este tamaño para "
 "convertirlo a FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1983,18 +2071,18 @@ msgstr ""
 msgid "The file system is bigger than its volume!"
 msgstr "¡El sistema de ficheros es más grande que su volumen!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "El sistema de ficheros contiene errores."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "No pueden leerse los bloques incorrectos."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -2003,51 +2091,51 @@ msgstr ""
 "Intentando registrar una extensión que empieza en el bloque 0x%X, pero ya "
 "existe otra en esta posición.  ¡Debería verificar el sistema de ficheros!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Intentando mover una extensión desde el bloque Ox%X para bloquear Ox%X, pero "
 "ya existe otra en esta posición.  ¡Esto no debería pasar!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
@@ -2122,128 +2210,128 @@ msgstr ""
 msgid "shrinking embedded HFS+ volume"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 #, fuzzy
 msgid "shrinking HFS wrapper"
 msgstr "contrayendo"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 #, fuzzy
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 "El inicio delta del cluster = %d, que no es un múltiplo del tamaño de "
 "cluster %d."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 #, fuzzy
 msgid "Some header fields are not multiple of the sector size."
 msgstr ""
 "El inicio delta del cluster = %d, que no es un múltiplo del tamaño de "
 "cluster %d."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 #, fuzzy
 msgid "Could not cache the file system in memory."
 msgstr "No se puede detectar el sistema de ficheros."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Ocurrió un error durante la relocalización de la extensión."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
@@ -2358,55 +2446,55 @@ msgstr ""
 "para obtener más detalles.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(tiempo que queda %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, fuzzy, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
 "La partición %s está usandose.  Debe desmontarla antes de modificarla con "
 "Parted."
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "La(s) partición(es) en %s está(n) siendo usada(s)."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
 "will be lost. Do you want to continue?"
 msgstr ""
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "¿Nuevo tipo de etiqueta de disco?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "¿Tipo de partición?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "¿Nombre de la partición?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "¿Tipo de sistema de ficheros?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "¿Inicio?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "¿Fin?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, fuzzy, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2415,88 +2503,99 @@ msgstr ""
 "Pidió redimensionar la partición para %s - %s. Lo más cerca que Parted puede "
 "manejar es %s - %s."
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
 msgstr ""
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Las etiquetas de disco de %s no soportan particiones extendidas."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "¿Número de la partición?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr ""
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, fuzzy, c-format
 msgid "Disk %s: %s\n"
 msgstr "Tipo de etiqueta de disco: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr ""
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, fuzzy, c-format
 msgid "Partition Table: %s\n"
 msgstr "¿Nombre de la partición?"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, fuzzy, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Tipo de etiqueta de disco: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Numero"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Inicio"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Fin"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Tamaño"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Typo"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Sistema de ficheros"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Nombre"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Banderas"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr ""
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2505,66 +2604,66 @@ msgstr ""
 "Ha sido encontrada una partición %s %s en %s -> %s.  ¿Quiere añadirla a la "
 "tabla de particiones?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "buscando los sistemas de ficheros"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "¿Nuevo dispositivo?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1721
 #, c-format
-msgid "%d not aligned\n"
+msgid "%d not aligned: %s\n"
 msgstr ""
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 #, fuzzy
 msgid "Flag to Invert?"
 msgstr "¿Bandera a cambiar?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "¿Nuevo estado?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "¿Unidad?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 #, fuzzy
 msgid "align-check"
 msgstr "comprobar"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 #, fuzzy
 msgid ""
 "help [COMMAND]                           print general help, or help on "
@@ -2573,15 +2672,15 @@ msgstr ""
 "help [ORDEN]                 muestra la ayuda general, o la ayuda sobre la "
 "ORDEN"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr ""
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 #, fuzzy
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
@@ -2590,15 +2689,15 @@ msgstr ""
 "mklabel TIPO-ETIQUETA        crea una nueva etiqueta de disco (en la tabla "
 "de partición)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart TIPO-PART [TIPO-SF] INICIO FIN     crea una partición"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 #, fuzzy
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
@@ -2608,27 +2707,27 @@ msgstr ""
 "partición. Debe ser especificado el TIPO-SF para asignar una ID de "
 "partición.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 #, fuzzy
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "name NUMERO NOMBRE            nombra la partición NUMERO como NOMBRE"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 #, fuzzy
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
@@ -2638,41 +2737,41 @@ msgstr ""
 "da un número de partición, se muestra la información más detallada\n"
 "sobre esa particion.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 #, fuzzy
 msgid "quit                                     exit program"
 msgstr "quit                          sale del programa"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 #, fuzzy
 msgid ""
 "rescue START END                         rescue a lost partition near START "
@@ -2680,133 +2779,133 @@ msgid ""
 msgstr ""
 "rescue INICIO FIN       recupera las particiones perdidas entre INICIO y FIN"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 #, fuzzy
 msgid "resizepart"
 msgstr "resize"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "rm NUMERO                      borra la partición NUMERO"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 #, fuzzy
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm NUMERO                      borra la partición NUMERO"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 #, fuzzy
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select DISPOSITIVO           elegir el dispositivo a editar"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr ""
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr ""
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 #, fuzzy
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 "set NUMERO MODIF ESTADO        cambia un modificador de la partición NUMERO"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr ""
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 #, fuzzy
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr "rm NUMERO                      borra la partición NUMERO"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 #, fuzzy
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "unit UNIDAD                     configura la unidad por defecto para UNIDAD"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr ""
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "No se encontró el dispositivo"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 #, fuzzy
 msgid "You may need to update /etc/fstab.\n"
 msgstr "No se olvide de actualizar /etc/fstab, si es necesario.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 
 # Uso: o Modo de empleo:
-#: parted/ui.c:165
+#: parted/ui.c:167
 #, fuzzy
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
@@ -2819,7 +2918,7 @@ msgstr ""
 "ORDEN(es), se ejecuta en\n"
 "modo interactivo.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2853,211 +2952,215 @@ msgid ""
 "consider important.\n"
 msgstr ""
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
 msgstr ""
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
 msgstr ""
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
 msgstr ""
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
 msgstr ""
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
 msgstr ""
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
 msgstr ""
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
 msgstr ""
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
 msgstr ""
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
 msgstr ""
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
 msgstr ""
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
 msgstr ""
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
 msgstr ""
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
 msgstr ""
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
 msgstr ""
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 msgstr ""
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
 msgstr ""
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
 msgstr ""
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
 msgstr ""
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
 msgstr ""
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
 msgstr ""
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr ""
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Se esperaba un número de partición."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "La partición no existe."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Se esperaba un tipo de sistema de ficheros."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Tipo de sistema de ficheros \"%s\" desconocido."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Se esperaba un tipo de etiqueta de disco."
 
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
 # No se puede.
-#: parted/ui.c:1231
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "No se puede crear más particiones."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Se esperaba un tipo de partición."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "on"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "off"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr ""
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr ""
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "OPCIÓNes:"
 
 # Comando es una barbaridad. En es@li.org usamos "orden".
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "ORDENes:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
 "Report bugs to %s\n"
 msgstr ""
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Usando %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr ""
 
@@ -3258,6 +3361,14 @@ msgstr ""
 #~ msgid "writing per-group metadata"
 #~ msgstr "escribiendo metadatos por-grupo"
 
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "El sistema de ficheros tiene el tamaño del sector lógico de %d.  GNU "
+#~ "Parted es conocido por no funcionar adecuadamente con tamaños de sector "
+#~ "distintos de 512 bytes."
+
 #~ msgid "Too many bad pages."
 #~ msgstr "Demasiadas páginas incorrectas."
 
@@ -3270,10 +3381,6 @@ msgstr ""
 #~ msgid "Source partition number?"
 #~ msgstr "¿Número de la partición de origen?"
 
-#, fuzzy
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "No es pueden copiar las particiones extendidas."
-
 #~ msgid "Destination partition number?"
 #~ msgstr "¿Número de la partición de destino?"
 
index 4cbe1ef0a26a2c66d5f38e421635c089dcfea242..010149f5c1a23efd09ed95944ebda183df4e5a49 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index 25de3af2ccc2aa3b2ffa42113f565abe1cf11273..3a24fe470cdc0615f2baa780d7251ed4dd08f209 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,99 +1,85 @@
-# translation of parted to Français.
+# translation of parted to Français.
 # Copyright (C) 2009 Free Software Foundation, Inc.
 # This file is distributed under the same license as the parted package.
+#
 # Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur since/depuis 1996.
 # Laurent Marsac <laurent DOT marsac AT laposte DOT net> 2006.
 # Nicolas Provost <nprovost AT quadriv DOT com>, 2011.
+# Stéphane Aulery <lkppo@free.fr>, 2015.
+#
+# Réencodage ISO-8859-1 => UTF-8 et typos, S. Aulery, 2015.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: parted 3.0\n"
+"Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
-"PO-Revision-Date: 2011-06-01 13:35+0100\n"
-"Last-Translator: Nicolas Provost <nprovost@quadriv.com>\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
+"PO-Revision-Date: 2015-04-19 01:50+0200\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\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"
+"X-Generator: Poedit 1.6.10\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argument non valide %s pour %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argument ambigu %s pour %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
-msgstr "Arguments valides : "
+msgstr "Arguments valides :"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
-msgstr "erreur dcriture"
+msgstr "erreur d’écriture"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
-msgstr "Erreur système inconnue"
+msgstr "Erreur système inconnue"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s : l'option '%s' est ambiguë; valeurs possibles : "
-
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s : l'option '--%s' ne prend pas d'argument\n"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s : l’option « -W %s » est ambiguë\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: l'option '%c%s' ne prend pas d'argument\n"
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s : l’option « %s » est ambiguë ; valeurs possibles :"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s : l'option '--%s' requiert un argument\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s : option « %c%s » inconnue\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s : option inconnue '--%s'\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
+msgstr "%s: l’option « %c%s » ne prend pas d’argument\n"
 
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s : option inconnue '%c%s'\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
+msgstr "%s : l’option « --%s » requiert un argument\n"
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s : option non valide -- '%c'\n"
+msgstr "%s : option -- « %c » invalide\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s : cette option requiert un argument -- '%c'\n"
-
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s : l'option '-W %s' est ambiguë\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s : l'option '-W %s' ne nécessite pas d'argument\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s : l'option '-W %s' requiert un argument\n"
+msgstr "%s : cette option requiert un argument -- « %c »\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
@@ -114,87 +100,88 @@ msgstr "%s : l'option '-W %s' requiert un argument\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
-msgstr "«"
+msgstr "«"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
-msgstr "»"
+msgstr "»"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
-msgstr "Succès"
+msgstr "Succès"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
-msgstr "Non trouvé"
+msgstr "Pas de correspondance"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
-msgstr "Expression régulière incorrecte"
+msgstr "Expression régulière incorrecte"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
-msgstr "Suite de caractères invalide"
+msgstr "Collation de caractère invalide"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
-msgstr "Nom de classe de caractères invalide"
+msgstr "Nom de classe de caractères invalide"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
-msgstr "Problème d'antislash"
+msgstr "Problème d’antislash"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
-msgstr "Référence invalide"
+msgstr "Référence arrière invalide"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
-msgstr "Non trouvé : [ ou [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
+msgstr "[ ou [^ non balancées"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
-msgstr "Non trouvé : ( ou \\("
+msgstr "( ou \\( non balancées"
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
-msgstr "Non trouvé : \\{"
+msgstr "\\{ non balancés"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
-msgstr "Contenu invalide de \\{\\}"
+msgstr "Contenu de \\{\\} invalide"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
-msgstr "Nombre ou intervalle invalide."
+msgstr "Fin d’intervalle invalide"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
-msgstr "Mémoire épuisée"
+msgstr "Mémoire épuisée"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
-msgstr "L'expression régulière précédente est incorrecte"
+msgstr "L’expression régulière précédente est incorrecte"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
-msgstr "Fin prématurée de l'expression régulière"
+msgstr "Fin prématurée de l’expression régulière"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
-msgstr "Expression régulière trop longue"
+msgstr "Expression régulière trop longue"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
-msgstr "Non trouvé : ) ou \\)"
+msgstr ") ou \\) non balancées"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
-msgstr "Expression régulière manquante"
+msgstr "Pas d’expression régulière précédente"
 
 #. TRANSLATORS: A regular expression testing for an affirmative answer
 #. (english: "yes").  Testing the first character may be sufficient.
@@ -216,257 +203,251 @@ msgstr "^[oO]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
-msgstr "Empaqueté par %s (%s)\n"
+msgstr "Empaqueté par %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
-msgstr "Empaqueté par %s\n"
+msgstr "Empaqueté par %s\n"
 
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
-msgstr "(C)"
+msgstr "©"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
-"Licence GPLv3+: GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl."
-"html>\n"
-"Logiciel libre : vous êtes libre de le modifier et de le redistribuer.\n"
-"Il n'y a AUCUNE GARANTIE, dans les limites autorisées par la loi.\n"
+"Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/"
+"gpl.html>\n"
+"Logiciel libre : vous êtes libre de le modifier et de le redistribuer.\n"
+"Il n’y a AUCUNE GARANTIE, dans les limites autorisées par la loi.\n"
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
-msgstr "Ecrit par %s.\n"
+msgstr "Écrit par %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
-msgstr "Ecrit par %s et %s.\n"
+msgstr "Écrit par %s et %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr "Ecrit par %s, %s, et %s.\n"
+msgstr "Écrit par %s, %s, et %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
-"Ecrit par %s, %s, %s,\n"
+"Écrit par %s, %s, %s,\n"
 "et %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
-"Ecrit par %s, %s, %s,\n"
+"Écrit par %s, %s, %s,\n"
 "%s, et %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
-"Ecrit par %s, %s, %s,\n"
+"Écrit par %s, %s, %s,\n"
 "%s, %s, et %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
-"Ecrit par %s, %s, %s,\n"
+"Écrit par %s, %s, %s,\n"
 "%s, %s, %s, et %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
-"Ecrit par %s, %s, %s,\n"
+"Écrit par %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "et %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
-"Ecrit par %s, %s, %s,\n"
+"Écrit par %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "%s, et %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "%s, %s, and others.\n"
 msgstr ""
-"Ecrit par %s, %s, %s,\n"
+"Écrit par %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
-"%s, %s, et autres auteurs.\n"
+"%s, %s, et d’autres contributeurs.\n"
 
 #. TRANSLATORS: The placeholder indicates the bug-reporting address
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
-"Rapports de bugs à %s\n"
+"Rapports de bugs à <%s>\n"
+"Rapports de bugs pour la traduction française à <traduc@traduc.org>\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
-msgstr "Envoi des rapports de bugs %s à <%s>\n"
+msgstr "Envoi des rapports de bugs %s à <%s>\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "page web %s : <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "%s page web : <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr "Aide générale des logiciels GNU : <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
+msgstr "Aide générale des logiciels GNU : <http://www.gnu.org/gethelp/>\n"
 
 #: lib/xalloc-die.c:34
 msgid "memory exhausted"
-msgstr "mémoire épuisée"
+msgstr "mémoire épuisée"
 
 #: lib/xstrtol-error.c:63
-#, fuzzy, c-format
+#, c-format
 msgid "invalid %s%s argument '%s'"
-msgstr "argument non valide `%s' pour %s%s"
+msgstr "invalide %s%s pour l’argument « %s »"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
+#, c-format
 msgid "invalid suffix in %s%s argument '%s'"
-msgstr "suffixe non valide dans %s%s argument `%s'"
+msgstr "suffixe invalide dans %s%s pour l’argument « %s »"
 
 #: lib/xstrtol-error.c:72
-#, fuzzy, c-format
+#, c-format
 msgid "%s%s argument '%s' too large"
-msgstr "%s%s argument `%s' trop grand"
+msgstr "%s%s argument « %s » trop grand"
 
 #: libparted/arch/beos.c:245
 msgid "Disk Image"
 msgstr "Image Disque"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
-msgstr "Erreur pendant l'ouverture de %s: %s"
+msgstr "Erreur pendant l’ouverture de %s : %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
-"Impossible d'ouvrir %s en lecture-écriture (%s). %s a été ouvert en lecture "
+"Impossible d’ouvrir %s en lecture-écriture (%s). %s a été ouvert en lecture "
 "seule."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
-msgstr "%s lors d'un positionnement pour lecture sur %s"
+msgstr "%s lors dun positionnement pour lecture sur %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s lors de la lecture sur %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
-msgstr "Ne peut écrire sur %s car il est ouvert en lecture seule."
+msgstr "Impossible d’écrire sur %s car il est ouvert en lecture seule."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
-msgstr "%s lors d'un positionnement pour écriture sur %s"
+msgstr "%s lors d’un positionnement pour écriture sur %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
-msgstr "%s lors de lcriture sur %s"
+msgstr "%s lors de l’écriture sur %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr "Essayez `%s --help' pour plus d'informations.\n"
+msgstr "Essayez « %s --help » pour plus d’informations.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
-msgstr "Usage: %s [OPTION] [PERIPHERIQUE]...\n"
+msgstr "Usage : %s [OPTION] [PÉRIPHÉRIQUE]…\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -475,35 +456,35 @@ msgid ""
 "  -h, --help       display this help and exit\n"
 "  -v, --version    output version information and exit\n"
 msgstr ""
-"Informe le système d'exploitation des changements survenus dans la table de "
+"Informe le système d’exploitation des changements survenus dans la table de "
 "partitions.\n"
 "\n"
-"  -d, --dry-run    ne pas informer le système d'exploitation pour le moment\n"
-"  -s, --summary    affiche un résumé\n"
-"  -h, --help       affiche l'aide et quitte\n"
+"  -d, --dry-run    ne pas informer le système d’exploitation pour le moment\n"
+"  -s, --summary    affiche un résumé\n"
+"  -h, --help       affiche laide et quitte\n"
 "  -v, --version    affiche les informations de version et quitte\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
 "\n"
-"Quand aucun PERIPHERIQUE n'est précisé, teste toutes les partitions.\n"
+"Quand aucun PÉRIPHÉRIQUE n’est précisé, teste toutes les partitions.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
 "Report bugs to <%s>.\n"
 msgstr ""
 "\n"
-"Envoyer les rapports de bugs à <%s>.\n"
+"Envoyer les rapports de bugs à <%s>.\n"
 
 #: libparted/arch/gnu.c:110
 #, c-format
 msgid "Unable to open %s."
-msgstr "Impossible d'ouvrir %s."
+msgstr "Impossible douvrir %s."
 
 #: libparted/arch/gnu.c:130
 msgid "Unable to probe store."
@@ -518,14 +499,14 @@ msgid ""
 "and reinstall your boot loader from the rescue disk.  Read section 4 of the "
 "Parted User documentation for more information."
 msgstr ""
-"La table de partition ne peut être relue, vous avez donc besoin de "
-"redémarrer avant de monter toute partition modifiée. Vous devez aussi "
-"réinstaller le gestionnaire de démarrage avant de redémarrer (ce qui peut "
-"nécessiter de monter les partitions modifiées). Il est impossible de faire "
-"ces deux choses à la fois ! C'est pourquoi vous aurez besoin de démarrer à "
-"partir d'un disque de secours et de ré-installer le gestionnaire de "
-"démarrage à partir de ce disque. Consultez la section 4 de la documentation "
-"utilisateur de Parted pour plus de détails."
+"La table de partition ne peut être relue, vous avez donc besoin de "
+"redémarrer avant de monter toute partition modifiée. Vous devez aussi "
+"réinstaller le gestionnaire de démarrage avant de redémarrer (ce qui peut "
+"nécessiter de monter les partitions modifiées). Il est impossible de faire "
+"ces deux choses à la fois ! C’est pourquoi vous aurez besoin de démarrer à "
+"partir d’un disque de secours et de réinstaller le gestionnaire de démarrage "
+"à partir de ce disque. Consultez la section 4 de la documentation "
+"utilisateur de Parted pour plus de détails."
 
 #: libparted/arch/gnu.c:385
 #, c-format
@@ -534,67 +515,67 @@ msgid ""
 "nothing about any modifications you made.  You should reboot your computer "
 "before doing anything with %s."
 msgstr ""
-"La table de partition sur %s ne peut être relue (%s). Cela signifie que Hurd "
-"ne connaît rien des modifications effectuées. Vous devriez redémarrer "
-"l'ordinateur avant de faire quoi que ce soit avec %s."
+"La table de partition sur %s ne peut être relue (%s). Cela signifie que Hurd "
+"ne connaît rien des modifications effectuées. Vous devriez redémarrer "
+"lordinateur avant de faire quoi que ce soit avec %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
 msgstr ""
-"Vous devriez réinstaller le gestionnaire de démarrage avant de redémarrer. "
+"Vous devriez réinstaller le gestionnaire de démarrage avant de redémarrer. "
 "Consultez la section 4 de la documentation utilisateur de Parted pour plus "
-"d'informations."
+"dinformations."
 
 #: libparted/arch/gnu.c:788
 #, c-format
 msgid "%s trying to sync %s to disk"
 msgstr "%s essaie de synchroniser %s sur le disque"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
-msgstr "Ne peut évaluer le statut du périphérique %s - %s."
+msgstr "Ne peut évaluer le statut du périphérique %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
-msgstr "Impossible de déterminer le type dm de %s."
+msgstr "Impossible de déterminer le type dm de %s."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
 "Using the default sector size (%lld)."
 msgstr ""
-"Impossible de déterminer la taille des secteurs de %s : %s.\n"
-"Utilisation de la taille des secteurs par défaut (%lld)."
+"Impossible de déterminer la taille des secteurs de %s : %s.\n"
+"Utilisation de la taille des secteurs par défaut (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
 "Using the logical sector size (%lld)."
 msgstr ""
-"Impossible de déterminer la taille des secteurs physiques de %s.\n"
+"Impossible de déterminer la taille des secteurs physiques de %s.\n"
 "Utilisation de la taille des secteurs logiques (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
-msgstr "Impossible de déterminer la taille de %s (%s)."
+msgstr "Impossible de déterminer la taille de %s (%s)."
+
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "IDE générique"
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
-msgstr "Impossible d'obtenir l'identité du périphérique %s - %s"
-
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "IDE générique"
+msgstr "Impossible d’obtenir l’identité du périphérique %s - %s"
 
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -602,135 +583,147 @@ msgid ""
 "system combinations, e.g. GPT and ext2/3.\n"
 "Please consult the web site for up-to-date information."
 msgstr ""
-"Le périphérique %s a de multiples (%d) secteurs logiques par secteur "
+"Le périphérique %s a de multiples (%d) secteurs logiques par secteur "
 "physique.\n"
-"GNU Parted supporte cela de manière EXPERIMENTALE pour certaines étiquettes "
-"de disque / combinaisons spéciales de systèmes de fichiers, i.e. GPT et "
+"GNU Parted supporte cela de manière EXPÉRIMENTALE pour certaines étiquettes "
+"de disque / combinaisons spéciales de systèmes de fichiers, i.e. GPT et "
 "ext2/3.\n"
-"Merci de consulter le site web pour des informations à jour."
+"Merci de consulter le site web pour des informations à jour."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
-msgstr "Erreur d'initialisation du périphérique SCSI %s - %s"
+msgstr "Erreur d’initialisation du périphérique SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
 "partition table.  Perhaps you selected the wrong device?"
 msgstr ""
-"Le périphérique %s est de si petite taille qu'il ne peut pas stocker un "
-"système de fichiers ou une table de partition. Peut-être avez-vous "
-"sélectionné le mauvais périphérique ?"
+"Le périphérique %s est de si petite taille qu’il ne peut pas stocker un "
+"système de fichiers ou une table de partition. Peut-être avez-vous "
+"sélectionné le mauvais périphérique ?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
 "unless you REALLY know what you're doing!"
 msgstr ""
-"Impossible de déterminer la géométrie du fichier/périphérique %s. Vous ne "
+"Impossible de déterminer la géométrie du fichier/périphérique %s. Vous ne "
 "devriez pas utiliser Parted sans VRAIMENT savoir ce que vous faites !"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
-msgstr "Carte de stockage SD/MMC générique"
+msgstr "Carte de stockage SD/MMC générique"
+
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Nouveau périphérique ?"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
-msgstr "Contrôleur RAID DAC960"
+msgstr "Contrôleur RAID DAC960"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
-msgstr "Périphérique Promise SX8 SATA"
+msgstr "Périphérique Promise SX8 SATA"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
-msgstr "Périph. ATA sur Ethernet"
+msgstr "Périphérique ATA sur Ethernet"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "Disque IBM S390 DASD"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries Virtual DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
-msgstr "Contrôleur ATARAID"
+msgstr "Contrôleur ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
-msgstr "Contrôleur I2O"
+msgstr "Contrôleur I2O"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "User-Mode Linux UBD"
 
-#: libparted/arch/linux.c:1473
-#, fuzzy
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
-msgstr "Périphérique source ?"
+msgstr "Périphérique Loopback"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
-msgstr "Mappeur de périphériques Linux (%s)"
+msgstr "Mappeur de périphériques Linux (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
-msgstr "Périphérique par blocs virtuel Xen"
+msgstr "Périphérique par blocs virtuel Xen"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Inconnu"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
-msgstr "Périphérique par blocs Virtio"
+msgstr "Périphérique par blocs Virtio"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Grappe RAID logiciel Linux"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
-msgstr "ped_device_new()  Type de périphérique non supporté"
+msgstr "ped_device_new()  Type de périphérique non pris en charge"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
-msgstr "Erreur de synchronisation/fermeture %s: %s"
+msgstr "Erreur de synchronisation/fermeture %s : %s"
 
-#: libparted/arch/linux.c:1846
-#, fuzzy, c-format
+#: libparted/arch/linux.c:1948
+#, c-format
 msgid "%0.0send of file while reading %s"
-msgstr "fin de fichier atteinte en lisant %s"
+msgstr "%0.0s fin de fichier atteinte en lisant %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
 "means Linux won't know about any changes you made to %s until you reboot -- "
 "so you shouldn't mount it or use it in any way before rebooting."
 msgstr ""
-"Erreur lors de la transmission au kernel des modifications de la partition "
-"%s - %s. Cela signifie que Linux ne reconnaîtra aucun des changements faits "
-"sur %s avant de redémarrer - vous ne devriez donc pas le monter ou "
-"l'utiliser avant de redémarrer."
+"Erreur lors de la transmission au noyau des modifications de la partition %s "
+"- %s. Cela signifie que Linux ne reconnaîtra aucun des changements faits sur "
+"%s avant de redémarrer - vous ne devriez donc pas le monter ou l’utiliser "
+"avant de redémarrer."
 
-#: libparted/arch/linux.c:2683
-#, fuzzy, c-format
+#: libparted/arch/linux.c:2807
+#, c-format
 msgid "Unable to determine the start and length of %s."
-msgstr "Impossible de déterminer la taille de %s."
+msgstr "Impossible de déterminer le début et la taille de %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -738,221 +731,222 @@ msgid ""
 "the old partition(s) will remain in use.  You should reboot now before "
 "making further changes."
 msgstr ""
-"La (les) partition(s) %s a (ont) été écrite(s) sur %s, mais impossible "
-"d'informer le système des changements, sans doute à cause de son (leur) "
+"La ou les partitions %s ont été écrites sur %s, mais il est impossible "
+"d’informer le système des changements, sans doute à cause de leur "
 "utilisation. Ainsi, les anciennes partitions restent en usage. Vous devriez "
-"redémarrer maintenant avant d'effectuer d'autres changements."
+"redémarrer maintenant avant d’effectuer d’autres changements."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr ""
-"La fin ne peut pas être avant le début ! (secteur début=%jd longueur=%jd)"
+"La fin ne peut pas être avant le début ! (secteur début=%jd longueur=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr ""
-"Tentative dcriture des secteurs %ld-%ld en dehors de la partition sur %s."
+"Tentative d’écriture des secteurs %ld-%ld en dehors de la partition sur %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
-msgstr "recherche de blocs défectueux"
+msgstr "recherche de blocs défectueux"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
-msgstr "Backtrace : %d appels sur la pile:\n"
+msgstr "Backtrace : %d appels sur la pile :\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
-msgstr "Assertion (%s) à %s: échec de %d dans la fonction %s()."
+msgstr "Assertion (%s) à %s : échec de %d dans la fonction %s()."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
-msgstr "Impossible d'ouvrir %s - étiquette de disque non reconnue."
+msgstr "%s : étiquette de disque inconnue"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
 "read-only."
 msgstr ""
-"Cette librairie \"libparted\" n'a pas de support pour l'écriture sur %s. "
-"Peut-être a-t-elle été compilée pour la lecture seulement."
+"Cette librairie « libparted » n’a pas de prise en charge pour l’écriture sur "
+"%s. Peut-être a-t-elle été compilée en lecture seulement."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
-msgstr "La partition %d est %s mais le système de fichiers est %s."
+msgstr "La partition %d est %s mais le système de fichiers est %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "alignement_cylindre"
 
-#: libparted/disk.c:842
-#, fuzzy
+#: libparted/disk.c:843
 msgid "pmbr_boot"
-msgstr "démarrage"
+msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Drapeau de partition inconnu, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
-msgstr "Les étiquettes du disque %s ne supportent pas les partitions étendues."
+msgstr ""
+"Les étiquettes du disque %s ne prennent pas en charge les partitions "
+"étendues."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr ""
-"Les étiquettes du disque %s ne supportent pas les partitions logiques ou "
-"étendues."
+"Les étiquettes du disque %s ne prennent pas en charge les partitions "
+"logiques ou étendues."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Trop de partitions primaires."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
 msgstr ""
-"Impossible d'ajouter une partition logique sur %s parce qu'il n'y a pas de "
-"partition étendue."
+"Impossible d’ajouter une partition logique sur %s parce qu’il n’y a pas de "
+"partition étendue."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
-msgstr "On ne peut avoir plus d'une partition étendue sur %s"
+msgstr "Impossible d’avoir plus d’une partition étendue sur %s"
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
-msgstr "Ne peut avoir de partition logique en dehors de la partition étendue."
+msgstr ""
+"Impossible d’avoir des partitions logiques en dehors de la partition étendue."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr ""
-"Ne peut avoir une partition logique en dehors de la partition étendue sur %s."
+"Impossible d’avoir une partition logique en dehors de la partition étendue "
+"sur %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr ""
-"Impossible d'avoir une partition primaire à l'intérieur d'une partition "
-"étendue."
+"Impossible d’avoir une partition primaire à l’intérieur d’une partition "
+"étendue."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
-msgstr "La partition ne peut pas être en dehors du disque !"
+msgstr "Impossible d’avoir une partition en dehors du disque !"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
-msgstr "Impossible d'avoir des partitions qui se chevauchent."
+msgstr "Impossible davoir des partitions qui se chevauchent."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
-msgstr "méta-données"
+msgstr "méta-données"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "libre"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
-msgstr "étendue"
+msgstr "étendue"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logique"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primaire"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
-msgstr "démarrage"
+msgstr "démarrage"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "racine"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
-msgstr "partition d'échange (swap)"
+msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
-msgstr "caché"
+msgstr "caché"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
-msgstr "lvm (gestionnaire de volumes logiques)"
+msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
-#, fuzzy
+#: libparted/disk.c:2399
 msgid "msftdata"
-msgstr "méta-données"
+msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
-msgstr ""
+msgstr "irst"
 
-#: libparted/disk.c:2408
-#, fuzzy
+#: libparted/disk.c:2409
 msgid "esp"
-msgstr "Oui"
+msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
-msgstr "Fanion de partition inconnu %d."
+msgstr "Drapeau de partition inconnu, %d."
 
 #: libparted/exception.c:78
 msgid "Information"
@@ -968,7 +962,7 @@ msgstr "Erreur"
 
 #: libparted/exception.c:81
 msgid "Fatal"
-msgstr "Fatal"
+msgstr "Fatale"
 
 #: libparted/exception.c:82
 msgid "Bug"
@@ -976,11 +970,11 @@ msgstr "Bug"
 
 #: libparted/exception.c:83
 msgid "No Implementation"
-msgstr "Pas d'implémentation"
+msgstr "Pas d’implémentation"
 
 #: libparted/exception.c:87
 msgid "Fix"
-msgstr "Réparer"
+msgstr "Réparer"
 
 #: libparted/exception.c:88
 msgid "Yes"
@@ -996,7 +990,7 @@ msgstr "OK"
 
 #: libparted/exception.c:91
 msgid "Retry"
-msgstr "Réessayer"
+msgstr "Réessayer"
 
 #: libparted/exception.c:92
 msgid "Ignore"
@@ -1014,343 +1008,458 @@ msgid ""
 "could be useful for bug submitting!  Please email a bug report to %s "
 "containing at least the version (%s) and the following message:  "
 msgstr ""
-"Une anomalie a été détectée dans GNU Parted. Reportez-vous au site de Parted "
-"http://www.gnu.org/software/parted/parted.html pour plus d'informations sur "
-"ce qui pourrait être utile pour le signalement de l'anomalie ! SVP rapportez "
-"celle-ci à %s en précisant au moins la version (%s) et le message suivant : "
+"Une anomalie a été détectée dans GNU Parted. Reportez-vous au site de Parted "
+"http://www.gnu.org/software/parted/parted.html pour plus d’informations sur "
+"ce qui pourrait être utile pour le signalement de l’anomalie ! Veuillez "
+"rapportez celle-ci à %s en précisant au moins la version (%s) et le message "
+"suivant : "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
-"Le support pour la lecture du système de fichiers AIX n'est pas encore "
-"implanté."
+"La prise en charge en lecture du système de fichiers AIX n’est pas encore "
+"implanté."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
-"Le support pour l'écriture du système de fichiers AIX n'est pas encore "
-"implanté."
+"La prise en charge de l’écriture du système de fichiers AIX n’est pas encore "
+"implanté."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
-"Le support pour la création de partitions AIX n'est pas encore implanté."
+"La prise en charge de la création de partitions AIX n’est pas encore "
+"implanté."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
-msgstr "Le support pour la copie de partitions AIX n'est pas encore implanté."
+msgstr ""
+"La prise en charge de la copie de partitions AIX n’est pas encore implanté."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
 msgstr ""
-"Le support pour la création du type de système de fichiers AIX n'est pas "
-"encore implanté."
+"La prise en charge du type de système de configuration des partitions dans "
+"les étiquettes de disque AIX n’est pas encore implanté."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
-"Le support pour la modification des drapeaux du système de fichiers AIX "
-"n'est pas encore implanté."
+"La prise en charge de la modification des drapeaux dans les étiquettes de "
+"disque AIX n’est pas encore implanté."
+
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted ne peut utiliser des systèmes de fichiers HFS sur les disques dont la "
+"taille des secteurs n’est pas égale à %d octets."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Impossible de satisfaire toutes les contraintes sur la partition."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Impossible d’allouer un numéro de partition."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
-msgstr "Impossible d'allouer l'entrée d'une étiquette de disque BSD."
+msgstr "Impossible d’allouer l’entrée d’une étiquette de disque BSD."
+
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
-msgstr "Impossible d'allouer l'entrée d'une étiquette de disque DASD."
+msgstr "Impossible d’allouer l’entrée d’une étiquette de disque DASD."
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
-msgstr "Table de partition invalide sur %s - signature erronée %x."
+msgstr "Table de partition invalide sur %s - signature erronée %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
-msgstr "Table de partition invalide - partition récursive sur %s."
+msgstr "Table de partition invalide - partition récursive sur %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr ""
-"Les partitions étendues ne peuvent être cachées sur les disques étiquetés MS-"
+"Les partitions étendues ne peuvent être cachées sur les disques étiquetés MS-"
+"DOS."
+
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr ""
+"Les partitions étendues ne peuvent être cachées sur les disques étiquetés MS-"
 "DOS."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
-"Parted ne peut redimensionner les partitions gérées par Windows Dynamic Disk."
+"Parted ne peut redimensionner les partitions gérées par Windows Dynamic Disk."
 
-#: libparted/labels/dos.c:2475
-#, fuzzy
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
-msgstr "Ne peut ajouter de nouvelle partition."
+msgstr "impossible de créer davantage de partitions"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
-msgstr "%s n'a pas de partition étendue (partition d'en-tête de volume)."
+msgstr "%s n’a pas de partition étendue (partition d’en-tête de volume)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
-"La somme de contrôle est erronée, cela indique que la table de partition est "
+"La somme de contrôle est erronée, cela indique que la table de partition est "
 "corrompue."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
-msgstr "Seules les partitions primaires peuvent être des partitions racines."
+msgstr "Seules les partitions primaires peuvent être des partitions racines."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
-msgstr "Seules les partitions primaires peuvent être des partitions d'échange."
+msgstr "Seules les partitions primaires peuvent être des partitions d’échange."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
-msgstr "Seules les partitions logiques peuvent être amorçables."
+msgstr "Seules les partitions logiques peuvent être amorçables."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
 "Only logical partitions (boot files) have a name."
 msgstr ""
 "impossible de fixer le nom de la partition dvh en %s :\n"
-"Seules les partitions logiques (d'amorçage) ont un nom."
+"Seules les partitions logiques (d’amorçage) ont un nom."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Trop de partitions primaires"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
-msgstr "erreur d'ouverture"
+msgstr "erreur douverture"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "erreur de positionnement"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "erreur de lecture"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "erreur ioctl()"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
-msgstr "mauvaise version d'API"
+msgstr "mauvaise version dAPI"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
-msgstr "Type de disque non supporté"
+msgstr "Type de disque non pris en charge"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
-msgstr "Format de disque non supporté"
+msgstr "Format de disque non pris en charge"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
-msgstr "Disque en cours d'utilisation"
+msgstr "Disque en cours dutilisation"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Erreur de syntaxe dans le fichier de configuration"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Etiquette de volume corrompue"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
-msgstr "Un ensemble de données (noms) est corrompu"
+msgstr "Un nom de lot de données est corrompu"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
-msgstr "Echec d'une allocation de mémoire"
+msgstr "Échec d’une allocation de mémoire"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
-msgstr "Echec de vérification du périphérique"
+msgstr "Échec de vérification du périphérique"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
-msgstr "Le périphérique spécifié n'est pas un périphérique DASD valide"
+msgstr "Le périphérique spécifié n’est pas un périphérique DASD valide"
+
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Erreur fatale"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
-msgstr "Pas de place pour ltiquette de volume."
+msgstr "Pas de place pour l’étiquette de volume."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Pas de place pour les informations de partition."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Table de volume (VTOC) incorrecte."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
-msgstr "Impossible de détecter la version de l'API."
+msgstr "Impossible de détecter la version de l’API."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
-"La version courante de l'API '%d' ne correspond pas avec celle du pilote "
-"DASD '%d' !"
+"La version courante de l’API « %d » ne correspond pas avec celle du pilote "
+"DASD « %d » !"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Impossible de trouver les informations sur le disque."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
-msgstr "Impossible d'analyser la géométrie du disque."
+msgstr "Impossible d’analyser la géométrie du disque."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Impossible de trouver la taille de bloc."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Impossible de trouver les informations sur le disque."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
-#, fuzzy
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
-msgstr "Périphérique trop petit pour %lu blocs."
+msgstr "périphérique trop petit pour GPT"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
 "what Parted can recognise.  Please report this!"
 msgstr ""
 "Le format de la table de partitions GPT est de version %x, ce qui est plus "
-"récent que ce que Parted peut reconnaître. SVP prévenez-nous !"
+"récent que ce que Parted peut reconnaître. SVP prévenez-nous !"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
 "to use all of the space (an extra %llu blocks) or continue with the current "
 "setting? "
 msgstr ""
-"Il semble que l'espace disponible sur %s ne soit pas totalement utilisé, "
-"voulez-vous ajuster la table GPT pour utiliser tout l'espace (%llu blocs en "
+"Il semble que l’espace disponible sur %s ne soit pas totalement utilisé, "
+"voulez-vous ajuster la table GPT pour utiliser tout lespace (%llu blocs en "
 "plus) ou continuer ainsi ?"
 
-#: libparted/labels/gpt.c:1006
-#, fuzzy
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
 msgstr ""
-"La sauvegarde de la table GPT n'est pas à la fin du disque ainsi qu'elle le "
-"devrait. Cela peut vouloir dire qu'un autre sytème d'exploitation croit que "
-"le disque est plus petit. Faut-il corriger en déplaçant la copie à la fin du "
-"disque (et enlever la vieille sauvegarde) ?"
+"La sauvegarde de la table GPT n’est pas à la fin du disque ainsi qu’elle le "
+"devrait. Faut-il corriger en déplaçant la copie à la fin du disque (et "
+"enlever la vieille sauvegarde) ?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
 msgstr ""
 "Les tables GPT primaire et secondaire (sauvegarde) sont corrompues toutes "
-"les deux. Essayer d'écrire une nouvelle table et d'utiliser le mode de "
-"secours de Parted pour recupérer les partitions."
+"les deux. Essayer d’écrire une nouvelle table et d’utiliser le mode de "
+"secours de Parted pour récupérer les partitions."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
 msgstr ""
-"La sauvegarde de table GPT est corrompue mais l'originale semble valide et "
-"sera donc utilisée."
+"La sauvegarde de table GPT est corrompue mais loriginale semble valide et "
+"sera donc utilisée."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
 msgstr ""
 "La table primaire GPT est corrompue mais sa sauvegarde semble valide, elle "
-"sera donc utilisée."
+"sera donc utilisée."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "erreur CRC sur la table primaire de partitions"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
-#, fuzzy
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
-msgstr "Impossible d'allouer un numéro de partition."
+msgstr "échec de traduction du nom de partition"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
-msgstr "Signature invalide %x pour une étiquette de disque Mac."
+msgstr "Signature %x invalide pour une étiquette de disque Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
-msgstr "La table de partitions n'a pas d'entrée de table de partition !"
+msgstr "La table de partitions n’a pas d’entrée de table de partition !"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
-msgstr "%s est trop petit pour une étiquette de disque Mac !"
+msgstr "%s est trop petit pour une étiquette de disque Mac !"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
-msgstr "La partition %d a une signature invalide %x."
+msgstr "La partition %d a une signature %x invalide."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "La partition %d a une longueur invalide de 0 octet !"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
-msgstr "La zone de données ne commence pas au début de la partition."
+msgstr "La zone de données ne commence pas au début de la partition."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
-msgstr "La zone d'amorce n'est pas au début de la partition."
+msgstr "La zone d’amorce n’est pas au début de la partition."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr ""
-"La zone d'amorce de la partition ne couvre pas entièrement la partition."
+"La zone d’amorce de la partition ne couvre pas entièrement la partition."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr ""
-"La zone de données de la partition ne couvre pas entièrement la partition."
+"La zone de données de la partition ne couvre pas entièrement la partition."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr ""
-"Taille bizarre de bloc sur le descripteur de périphérique : %d octets n'est "
+"Taille bizarre de bloc sur le descripteur de périphérique : %d octets n’est "
 "pas divisible par 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1359,35 +1468,35 @@ msgstr ""
 "Le descripteur du pilote indique une taille physique de bloc de %d octets, "
 "mais Linux lui indique %d octets."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
-msgstr "Aucune table de partitions valide n'a été trouvée."
+msgstr "Aucune table de partitions valide n’a été trouvée."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
 "says it is %d!"
 msgstr ""
-"Tailles conflictuelles des entrées de la table de partition ! L'entrée 1 "
-"indique %d alors que l'entrée %d indique %d !"
+"Tailles conflictuelles des entrées de la table de partition ! L’entrée 1 "
+"indique %d alors que l’entrée %d indique %d !"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
-msgstr "Bizarre - Il y a 2 entrées de table de partitions !"
+msgstr "Bizarre - Il y a 2 entrées de table de partitions !"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
 msgstr ""
-"Changer le nom d'une partition racine (root) ou d'échange (swap) empêchera "
-"Linux de les reconnaître en tant que telles."
+"Changer le nom d’une partition racine (root) ou d’échange (swap) empêchera "
+"Linux de les reconnaître en tant que telles."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
-"Impossible d'ajouter une autre partition - la table de partition est trop "
+"Impossible dajouter une autre partition - la table de partition est trop "
 "petite !"
 
 #: libparted/labels/pc98.c:284
@@ -1401,283 +1510,278 @@ msgid ""
 "Partition %d isn't aligned to cylinder boundaries.  This is still "
 "unsupported."
 msgstr ""
-"La partition %d n'est pas alignée sur une frontière de cylindre. Ce cas de "
-"figure n'est pas supporté."
+"La partition %d n’est pas alignée sur une frontière de cylindre. Ce cas de "
+"figure n’est pas pris en charge."
 
 #: libparted/labels/pc98.c:733
 msgid "Can't add another partition."
-msgstr "Impossible d'ajouter une autre partition."
+msgstr "Impossible dajouter une autre partition."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
 msgstr ""
-"la longueur de la partition, %jd secteurs, excède le max. imposé par la "
+"la longueur de la partition, %jd secteurs, excède le max. imposée par la "
 "table de partitions %s : %jd"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
 msgstr ""
-"le n° du secteur de départ %jd excède le max. imposé par la table de "
+"le numéro du secteur de départ %jd excède le max. imposée par la table de "
 "partitions %s : %jd"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
-msgstr "%s : Mauvaise somme de contrôle sur le bloc %llu de type %s."
+msgstr "%s : Mauvaise somme de contrôle sur le bloc %llu de type %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr ""
 "%s : Impossible de trouver le bloc RDB, cela ne devrait jamais arriver."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
-msgstr "%s : Boucle detectée sur le bloc %d."
+msgstr "%s : Boucle détectée sur le bloc %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
-msgstr "%s : La liste %s semble être erronée sur le bloc %s."
+msgstr "%s : La liste %s semble être erronée sur le bloc %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
-msgstr "%s : N'a pas pu détecter les blocs défectueux"
+msgstr "%s : Impossible de détecter les blocs défectueux"
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Impossible de lister les blocs de la partition."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
-msgstr "%s : Impossible de lister les blocs du système de fichiers."
+msgstr "%s : Impossible de lister les blocs du système de fichiers."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
-msgstr "%s : Impossible de lister les blocs de démarrage."
+msgstr "%s : Impossible de lister les blocs de démarrage."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
-msgstr "N'a pas pu écrire le bloc descripteur de partition sur %d."
+msgstr "Impossible d’écrire le bloc descripteur de partition sur %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Impossible d'allouer un numéro de partition."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
-msgstr "Étiquette de disque Sun corrompue."
+msgstr "Étiquette de disque Sun corrompue."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
 "match the geometry stored on the disk label (%d,%d,%d)."
 msgstr ""
-"La géométrie CHS du disque (%d,%d,%d) donnée par le système d'exploitation "
-"ne concorde pas avec la géométrie stockée sur l'étiquette de disque (%d,%d,"
+"La géométrie CHS du disque (%d,%d,%d) donnée par le système d’exploitation "
+"ne concorde pas avec la géométrie stockée sur l’étiquette de disque (%d,%d,"
 "%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
-msgstr "L'étiquette de disque décrit un disque plus gros que %s."
+msgstr "L’étiquette de disque décrit un disque plus gros que %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr ""
 "Le disque a %d cylindres, ce qui est plus grand que le maximum : 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
 "not be able to boot without it, and SILO (the sparc boot loader) appreciates "
 "it as well."
 msgstr ""
-"La partition représentant le disque entier est la seule encore disponible. "
-"Généralement, ce n'est pas une bonne idée d'écraser cette partition avec une "
-"vraie. Solaris ne pourra pas démarrer sans elle et SILO (le gestionnaire de "
-"démarrage sur Sparc) en a besoin."
+"La partition représentant le disque entier est la seule encore disponible. "
+"Généralement, ce n’est pas une bonne idée d’écraser cette partition avec une "
+"vraie. Solaris ne pourra pas démarrer sans elle et SILO (le gestionnaire de "
+"démarrage sur Sparc) en a besoin."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
-msgstr "Ltiquette de disque Sun est remplie."
+msgstr "L’étiquette de disque Sun est remplie."
 
 #: libparted/labels/vtoc.c:164
 msgid "opening of device failed"
-msgstr "échec de l'ouverture du périphérique"
+msgstr "échec de l’ouverture du périphérique"
 
 #: libparted/labels/vtoc.c:168
 msgid "seeking on device failed"
-msgstr "erreur de positionnement sur le périphérique"
+msgstr "erreur de positionnement sur le périphérique"
 
 #: libparted/labels/vtoc.c:172
 msgid "writing to device failed"
-msgstr "échec d'écriture sur le périphérique"
+msgstr "échec d’écriture sur le périphérique"
 
 #: libparted/labels/vtoc.c:176
 msgid "reading from device failed"
-msgstr "échec de lecture sur le périphérique"
+msgstr "échec de lecture sur le périphérique"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
-msgstr "Impossible de lire ltiquette du volume."
+msgstr "Impossible de lire l’étiquette du volume."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
-msgstr "Impossible d'écrire l'étiquette du volume."
+msgstr "Impossible d’écrire l’étiquette du volume."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
-msgstr "Impossible de lire les étiquettes de la table de volume (VTOC)."
+msgstr "Impossible de lire les étiquettes de la table de volume (VTOC)."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Impossible de lire la table de volume VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Impossible de lire la table de volume VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Impossible de lire la table de volume VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Impossible de lire la table de volume VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
-msgstr "Impossible d'écrire les étiquettes de la table de volume (VTOC)."
+msgstr "Impossible d’écrire les étiquettes de la table de volume (VTOC)."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
-msgstr "Impossible dcrire la table de volume VTOC FMT1 DSCB."
+msgstr "Impossible d’écrire la table de volume VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
-msgstr "Impossible dcrire la table de volume VTOC FMT4 DSCB."
+msgstr "Impossible d’écrire la table de volume VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
-msgstr "Impossible dcrire la table de volume VTOC FMT5 DSCB."
+msgstr "Impossible d’écrire la table de volume VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
-msgstr "Impossible dcrire la table de volume VTOC FMT7 DSCB."
+msgstr "Impossible d’écrire la table de volume VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:626
-#, fuzzy
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
-msgstr "Impossible d'écrire la table de volume VTOC FMT1 DSCB."
+msgstr "Impossible d’écrire VTOC FMT9 DSCB."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
-msgstr "Mémoire insuffisante."
+msgstr "Mémoire insuffisante."
 
 #: libparted/unit.c:139
 msgid "Cannot get unit size for special unit 'COMPACT'."
-msgstr "Impossible d'obtenir la taille de l'unité spéciale 'COMPACT'."
+msgstr "Impossible d’obtenir la taille de l’unité spéciale « COMPACT »."
 
 #: libparted/unit.c:385
 #, c-format
 msgid "\"%s\" has invalid syntax for locations."
-msgstr "\"%s\" a une syntaxe de localisation invalide."
+msgstr "« %s » a une syntaxe de localisation invalide."
 
 #: libparted/unit.c:393
 #, c-format
 msgid "The maximum head value is %d."
-msgstr "Le nombre maximum de têtes est %d."
+msgstr "Le nombre maximum de têtes est %d."
 
 #: libparted/unit.c:400
 #, c-format
 msgid "The maximum sector value is %d."
 msgstr "Le nombre maximum de secteurs est %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
-msgstr "La localisation %s est en dehors du périphérique %s."
+msgstr "La localisation %s est en dehors du périphérique %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Nombre invalide."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
-msgstr ""
+msgstr "Utiliser une unité plus petite à la place d’une valeur inférieure à 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
-msgstr "%s : Impossible d'allouer un bloc de partition\n"
+msgstr "%s : Impossible dallouer un bloc de partition\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
-msgstr "%s : Impossible d'allouer un bloc\n"
+msgstr "%s : Impossible dallouer un bloc\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
-msgstr "%s : Impossible de lire le bloc de démarrage %llu\n"
+msgstr "%s : Impossible de lire le bloc de démarrage %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Impossible de lire le bloc racine %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
-msgstr "%s : Impossible d'allouer un élément de la liste des identifiants\n"
+msgstr "%s : Impossible d’allouer un élément de la liste des identifiants\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : impossible de lire le bloc %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
-msgstr "%s : Mauvaise somme de contrôle sur le bloc %llu de type %s\n"
+msgstr "%s : Mauvaise somme de contrôle sur le bloc %llu de type %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
-msgstr "%s : impossible dcrire le bloc %d\n"
+msgstr "%s : impossible d’écrire le bloc %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
-msgstr "%s : impossible d'allouer le bloc RDB spécifique\n"
+msgstr "%s : impossible d’allouer le bloc RDB spécifique\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr ""
 "%s : impossible de trouver le bloc RDB, cela ne devrait jamais arriver\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Impossible de lire les blocs de la partition %llu\n"
@@ -1687,37 +1791,37 @@ msgid ""
 "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes.  FAT "
 "support will be disabled."
 msgstr ""
-"GNU Parted a été mal compilé : le secteur d'amorce FAT devrait être de 512 "
-"octets. Le support du système de fichiers FAT sera désactivé."
+"GNU Parted a été mal compilé : le secteur d’amorce FAT devrait être de 512 "
+"octets. La prise en charge du système de fichiers FAT sera désactivée."
 
 #: libparted/fs/fat/bootsector.c:50 libparted/fs/r/fat/bootsector.c:49
 msgid "File system has an invalid signature for a FAT file system."
 msgstr ""
-"Le système de fichiers a une signature invalide pour un système de fichiers "
+"Le système de fichiers a une signature invalide pour un système de fichiers "
 "FAT."
 
 #: libparted/fs/fat/bootsector.c:58 libparted/fs/r/fat/bootsector.c:57
 msgid "File system has an invalid sector size for a FAT file system."
 msgstr ""
-"Le système de fichiers a une taille de secteur invalide pour un système de "
+"Le système de fichiers a une taille de secteur invalide pour un système de "
 "fichiers FAT."
 
 #: libparted/fs/fat/bootsector.c:65 libparted/fs/r/fat/bootsector.c:64
 msgid "File system has an invalid cluster size for a FAT file system."
 msgstr ""
-"Le système de fichiers a une taille de cluster invalide pour un système de "
+"Le système de fichiers a une taille de cluster invalide pour un système de "
 "fichiers FAT."
 
 #: libparted/fs/fat/bootsector.c:72 libparted/fs/r/fat/bootsector.c:71
 msgid ""
 "File system has an invalid number of reserved sectors for a FAT file system."
 msgstr ""
-"Le système de fichiers a un nombre invalide de secteurs réservés pour un "
-"système de fichiers FAT."
+"Le système de fichiers a un nombre invalide de secteurs réservés pour un "
+"système de fichiers FAT."
 
 #: libparted/fs/fat/bootsector.c:79 libparted/fs/r/fat/bootsector.c:78
 msgid "File system has an invalid number of FATs."
-msgstr "Le système de fichiers a un nombre incorrect de tables FAT."
+msgstr "Le système de fichiers a un nombre incorrect de tables FAT."
 
 #: libparted/fs/fat/bootsector.c:162
 #, c-format
@@ -1725,69 +1829,62 @@ msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
+"La géométrie du système de fichier CHS est (%d, %d, %d), ce qui est "
+"invalide. La géométrie CHS de la table de partitions est (%d, %d, %d)."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
-"Le secteur d'amorce FAT indique une taille de secteur logique de 0. Ceci est "
+"Le secteur damorce FAT indique une taille de secteur logique de 0. Ceci est "
 "bizarre."
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
-"Le secteur d'amorce FAT indique qu'il n'y a pas de tables FAT. Ceci est "
+"Le secteur d’amorce FAT indique qu’il n’y a pas de tables FAT. Ceci est "
 "bizarre."
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
-"Le secteur d'amorce FAT indique des clusters ayant 0 secteur. Ceci est "
-"curieux."
+"Le secteur damorce FAT indique des clusters ayant 0 secteur. Ceci est "
+"bizarre."
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
-msgstr "Le système de fichiers est FAT12, lequel n'est pas supporté."
+msgstr "Le système de fichiers est FAT12, lequel n’est pas prise en charge."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr ""
-"Signature de partition d'échange Linux (swap) de type ancien non reconnue  "
-"'%10s'."
+"Signature de partition d’échange Linux (swap) de type ancien non reconnue "
+"« %10s »."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr ""
-"Signature de partition dchange Linux (swap) de type nouveau non reconnue "
-"'%10s'."
+"Signature de partition d’échange Linux (swap) de type nouveau non reconnue "
+"« %10s »."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr ""
-"Signature de partition dchange Linux (swap) de type swsusp non reconnue "
-"'%9s'."
+"Signature de partition d’échange Linux (swap) de type swsusp non reconnue "
+"« %9s »."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
 msgstr ""
-"Parted ne peut utiliser des systèmes de fichiers HFS sur les disques dont la "
-"taille des secteurs n'est pas égale à %d octets."
-
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Ce système de fichier a une taille de secteur logique de %d. GNU Parted ne "
-"traite pas correctement les tailles de secteurs différentes de 512 octets."
+"Parted ne peut utiliser des systèmes de fichiers HFS sur les disques dont la "
+"taille des secteurs n’est pas égale à %d octets."
 
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1796,22 +1893,22 @@ msgid ""
 "file system's CHS geometry will be set to match the partition table's CHS "
 "geometry."
 msgstr ""
-"La géométrie CHS du système de fichiers est (%d, %d, %d), ce qui est "
-"invalide. La géométrie CHS de la table des partitions est (%d, %d, %d). Si "
-"vous choisissez d'ignorer (Ignore), la géométrie CHS du système de fichiers "
-"restera inchangée. Si vous choisissez de réparer (Fix), la géométrie CHS du "
-"système de fichiers sera modifiée de manière à concorder avec la géométrie "
+"La géométrie CHS du système de fichiers est (%d, %d, %d), ce qui est "
+"invalide. La géométrie CHS de la table des partitions est (%d, %d, %d). Si "
+"vous choisissez d’ignorer (Ignore), la géométrie CHS du système de fichiers "
+"restera inchangée. Si vous choisissez de réparer (Fix), la géométrie CHS du "
+"système de fichiers sera modifiée de manière à concorder avec la géométrie "
 "CHS de la table des partitions."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
 "and send in a bug report.  If you're desperate, it's probably safe to ignore."
 msgstr ""
-"L'information de secteur contient une signature erronée (%x). Sélectionner « "
-"annuler » (cancel) pour le moment et transmettre un rapport d'anomalie. Si "
-"vous êtes désespéré, il est probablement prudent de sélectionner « ignorer »."
+"Lâ\80\99information de secteur contient une signature erronée (%x). Sélectionner Â« "
+"annuler » (cancel) pour le moment et transmettre un rapport d’anomalie. Si "
+"vous Ãªtes désespéré, il est probablement prudent de sélectionner Â« ignorer Â»."
 
 #: libparted/fs/r/fat/calc.c:134
 #, c-format
@@ -1819,69 +1916,69 @@ msgid ""
 "You need %s of free disk space to shrink this partition to this size.  "
 "Currently, only %s is free."
 msgstr ""
-"Vous avez besoin de %s d'espace libre pour réduire cette partition à cette "
-"taille. Pour l'instant il n'y a que de %s de libre."
+"Vous avez besoin de %s d’espace libre pour réduire cette partition à cette "
+"taille. Pour l’instant il n’y a que de %s de libre."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr ""
-"Delta de départ du cluster = %d , lequel n'est pas un multiple de la taille "
-"d'un cluster %d."
+"Delta de départ du cluster = %d , lequel n’est pas un multiple de la taille "
+"dun cluster %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
-"Entrée de répertoire erronée pour %s : le premier cluster est à la fin du "
+"Entrée de répertoire erronée pour %s : le premier cluster est à la fin du "
 "marqueur de fichiers."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
 msgstr ""
-"Table FAT erronée : chaîne non terminée pour %s. Vous devriez exécuter "
+"Table FAT erronée : chaîne non terminée pour %s. Vous devriez exécuter "
 "dosfsck ou scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
 "dosfsck or scandisk."
 msgstr ""
-"Table FAT erronée : le cluster %d est en dehors du système de fichiers dans "
-"la chaîne associée à %s. Vous devriez exécuter dosfsck ou scandisk."
+"Table FAT erronée : le cluster %d est en dehors du système de fichiers dans "
+"la chaîne associée à %s. Vous devriez exécuter dosfsck ou scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
 "scandisk."
 msgstr ""
-"Table FAT erronée : le cluster %d a des liens croisés pour %s. Vous devriez "
-"exécuter dosfsck ou scandisk."
+"Table FAT erronée : le cluster %d a des liens croisés pour %s. Vous devriez "
+"exécuter dosfsck ou scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s est %dk, mais il a %d clusters (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
 "some programs to stop working."
 msgstr ""
-"Le fichier %s est marqué comme fichier système. Cela signifie que son "
-"déplacement pourrait amener certains programmes à cesser de fonctionner."
+"Le fichier %s est marqué comme fichier système. Cela signifie que son "
+"déplacement pourrait amener certains programmes à cesser de fonctionner."
 
 #: libparted/fs/r/fat/fat.c:243
 #, c-format
 msgid "Partition too big/small for a %s file system."
 msgstr ""
-"La partition est trop grande ou trop petite pour un système de fichiers %s."
+"La partition est trop grande ou trop petite pour un système de fichiers %s."
 
 #: libparted/fs/r/fat/fat.c:409
 msgid ""
@@ -1889,12 +1986,12 @@ msgid ""
 "cancel, run scandisk on the file system, and then come back."
 msgstr ""
 "Les tables FAT ne concordent pas. Si vous ne savez pas ce que cela signifie "
-"alors sélectionnez « annuler » (cancel) et exécutez scandisk sur le système "
-"de fichiers, puis réessayez."
+"alors sélectionnez « annuler » (cancel) et exécutez scandisk sur le système "
+"de fichiers, puis réessayez."
 
 #: libparted/fs/r/fat/fat.c:449
 msgid "There are no possible configurations for this FAT type."
-msgstr "Il n'y a pas de configuration possible pour ce type FAT."
+msgstr "Il ny a pas de configuration possible pour ce type FAT."
 
 #: libparted/fs/r/fat/fat.c:461
 #, c-format
@@ -1903,7 +2000,7 @@ msgid ""
 "size is %dk (%dk expected); number of clusters is %d (%d expected); size of "
 "FATs is %d sectors (%d expected)."
 msgstr ""
-"Le système de fichiers ne correspond pas à des tailles compatibles avec "
+"Le système de fichiers ne correspond pas à des tailles compatibles avec "
 "Windows. La taille du cluster est %dk (%dk attendu). Le nombre de clusters "
 "est %d (%d attendu). La taille des FAT est de %d secteurs (%d attendu)."
 
@@ -1912,7 +2009,7 @@ msgstr ""
 msgid ""
 "File system is reporting the free space as %d clusters, not %d clusters."
 msgstr ""
-"Le système de fichiers annonce un espace libre de %d clusters et non pas %d "
+"Le système de fichiers annonce un espace libre de %d clusters et non pas %d "
 "clusters."
 
 #: libparted/fs/r/fat/resize.c:158
@@ -1920,40 +2017,40 @@ msgid ""
 "There's not enough room in the root directory for all of the files.  Either "
 "cancel, or ignore to lose the files."
 msgstr ""
-"Il n'y a pas assez d'espace dans le répertoire racine (root) pour tous les "
+"Il n’y a pas assez d’espace dans le répertoire racine (root) pour tous les "
 "fichiers. Soit annuler (cancel), soit ignorer (ignore) avec perte de "
 "fichiers."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
-msgstr "Erreur d'écriture du répertoire racine (root)."
+msgstr "Erreur d’écriture du répertoire racine (root)."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
-"Si vous conservez votre système de fichiers en FAT16, vous n'aurez pas de "
-"problème."
+"Si vous conservez votre système de fichiers en FAT16, vous n’aurez pas de "
+"problème."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
 "should consult the Parted manual (or your distribution's manual)."
 msgstr ""
-"Si vous convertissez le système de fichiers en FAT16 et que MS WIndows est "
-"installé sur cette partition alors vous devrez réinstaller le gestionnaire "
-"de démarrage de MS Windows. Si vous désirez faire cela, vous devriez "
+"Si vous convertissez le système de fichiers en FAT16 et que MS WIndows est "
+"installé sur cette partition alors vous devrez réinstaller le gestionnaire "
+"de démarrage de MS Windows. Si vous désirez faire cela, vous devriez "
 "consulter le manuel de Parted (ou le manuel de votre distribution)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr ""
-"Si vous conservez votre système de fichiers en FAT32 alors vous "
-"n'introduirez pas de nouveaux problèmes."
+"Si vous conservez votre système de fichiers en FAT32 alors vous "
+"n’introduirez pas de nouveaux problèmes."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1961,46 +2058,46 @@ msgid ""
 "converting to FAT32 will make the file system unreadable by MS DOS, MS "
 "Windows 95a, and MS Windows NT."
 msgstr ""
-"Si vous convertissez en FAT32 et que MS Windows est installé sur cette "
-"partition, alors vous devrez réinstaller le gestionnaire de démarrage de MS "
-"Windows. Si vous désirez faire cela, vous devriez consulter le manuel de "
+"Si vous convertissez en FAT32 et que MS Windows est installé sur cette "
+"partition, alors vous devrez réinstaller le gestionnaire de démarrage de MS "
+"Windows. Si vous désirez faire cela, vous devriez consulter le manuel de "
 "Parted (ou le manuel de votre distribution). Notez que la conversion en "
-"FAT32 rendra le système de fichiers illisible par MS DOS, MS Windows 95a et "
+"FAT32 rendra le système de fichiers illisible par MS DOS, MS Windows 95a et "
 "MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Voulez-vous utiliser FAT32 ?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
-"Le système de fichiers peut seulement être redimensionné à cette taille en "
+"Le système de fichiers peut seulement être redimensionné à cette taille en "
 "le convertissant en FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
-"Le système de fichiers peut seulement être redimensionné à cette taille en "
+"Le système de fichiers peut seulement être redimensionné à cette taille en "
 "le convertissant en FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
-"GNU Parted ne peut redimensionner cette partition à cette taille. Nous y "
+"GNU Parted ne peut redimensionner cette partition à cette taille. Nous y "
 "travaillons !"
 
 #: libparted/fs/r/fat/table.c:136
@@ -2009,351 +2106,352 @@ msgid ""
 "FAT %d media %x doesn't match the boot sector's media %x.  You should "
 "probably run scandisk."
 msgstr ""
-"La table FAT %d du média %x ne concorde pas avec le secteur d'amorce du "
-"média %x. Vous devriez probablement exécuter scandisk."
+"La table FAT %d du média %x ne concorde pas avec le secteur d’amorce du "
+"média %x. Vous devriez probablement exécuter scandisk."
 
 #: libparted/fs/r/fat/table.c:268
 #, c-format
 msgid "fat_table_set: cluster %ld outside file system"
-msgstr "fat_table_set: cluster %ld en dehors du système de fichiers"
+msgstr "fat_table_set : cluster %ld en dehors du système de fichiers"
 
 #: libparted/fs/r/fat/table.c:300
 #, c-format
 msgid "fat_table_get: cluster %ld outside file system"
-msgstr "fat_table_get: cluster %ld en dehors du système de fichiers"
+msgstr "fat_table_get : cluster %ld en dehors du système de fichiers"
 
 #: libparted/fs/r/fat/table.c:342
 msgid "fat_table_alloc_cluster: no free clusters"
-msgstr "fat_table_alloc_cluster: pas de cluster disponible"
+msgstr "fat_table_alloc_cluster : pas de cluster disponible"
 
 #: libparted/fs/r/filesys.c:151
 msgid "Could not detect file system."
-msgstr "Ne peut détecter le système de fichiers."
+msgstr "Impossible de détecter le système de fichiers."
 
 #: libparted/fs/r/filesys.c:158 libparted/fs/r/filesys.c:285
-#, fuzzy, c-format
+#, c-format
 msgid "resizing %s file systems is not supported"
 msgstr ""
-"Le support pour la modification de la taille du système de fichiers %s n'est "
-"pas encore implanté."
+"la modification de la taille du système de fichiers %s n’est pas prise en "
+"charge"
 
 #: libparted/fs/r/filesys.c:170
 msgid "The file system is bigger than its volume!"
-msgstr "Le système de fichiers est plus gros que le volume physique !"
+msgstr "Le système de fichiers est plus gros que le volume physique !"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
-msgstr "Le système de fichiers contient des erreurs."
+msgstr "Le système de fichiers contient des erreurs."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
-msgstr "Les blocs défectueux ne peuvent pas être lus."
+msgstr "Les blocs défectueux ne peuvent pas être lus."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
-"Tentative d'enregistrement d'une zone débutant au bloc 0x%X, mais une autre "
-"existe déjà à cette position. Vous devriez vérifier le système de fichiers !"
+"Tentative d’enregistrement d’une zone débutant au bloc 0x%X, mais une autre "
+"existe déjà à cette position. Vous devriez vérifier le système de fichiers !"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
-"Tentative de déplacement d'une zone du bloc 0x%X au bloc 0x%X, mais une "
-"autre existe déjà à cette position. Cela ne devrait pas arriver !"
+"Tentative de déplacement d'une zone du bloc 0x%X au bloc 0x%X, mais une "
+"autre existe déjà à cette position. Cela ne devrait pas arriver !"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
-"Impossible de mettre à jour le cache des fragments du fichier HFS ayant le "
+"Impossible de mettre à jour le cache des fragments du fichier HFS ayant le "
 "CNID %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
-"Tentative de lecture d'un fichier HFS ayant un CNID %X après la fin du "
+"Tentative de lecture d’un fichier HFS ayant un CNID %X après la fin du "
 "fichier."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Impossible de trouver le secteur %lli du fichier HFS ayant le CNID %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
-"Tentative d'écriture d'un fichier HFS ayant un CNID %X après la fin du "
+"Tentative d’écriture d’un fichier HFS ayant un CNID %X après la fin du "
 "fichier."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
-"Impossible de mettre à jour le cache des fragments du fichier HFS+ ayant le "
+"Impossible de mettre à jour le cache des fragments du fichier HFS+ ayant le "
 "CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
-"Tentative de lecture d'un fichier HFS+ ayant un CNID %X après la fin du "
+"Tentative de lecture d’un fichier HFS+ ayant un CNID %X après la fin du "
 "fichier."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr ""
 "Impossible de trouver le secteur %lli du fichier HFS+ ayant le CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
-"Tentative d'écriture d'un fichier HFS+ ayant un CNID %X après la fin du "
+"Tentative d’écriture d’un fichier HFS+ ayant un CNID %X après la fin du "
 "fichier."
 
 #: libparted/fs/r/hfs/hfs.c:232
 msgid "Sorry, HFS cannot be resized that way yet."
 msgstr ""
-"Désolé, le système de fichiers HFS ne peut être redimensionné de cette "
-"manière pour le moment."
+"Désolé, le système de fichiers HFS ne peut être redimensionné de cette "
+"manière pour le moment."
 
 #: libparted/fs/r/hfs/hfs.c:250 libparted/fs/r/hfs/hfs.c:629
 msgid "shrinking"
-msgstr "réduction en cours"
+msgstr "réduction en cours"
 
 #: libparted/fs/r/hfs/hfs.c:262 libparted/fs/r/hfs/hfs.c:641
 msgid "Data relocation has failed."
-msgstr "Le déplacement des données a échoué."
+msgstr "Le déplacement des données a échoué."
 
 #: libparted/fs/r/hfs/hfs.c:281
 msgid "Data relocation left some data in the end of the volume."
 msgstr ""
-"Le déplacement des données a laissé certaines données à la fin du volume."
+"Le déplacement des données a laissé certaines données à la fin du volume."
 
 #: libparted/fs/r/hfs/hfs.c:320
 msgid "writing HFS Master Directory Block"
-msgstr "écriture du Master Directory Block HFS"
+msgstr "écriture du Master Directory Block HFS"
 
 #: libparted/fs/r/hfs/hfs.c:468
 msgid "No valid HFS[+X] signature has been found while opening."
-msgstr "Aucune signature HFS[+X] valide n'a été trouvée lors de l'ouverture."
+msgstr "Aucune signature HFS[+X] valide n’a été trouvée lors de l’ouverture."
 
 #: libparted/fs/r/hfs/hfs.c:478
 #, c-format
 msgid "Version %d of HFS+ isn't supported."
-msgstr "La version %d du système de fichiers HFS+ n'est pas supportée."
+msgstr "La version %d du système de fichiers HFS+ n’est pas prise en charge."
 
 #: libparted/fs/r/hfs/hfs.c:489
 #, c-format
 msgid "Version %d of HFSX isn't supported."
-msgstr "La version %d du système de fichiers HFSX n'est pas supportée."
+msgstr "La version %d du système de fichiers HFSX n’est pas prise en charge."
 
 #: libparted/fs/r/hfs/hfs.c:672
 msgid "Data relocation left some data at the end of the volume."
 msgstr ""
-"Le déplacement des données a laissé certaines données à la fin du volume."
+"Le déplacement des données a laissé certaines données à la fin du volume."
 
 #: libparted/fs/r/hfs/hfs.c:720
 msgid "Error while writing the allocation file."
-msgstr "Erreur lors de l'écriture du fichier d'allocation."
+msgstr "Erreur lors de l’écriture du fichier d’allocation."
 
 #: libparted/fs/r/hfs/hfs.c:735
 msgid "Error while writing the compatibility part of the allocation file."
 msgstr ""
-"Erreur durant l'écriture de la zone de compatibilité du fichier d'allocation."
+"Erreur durant l’écriture de la zone de compatibilité du fichier d’allocation."
 
 #: libparted/fs/r/hfs/hfs.c:750
 msgid "writing HFS+ Volume Header"
-msgstr "écriture de l'entête de volume HFS+"
+msgstr "écriture de l’entête de volume HFS+"
 
 #: libparted/fs/r/hfs/hfs.c:850
 msgid "An error occurred while looking for the mandatory bad blocks file."
 msgstr ""
 "Une erreur est survenue lors de la recherche du fichier de gestion des blocs "
-"défectueux."
+"défectueux."
 
 #: libparted/fs/r/hfs/hfs.c:904
 msgid ""
 "It seems there is an error in the HFS wrapper: the bad blocks file doesn't "
 "contain the embedded HFS+ volume."
 msgstr ""
-"Il semble qu'il y ait une erreur dans le gestionnaire HFS : le fichier des "
-"blocs défectueux contient le volume HFS+ ."
+"Il semble quil y ait une erreur dans le gestionnaire HFS : le fichier des "
+"blocs défectueux contient le volume HFS+."
 
 #: libparted/fs/r/hfs/hfs.c:940
 msgid "Sorry, HFS+ cannot be resized that way yet."
 msgstr ""
-"Désolé, le système de fichiers HFS+ ne peut être redimensionné de cette "
-"manière pour le moment."
+"Désolé, le système de fichiers HFS+ ne peut être redimensionné de cette "
+"manière pour le moment."
 
 #: libparted/fs/r/hfs/hfs.c:975
 msgid "shrinking embedded HFS+ volume"
-msgstr "réduction du volume HFS+"
+msgstr "réduction du volume HFS+"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
-msgstr "Le redimensionnement du volume HFS+ a échoué."
+msgstr "Le redimensionnement du volume HFS+ a échoué."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
-msgstr "réajustement du conteneur HFS"
+msgstr "réajustement du conteneur HFS"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
-msgstr "La mise à jour du conteneur HFS a échoué."
+msgstr "La mise à jour du conteneur HFS a échoué."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
-"Ceci n'est pas un test réel de %s . Il s'agit d'extraire des fichiers "
-"spéciaux de bas niveau pour débogage."
+"Ceci n’est pas un test réel de %s. Il s’agit d’extraire des fichiers "
+"spéciaux de bas niveau pour débogage."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
-msgstr "Mauvaise somme de contrôle de l'entête de la liste des blocs."
+msgstr "Mauvaise somme de contrôle de l’entête de la liste des blocs."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
-"Taille de bloc de transaction invalide durant le rejeu (reprise) du journal "
-"(%i octets)."
+"Taille de bloc de transaction invalide durant le ré-exécution d’après le "
+"journal (%i octets)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
-"Le placement du journal à l'extérieur du volume n'est pas supporté. Essayez "
-"de désactiver la journalisation et de relancer Parted."
+"Le placement du journal à l’extérieur du volume n’est pas pris en charge. "
+"Essayez de désactiver la journalisation et de relancer Parted."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
-"Le déplacement ou la taille du journal n'est pas un multiple de la taille "
-"d'un secteur."
+"Le déplacement ou la taille du journal n’est pas un multiple de la taille "
+"dun secteur."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
-msgstr "Valeurs magiques incorrectes dans l'entête du journal."
+msgstr "Valeurs magiques incorrectes dans l’entête du journal."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
-"Erreur de correspondance de la taille du journal entre le bloc d'information "
-"du journal et l'entête du journal."
+"Erreur de correspondance de la taille du journal entre le bloc dinformation "
+"du journal et l’entête du journal."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr ""
-"Certains champs de l'entête ne sont pas des multiples de la taille du "
+"Certains champs de l’entête ne sont pas des multiples de la taille du "
 "secteur."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
-"La taille de secteur stockée dans le journal n'est pas 512 octets. Parted ne "
-"supporte que les secteurs dont la taille est 512 octets."
+"La taille de secteur stockée dans le journal n’est pas 512 octets. Parted ne "
+"prend pas en charge que les secteurs dont la taille est 512 octets."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
-msgstr "Mauvaise somme de contrôle du journal."
+msgstr "Mauvaise somme de contrôle du journal."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
-"Le journal n'est pas vide. Parted doit rejouer les transactions avant "
-"d'ouvrir le système de fichiers. Cela modifiera le système de fichiers."
+"Le journal nest pas vide. Parted doit rejouer les transactions avant "
+"d’ouvrir le système de fichiers. Cela modifiera le système de fichiers."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
-"L'entête du volume ou le master directory block a changé pendant le rejeu du "
-"journal. Vous devriez relancer Parted."
+"L’entête du volume ou le master directory block a changé pendant le ré-"
+"exécution d’après le journal. Vous devriez relancer Parted."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
-msgstr "Une zone n'a pas été réallouée."
+msgstr "Une zone n’a pas été réallouée."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
-"Une référence à une zone correspond à une localisation qui ne devrait pas y "
-"être associée. Vous devriez vérifier le système de fichiers."
+"Une référence à une zone correspond à une localisation qui ne devrait pas y "
+"être associée. Vous devriez vérifier le système de fichiers."
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
-"Ce volume HFS n'a pas de fichier catalogue. C'est vraiment inhabituel !"
+"Ce volume HFS n’a pas de fichier catalogue. C’est vraiment inhabituel !"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
-"Ce volume HFS n'a pas de fichier de zones additionnelles. C'est plutôt "
+"Ce volume HFS n’a pas de fichier de zones additionnelles. C’est plutôt "
 "inhabituel !"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
 "Le fichier de zones additionnelles ne devrait pas contenir sa propre zone ! "
-"Vous devriez vérifier le système de fichiers."
+"Vous devriez vérifier le système de fichiers."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
-msgstr "Impossible d'indexer le système de fichiers en mémoire."
+msgstr "Impossible d’indexer le système de fichiers en mémoire."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
-msgstr "La liste des blocs défectueux ne peut être chargée."
+msgstr "La liste des blocs défectueux ne peut être chargée."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
-msgstr "Une erreur est survenue pendant le déplacement de la zone."
+msgstr "Une erreur est survenue pendant le déplacement de la zone."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
-"Ce volume HFS+ n'a pas de fichier catalogue. C'est vraiment inhabituel !"
+"Ce volume HFS+ n’a pas de fichier catalogue. C’est vraiment inhabituel !"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
-"Ce volume HFS+ n'a pas de fichier de zones additionnelles. C'est plutôt "
+"Ce volume HFS+ n’a pas de fichier de zones additionnelles. C’est plutôt "
 "inhabituel !"
 
 #: parted/parted.c:125
 msgid "displays this help message"
-msgstr "affiche ce message d'aide"
+msgstr "affiche ce message daide"
 
 #: parted/parted.c:126
 msgid "lists partition layout on all block devices"
-msgstr "liste la structure des partitions sur tous les périphériques par blocs"
+msgstr "liste la structure des partitions sur tous les périphériques par blocs"
 
 #: parted/parted.c:127
 msgid "displays machine parseable output"
@@ -2361,7 +2459,7 @@ msgstr "sortie dans un style lisible par une machine"
 
 #: parted/parted.c:128
 msgid "never prompts for user intervention"
-msgstr "ne demande jamais l'intervention de l'utilisateur"
+msgstr "ne demande jamais l’intervention de l’utilisateur"
 
 #: parted/parted.c:129
 msgid "displays the version"
@@ -2376,9 +2474,9 @@ msgid ""
 "NUMBER is the partition number used by Linux.  On MS-DOS disk labels, the "
 "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n"
 msgstr ""
-"NOMBRE est le numéro de partition utilisé par Linux. Avec une étiquette de "
-"disque MS-DOS, les partitions primaires sont numérotées de 1 à 4 et les "
-"partitions logiques à partir de 5.\n"
+"NUMÉRO est le numéro de partition utilisé par Linux. Avec une étiquette de "
+"disque MS-DOS, les partitions primaires sont numérotées de 1 à 4 et les "
+"partitions logiques à partir de 5.\n"
 
 #: parted/parted.c:145
 msgid "LABEL-TYPE is one of: "
@@ -2386,19 +2484,19 @@ msgstr "LABEL-TYPE est une des valeurs : "
 
 #: parted/parted.c:146 parted/parted.c:147
 msgid "FLAG is one of: "
-msgstr "FANION est une des valeurs : "
+msgstr "DRAPEAU est une des valeurs : "
 
 #: parted/parted.c:148
 msgid "UNIT is one of: "
-msgstr "UNITE est parmi : "
+msgstr "UNITÉ est parmi : "
 
 #: parted/parted.c:149
 msgid "desired alignment: minimum or optimal"
-msgstr "alignement souhaité : minimum ou optimal"
+msgstr "alignement souhaité : minimum ou optimal"
 
 #: parted/parted.c:150
 msgid "PART-TYPE is one of: primary, logical, extended\n"
-msgstr "PART-TYPE est une des valeurs : primary, logical, extended\n"
+msgstr "PART-TYPE est une des valeurs : primaire, logique, étendue\n"
 
 #: parted/parted.c:152
 msgid "FS-TYPE is one of: "
@@ -2411,26 +2509,25 @@ msgid ""
 "sector.\n"
 msgstr ""
 "DEBUT et FIN sont des emplacements sur un disque, comme 4GB ou 10%. Les "
-"valeurs négatives se comptent à partir de la fin du disque. Par exemple, "
-"=-1s spécifie précisément le dernier secteur.\n"
+"valeurs négatives se comptent à partir de la fin du disque. Par exemple, "
+"=-1s spécifie précisément le dernier secteur.\n"
 
 #: parted/parted.c:156
-#, fuzzy
 msgid ""
 "END is disk location, such as 4GB or 10%.  Negative value counts from the "
 "end of the disk.  For example, -1s specifies exactly the last sector.\n"
 msgstr ""
-"DEBUT et FIN sont des emplacements sur un disque, comme 4GB ou 10%. Les "
-"valeurs négatives se comptent à partir de la fin du disque. Par exemple, "
-"=-1s spécifie précisément le dernier secteur.\n"
+"FIN est un emplacements sur un disque, comme 4GB ou 10%. Une valeur négative "
+"se compte à partir de la fin du disque. Par exemple, -1s spécifie "
+"précisément le dernier secteur.\n"
 
 #: parted/parted.c:159
 msgid "STATE is one of: on, off\n"
-msgstr "ETAT est une des valeurs : on, off\n"
+msgstr "ÉTAT est une des valeurs : on, off\n"
 
 #: parted/parted.c:160
 msgid "DEVICE is usually /dev/hda or /dev/sda\n"
-msgstr "PERIPHERIQUE est habituellement du genre /dev/hda ou /dev/sda\n"
+msgstr "PÉRIPHÉRIQUE est habituellement du genre /dev/hda ou /dev/sda\n"
 
 #: parted/parted.c:161
 msgid "NAME is any word you want\n"
@@ -2448,74 +2545,74 @@ msgid ""
 "\n"
 msgstr ""
 "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n"
-"Ce programme est un logiciel libre, sous la Licence Publique Générale GNU "
+"Ce programme est un logiciel libre, sous la Licence Publique Générale GNU "
 "(GNU General Public License).\n"
-"Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE "
-"GARANTIE ; sans même une garantie implicite de COMMERCIABILITÉ ou DE "
-"CONFORMITÉ À UNE UTILISATION PARTICULIÈRE. Voir la Licence Publique Générale "
-"GNU pour plus de détails.\n"
+"Ce programme est distribué dans l’espoir qu’il sera utile, mais SANS AUCUNE "
+"GARANTIE ; sans même une garantie implicite de COMMERCIABILITÉ ou DE "
+"CONFORMITÉ À UNE UTILISATION PARTICULIÈRE. Voir la Licence Publique Générale "
+"GNU pour plus de détails.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(temps restant %.2d:%.2d)"
 
-#: parted/parted.c:230
-#, fuzzy, c-format
+#: parted/parted.c:231
+#, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
-"La partition %s est en cours d'utilisation. Vous devez la démonter avant de "
-"la modifier avec Parted."
+"La partition %s est en cours d’utilisation. Êtes vous certain de vouloir "
+"continuer ?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
-msgstr "Au moins une partition de %s est en cours d'utilisation."
+msgstr "Au moins une partition de %s est en cours dutilisation."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
 "will be lost. Do you want to continue?"
 msgstr ""
-"Le type du disque %s va être effacé et toutes les données vont être perdues. "
+"Le type du disque %s va être effacé et toutes les données vont être perdues. "
 "Voulez-vous continuer ?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
-msgstr "Nouveau type dtiquette de disque ?"
+msgstr "Nouveau type d’étiquette de disque ?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Type de partition ?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Nom de la partition ?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
-msgstr "Type de système de fichiers ?"
+msgstr "Type de système de fichiers ?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
-msgstr "Début ?"
+msgstr "Début ?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Fin ?"
 
-#: parted/parted.c:764
-#, fuzzy, c-format
+#: parted/parted.c:766
+#, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
 "The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
 msgstr ""
-"Vous voulez établir une partition de %s à %s.\n"
-"La position la plus proche gérable est %s à %s. %s"
+"Vous voulez établir une partition de %s à %s (secteurs %llu..%llu).\n"
+"La position la plus proche gérable est %s à %s (secteurs %llu..%llu). %s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2523,265 +2620,279 @@ msgstr ""
 "\n"
 "Est-ce acceptable pour vous ?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
-"L'alignement de la partition ainsi définie n'est pas optimal au niveau "
+"L’alignement de la partition ainsi définie n’est pas optimal au niveau "
 "performance."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr ""
+"Les étiquettes du disque %s ne prennent pas en charge les partitions "
+"étendues."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
-msgstr "Numéro de partition ?"
+msgstr "Numéro de partition ?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
-"Géométrie BIOS cylindre,tête,secteur : %d,%d,%d. Chaque cylindre : %s.\n"
+"Géométrie BIOS cylindre,tête,secteur : %d,%d,%d. Chaque cylindre : %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
-msgstr "Modèle: %s (%s)\n"
+msgstr "Modèle : %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disque %s : %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
-msgstr "Taille des secteurs (logiques/physiques): %lldB/%lldB\n"
+msgstr "Taille des secteurs (logiques/physiques) : %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Table de partitions : %s\n"
 
-#: parted/parted.c:1017
-#, fuzzy, c-format
+#: parted/parted.c:1033
+#, c-format
 msgid "Disk Flags: %s\n"
-msgstr "Disque %s : %s\n"
+msgstr "Drapeaux de disque : %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
-msgstr "Numéro"
+msgstr "Numéro"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
-msgstr "Début"
+msgstr "Début"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Fin"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Taille"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Type"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
-msgstr "Système de fichiers"
+msgstr "Système de fichiers"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Nom"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
-msgstr "Fanions"
+msgstr "Drapeaux"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Espace libre"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
 "partition table?"
 msgstr ""
-"Une partition %s %s a été localisée de %s à %s. Voulez-vous l'ajouter à la "
+"Une partition %s %s a été localisée de %s à %s. Voulez-vous l’ajouter à la "
 "table de partition ?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
-msgstr "recherche des systèmes de fichiers"
+msgstr "recherche des systèmes de fichiers"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
-msgstr ""
+msgstr "La commande de redimensionnement a été supprimer dans Parted 3.0"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
+"Réduire une partition peut causer une perte de données ; Êtes vous certain "
+"de vouloir continuer ?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
-msgstr "Nouveau périphérique ?"
+msgstr "Nouveau périphérique ?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
-msgstr "type d'alignement (min/opt)"
+msgstr "type dalignement (min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
-msgstr "%d aligné(es)\n"
+msgstr "%d aligné(es)\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
-msgstr "%d non aligné(es)\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
+msgstr "%d non aligné(es)\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
-msgstr "Fanion à inverser ?"
+msgstr "Drapeaux à basculer ?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
-msgstr "Nouvel état ?"
+msgstr "Nouvel état ?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
-msgstr "Unité ?"
+msgstr "Unité ?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
-msgstr "align-check"
+msgstr "vérifier-align"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
-"align-check TYPE N                        contrôle l'alignement de type TYPE "
-"(min|opt) de la partition N"
+"vérifier-align TYPE N                     contrôle l’alignement de TYPE(min|"
+"opt) de la partition N"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "aide"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr ""
-"help [COMMANDE]                          affiche l'aide générale ou l'aide "
+"help [COMMANDE]                          affiche l’aide générale ou l’aide "
 "concernant la COMMANDE"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
 msgstr ""
-"mklabel,mktable LABEL-TYPE                crée une nouvelle étiquette de "
+"mklabel,mktable LABEL-TYPE               crée une nouvelle étiquette de "
 "disque (table de partition)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
-msgstr "mkpart PART-TYPE [FS-TYPE] DEBUT FIN      créer une partition"
+msgstr "mkpart PART-TYPE [FS-TYPE] DEBUT FIN      créer une partition"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
 msgstr ""
-"'mkpart' crée une partition sans créer un nouveau système de fichiers sur la "
-"partition. FS-TYPE doit être spécifié pour initialiser le type de partition "
-"approprié.\n"
+"« mkpart » crée une partition sans créer un nouveau système de fichiers sur "
+"la partition. FS-TYPE doit être spécifié pour initialiser le type de "
+"partition approprié.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "nommer"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
-"name NOMBRE NOM                           donner le nom NOM la partition "
-"numéro NOMBRE"
+"name NUMÉRO NOM                          donner un NOM à la partition NUMÉRO"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "afficher"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
-"print [devices|free|list,all|NOMBRE]     affiche la table des partitions, "
-"les périphériques disponibles, l'espace libre, toutes les partitions ou une "
-"partition précise"
+"print [devices|free|list,all|NUMÉRO]     affiche la table des partitions, "
+"les périphériques disponibles, l’espace libre, toutes les partitions ou une "
+"partition précise"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
 msgstr ""
-"Sans argument, 'print' affiche toute la table de partitions. Toutefois avec "
-"les arguments suivants, elle permet bien d'autres actions.\n"
+"Sans argument, « print » affiche toute la table de partitions. Toutefois "
+"avec les arguments suivants, elle permet bien d’autres actions.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
-msgstr "  devices : affiche tous les périphériques par blocs actifs\n"
+msgstr "  devices : affiche tous les périphériques par blocs actifs\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
-"  free : affiche l'information sur l'espace libre non partitionné du "
-"périphérique courant\n"
+"  free : affiche l’information sur l’espace libre non partitionné du "
+"périphérique courant\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
-"  list,all : afficher la table de partitions de tous les périphériques par "
+"  list,all : afficher la table de partitions de tous les périphériques par "
 "blocs actifs\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
-"  NOMBRE : affiche les informations détaillées sur la partition numéro "
-"NOMBRE\n"
+"  NUMÉRO    : affiche les informations détaillées sur la partition désignée\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quitter"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                    quitter le programme"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2789,159 +2900,151 @@ msgstr ""
 "rescue DEBUT FIN                         restaurer une partition perdue "
 "entre DEBUT et FIN"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "redimentionner"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
-msgstr ""
+msgstr "La commande de redimensionnement a été supprimée dans Parted 3.0\n"
 
-#: parted/parted.c:2006
-#, fuzzy
+#: parted/parted.c:2062
 msgid "resizepart"
-msgstr "redimentionner"
+msgstr "redimpart"
 
-#: parted/parted.c:2009
-#, fuzzy
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
-msgstr ""
-"move NOMBRE DEBUT FIN                    déplacer la partition numéro NOMBRE"
+msgstr "redimpart  NUMÉRO FIN                    redim  partition NUMÉRO"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
-msgstr ""
-"rm NOMBRE                                détruire la partition numéro NOMBRE"
+msgstr "rm NUMÉRO                                détruire partition NUMÉRO"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
-msgstr "sélectionner"
+msgstr "sélectionner"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr ""
-"select PÉRIPHÉRIQUE                     sélectionner le périphérique à éditer"
+"choisir PÉRIPHÉRIQUE                     choisir le périphérique à modifier"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
-msgstr ""
+msgstr "disque_choix"
 
-#: parted/parted.c:2033
-#, fuzzy
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
-"set NOMBRE FANION ETAT                  positionner le FANION à l'état ETAT "
-"sur la partition numéro NOMBRE"
+"disque_choix DRAPEAU ÉTAT                modifier le DRAPEAU du périphérique "
+"choisi"
 
-#: parted/parted.c:2038
-#, fuzzy
+#: parted/parted.c:2094
 msgid "disk_toggle"
-msgstr "inverser"
+msgstr "disque_basculer"
 
-#: parted/parted.c:2041
-#, fuzzy
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
-"toggle [NOMBRE [FANION]]               inverser l'état du fanion sur la "
-"partition numéro NOMBRE"
+"disque_basculer [DRAPEAU]                basculer l’état du drapeau du "
+"périphérique choisi"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "positionner"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
-"set NOMBRE FANION ETAT                  positionner le FANION à l'état ETAT "
-"sur la partition numéro NOMBRE"
+"set NUMÉRO DRAPEAU ÉTAT                  modifier le DRAPEAU de la partition "
+"NUMÉRO"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
-msgstr "inverser"
+msgstr "basculer"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
-"toggle [NOMBRE [FANION]]               inverser l'état du fanion sur la "
-"partition numéro NOMBRE"
+"basculer [NUMÉRO [DRAPEAU]]               basculer l’état du DRAPEAU de la "
+"partition NUMÉRO"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
-msgstr "unit"
+msgstr "unité"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
-"unit UNITE                             affecte l'unité par défaut à UNITE"
+"unité UNITÉ                              définie l’unité par défaut à UNITÉ"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
 "version                                  affiche la version courante de GNU "
-"Parted ainsi que l'information sur le copyright"
+"Parted ainsi que linformation sur le copyright"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
-"'version' affiche le copyright et la version de cette copie de GNU Parted\n"
+"« version » affiche le copyright et la version de cette copie de GNU Parted\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
-"Usage : %s [-hlmsv] [-a <alignement>] [PERIPHERIQUE [COMMANDE "
-"[PARAMETRES]]...]\n"
+"Usage : %s [-hlmsv] [-a <alignement>] [PÉRIPHÉRIQUE [COMMANDE [PARAMÈTRES]]"
+"]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
-msgstr "Aucun périphérique trouvé"
+msgstr "Aucun périphérique trouvé"
 
-#: parted/parted.c:2229
-#, fuzzy
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
-"ATTENTION : vous n'êtes pas superutilisateur. Contrôlez les permissions."
+"ATTENTION : vous n’êtes pas superutilisateur. Contrôlez les permissions.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
-msgstr "Ne pas oublier de mettre à jour /etc/fstab si nécessaire.\n"
+msgstr "Ne pas oublier de mettre à jour /etc/fstab si nécessaire.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
-"Bievenue sur GNU Parted ! Tapez 'help' pour voir la liste des commandes.\n"
+"Bienvenue sur GNU Parted ! Tapez « help » pour voir la liste des commandes.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
 "in\n"
 "interactive mode.\n"
 msgstr ""
-"Usage : parted [OPTION]... [PÉRIPHÉRIQUE [COMMANDES[PARAMÈTRES]...]...]\n"
-"Appliquer les COMMANDES avec les PARAMÈTRES au PÉRIPHÉRIQUE. Si aucune "
-"COMMANDE n'est fournie\n"
-"l'exécution se fait en mode intéractif.\n"
+"Usage : parted [OPTION]… [PÉRIPHÉRIQUE [COMMANDES[PARAMÈTRES]…]…]\n"
+"Appliquer les COMMANDES avec les PARAMÈTRES au PÉRIPHÉRIQUE. Si aucune "
+"COMMANDE nest fournie\n"
+"l’exécution se fait en mode interactif.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2976,187 +3079,187 @@ msgid ""
 msgstr ""
 "\n"
 "\n"
-"Vous avez trouvé un bug dans GNU Parted ! Voici ce que vous devez faire :\n"
+"Vous avez trouvé un bug dans GNU Parted ! Voici ce que vous devez faire :\n"
 "\n"
-"Ne paniquez pas ! Le bug n'a probablement pas affecté vos données.\n"
-"Aidez nous à résoudre ce bug en faisant ce qui suit:\n"
+"Ne paniquez pas ! Le bug n’a probablement pas affecté vos données.\n"
+"Aidez nous à le résoudre en faisant ce qui suit:\n"
 "\n"
-"Vérifiez si le bug n'a pas déjà été résolu dans la dernière version de GNU\n"
-"Parted que vous pouvez trouver à :\n"
+"Vérifiez si le bug n’a pas déjà été résolu dans la dernière version de GNU\n"
+"Parted que vous pouvez trouver à l’adresse :\n"
 "\n"
 "\thttp://ftp.gnu.org/gnu/parted/\n"
 "\n"
-"SVP vérifiez cette version avant de reporter tout bug.\n"
+"SVP vérifiez cette version avant de reporter tout bug.\n"
 "\n"
-"S'il n'a pas encore été résolu ou si vous ne savez pas comment vérifier,\n"
+"S’il n’a pas encore été résolu ou si vous ne savez pas comment vérifier,\n"
 "SVP visitez le site web de GNU Parted :\n"
 "\n"
 "\thttp://www.gnu.org/software/parted\n"
 "\n"
-"pour plus d'informations.\n"
+"pour plus dinformations.\n"
 "\n"
 "Votre rapport doit contenir la version de cette release (%s)\n"
-"accompagnée du message d'erreur dessous, le résultat de\n"
+"accompagnée du message d’erreur ci-dessous, le résultat de\n"
 "\n"
-"\tparted PÉRIPHÉRIQUE unit co print unit s print\n"
+"\tparted PÉRIPHÉRIQUE unit co print unit s print\n"
 "\n"
-"et l'historique des commandes saisies.\n"
-"Plus toutes les informations supplémentaires que vous trouverez importantes "
-"à propos de votre configuration.\n"
+"et lhistorique des commandes saisies.\n"
+"Plus toutes les informations supplémentaires que vous trouverez importantes "
+"à propos de votre configuration.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
 msgstr ""
 "\n"
-"Historique des commandes:\n"
+"Historique des commandes :\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
 msgstr ""
 "\n"
-"Erreur : SEGV_MAPERR (l'adresse n'est pas associée à un objet)\n"
+"Erreur : SEGV_MAPERR (l’adresse n’est pas associée à un objet)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
 msgstr ""
 "\n"
-"Erreur : SEGV_ACCERR (permissions invalides pour l'objet associé)\n"
+"Erreur : SEGV_ACCERR (permissions invalides pour l’objet associé)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
 msgstr ""
 "\n"
-"Erreur : un signal SIGSEGV général est survenu.\n"
+"Erreur : un signal SIGSEGV général est survenu.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
 msgstr ""
 "\n"
-"Erreur : FPE_INTDIV (Entier: division par zéro)"
+"Erreur : FPE_INTDIV (Entier : division par zéro)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
 msgstr ""
 "\n"
-"Erreur : FPE_INTOVF (Entier: dépassement)"
+"Erreur : FPE_INTOVF (Entier : dépassement)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
 msgstr ""
 "\n"
-"Erreur : FPE_INTDIV (division par zéro en nombres flottants)"
+"Erreur : FPE_INTDIV (division par zéro en nombres flottants)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
 msgstr ""
 "\n"
-"Erreur : FPE_FLTOVF (Flottant: dépassement)"
+"Erreur : FPE_FLTOVF (Flottant : dépassement)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
 msgstr ""
 "\n"
-"Erreur : FPE_FLTUND (Flottant: dépassement de précision)"
+"Erreur : FPE_FLTUND (Flottant:  dépassement de précision)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
 msgstr ""
 "\n"
-"Erreur : PE_FLTRES (Flottant: résultat inexact)"
+"Erreur : PE_FLTRES (Flottant : résultat inexact)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
 msgstr ""
 "\n"
-"Erreur : (Flottant: opération invalide)"
+"Erreur : FPE_FLTINV (Flottant : opération invalide)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
 msgstr ""
 "\n"
-"Erreur : FPE_FLTSUB (Flottant: débordement de plage)"
+"Erreur : FPE_FLTSUB (Flottant: débordement de plage)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
 msgstr ""
 "\n"
-"Erreur : Un signal SIGFPE général est survenu."
+"Erreur : Un signal SIGFPE général est survenu."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
 msgstr ""
 "\n"
-"Erreur : ILL_ILLOPC (Opcode illégal)"
+"Erreur : ILL_ILLOPC (Opcode illégal)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
 msgstr ""
 "\n"
-"Erreur : ILL_ILLOPN (Opérande illégal)"
+"Erreur : ILL_ILLOPN (Opérande illégal)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
 msgstr ""
 "\n"
-"Erreur : ILL_ILLADR (Mode d'adressage illégal)"
+"Erreur : ILL_ILLADR (Mode d’adressage illégal)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 msgstr ""
 "\n"
-"Erreur : ILL_ILLTRP (Déroutement illégal)"
+"Erreur : ILL_ILLTRP (Déroutement illégal)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
 msgstr ""
 "\n"
-"Erreur : ILL_PRVOPC (Opcode privilégié)"
+"Erreur : ILL_PRVOPC (Opcode privilégié)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
 msgstr ""
 "\n"
-"Erreur : ILL_PRVREG (Registre privilégié)"
+"Erreur : ILL_PRVREG (Registre privilégié)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3164,7 +3267,7 @@ msgstr ""
 "\n"
 "Erreur : ILL_COPROC (Erreur du coprocesseur)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3172,1055 +3275,113 @@ msgstr ""
 "\n"
 "Erreur : ILL_BADSTK (Erreur de pile interne)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
 msgstr ""
 "\n"
-"Erreur : un signal SIGILL général est survenu."
+"Erreur : un signal SIGILL général est survenu."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
-msgstr "élément incorrect: %s"
+msgstr "élément incorrect : %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
-msgstr "Numéro de partition attendu."
+msgstr "Numéro de partition attendu."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
-msgstr "La partition n'existe pas."
+msgstr "La partition nexiste pas."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
-msgstr "Type de système de fichiers attendu."
+msgstr "Type de système de fichiers attendu."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
-msgstr "Type de système de fichiers inconnu \"%s\"."
+msgstr "Type de système de fichiers inconnu « %s »."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
-msgstr "Type d'étiquette de disque attendu."
+msgstr "Type d’étiquette de disque attendu."
+
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
 
-#: parted/ui.c:1231
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
-msgstr "Ne peut ajouter de nouvelle partition."
+msgstr "Impossible d’ajouter de nouvelle partition."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Type de partition attendu."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "on"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "off"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "optimal"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "minimal"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "OPTIONS :"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "COMMANDES :"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
 "Report bugs to %s\n"
 msgstr ""
 "\n"
-"Rapporter les anomalies à %s\n"
+"Rapporter les anomalies à %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Utilisation de %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
-msgstr "Cette commande n'a pas de sens en mode non-interactif.\n"
-
-#~ msgid "Failed to add partition %d (%s)"
-#~ msgstr "Impossible d'ajouter la partition %d (%s)"
-
-#~ msgid ""
-#~ "parted was unable to re-read the partition table on %s (%s).  This means "
-#~ "Linux won't know anything about the modifications you made. "
-#~ msgstr ""
-#~ "Parted a été incapable de relire la table de partition sur %s (%s). Cela "
-#~ "signifie que Linux ne reconnaîtra aucune des modifications effectuées "
-#~ "avant de redémarrer. Vous devriez redémarrer votre ordinateur."
-
-#~ msgid ""
-#~ "%s contains GPT signatures, indicating that it has a GPT table.  However, "
-#~ "it does not have a valid fake msdos partition table, as it should.  "
-#~ "Perhaps it was corrupted -- possibly by a program that doesn't understand "
-#~ "GPT partition tables.  Or perhaps you deleted the GPT table, and are now "
-#~ "using an msdos partition table.  Is this a GPT partition table?"
-#~ msgstr ""
-#~ "%s contient des signatures GPT, indiquant qu'il a une table GPT. "
-#~ "Cependant, il n'a pas de table fictive de partitions MSDOS valide tel "
-#~ "qu'il le devrait. Peut-être a-t-elle été corrompue - peut-être par un "
-#~ "programme qui ne comprend pas les tables de partitions GPT. Ou peut-être "
-#~ "avez-vous supprimé la table GPT et utilisez-vous une table de partition "
-#~ "MS-DOS. Ceci est-il une table de partitions GPT ?"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]\n"
-#~ "  or:  %s DEVICE MINOR\n"
-#~ msgstr ""
-#~ "Usage: %s [OPTION]\n"
-#~ "  ou:  %s PERIPHERIQUE MINEUR\n"
-
-#~ msgid ""
-#~ "Clear unused space on a FAT partition (a GNU Parted testing tool).\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Nettoie l'espace inutilisé d'une partition FAT (outil de test GNU "
-#~ "Parted).\n"
-#~ "\n"
+msgstr "Cette commande n’a pas de sens en mode non-interactif.\n"
 
-#~ msgid "      --help     display this help and exit\n"
-#~ msgstr "      --help     affiche cette aide et quitte\n"
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s : l’option « --%s » ne prend pas d’argument\n"
 
-#~ msgid "      --version  output version information and exit\n"
-#~ msgstr "      --version  affiche les informations de version et quitte\n"
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s : option « --%s » inconnue\n"
 
-#~ msgid "too few arguments"
-#~ msgstr "pas assez d'arguments"
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s : l’option « -W %s » ne nécessite pas d’argument\n"
 
-#~ msgid "too many arguments"
-#~ msgstr "arguments trop nombreux"
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s : l’option « -W %s » requiert un argument\n"
 
-#~ msgid "invalid minor device number: %s"
-#~ msgstr "n° mineur de périphérique non valide : %s"
-
-#~ msgid "Support for opening %s file systems is not implemented yet."
-#~ msgstr "L'ouverture du système de fichiers %s n'est pas encore supportée."
-
-#~ msgid "Support for creating %s file systems is not implemented yet."
-#~ msgstr ""
-#~ "Le support pour la création du système de fichiers %s n'est pas encore "
-#~ "implanté."
-
-#~ msgid "Support for checking %s file systems is not implemented yet."
-#~ msgstr ""
-#~ "Le support pour la vérification du système de fichiers %s n'est pas "
-#~ "encore implanté."
-
-#~ msgid "raw block copying"
-#~ msgstr "copie brute de blocs"
-
-#~ msgid "growing file system"
-#~ msgstr "augmentation de taille du système de fichiers"
-
-#~ msgid "Can't copy onto an overlapping partition."
-#~ msgstr "Impossible de copier sur une partition qui en chevauche une autre."
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "%s page web : <http://www.gnu.org/software/%s/>\n"
 
 #~ msgid ""
-#~ "Direct support for copying file systems is not yet implemented for %s.  "
-#~ "However, support for resizing is implemented.  Therefore, the file system "
-#~ "can be copied if the new partition is at least as big as the old one.  "
-#~ "So, either shrink the partition you are trying to copy, or copy to a "
-#~ "bigger partition."
-#~ msgstr ""
-#~ "Le support direct pour la copie de système de fichiers n'est pas encore "
-#~ "implanté pour %s. Cependant le support pour le redimensionnement l'est. "
-#~ "Par conséquent, le système de fichiers peut être copié si la nouvelle "
-#~ "partition est au moins aussi grande que l'ancienne. Donc, vous pouvez "
-#~ "soit réduire la partition que vous tenter de copier, soit la copier vers "
-#~ "une partition plus grande."
-
-#~ msgid "Support for copying %s file systems is not implemented yet."
-#~ msgstr ""
-#~ "Le support pour la copie du système de fichiers %s n'est pas encore "
-#~ "implanté."
-
-#~ msgid "creating"
-#~ msgstr "création en cours"
-
-#~ msgid "The file system is in an invalid state.  Perhaps it is mounted?"
-#~ msgstr ""
-#~ "Le système de fichiers est dans un état incorrect. Peut-être est-il "
-#~ "monté ?"
-
-#~ msgid "The file system is in old (unresizeable) format."
-#~ msgstr ""
-#~ "Le système de fichiers est d'un format ancien (non redimensionnable)."
-
-#~ msgid "Invalid free blocks count.  Run reiserfsck --check first."
-#~ msgstr ""
-#~ "Nombre de blocs libres incorrect. Exécutez d'abord reiserfsck --check."
-
-#~ msgid "checking"
-#~ msgstr "contrôle en cours"
-
-#~ msgid "Reiserfs tree seems to be corrupted.  Run reiserfsck --check first."
-#~ msgstr ""
-#~ "L'arbre du système de fichiers Reiser semble corrompu. Exécutez d'abord "
-#~ "reiserfsck --check."
-
-#~ msgid ""
-#~ "The reiserfs file system passed a basic check.  For a more comprehensive "
-#~ "check, run reiserfsck --check."
-#~ msgstr ""
-#~ "Le système de fichiers Reiser a passé la vérification de base. Pour une "
-#~ "vérification plus approfondie, utilisez reiserfsck --check."
-
-#~ msgid "Sorry, can't move the start of reiserfs partitions yet."
-#~ msgstr ""
-#~ "Désolé, impossible de déplacer le début d'une partition Reiser pour "
-#~ "l'instant."
-
-#~ msgid "Couldn't reopen device abstraction layer for read/write."
-#~ msgstr ""
-#~ "Impossible de réouvrir le gestionnaire virtuel de lecture/écriture pour "
-#~ "ce périphérique."
-
-#~ msgid "expanding"
-#~ msgstr "agrandissement en cours"
-
-#~ msgid "Couldn't create reiserfs device abstraction handler."
-#~ msgstr ""
-#~ "Impossible de créer le gestionnaire virtuel Reiser sur ce périphérique."
-
-#~ msgid "copying"
-#~ msgstr "copie en cours"
-
-#~ msgid "Couldn't resolve symbol %s.  Error: %s."
-#~ msgstr "Impossible de résoudre le symbole %s.  Erreur: %s."
-
-#~ msgid "GNU Parted found an invalid libreiserfs library."
-#~ msgstr "GNU Parted a trouvé une librairie \"libreiserfs\" invalide."
-
-#~ msgid ""
-#~ "GNU Parted has detected libreiserfs interface version mismatch.  Found %d-"
-#~ "%d, required %d. ReiserFS support will be disabled."
-#~ msgstr ""
-#~ "GNU Parted a détecté un problème de version de l'interface de la "
-#~ "librairie \"libreiserfs\".  Trouvé %d-%d, %d requis. Le support du "
-#~ "système de fichiers Reiser est désactivé."
-
-#~ msgid "Inconsistent group descriptors!"
-#~ msgstr "Descripteurs de groupe incohérents !"
-
-#~ msgid "File system full!"
-#~ msgstr "Le système de fichiers est plein !"
-
-#~ msgid "Invalid superblock.  Are you sure this is an ext2 file system?"
-#~ msgstr ""
-#~ "Super bloc invalide. Êtes-vous certain qu'il s'agisse d'un système de "
-#~ "fichiers ext2 ?"
-
-#~ msgid "File system has errors!  You should run e2fsck."
-#~ msgstr ""
-#~ "Le système de fichiers contient des erreurs ! Vous devriez exécuter "
-#~ "e2fsck."
-
-#~ msgid ""
-#~ "File system was not cleanly unmounted!  You should run e2fsck.  Modifying "
-#~ "an unclean file system could cause severe corruption."
-#~ msgstr ""
-#~ "Le système de fichiers n'a pas été démonté proprement ! Vous devriez "
-#~ "exécuter e2fsck. Modifier un système de fichiers non sain pourrait "
-#~ "provoquer de sérieux problèmes de corruption."
-
-#~ msgid ""
-#~ "File system has an incompatible feature enabled.  Compatible features are "
-#~ "has_journal, dir_index, filetype, sparse_super and large_file.  Use "
-#~ "tune2fs or debugfs to remove features."
-#~ msgstr ""
-#~ "Une fonction incompatible est activée sur le système de fichiers. Les "
-#~ "fonctions compatibles sont has_journal, dir_index, filetype, sparse_super "
-#~ "et large_file. Utiliser tune2fs ou debugfs pour retirer les autres."
-
-#~ msgid "Error allocating buffer cache."
-#~ msgstr "Erreur lors de l'allocation d'un tampon de cache."
-
-#~ msgid ""
-#~ "Found an inode with a incorrect link count.  Better go run e2fsck first!"
-#~ msgstr ""
-#~ "Inode repéré avec un nombre incorrect de liens. Il serait préférable "
-#~ "d'exécuter e2fsck avant tout !"
-
-#~ msgid "Not enough free inodes!"
-#~ msgstr "Pas assez d'inodes libres !"
-
-#~ msgid "File system is too full to remove a group!"
-#~ msgstr ""
-#~ "Le système de fichiers est trop plein pour pouvoir enlever un groupe !"
-
-#~ msgid "File system has too many allocated inodes to remove a group!"
-#~ msgstr ""
-#~ "Le système de fichiers a trop d'inodes alloués pour pouvoir enlever un "
-#~ "groupe !"
-
-#~ msgid "adding groups"
-#~ msgstr "ajout de groupes"
-
-#~ msgid "Your file system is too full to resize it to %i blocks.  Sorry."
-#~ msgstr ""
-#~ "Votre système de fichiers est trop plein pour pouvoir le redimensionner "
-#~ "en %i blocs. Désolé."
-
-#~ msgid ""
-#~ "Your file system has too many occupied inodes to resize it to %i blocks.  "
-#~ "Sorry."
-#~ msgstr ""
-#~ "Le système de fichiers n'a pas assez d'inodes libres pour pouvoir le "
-#~ "redimensionner en %i blocs. Désolé."
-
-#~ msgid "File system was not cleanly unmounted!  You should run e2fsck."
-#~ msgstr ""
-#~ "Le système de fichiers n'a pas été démonté proprement ! Vous devriez "
-#~ "exécuter e2fsck."
-
-#~ msgid ""
-#~ "The file system has the 'dir_index' feature enabled.  Parted can only "
-#~ "resize the file system if it disables this feature.  You can enable it "
-#~ "later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD "
-#~ "DEVICE'."
-#~ msgstr ""
-#~ "Le système de fichiers a l'option 'dir_index' activée. Parted ne peut "
-#~ "redimensionner ce système de fichiers que s'il désactive cette option. "
-#~ "Vous pourrez l'activer ensuite avec la commande 'tune2fs -O dir_index "
-#~ "PERIPHERIQUE' puis 'e2fsck -fD PERIPHERIQUE'."
-
-#~ msgid ""
-#~ "A resize operation on this file system will use EXPERIMENTAL code\n"
-#~ "that MAY CORRUPT it (although no one has reported any such damage yet).\n"
-#~ "You should at least backup your data first, and run 'e2fsck -f' "
-#~ "afterwards."
-#~ msgstr ""
-#~ "Une opération de redimentionnement sur ce système de fichiers utilisera "
-#~ "un code EXPERIMENTAL qui POURRAIT le CORROMPRE (bien que personne n'ait "
-#~ "signalé un tel problème pour l'instant). Vous devriez au moins "
-#~ "sauvegarder vos données et ensuite lancer 'e2fsck -f'."
-
-#~ msgid "Cross-linked blocks found!  Better go run e2fsck first!"
-#~ msgstr ""
-#~ "Blocs liés de façon croisée repérés ! Il serait préférable d'exécuter "
-#~ "e2fsck d'abord !"
-
-#~ msgid "Block %i has no reference?  Weird."
-#~ msgstr "Le bloc %i n'a pas de référence ? Bizarre."
-
-#~ msgid "Block %i shouldn't have been marked (%d, %d)!"
-#~ msgstr "Le bloc %i ne devrait pas avoir été marqué (%d, %d) !"
-
-#~ msgid ""
-#~ "The ext2 file system passed a basic check.  For a more comprehensive "
-#~ "check, use the e2fsck program."
-#~ msgstr ""
-#~ "Le système de fichiers ext2 a passé la vérification de base. Pour une "
-#~ "vérification plus approfondie, utilisez e2fsck."
-
-#~ msgid "Sorry, can't move the start of ext2 partitions yet!"
-#~ msgstr ""
-#~ "Désolé, on ne peut pas déplacer le début d'une partition ext2 pour le "
-#~ "moment !"
-
-#~ msgid "Couldn't flush buffer cache!"
-#~ msgstr "Impossible de vider le tampon de mémoire cache !"
-
-#~ msgid "writing per-group metadata"
-#~ msgstr "écriture des métadonnées de groupes"
-
-#~ msgid "File system too small for ext2."
-#~ msgstr "Système de fichiers trop petit pour ext2."
-
-#~ msgid "Too many bad pages."
-#~ msgstr "Trop de pages erronées."
-
-#~ msgid "The partition must have one of the following FS-TYPEs: "
-#~ msgstr "La partition doit avoir un des FS-TYPEs suivants : "
-
-#~ msgid ""
-#~ "The existing file system will be destroyed and all data on the partition "
-#~ "will be lost. Do you want to continue?"
-#~ msgstr ""
-#~ "Le système de fichier existant va être détruit et toutes les données de "
-#~ "la partition vont être perdues. Voulez-vous continuer ?"
-
-#~ msgid ""
-#~ "WARNING: you are attempting to use %s to operate on (%s) a file system.\n"
-#~ "%s's file system manipulation code is not as robust as what you'll find "
-#~ "in\n"
-#~ "dedicated, file-system-specific packages like e2fsprogs.  We recommend\n"
-#~ "you use %s only to manipulate partition tables, whenever possible.\n"
-#~ "Support for performing most operations on most types of file systems\n"
-#~ "will be removed in an upcoming release.\n"
-#~ msgstr ""
-#~ "ATTENTION : vous tentez d'utiliser %s pour agir sur un système de "
-#~ "fichiers\n"
-#~ "(%s). Le code de manipulation du syst. de fichiers %s n'est pas aussi \n"
-#~ "abouti que celui des paquets dédiés tels e2fsprogs. Nous conseillons\n"
-#~ "d'utiliser %s seulement pour manipuler les tables de partitions, si "
-#~ "possible.\n"
-#~ "Le support de la plupart des opérations/systèmes de fichiers sera\n"
-#~ "abandonné dans une version ultérieure.\n"
-
-#~ msgid "Source partition number?"
-#~ msgstr "Numéro de la partition source ?"
-
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "Impossible de copier une partition étendue."
-
-#~ msgid "Destination partition number?"
-#~ msgstr "Numéro de la partition de destination ?"
-
-#~ msgid ""
-#~ "An extended partition cannot hold a file system.  Did you want mkpart?"
-#~ msgstr ""
-#~ "Une partition étendue ne peut avoir de système de fichiers. Vouliez-vous "
-#~ "utiliser mkpart ?"
-
-#~ msgid "Can't move an extended partition."
-#~ msgstr "Impossible de déplacer une partition étendue."
-
-#~ msgid "Can't move a partition onto itself.  Try using resize, perhaps?"
-#~ msgstr ""
-#~ "Impossible de déplacer une partition sur elle-même. Essayez peut-être un "
-#~ "redimensionnement ?"
-
-#~ msgid "Minor: %d\n"
-#~ msgstr "Mineure : %d\n"
-
-#~ msgid "Flags: %s\n"
-#~ msgstr "Fanions : %s\n"
-
-#~ msgid "File System: %s\n"
-#~ msgstr "Système de fichiers : %s\n"
-
-#~ msgid "Size:         "
-#~ msgstr "Taille:         "
-
-#~ msgid "Minimum size: "
-#~ msgstr "Taille minimum : "
-
-#~ msgid "Maximum size: "
-#~ msgstr "Taille maximum : "
-
-#~ msgid "check"
-#~ msgstr "contrôler"
-
-#~ msgid ""
-#~ "check NUMBER                             do a simple check on the file "
-#~ "system"
-#~ msgstr ""
-#~ "check NOMBRE                            faire une vérification simple du "
-#~ "système de fichiers"
-
-#~ msgid "cp"
-#~ msgstr "cp"
-
-#~ msgid ""
-#~ "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER   copy file system to another "
-#~ "partition"
-#~ msgstr ""
-#~ "cp [PERIPHERIQUE] NOMBRE_SOURCE NOMBRE_DESTINATION\n"
-#~ "                                     copier le système de fichiers SOURCE "
-#~ "vers une autre partition DESTINATION"
-
-#~ msgid "mkfs"
-#~ msgstr "mkfs"
-
-#~ msgid ""
-#~ "mkfs NUMBER FS-TYPE                      make a FS-TYPE file system on "
-#~ "partition NUMBER"
-#~ msgstr ""
-#~ "mkfs NOMBRE TYPE-FS                     créer un système de fichiers de "
-#~ "type TYPE-FS sur la partition NOMBRE"
-
-#~ msgid "mkpartfs"
-#~ msgstr "mkpartfs"
-
-#~ msgid ""
-#~ "mkpartfs PART-TYPE FS-TYPE START END     make a partition with a file "
-#~ "system"
-#~ msgstr ""
-#~ "mkpartfs PART-TYPE FS-TYPE DEBUT FIN      créer une partition avec un "
-#~ "système de fichiers"
-
-#~ msgid "move"
-#~ msgstr "déplacer"
-
-#~ msgid ""
-#~ "resize NUMBER START END                  resize partition NUMBER and its "
-#~ "file system"
-#~ msgstr ""
-#~ "resize NOMBRE DEBUT FIN                   modifier la taille de la "
-#~ "partition (et du système de fichiers) numéro NOMBRE"
-
-#~ msgid "This is not an ECKD disk!  This disk type is not supported!"
-#~ msgstr ""
-#~ "Ce n'est pas un disque ECKD ! Ce type de disque n'est pas supporté !"
-
-#~ msgid ""
-#~ "Device %s has a logical sector size of %lld.  Not all parts of GNU Parted "
-#~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n"
-#~ msgstr ""
-#~ "La taille des secteurs logiques pour le périphérique %s est %lld. Tous "
-#~ "les modules de GNU Parted ne supportent pas cela pour l'instant : "
-#~ "fonction EXPERIMENTALE.\n"
-
-#~ msgid ""
-#~ "WARNING: the kernel failed to re-read the partition table on %s (%s).  As "
-#~ "a result, it may not reflect all of your changes until after reboot."
-#~ msgstr ""
-#~ "ATTENTION : le noyau n'a pas pu relire la table de partitions sur %s "
-#~ "(%s). En conséquence, vos changements n'apparaitront pas avant le "
-#~ "prochain redémarrage."
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: option incorrecte -- %c\n"
-
-#~ msgid ""
-#~ "Could not determine minimum io size for %s: %s.\n"
-#~ "Using the default size (%lld)."
-#~ msgstr ""
-#~ "Impossible de trouver la taille min. d'E/S pour %s : %s.\n"
-#~ "Utilisation de la taille par défaut (%lld)."
-
-#~ msgid ""
-#~ "The kernel was unable to re-read the partition table on %s (%s).  This "
-#~ "means Linux won't know anything about the modifications you made until "
-#~ "you reboot.  You should reboot your computer before doing anything with "
-#~ "%s."
-#~ msgstr ""
-#~ "Le kernel a été incapable de relire la table de partition sur %s (%s). "
-#~ "Cela signifie que Linux ne reconnaîtra aucune des modifications "
-#~ "effectuées avant de redémarrer. Vous devriez redémarrer votre ordinateur "
-#~ "avant de faire quoi que ce soit avec %s."
-
-#~ msgid "Unable to determine the block size of this dasd"
-#~ msgstr ""
-#~ "Impossible de déterminer la taille des blocs de ce périphérique DASD."
-
-#~ msgid "File system has an incompatible feature enabled."
-#~ msgstr "Le système de fichiers a une option incompatible activée."
-
-#~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s."
-#~ msgstr ""
-#~ "Tentative de lecture des secteurs %ld-%ld en dehors de la partition sur "
-#~ "%s."
-
-#~ msgid "where necessary, prompts for user intervention"
-#~ msgstr "lorsque nécessaire, demande l'intervention de l'utilisateur"
-
-#~ msgid "GNU Parted Version information:\n"
-#~ msgstr "Information sur la version de GNU Parted:\n"
-
-#~ msgid "File system?"
-#~ msgstr "Système de fichiers ?"
-
-#~ msgid ""
-#~ "Without arguments, print displays the entire partition table. With "
-#~ "'free'\n"
-#~ "argument, information about free space will be displayed otherwise if a\n"
-#~ "partition number is given, then more detailed information is displayed\n"
-#~ "about that partition. If the 'all' argument is passed instead, partition\n"
-#~ "information for all devices will be displayed."
-#~ msgstr ""
-#~ "Sans argument, print affiche la table complète de partitions. Avec "
-#~ "'free'\n"
-#~ "comme argument, l'infomation sur l'espace libre sera affichée, sinon, si "
-#~ "un\n"
-#~ " numéro de partition est fourni alors des informations supplémentaires\n"
-#~ "détaillées sont affichées à propos de cette partition. Si l'argument "
-#~ "'all'\n"
-#~ "est fournit, l'information sur tous les périphériques sera affichée."
-
-#, fuzzy
-#~ msgid ""
-#~ "The sector size on %s is %d bytes.  Parted is known not to work properly "
-#~ "with drives with sector sizes other than %d bytes."
-#~ msgstr ""
-#~ "La taille de secteurs sur %s est de %d octets. Parted est reconnu pour ne "
-#~ "pas fonctionner correctement avec des périphériques dont la taille des "
-#~ "secteurs est différente de %d octets."
-
-#~ msgid "IDE"
-#~ msgstr "IDE"
-
-#, fuzzy
-#~ msgid ""
-#~ "This ext2 file system has a rather strange layout!  Parted can't resize "
-#~ "this (yet)."
-#~ msgstr ""
-#~ "Ce système de fichiers ext2 a une structure étrange ! Parted ne peut (pas "
-#~ "encore)le redimensionner."
-
-#~ msgid ""
-#~ "You have an HFS+ file system that has a feature that I haven't seen used "
-#~ "anywhere.  Parted can theoretically handle it, but the corresponding code "
-#~ "has never been tested, so this might be risky.  Please email me so I can "
-#~ "see how it works!  <xxx@yyy.zz>"
-#~ msgstr ""
-#~ "Vous avez un système de fichiers HFS+ qui a une option que je n'ai jamais "
-#~ "vue ailleurs. Parted peut théoriquement gérer cela, mais le code "
-#~ "correspondant n'a jamais été testé, donc cela peut être risqué. Merci de "
-#~ "me mailer pour que je puisse voir comment cela fonctionne ! <xxx@yyy.zz>"
-
-#~ msgid ""
-#~ "The extents overflow file should not contain its own extents.  You should "
-#~ "check the file system."
-#~ msgstr ""
-#~ "Le fichier des zones additionnelles ne devrait pas contenir sa propre "
-#~ "zone. Vous devriez vérifier le système de fichiers."
-
-#, fuzzy
-#~ msgid "Disk geometry for %s: %s - %s\n"
-#~ msgstr "Géométrie du disque pour %s : %s - %s\n"
-
-#~ msgid "Disk label type: %s\n"
-#~ msgstr "Type d'étiquette de disque : %s\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "You found a bug in GNU Parted.\n"
-#~ "This may have been fixed in the last version of GNU Parted that you can "
-#~ "find at:\n"
-#~ "\thttp://ftp.gnu.org/gnu/parted/\n"
-#~ "If this has not been fixed or if you don't know how to check, please "
-#~ "email:\n"
-#~ "\tbug-parted@gnu.org\n"
-#~ "or (preferably) file a bug report at:\n"
-#~ "\thttp://parted.alioth.debian.org/bugs/\n"
-#~ "Your report should contain the version of this release (%s) along with "
-#~ "the\n"
-#~ "following message and preferably additional information about your "
-#~ "setup.\n"
-#~ "Refer to the web site of parted\n"
-#~ "\thttp://www.gnu.org/software/parted/parted.html\n"
-#~ "for more informations of what could be useful for bug submitting!\n"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "Vous avez trouvé un bug dans GNU Parted.\n"
-#~ "Il est possible qu'il ait été corrigé dans la dernière version de GNU "
-#~ "Parted que vous pouvez trouver sur :\n"
-#~ "\thttp://ftp.gnu.org/gnu/parted/\n"
-#~ "S'il n'a pas été corrigé ou si vous ne savez pas comment vérifier, "
-#~ "envoyez un email :\n"
-#~ "\tbug-parted@gnu.org\n"
-#~ "ou (de préférence) remplissez un rapport de bug à :\n"
-#~ "\thttp://parted.alioth.debian.org/bugs/\n"
-#~ "Votre rapport de bug doit contenir la version de ce programme (%s) "
-#~ "accompagné du message suivant et de préférence d'informations "
-#~ "supplémentaires sur votre configuration.\n"
-#~ "Reportez vous au site web de Parted\n"
-#~ "\thttp://www.gnu.org/software/parted/parted.html\n"
-#~ "pour d'autres informations qui pourraient être utiles pour le rapport de "
-#~ "bug !"
-
-#~ msgid "SCSI"
-#~ msgstr "SCSI"
-
-#~ msgid "Device %s is neither a SCSI nor IDE drive."
-#~ msgstr "Le périphérique %s n'est ni un disque SCSI ni un disque IDE."
-
-#~ msgid "File system has an invalid signature for a FAT file systems."
-#~ msgstr ""
-#~ "Le système de fichiers a une signature invalide pour des systèmes de "
-#~ "fichiers FAT."
-
-#~ msgid ""
-#~ "START and END are in megabytes.  Negative values count from the end of "
-#~ "the disk.\n"
-#~ msgstr ""
-#~ "DÉBUT et FIN sont en mégaoctets. Les valeurs négatives se décomptent "
-#~ "depuis la fin du disque.\n"
-
-#~ msgid ""
-#~ "You requested to create a partition at %.3f-%.3fMb. The closest Parted "
-#~ "can manage is %.3f-%.3fMb."
-#~ msgstr ""
-#~ "Vous avez demandé de créer une partition à %.3f-%.3fMo. Le plus près que "
-#~ "Parted peut traiter est %.3f-%.3fMo."
-
-#~ msgid ""
-#~ "You requested to move the partition to %.3f-%.3fMb. The closest Parted "
-#~ "can manage is %.3f-%.3fMb."
-#~ msgstr ""
-#~ "Vous avez demandé de déplacer une partition à %.3f-%.3fMo. Le plus près "
-#~ "que Parted peut traiter est %.3f-%.3fMo."
-
-#~ msgid "Minor    Start       End     "
-#~ msgstr "Mineure   Départ      Fin     "
-
-#~ msgid "Type      "
-#~ msgstr "Type      "
-
-#~ msgid "Filesystem  "
-#~ msgstr "Sys.fichiers"
-
-#~ msgid "Name                  "
-#~ msgstr "Nom                   "
-
-#~ msgid ""
-#~ "You requested to resize the partition to %.3f-%.3fMb. The closest Parted "
-#~ "can manage is %.3f-%.3fMb."
-#~ msgstr ""
-#~ "Vous avez demandé de modifier la taille de la partition à %.3f-%.3fMo. Le "
-#~ "plus près que Parted peut traiter est %.3f-%.3fMo."
-
-#~ msgid ""
-#~ "You found a bug in GNU Parted.  Please email a bug report to bug-"
-#~ "parted@gnu.org containing the version (%s), and the following message:\n"
-#~ msgstr ""
-#~ "Vous avez trouvé une anomalie dans GNU Parted. SVP rapportez celle-ci à "
-#~ "bug-parted@gnu.org en donnant la version (%s) et le message qui suit:\n"
-
-#~ msgid "Error reading %s (%s) to determine if partition is mounted."
-#~ msgstr ""
-#~ "Erreur de lecture %s (%s) afin de déterminer si la partition est montée."
-
-#~ msgid ""
-#~ "Unable to determine if partitions are mounted via /proc/mounts or /etc/"
-#~ "mtab.  Make sure you don't attempt to resize or modify mounted file "
-#~ "systems.  (Even read-only mounted)"
-#~ msgstr ""
-#~ "Incapable de déterminer si des partitions sont montées via /proc/mounts "
-#~ "ou /etc/mtab.  Assurez-vous de ne pas tenter de modifier la taille ou de "
-#~ "modifier le système de fichiers (même montés en lecture seulement)"
-
-#~ msgid ""
-#~ "Partition %s is being used.  Modifying it while it is in use could cause "
-#~ "severe corruption."
-#~ msgstr ""
-#~ "La partition %s est utilisée. La modifier alors qu'elle est en usage peut "
-#~ "provoquer un problème sévère de corruption."
-
-#~ msgid "Device %s has dodgey geometry."
-#~ msgstr "Le périphérique %s à une géométrie douteuse."
-
-#~ msgid ""
-#~ "The partition table on %s is inconsistent.  There are many reasons why "
-#~ "this might be the case.  However, the most likely reason is that Linux "
-#~ "detected the BIOS geometry for %s incorrectly.  GNU Parted suspects the "
-#~ "real geometry should be %d/%d/%d (not %d/%d/%d).  You should check with "
-#~ "your BIOS first, as this may not be correct.  You can inform Linux by "
-#~ "adding the parameter %s=%d,%d,%d to the command line.  See the LILO or "
-#~ "GRUB documentation for more information.  If you think Parted's suggested "
-#~ "geometry is correct, you may select Ignore to continue (and fix Linux "
-#~ "later).  Otherwise, select Cancel (and fix Linux and/or the BIOS now)."
-#~ msgstr ""
-#~ "La table de partition sur %s est inconsistante. Il y a plusieurs raisons "
-#~ "pouvant expliquer ce cas. Cependant, la raison la plus probable est que "
-#~ "Linux a détecté incorrectement la géométrie du BIOS pour %s. GNU parted "
-#~ "suspecte que la vraie géométrie devrait être %d/%d/%d (not %d/%d/%d). "
-#~ "Vous devriez vérifier celle du BIOS d'abord puisque celle-ci peut ne pas "
-#~ "être correcte. Vous pouvez informer Linux en fournissant le paramètre %s="
-#~ "%d,%d,%d sur la ligne de commande. Consultez la documentation de LILO ou "
-#~ "de GRUB pour plus de détails. Si vous pensez que la géométrie suggérée "
-#~ "par Parted est correcte, vous pouvez sélectionner « ignore » pour "
-#~ "poursuivre (et corriger plus tard avec Linux). Autrement, sélectionner « "
-#~ "Cancel » (et corriger Linux et/ou le BIOS maintenant)."
-
-#~ msgid ""
-#~ "The partition table on %s is inconsistent.  There are many reasons why "
-#~ "this might be the case.  Often, the reason is that Linux detected the "
-#~ "BIOS geometry incorrectly.  However, this does not appear to be the case "
-#~ "here.  It is safe to ignore,but ignoring may cause (fixable) problems "
-#~ "with some boot loaders, and may cause problems with FAT file systems.  "
-#~ "Using LBA is recommended."
-#~ msgstr ""
-#~ "La table de partition sur %s est inconsistante.  Il existe plusieurs "
-#~ "raisons expliquant ce cas.  Souvent la raison est que Linux a détecté une "
-#~ "géométrie du BIOS incorrecte. Cependant cela ne semble pas être le cas "
-#~ "ici.  Il est prudent de l'ignorer mais l'ignorer pourrait causer certains "
-#~ "problèmes (corrigeables) avec certains chargeurs d'amorce et les systèmes "
-#~ "de fichiers FAT. L'utilisation de LBA est recommandée."
-
-#~ msgid ""
-#~ "Unable to align partition properly.  This probably means that another "
-#~ "partitioning tool generated an incorrect partition table, because it "
-#~ "didn't have the correct BIOS geometry.  It is safe to ignore,but ignoring "
-#~ "may cause (fixable) problems with some boot loaders."
-#~ msgstr ""
-#~ "Incapable d'aligner la partition correctement. Ceci indique probablement "
-#~ "qu'un autre outil de partionnage a fabriqué une table de partition "
-#~ "incorrecte, parce qu'il n'utilisait pas la bonne géométrie du BIOS. Il "
-#~ "est prudent de l'ignorer mais l'ignorer peut causer des problèmes "
-#~ "(corrigeables) avec certains chargeurs d'amorce."
-
-#~ msgid ""
-#~ "  You have Windows FAT partition(s) that are not using LBA.  If your BIOS "
-#~ "supports LBA, then you should switch to LBA by setting the LBA flag on "
-#~ "all FAT partitions.  Otherwise, make sure the operating system and the "
-#~ "BIOS have the same geometry before resizing any FAT partitions."
-#~ msgstr ""
-#~ "  Vous avez des partitions FAT Windows qui n'utilisent pas LBA.  Si le "
-#~ "BIOS supporte LBA alors vous devriez sélectionner LBA en l'activant pour "
-#~ "toutes les partitions FAT.  Autrement, assurez-vous que le système "
-#~ "d'exploitation et le BIOS ont la même géométrie avant de modifier la "
-#~ "taille de n'importe quelle partition FAT."
-
-#~ msgid ""
-#~ "The operating system thinks the geometry on %s is %d/%d/%d.  Therefore, "
-#~ "cylinder 1024 ends at %.3fM.%s"
-#~ msgstr ""
-#~ "Le système d'exploitation croit que le géométrie sur %s est %d/%d/%d.  "
-#~ "Par conséquent le cylindre 1024 se termine à %.3fM.%s"
-
-#~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s"
-#~ msgstr ""
-#~ "Le système d'exploitation croit que le géométrie sur %s est %d/%d/%d.%s"
-
-#~ msgid "START and END are in megabytes\n"
-#~ msgstr "DÉBUT et FIN sont en mégaoctets\n"
-
-#~ msgid "Partition %s is being used."
-#~ msgstr "La partition %s est déjà utilisée."
-
-#~ msgid ""
-#~ "The FATs aren't big enough to describe all clusters!  Each FAT is %d "
-#~ "sectors.  There are %d clusters, which would require each FAT to be %d "
-#~ "sectors.  This is REALLY weird.  You might want to write us an email: bug-"
-#~ "parted@gnu.org"
-#~ msgstr ""
-#~ "Les FAT ne sont pas assez grandes pour décrire tous les clusters! Chaque "
-#~ "FAT a %d secteurs. Il y a %d clusters lesquels nécessiteront que chaque "
-#~ "FAT ait %d secteurs. Cela est vraiment bizarre. Vous pouvez nous écrire: "
-#~ "bug-parted@gnu.org"
-
-#~ msgid ""
-#~ "This swap partition is not compatible with Linux version 2.1.117 or "
-#~ "earlier.  Use a smaller partition (maximum size 128mb) if you want to use "
-#~ "old versions of Linux."
-#~ msgstr ""
-#~ "Cette partition swap n'est pas compatible avec la version 2.1.117 de "
-#~ "Linux (ou précédente). Utilisez une partition de plus petite taille "
-#~ "(taille maximum 128Mo) si vous désirez utiliser une version plus ancienne "
-#~ "de Linux"
-
-#~ msgid ""
-#~ "The new partition overlaps with another partition so badly that it isn't "
-#~ "obvious want you want!"
-#~ msgstr ""
-#~ "La nouvelle partition en chevauche une autre de façon telle qu'il est "
-#~ "difficile de savoir ce que vous désirez!."
-
-#~ msgid ""
-#~ "Can't resize an extended partition so as to exclude a logical partition."
-#~ msgstr ""
-#~ "Ne peut modifier la taille d'une partition étendue en excluant une "
-#~ "partition logique."
-
-#~ msgid "Can't grow a partition onto used space."
-#~ msgstr "Ne peut accroître une partition sur de l'espace utilisé."
-
-#~ msgid "unknown"
-#~ msgstr "inconnu"
-
-#~ msgid "Unknown SCSI"
-#~ msgstr "SCSI inconnu"
-
-#~ msgid "GUID Partition Table Header Signature is wrong: "
-#~ msgstr "Signature erronée de l'entête de la table de partition GUID: "
-
-#~ msgid " should be "
-#~ msgstr " devrait être "
-
-#~ msgid "GPT Header CRC check failed, %x should be %x."
-#~ msgstr "Erreur de vérification du CRC de l'entête GPT, %x devrait être %x."
-
-#~ msgid "GPT Partition Entry Array CRC check failed, %x should be %x."
-#~ msgstr ""
-#~ "Erreur de vérification du CRC de l'entrée de la partition GPT, %x devrait "
-#~ "être %x."
-
-#~ msgid ""
-#~ "This disk contains a valid Primary and Alternate GUID Partition Table but "
-#~ "the Protective MBR is invalid.  This generally means that the disk had "
-#~ "GPT partitions on it, but then a legacy partition editing tool was used "
-#~ "to change the partition table stored in the MBR.\n"
-#~ "Which data is valid,  GPT or MBR?\n"
-#~ "Yes will assume that the GPT information is correct, and rewrite the "
-#~ "PMBR.\n"
-#~ "No will assume that the MBR is correct, and erase the GPT information.\n"
-#~ "Ignore will assume that the MBR is correct, but not change the disk."
-#~ msgstr ""
-#~ "Ce disque contient une table de partitions Primaire et Alternative GUID "
-#~ "valides mais le MBR Protectif est invalide. Cela signifie généralement "
-#~ "que le disque contient des partitions GPT mais qu'un ancien logiciel "
-#~ "d'édition de partitions a été utilisé pour modifier la table de "
-#~ "partitions stockée dans le MBR.\n"
-#~ "Lequel est valide GPT ou MBR?\n"
-#~ "La réponse Yes (oui) indique que l'on suppose que l'information de type "
-#~ "GPT est correcte et réécrira le PMBR.\n"
-#~ "La réponse No (non) indique que l'on assume que l'information de type MBR "
-#~ "est correcte et effacera l'information GPT\n"
-#~ "La réponse Ignore (ignorez) indique que l'on suppose que l'information de "
-#~ "type MBR est correcte mais aucun changement ne sera apporté au disque."
-
-#~ msgid ""
-#~ "This disk contains a valid Alternate GUID Partition Table but the Primary "
-#~ "GPT and Protective MBR are invalid.  This generally means that the disk "
-#~ "had GPT partitions on it, but then a legacy partition editing tool was "
-#~ "used to change the partition table stored in the MBR.\n"
-#~ "Which data is valid,  GPT or MBR?\n"
-#~ "Yes will assume that the GPT information is correct, and will rewrite the "
-#~ "PMBR and Primary GPT.\n"
-#~ "No will assume that the MBR is correct, and erase the GPT information.\n"
-#~ "Ignore will assume that the MBR is correct, but not change the disk."
-#~ msgstr ""
-#~ "Ce disque contient une table de partition Alternate GUID valide mais la "
-#~ "partition primaire GPT et le MBR Protectif sont invalides. Cela signifie "
-#~ "généralement que le disque contient des partitions GPT mais qu'un ancien "
-#~ "logiciel d'édition de partitions a été utilisé pour modifier la table de "
-#~ "partitions stockée dans le MBR.\n"
-#~ "Lequel est valide GPT ou MBR?\n"
-#~ "La réponse Yes (oui) indique que l'on suppose que l'information de type "
-#~ "GPT est correcte et réécrira le PMBR et la partition primaire GPT.\n"
-#~ "La réponse No (non) indique que l'on suppose que l'information de type "
-#~ "MBR est correcte et effacera l'information GPT\n"
-#~ "La réponse Ignore (ignorez) indique que l'on suppose que l'information de "
-#~ "type MBR est correcte mais aucun changement ne sera apporté au disque."
-
-#~ msgid ""
-#~ "This disk contains a valid Primary GUID Partition Table but the Alternate "
-#~ "GPT and Protective MBR are invalid.  This generally means that the disk "
-#~ "had GPT partitions on it, but then a legacy partition editing tool was "
-#~ "used to change the partition table stored in the MBR.\n"
-#~ "Which data is valid,  GPT or MBR?\n"
-#~ "Yes will assume that the GPT information is correct, and will rewrite the "
-#~ "PMBR and Alternate GPT.\n"
-#~ "No will assume that the MBR is correct, and erase the GPT information.\n"
-#~ "Ignore will assume that the MBR is correct, but not change the disk.\n"
-#~ msgstr ""
-#~ "Ce disque contient une table de partition primaire GUID valide mais la "
-#~ "partition alternative GPT et le MBR Protectif sont invalides. Cela "
-#~ "signifie généralement que le disque contient des partitions GPT mais "
-#~ "qu'un ancien logiciel d'édition de partitions a été utilisé pour modifier "
-#~ "la table de partitions stockée dans le MBR.\n"
-#~ "Lequel est valide GPT ou MBR?\n"
-#~ "La réponse Yes (oui) indique que l'on suppose que l'information de type "
-#~ "GPT est correcte et réécrira le PMBR et la partition alternative GPT.\n"
-#~ "La réponse No (non) indique que l'on suppose que l'information de type "
-#~ "MBR est correcte et effacera l'information GPT\n"
-#~ "La réponse Ignore (ignorez) indique que l'on suppose que l'information de "
-#~ "type MBR est correcte mais aucun changement ne sera apporté au disque.\n"
-
-#~ msgid "Can't set non-Linux partitions as a root device."
-#~ msgstr "Ne peut définir des partitions non-Linux pour un périphérique root"
-
-#~ msgid "Can't set non-Linux partitions as a swap device."
-#~ msgstr ""
-#~ "Ne peut définir des partitions non-Linux pour un périphérique pour le swap"
-
-#~ msgid "No get_resize_constraint for %s!"
-#~ msgstr "Aucun get_resize_constraint pour %s!"
-
-#~ msgid "The %s file system code doesn't support %s disk labels."
-#~ msgstr ""
-#~ "Le code du système de fichiers %s ne supporte pas les étiquettes de "
-#~ "disque %s"
-
-#~ msgid "Creating new %s disklabels is not implemented yet."
-#~ msgstr ""
-#~ "La création d'une nouvelle étiquette pour le système de fichiers %s n'est "
-#~ "pas encore implantée."
-
-#~ msgid "The code to write the partition table hasn't been written for %s yet"
-#~ msgstr ""
-#~ "Le code pour écrire la table de partition n'a pas encore été écrit pour %s"
-
-#~ msgid "Insane!  %d clusters!"
-#~ msgstr "Insensé!  %d clusters!"
-
-#~ msgid ""
-#~ "The filesystem is going to be too big for FAT16, so FAT32 will be used.  "
-#~ "This is not compatible with MS-DOS, early versions of MS-Windows 95 and "
-#~ "Windows NT.  If you use these operating systems, then select cancel, and "
-#~ "create a smaller partition.  If you only use Linux, BSD, MS Windows 98 "
-#~ "and/or MS Windows 95 B, then select OK."
-#~ msgstr ""
-#~ "Le système de fichiers sera trop gros pour FAT16, aussi FAT32 sera "
-#~ "utilisé. Il n'est pas compatible avec MS-DOS et les premières versions de "
-#~ "MS-Windows 95 et Windows NT. Si vous utilisez ces systèmes d'exploitation "
-#~ "alors sélectionne 'annuler' (cancel) et créez une partition plus petite. "
-#~ "Si vous utilisez seulement Linux, BSD, MS Windows 98 et/ou MS Windows 95 "
-#~ "B alors sélectionner 'OK'."
-
-#~ msgid "Weird: fat_calc_sizes() failed for FAT32!"
-#~ msgstr "Bizarre: fat_calc_sizes() a échoué pour un FAT32!"
-
-#~ msgid ""
-#~ "Would you like to use FAT32 for this filesystem?  It is much more "
-#~ "efficient with your disk space, but is not compatible with early versions "
-#~ "of Windows 95 and Windows NT.  Only select yes if you only use Linux, "
-#~ "BSD, MS Windows 98 and/or MS Windows 95 B."
-#~ msgstr ""
-#~ "Préférez-vous utiliser FAT32 pour ce système de fichiers? C'est plus "
-#~ "efficace avec votre espace disque mais non compatible avec les premières "
-#~ "version de Windows 95 et Windows NT. Sélectionner seulement si vous "
-#~ "utilisez Linux, BSD, MS Windows 98 et/ou MS Windows 95 B."
-
-#~ msgid ""
-#~ "File system doesn't have expected sizes for Windows to like it.  Number "
-#~ "of clusters is %d (%d expected); size of FATs is %d sectors (%d expected)."
-#~ msgstr ""
-#~ "Le système de fichiers n'était pas prévu pour des tailles compatibles "
-#~ "avec Windows.  Le nombre de clusters est %d (%d attendu). La taille des "
-#~ "FAT est de %d secteurs (%d attendu)"
-
-#~ msgid ""
-#~ "Partition size (%ld sectors) and filesystem size (%ld sectors) do not "
-#~ "match."
-#~ msgstr ""
-#~ "La taille de partition (%ld secteurs) et la taille du système de fichiers "
-#~ "(%ld secteurs) ne concordent pas."
-
-#~ msgid "Linux-swap partitions can not be hidden on msdos disk labels."
-#~ msgstr ""
-#~ "Les partitions Linux-swap ne peuvent être cachées pour une étiquette de "
-#~ "disque MS-DOS"
-
-#~ msgid "Linux-swap partitions can not be bootable on pc98 disk labels."
-#~ msgstr ""
-#~ "Les partitions Linux-swap ne peuvent être amorçables pour une étiquette "
-#~ "de disque pc98."
-
-#~ msgid "HFS partitions can't be hidden on msdos disk labels."
-#~ msgstr ""
-#~ "Les partitions HFS ne peuvent être cachées pour une étiquette de disque "
-#~ "MS-DOS."
-
-#~ msgid "JFS partitions can't be hidden on msdos disk labels."
-#~ msgstr ""
-#~ "Les partitions JFS ne peuvent être cachées pour une étiquette de disque "
-#~ "MS-DOS."
-
-#~ msgid "Reiserfs partitions can't be hidden on msdos disk labels."
-#~ msgstr ""
-#~ "Les partitions Reiserfs ne peuvent être cachées pour une étiquette de "
-#~ "disque MS-DOS."
-
-#~ msgid "Reiserfs partitions must be bootable on pc98 disk labels."
-#~ msgstr ""
-#~ "Les partitions Reiserfs doivent être amorçables pour une étiquette de "
-#~ "disque pc98."
-
-#~ msgid "XFS partitions can't be hidden on msdos disk labels."
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
 #~ msgstr ""
-#~ "Les partitions XFS ne peuvent être cachées pour une étiquette de disque "
-#~ "MS-DOS."
+#~ "Ce système de fichier a une taille de secteur logique de %d. GNU Parted "
+#~ "ne traite pas correctement les tailles de secteurs différentes de 512 "
+#~ "octets."
diff --git a/po/fur.gmo b/po/fur.gmo
new file mode 100644 (file)
index 0000000..66dbb02
Binary files /dev/null and b/po/fur.gmo differ
diff --git a/po/fur.po b/po/fur.po
new file mode 100644 (file)
index 0000000..6966588
--- /dev/null
+++ b/po/fur.po
@@ -0,0 +1,3325 @@
+# Friulian translation for the parted package
+# Copyright (C) 2019 Free Software Foundation, Inc.
+# This file is distributed under the same license as the parted package.
+# Fabio Tomat <f.t.public@gmail.com>, 2019.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU parted 3.1.90\n"
+"Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
+"PO-Revision-Date: 2019-01-22 11:21+0100\n"
+"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
+"Language-Team: Friulian <f.t.public@gmail.com>\n"
+"Language: fur\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"
+"X-Generator: Poedit 2.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/argmatch.c:132
+#, c-format
+msgid "invalid argument %s for %s"
+msgstr "argoment %s no valit par %s"
+
+#: lib/argmatch.c:133
+#, c-format
+msgid "ambiguous argument %s for %s"
+msgstr "argoment %s ambigui par %s"
+
+#: lib/argmatch.c:152 lib/argmatch.h:223
+msgid "Valid arguments are:"
+msgstr "I argoments valits a son:"
+
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
+msgid "write error"
+msgstr "erôr di scriture"
+
+#: lib/error.c:195
+msgid "Unknown system error"
+msgstr "Erôr di sisteme no cognossût"
+
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: la opzion '-W %s' e je ambigue\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s: la opzion '%s' e je ambigue; pussibilitâts:"
+
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: opzions '%c %s' no ricognossude\n"
+
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
+msgstr "%s: la opzion '%c %s' no permet un argoment\n"
+
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
+msgstr "%s: la opzion '--%s' e à bisugne di un argoment\n"
+
+#: lib/getopt.c:621
+#, c-format
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: opzion --'%c' no valide\n"
+
+#: lib/getopt.c:636 lib/getopt.c:682
+#, c-format
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: la opzion e à bisugne di un argoment --'%c'\n"
+
+#. TRANSLATORS:
+#. Get translations for open and closing quotation marks.
+#. The message catalog should translate "`" to a left
+#. quotation mark suitable for the locale, and similarly for
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
+#.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
+#.
+#. If you don't know what to put here, please see
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. and use glyphs suitable for your language.
+#: lib/quotearg.c:362
+msgid "`"
+msgstr "\\"
+
+#: lib/quotearg.c:363
+msgid "'"
+msgstr "\\"
+
+#: lib/regcomp.c:135
+msgid "Success"
+msgstr "Sucès"
+
+#: lib/regcomp.c:138
+msgid "No match"
+msgstr "Nissune corispondence"
+
+#: lib/regcomp.c:141
+msgid "Invalid regular expression"
+msgstr "Espression regolâr no valide"
+
+#: lib/regcomp.c:144
+msgid "Invalid collation character"
+msgstr "Caratar di confront no valit"
+
+#: lib/regcomp.c:147
+msgid "Invalid character class name"
+msgstr "Non de classe dal caratar no valit"
+
+#: lib/regcomp.c:150
+msgid "Trailing backslash"
+msgstr "Sbare contrarie finâl"
+
+#: lib/regcomp.c:153
+msgid "Invalid back reference"
+msgstr "Riferiment indaûr no valit"
+
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
+msgstr "[ o [^ cence corispondence"
+
+#: lib/regcomp.c:159
+msgid "Unmatched ( or \\("
+msgstr "( o \\( c vence corispondence"
+
+#: lib/regcomp.c:162
+msgid "Unmatched \\{"
+msgstr "\\{ cence corispondence"
+
+#: lib/regcomp.c:165
+msgid "Invalid content of \\{\\}"
+msgstr "Contignût di \\{\\} no valit"
+
+#: lib/regcomp.c:168
+msgid "Invalid range end"
+msgstr "Limit massim no valit"
+
+#: lib/regcomp.c:171
+msgid "Memory exhausted"
+msgstr "Memorie esauride"
+
+#: lib/regcomp.c:174
+msgid "Invalid preceding regular expression"
+msgstr "Espression regolâr precedente no valide"
+
+#: lib/regcomp.c:177
+msgid "Premature end of regular expression"
+msgstr "Fin premadure de espression regolâr"
+
+#: lib/regcomp.c:180
+msgid "Regular expression too big"
+msgstr "Espression regolâr masse grande"
+
+#: lib/regcomp.c:183
+msgid "Unmatched ) or \\)"
+msgstr ") o \\) cence corispondence"
+
+#: lib/regcomp.c:676
+msgid "No previous regular expression"
+msgstr "Nissune espression regolâr precedente"
+
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:150
+msgid "^[yY]"
+msgstr "^[sSyY]"
+
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:163
+msgid "^[nN]"
+msgstr "^[nN]"
+
+#: lib/version-etc.c:73
+#, c-format
+msgid "Packaged by %s (%s)\n"
+msgstr "Impachetât di %s (%s)\n"
+
+#: lib/version-etc.c:76
+#, c-format
+msgid "Packaged by %s\n"
+msgstr "Impachetât di %s\n"
+
+#. TRANSLATORS: Translate "(C)" to the copyright symbol
+#. (C-in-a-circle), if this symbol is available in the user's
+#. locale.  Otherwise, do not translate "(C)"; leave it as-is.
+#: lib/version-etc.c:83
+msgid "(C)"
+msgstr "©"
+
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"\n"
+"Licence GPLv3+: GNU GPL version 3 o sucessive <http://gnu.org/licenses/gpl."
+"html>.\n"
+"Chest al è software libar: si è libars di cambiâlu e tornâ a distribuîlu.\n"
+"No je NISSUNE GARANZIE, te misure consintude de leç.\n"
+"\n"
+
+#. TRANSLATORS: %s denotes an author name.
+#: lib/version-etc.c:105
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Scrit di %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#: lib/version-etc.c:109
+#, c-format
+msgid "Written by %s and %s.\n"
+msgstr "Scrit di %s e %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#: lib/version-etc.c:113
+#, c-format
+msgid "Written by %s, %s, and %s.\n"
+msgstr "Scrit di %s, %s e %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:120
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"and %s.\n"
+msgstr ""
+"Scrit di %s, %s, %s\n"
+"e %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:127
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, and %s.\n"
+msgstr ""
+"Scrit di %s, %s, %s,\n"
+"%s e %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:134
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, and %s.\n"
+msgstr ""
+"Scrit di %s, %s, %s,\n"
+"%s, %s e %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:142
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, and %s.\n"
+msgstr ""
+"Scrit di %s, %s, %s,\n"
+"%s, %s, %s e %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:150
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"and %s.\n"
+msgstr ""
+"Scrit di %s, %s, %s,\n"
+"%s, %s, %s, %s\n"
+"e %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:159
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, and %s.\n"
+msgstr ""
+"Scrit di %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s e %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:170
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s, and others.\n"
+msgstr ""
+"Scrit di %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s e altris.\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package.  Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
+msgstr ""
+"\n"
+"Segnale i erôrs a: %s\n"
+
+#: lib/version-etc.c:251
+#, c-format
+msgid "Report %s bugs to: %s\n"
+msgstr "Segnale i erôrs di %s a: %s\n"
+
+#: lib/version-etc.c:255 lib/version-etc.c:257
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Sît web di %s: <%s>\n"
+
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
+msgstr ""
+"Jutori gjenerâl par doprâ software GNU: <http://www.gnu.org/gethelp/>\n"
+
+#: lib/xalloc-die.c:34
+msgid "memory exhausted"
+msgstr "memorie esauride"
+
+#: lib/xstrtol-error.c:63
+#, c-format
+msgid "invalid %s%s argument '%s'"
+msgstr "l'argoment \\\"%3$s\\\" di %1$s%2$s nol è valit"
+
+#: lib/xstrtol-error.c:68
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "il sufìs  tal argomento \\\"%3$s\\\" di %1$s%2$s nol è valit"
+
+#: lib/xstrtol-error.c:72
+#, c-format
+msgid "%s%s argument '%s' too large"
+msgstr "l'argoment \\\"%3$s\\\" di %1$s%2$s al è masse grant"
+
+#: libparted/arch/beos.c:245
+msgid "Disk Image"
+msgstr "Imagjin disc"
+
+#: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
+#: libparted/arch/linux.c:1731
+#, c-format
+msgid "Error opening %s: %s"
+msgstr "Erôr tal vierzi %s: %s"
+
+#: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
+#: libparted/arch/linux.c:1742
+#, c-format
+msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
+msgstr ""
+"Impussibil vierzi %s in leture-scriture (%s).  %s al è stât viert in "
+"modalitât dome-leture."
+
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
+#, c-format
+msgid "%s during seek for read on %s"
+msgstr "%s dulinvie il plaçament pe leture su %s"
+
+#: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
+#, c-format
+msgid "%s during read on %s"
+msgstr "%s dulinvie la leture su %s"
+
+#: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
+#: libparted/arch/linux.c:2026
+#, c-format
+msgid "Can't write to %s, because it is opened read-only."
+msgstr "Impussibil scrivi su %s parcè che al è viert in modalitât dome-leture."
+
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
+#, c-format
+msgid "%s during seek for write on %s"
+msgstr "%s dulinvie il plaçament pe scriture su %s"
+
+#: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
+#, c-format
+msgid "%s during write on %s"
+msgstr "%s dulinvie la scriture su %s"
+
+#: partprobe/partprobe.c:148
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Prove \\\"%s --help\\\" par vê plui informazions.\n"
+
+#: partprobe/partprobe.c:152
+#, c-format
+msgid "Usage: %s [OPTION] [DEVICE]...\n"
+msgstr "Ûs: %s [OPZION] [DISPOSITÎF]...\n"
+
+#: partprobe/partprobe.c:153
+msgid ""
+"Inform the operating system about partition table changes.\n"
+"\n"
+"  -d, --dry-run    do not actually inform the operating system\n"
+"  -s, --summary    print a summary of contents\n"
+"  -h, --help       display this help and exit\n"
+"  -v, --version    output version information and exit\n"
+msgstr ""
+"Informe il sisteme operatîf su lis modifichis de tabele des partizions.\n"
+"\n"
+" -d, --dry-run    no sta informâ il sisteme operatîf\n"
+"  -s, --summary    stampe une sisntesi dai contignûts\n"
+"  -h, --help       mostre chest jutori e jes\n"
+"  -v, --version    stampe la version e jes\n"
+
+#: partprobe/partprobe.c:161
+msgid ""
+"\n"
+"When no DEVICE is given, probe all partitions.\n"
+msgstr ""
+"\n"
+"Cuant che nol ven furnît nissun DISPOSITÎF, al scandaie dutis lis "
+"partizions.\n"
+
+#: partprobe/partprobe.c:165
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Segnale i erôrs a <%s>.\n"
+
+#: libparted/arch/gnu.c:110
+#, c-format
+msgid "Unable to open %s."
+msgstr "Impussibil vierzi %s."
+
+#: libparted/arch/gnu.c:130
+msgid "Unable to probe store."
+msgstr "Impussibil scandaiâ il dispositîf di archiviazion."
+
+#: libparted/arch/gnu.c:368
+msgid ""
+"The partition table cannot be re-read.  This means you need to reboot before "
+"mounting any modified partitions.  You also need to reinstall your boot "
+"loader before you reboot (which may require mounting modified partitions).  "
+"It is impossible do both things!  So you'll need to boot off a rescue disk, "
+"and reinstall your boot loader from the rescue disk.  Read section 4 of the "
+"Parted User documentation for more information."
+msgstr ""
+"Impussibil tornâ a lei la tabele des partizions.  Chest al significhe che al "
+"covente tornâ a inviâ il sisteme prime di montâ cualsisei partizion "
+"modificade.  Tu varâs ancje di tornâ a instalâ il boot loader prime di tornâ "
+"a inviâ il sisteme (che al podarès vê bisugne di montâ lis partizions "
+"modificadis).  Al è impussibil fâ dutis dôs lis robis!  Duncje tu varâs di "
+"inviâ un disc di ripristinament e di lì tornâ a instalâ il boot loader.  Lei "
+"la sezion 4 de documentazion di Parted par vê plui informazions."
+
+#: libparted/arch/gnu.c:385
+#, c-format
+msgid ""
+"The partition table on %s cannot be re-read (%s).  This means the Hurd knows "
+"nothing about any modifications you made.  You should reboot your computer "
+"before doing anything with %s."
+msgstr ""
+"Impussibil tornâ a lei la tabele des partizions su %s (%s).  Chest al "
+"significhe che Hurd nol sa nuie su lis modifichis che tu âs fat.  Tu âs di "
+"tornâ a inviâ il computer prime di fâ alc cun %s."
+
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
+msgid ""
+"You should reinstall your boot loader before rebooting.  Read section 4 of "
+"the Parted User documentation for more information."
+msgstr ""
+"Tu âs di tornâ a instalâ il boot loader prime di tornâ a inviâ.  Lei la "
+"sezion 4 de documentazion di Parted par vê plui informazions."
+
+#: libparted/arch/gnu.c:788
+#, c-format
+msgid "%s trying to sync %s to disk"
+msgstr "%s tal tentatîf di sincronizâ %s sul disc"
+
+#: libparted/arch/linux.c:633
+#, c-format
+msgid "Could not stat device %s - %s."
+msgstr "Impussibil fâ il stat dal dispositîf %s - %s."
+
+#: libparted/arch/linux.c:690
+#, c-format
+msgid "Unable to determine the dm type of %s."
+msgstr "Impussibil determinâ il gjenar di dm di %s."
+
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
+#, c-format
+msgid ""
+"Could not determine sector size for %s: %s.\n"
+"Using the default sector size (%lld)."
+msgstr ""
+"Impussibil determinâ la dimension dal setôr par %s: %s.\n"
+"Si dopre la dimension di setôr predefinide (%lld)."
+
+#: libparted/arch/linux.c:795
+#, c-format
+msgid ""
+"Could not determine physical sector size for %s.\n"
+"Using the logical sector size (%lld)."
+msgstr ""
+"Impussibil determinâ la dimension dal setôr fisic par %s.\n"
+"Si dopre la dimension dal setôr logjic (%lld)."
+
+#: libparted/arch/linux.c:855
+#, c-format
+msgid "Unable to determine the size of %s (%s)."
+msgstr "Impussibil determinâ la dimension di %s (%s)."
+
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "IDE gjeneric"
+
+#: libparted/arch/linux.c:963
+#, c-format
+msgid "Could not get identity of device %s - %s"
+msgstr "Impussibil otignî la identitât dal dispositîf %s - %s"
+
+#: libparted/arch/linux.c:994
+#, c-format
+msgid ""
+"Device %s has multiple (%d) logical sectors per physical sector.\n"
+"GNU Parted supports this EXPERIMENTALLY for some special disk label/file "
+"system combinations, e.g. GPT and ext2/3.\n"
+"Please consult the web site for up-to-date information."
+msgstr ""
+"Il dispositîf %s al à multiplis (%d) setôrs logjics par ogni setôr fisic.\n"
+"Il supuart a cheste configurazion al è SPERIMENTÂL in GNU Parted e dome par "
+"cualchi cumbinazion di gjenars di etichetis/filesystem, p.e. GPT e ext2/3.\n"
+"Par vê informazions inzornadis, consultâ il sît web."
+
+#: libparted/arch/linux.c:1172
+#, c-format
+msgid "Error initialising SCSI device %s - %s"
+msgstr "Erôr tal inizializâ il dispositîf SCSI %s - %s"
+
+#: libparted/arch/linux.c:1236
+#, c-format
+msgid ""
+"The device %s is so small that it cannot possibly store a file system or "
+"partition table.  Perhaps you selected the wrong device?"
+msgstr ""
+"Il dispositîf %s al è cussì piçul che forsit nol pues contignî un file "
+"system o une tabele des partizions.  Isal stât selezionât il dispositîf "
+"sbaliât?"
+
+#: libparted/arch/linux.c:1349
+#, c-format
+msgid ""
+"Unable to determine geometry of file/device %s.  You should not use Parted "
+"unless you REALLY know what you're doing!"
+msgstr ""
+"Impussibil determinâ la gjeometrie dal file/dispositîf %s.  No si varès di "
+"doprâ Parted a mancul che no si savedi PARDABON ce che si sta fasint!"
+
+#: libparted/arch/linux.c:1410
+msgid "Generic SD/MMC Storage Card"
+msgstr "Schede di archiviazion SD/MMC gjeneriche"
+
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Gnûf dispositîf?"
+
+#: libparted/arch/linux.c:1483
+msgid "DAC960 RAID controller"
+msgstr "Controller DAC960 RAID"
+
+#: libparted/arch/linux.c:1488
+msgid "Promise SX8 SATA Device"
+msgstr "Dispositîf Promise SX8 SATA"
+
+#: libparted/arch/linux.c:1493
+msgid "ATA over Ethernet Device"
+msgstr "Dispositîf ATA over Ethernet"
+
+#: libparted/arch/linux.c:1499
+msgid "IBM S390 DASD drive"
+msgstr "Unitât IBM S390 DASD"
+
+#: libparted/arch/linux.c:1505
+msgid "IBM iSeries Virtual DASD"
+msgstr "IBM iSeries Virtual DASD"
+
+#: libparted/arch/linux.c:1510
+msgid "Compaq Smart Array"
+msgstr "Compaq Smart Array"
+
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
+msgid "ATARAID Controller"
+msgstr "Controller ATARAID"
+
+#: libparted/arch/linux.c:1530
+msgid "I2O Controller"
+msgstr "Controller I2O"
+
+#: libparted/arch/linux.c:1535
+msgid "User-Mode Linux UBD"
+msgstr "User-Mode UBD Linux Modalitât-Utent"
+
+#: libparted/arch/linux.c:1545
+msgid "Loopback device"
+msgstr "Dispositîf di loopback"
+
+#: libparted/arch/linux.c:1553
+#, c-format
+msgid "Linux device-mapper (%s)"
+msgstr "Device-mapper Linux (%s)"
+
+#: libparted/arch/linux.c:1564
+msgid "Xen Virtual Block Device"
+msgstr "Dispositîf a blocs Xen Virtual"
+
+#: libparted/arch/linux.c:1569
+msgid "Unknown"
+msgstr "No cognossût"
+
+#: libparted/arch/linux.c:1578
+msgid "Virtio Block Device"
+msgstr "Dispositîf a blocs Virtio"
+
+#: libparted/arch/linux.c:1583
+msgid "Linux Software RAID Array"
+msgstr "Array RAID Software Linux"
+
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
+msgid "ped_device_new()  Unsupported device type"
+msgstr "ped_device_new()  Gjenar di dispositîf no supuartât"
+
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
+#, c-format
+msgid "Error fsyncing/closing %s: %s"
+msgstr "Erôr tal fsync o tal sierâ %s: %s"
+
+#: libparted/arch/linux.c:1948
+#, c-format
+msgid "%0.0send of file while reading %s"
+msgstr "%0.0s fin dal file intant che si leieve %s"
+
+#: libparted/arch/linux.c:2687
+#, c-format
+msgid ""
+"Error informing the kernel about modifications to partition %s -- %s.  This "
+"means Linux won't know about any changes you made to %s until you reboot -- "
+"so you shouldn't mount it or use it in any way before rebooting."
+msgstr ""
+"Erôr tal informâ il kernel su lis modifichis ae partizion %s -- %s.  Chest "
+"al significhe che Linux nol savarà nuie su lis modifichis fatis a %s "
+"fintremai che no si torne a inviâ il sisteme -- duncje nol è il câs di "
+"montâlu o doprâlu in nissune maniere prime di ve tornât a inviâ il sisteme."
+
+#: libparted/arch/linux.c:2807
+#, c-format
+msgid "Unable to determine the start and length of %s."
+msgstr "Impussibil determinâ l'inizi e la lungjece di %s."
+
+#: libparted/arch/linux.c:3220
+#, c-format
+msgid ""
+"Partition(s) %s on %s have been written, but we have been unable to inform "
+"the kernel of the change, probably because it/they are in use.  As a result, "
+"the old partition(s) will remain in use.  You should reboot now before "
+"making further changes."
+msgstr ""
+"Lis partizions %s su %s a son stadis scritis, ma no ven podût informâ il "
+"kernel de modifiche, forsit parcè che a son in ûs.  Duncje a restin in vore "
+"lis vecjis partizions.  Tu varessis di tornâ a inviâ cumò prime di fâ "
+"ulteriôrs modifichis."
+
+#: libparted/cs/geom.c:163
+#, c-format
+msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
+msgstr ""
+"Impussibil vê la fin prime dal inizi! (setôr di inizi=%jd lungjece=%jd)"
+
+#: libparted/cs/geom.c:379
+#, c-format
+msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
+msgstr "Tentatîf di scrivi i setôrs %ld-%ld fûr de partizion su %s."
+
+#: libparted/cs/geom.c:419
+msgid "checking for bad blocks"
+msgstr "control dai blocs ruvinâts"
+
+#: libparted/debug.c:97
+#, c-format
+msgid "Backtrace has %d calls on stack:\n"
+msgstr "Backtrace al à %d clamadis sul stack:\n"
+
+#: libparted/debug.c:110
+#, c-format
+msgid "Assertion (%s) at %s:%d in function %s() failed."
+msgstr "La declarazion (%s) in %s:%d inte funzion %s() falide."
+
+#: libparted/disk.c:194
+#, c-format
+msgid "%s: unrecognised disk label"
+msgstr "%s: etichete dal disc no ricognossude"
+
+#: libparted/disk.c:487
+#, c-format
+msgid ""
+"This libparted doesn't have write support for %s.  Perhaps it was compiled "
+"read-only."
+msgstr ""
+"Chest libparted nol à il supuart pe scriture par %s.  Forsit al è stât "
+"compilât in dome-leture."
+
+#: libparted/disk.c:632
+#, c-format
+msgid "Partition %d is %s, but the file system is %s."
+msgstr "La partizion %d e je %s, ma il filesystem al è %s."
+
+#: libparted/disk.c:841
+msgid "cylinder_alignment"
+msgstr "cylinder_alignment"
+
+#: libparted/disk.c:843
+msgid "pmbr_boot"
+msgstr "pmbr_boot"
+
+#: libparted/disk.c:848
+#, c-format
+msgid "Unknown disk flag, %d."
+msgstr "Opzion/flag disc no cognossude, %d."
+
+#: libparted/disk.c:1289
+#, c-format
+msgid "%s disk labels do not support extended partitions."
+msgstr "Lis etichetis dai discs %s no supuartin partizions estesis."
+
+#: libparted/disk.c:1821
+#, c-format
+msgid "%s disk labels don't support logical or extended partitions."
+msgstr ""
+"Lis etichetis dai discs %s no supuartin lis partizions logjichis o estesis."
+
+#: libparted/disk.c:1834
+msgid "Too many primary partitions."
+msgstr "Masse partizions primariis."
+
+#: libparted/disk.c:1843
+#, c-format
+msgid ""
+"Can't add a logical partition to %s, because there is no extended partition."
+msgstr ""
+"Impussibil zontâ une partizion logjiche a %s, parcè che no je nissune "
+"partizion estese."
+
+#: libparted/disk.c:1867
+#, c-format
+msgid "Can't have more than one extended partition on %s."
+msgstr "No si pues vê plui di une partizion estese su %s."
+
+#: libparted/disk.c:1877
+msgid "Can't have logical partitions outside of the extended partition."
+msgstr "No si pues vê partizions logjichis fûr de partizion estese."
+
+#: libparted/disk.c:1902
+#, c-format
+msgid "Can't have a logical partition outside of the extended partition on %s."
+msgstr "No si pues vê une partizion logjiche fûr de partizion estese su %s."
+
+#: libparted/disk.c:1912
+msgid "Can't have a primary partition inside an extended partition."
+msgstr "No si pues vê une partizion primarie dentri di une partizion estese."
+
+#: libparted/disk.c:1921
+msgid "Can't have a partition outside the disk!"
+msgstr "No si pues vê une partizion fûr dal disc!"
+
+#: libparted/disk.c:1972 libparted/disk.c:2150
+msgid "Can't have overlapping partitions."
+msgstr "No si pues soreponi lis partizions."
+
+#: libparted/disk.c:2351
+msgid "metadata"
+msgstr "metadâts"
+
+#: libparted/disk.c:2353
+msgid "free"
+msgstr "libar"
+
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
+msgid "extended"
+msgstr "estese"
+
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
+msgid "logical"
+msgstr "logjiche"
+
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
+msgid "primary"
+msgstr "primarie"
+
+#: libparted/disk.c:2375
+msgid "boot"
+msgstr "inviament"
+
+#: libparted/disk.c:2377
+msgid "bios_grub"
+msgstr "bios_grub"
+
+#: libparted/disk.c:2379
+msgid "root"
+msgstr "root"
+
+#: libparted/disk.c:2381
+msgid "swap"
+msgstr "swap"
+
+#: libparted/disk.c:2383
+msgid "hidden"
+msgstr "platade"
+
+#: libparted/disk.c:2385
+msgid "raid"
+msgstr "raid"
+
+#: libparted/disk.c:2387
+msgid "lvm"
+msgstr "lvm"
+
+#: libparted/disk.c:2389
+msgid "lba"
+msgstr "lba"
+
+#: libparted/disk.c:2391
+msgid "hp-service"
+msgstr "hp-service"
+
+#: libparted/disk.c:2393
+msgid "palo"
+msgstr "palo"
+
+#: libparted/disk.c:2395
+msgid "prep"
+msgstr "prep"
+
+#: libparted/disk.c:2397
+msgid "msftres"
+msgstr "msftres"
+
+#: libparted/disk.c:2399
+msgid "msftdata"
+msgstr "msftdata"
+
+#: libparted/disk.c:2401
+msgid "atvrecv"
+msgstr "atvrecv"
+
+#: libparted/disk.c:2403
+msgid "diag"
+msgstr "diag"
+
+#: libparted/disk.c:2405
+msgid "legacy_boot"
+msgstr "legacy_boot"
+
+#: libparted/disk.c:2407
+msgid "irst"
+msgstr "irst"
+
+#: libparted/disk.c:2409
+msgid "esp"
+msgstr "esp"
+
+#: libparted/disk.c:2415
+#, c-format
+msgid "Unknown partition flag, %d."
+msgstr "Opzion/flag di partizion no cognossude, %d."
+
+#: libparted/exception.c:78
+msgid "Information"
+msgstr "Informazions"
+
+#: libparted/exception.c:79
+msgid "Warning"
+msgstr "Avertiment"
+
+#: libparted/exception.c:80
+msgid "Error"
+msgstr "Erôr"
+
+#: libparted/exception.c:81
+msgid "Fatal"
+msgstr "Fatâl"
+
+#: libparted/exception.c:82
+msgid "Bug"
+msgstr "Bug"
+
+#: libparted/exception.c:83
+msgid "No Implementation"
+msgstr "No implementât"
+
+#: libparted/exception.c:87
+msgid "Fix"
+msgstr "Comede"
+
+#: libparted/exception.c:88
+msgid "Yes"
+msgstr "Sì"
+
+#: libparted/exception.c:89
+msgid "No"
+msgstr "No"
+
+#: libparted/exception.c:90
+msgid "OK"
+msgstr "Va ben"
+
+#: libparted/exception.c:91
+msgid "Retry"
+msgstr "Torne prove"
+
+#: libparted/exception.c:92
+msgid "Ignore"
+msgstr "Ignore"
+
+#: libparted/exception.c:93
+msgid "Cancel"
+msgstr "Anule"
+
+#: libparted/exception.c:133
+#, c-format
+msgid ""
+"A bug has been detected in GNU Parted.  Refer to the web site of parted "
+"http://www.gnu.org/software/parted/parted.html for more information of what "
+"could be useful for bug submitting!  Please email a bug report to %s "
+"containing at least the version (%s) and the following message:  "
+msgstr ""
+"Al è stât cjatât un bug/erôr in GNU Parted.  Controle il sît web di parted "
+"http://www.gnu.org/software/parted/parted.html par vê plui informazions su "
+"ce che al podarès jessi util comunicâ te segnalazion dal erôr!  Mande une "
+"segnalazion di erôr vie e-mail a %s specificant almancul la version (%s) e "
+"il messaç chi sot:  "
+
+#: libparted/labels/aix.c:91
+msgid "Support for reading AIX disk labels is is not implemented yet."
+msgstr ""
+"Il supuart par lei lis etichetis dai discs AIX nol è stât ancjemò "
+"implementât."
+
+#: libparted/labels/aix.c:102
+msgid "Support for writing AIX disk labels is is not implemented yet."
+msgstr ""
+"Il supuart par scrivi lis etichetis dai discs AIX nol è stât ancjemò "
+"implementât."
+
+#: libparted/labels/aix.c:115
+msgid ""
+"Support for adding partitions to AIX disk labels is not implemented yet."
+msgstr ""
+"Il supuart par zontâ partizions aes etichetis dai discs AIX nol è stât "
+"ancjemò implementât."
+
+#: libparted/labels/aix.c:125
+msgid ""
+"Support for duplicating partitions in AIX disk labels is not implemented yet."
+msgstr ""
+"Il supuart par dopleâ partizions tes etichetis dai discs AIX nol è stât "
+"ancjemò implementât."
+
+#: libparted/labels/aix.c:143
+msgid ""
+"Support for setting system type of partitions in AIX disk labels is not "
+"implemented yet."
+msgstr ""
+"Il supuart par stabilî il gjenar di sisteme des partizions tes etichetis dai "
+"discs AIX nol è stât ancjemò implementât."
+
+#: libparted/labels/aix.c:153
+msgid "Support for setting flags in AIX disk labels is not implemented yet."
+msgstr ""
+"Il supuart par stabilî lis opzions/flags tes etichetis dai discs AIX nol è "
+"stât ancjemò implementât."
+
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted nol pues doprâ i file system HFS sui discs cun dimension di setôr che "
+"no je uguâl a %d byte."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
+msgid "Unable to satisfy all constraints on the partition."
+msgstr "Impussibil sodisfâ ducj i vincui su pe partizion."
+
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Impussibil assegnâ un numar di partizion."
+
+#: libparted/labels/bsd.c:592
+msgid "Unable to allocate a bsd disklabel slot."
+msgstr "Impussibil assegnâ un toc di spazi par une etichete bsd."
+
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
+msgid "Unable to allocate a dasd disklabel slot"
+msgstr "Impussibil assegnâ un toc di spazi par une etichete dasd"
+
+#: libparted/labels/dos.c:1003
+#, c-format
+msgid "Invalid partition table on %s -- wrong signature %x."
+msgstr "Tabele des partizions no valide su %s -- firme %x sbaliade."
+
+#: libparted/labels/dos.c:1031
+#, c-format
+msgid "Invalid partition table - recursive partition on %s."
+msgstr "Tabele des partizion no valide - partizion ricorsive su %s."
+
+#: libparted/labels/dos.c:1560
+msgid "Extended partitions cannot be hidden on msdos disk labels."
+msgstr ""
+"Lis partizions estesis no puedin jessi platadis su pes etichetis disc msdos."
+
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr ""
+"Lis partizions estesis no puedin jessi platadis su pes etichetis disc msdos."
+
+#: libparted/labels/dos.c:2258
+msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
+msgstr ""
+"Parted nol pues ridimensionâ lis partizions gjestidis di Windows Dynamic "
+"Disk."
+
+#: libparted/labels/dos.c:2514
+msgid "cannot create any more partitions"
+msgstr "impussibil creâ ancjemò partizions"
+
+#: libparted/labels/dvh.c:183
+#, c-format
+msgid "%s has no extended partition (volume header partition)."
+msgstr "%s nol à partizions estesis (volume header partition)."
+
+#: libparted/labels/dvh.c:309
+msgid "Checksum is wrong, indicating the partition table is corrupt."
+msgstr ""
+"Sume di control (checksum) sbaliade, la tabele des partizions e je ruvinade."
+
+#: libparted/labels/dvh.c:614
+msgid "Only primary partitions can be root partitions."
+msgstr "Dome lis partizions primariis a puedin jessi partizions di root."
+
+#: libparted/labels/dvh.c:628
+msgid "Only primary partitions can be swap partitions."
+msgstr "Dome lis partizions primariis a puedin jessi partizions di swap."
+
+#: libparted/labels/dvh.c:642
+msgid "Only logical partitions can be a boot file."
+msgstr ""
+"Dome lis partizions logjichis a puedin jessi un file di inviament/boot."
+
+#: libparted/labels/dvh.c:719
+#, c-format
+msgid ""
+"failed to set dvh partition name to %s:\n"
+"Only logical partitions (boot files) have a name."
+msgstr ""
+"no si è rivâts a stabilî il non de partizion dvh a %s:\n"
+"Dome lis partizions logjichis (file di boot) a àn un non."
+
+#: libparted/labels/dvh.c:812
+msgid "Too many primary partitions"
+msgstr "Masse partizions primariis"
+
+#: libparted/labels/fdasd.c:136
+msgid "open error"
+msgstr "erôr di “open”"
+
+#: libparted/labels/fdasd.c:139
+msgid "seek error"
+msgstr "erôr di “seek”"
+
+#: libparted/labels/fdasd.c:142
+msgid "read error"
+msgstr "erôr di “read”"
+
+#: libparted/labels/fdasd.c:148
+msgid "ioctl() error"
+msgstr "erôr di “ioctl()”"
+
+#: libparted/labels/fdasd.c:152
+msgid "API version mismatch"
+msgstr "Corispondence version API sbaliade"
+
+#: libparted/labels/fdasd.c:156
+msgid "Unsupported disk type"
+msgstr "Gjenar di disc no supuartât"
+
+#: libparted/labels/fdasd.c:160
+msgid "Unsupported disk format"
+msgstr "Formât disc no supuartât"
+
+#: libparted/labels/fdasd.c:164
+msgid "Disk is in use"
+msgstr "Disc in ûs"
+
+#: libparted/labels/fdasd.c:168
+msgid "Syntax error in config file"
+msgstr "Erôr di sintassi tal file di configurazion"
+
+#: libparted/labels/fdasd.c:172
+msgid "Volume label is corrupted"
+msgstr "La etichete dal volum e je ruvinade"
+
+#: libparted/labels/fdasd.c:176
+msgid "A data set name is corrupted"
+msgstr "Il non di un “data set” al è ruvinât"
+
+#: libparted/labels/fdasd.c:180
+msgid "Memory allocation failed"
+msgstr "Assegnazion memorie falide"
+
+#: libparted/labels/fdasd.c:184
+msgid "Device verification failed"
+msgstr "Verifiche dispositîf falide"
+
+#: libparted/labels/fdasd.c:185
+msgid "The specified device is not a valid DASD device"
+msgstr "Il dispositîf specificât nol è un dispositîf DASD valit"
+
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
+msgid "Fatal error"
+msgstr "Erôr fatâl"
+
+#: libparted/labels/fdasd.c:243
+msgid "No room for volume label."
+msgstr "Spazi insuficient pe etichete dal volum."
+
+#: libparted/labels/fdasd.c:251
+msgid "No room for partition info."
+msgstr "Spazi insuficient pes informazions su la partizion."
+
+#: libparted/labels/fdasd.c:828
+msgid "Invalid VTOC."
+msgstr "VTOC no valit."
+
+#: libparted/labels/fdasd.c:912
+msgid "Could not retrieve API version."
+msgstr "Impussibil recuperâ la version des API."
+
+#: libparted/labels/fdasd.c:915
+#, c-format
+msgid ""
+"The current API version '%d' doesn't match dasd driver API version '%d'!"
+msgstr ""
+"La version '%d' atuâl des API no corispuint ae version '%d' des API dal "
+"driver dasd!"
+
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Impussibil recuperâ lis informazions sul disc."
+
+#: libparted/labels/fdasd.c:1029
+msgid "Could not retrieve disk geometry information."
+msgstr "Impussibil recuperâ lis informazions su la gjeometrie dal disc."
+
+#: libparted/labels/fdasd.c:1035
+msgid "Could not retrieve blocksize information."
+msgstr "Impussibil recuperâ lis informazions su la dimension dal bloc."
+
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
+
+#: libparted/labels/gpt.c:531
+msgid "device is too small for GPT"
+msgstr "il dispositîf al è masse piçul par GPT"
+
+#: libparted/labels/gpt.c:733
+#, c-format
+msgid ""
+"The format of the GPT partition table is version %x, which is newer than "
+"what Parted can recognise.  Please report this!"
+msgstr ""
+"Il formât ae tabele des partizions GPT al è ae version %x, che al è plui "
+"gnûf di chel che al ricognòs Parted.  Segnale chest probleme!"
+
+#: libparted/labels/gpt.c:769
+#, c-format
+msgid ""
+"Not all of the space available to %s appears to be used, you can fix the GPT "
+"to use all of the space (an extra %llu blocks) or continue with the current "
+"setting? "
+msgstr ""
+"Al semee che no dut il spazi disponibil in %s al sedi doprât. Justâ GPT par "
+"fa un mût che al dopri dut il spazi (altris %llu blocs) o continuâ cun lis "
+"impostazions atuâls? "
+
+#: libparted/labels/gpt.c:1008
+msgid ""
+"The backup GPT table is not at the end of the disk, as it should be.  Fix, "
+"by moving the backup to the end (and removing the old backup)?"
+msgstr ""
+"La copie di backup de tabele GPT no je ae fin dal disc, come che al varès di "
+"jessi.  Comedâ, spostant la copie di backup ae fin (e gjavant chê viele)?"
+
+#: libparted/labels/gpt.c:1026
+msgid ""
+"Both the primary and backup GPT tables are corrupt.  Try making a fresh "
+"table, and using Parted's rescue feature to recover partitions."
+msgstr ""
+"Dutis dôs lis tabelis GPT, chê p rimarie e chê di backup, a son ruvinadis.  "
+"Prove a creâ une gnove tabele, e dopre la funzionalitât di ripristinament "
+"partizions di Parted."
+
+#: libparted/labels/gpt.c:1037
+msgid ""
+"The backup GPT table is corrupt, but the primary appears OK, so that will be "
+"used."
+msgstr ""
+"La tabele GPT di backup e je ruvinade, ma chê primarie e semee a puest, "
+"duncje si doprarà chê."
+
+#: libparted/labels/gpt.c:1049
+msgid ""
+"The primary GPT table is corrupt, but the backup appears OK, so that will be "
+"used."
+msgstr ""
+"La tabele GPT primarie e je ruvinade, ma chê di backup e semee a puest, "
+"duncje si doprarà chê."
+
+#: libparted/labels/gpt.c:1073
+msgid "primary partition table array CRC mismatch"
+msgstr "il CRC dal array de tabele des partizions primarie nol corispuint"
+
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
+msgid "failed to translate partition name"
+msgstr "no si è rivâts a tradusi il non de partizion"
+
+#: libparted/labels/mac.c:185
+#, c-format
+msgid "Invalid signature %x for Mac disk labels."
+msgstr "Firme %x no valide pes etichetis dai discs Mac."
+
+#: libparted/labels/mac.c:232
+msgid "Partition map has no partition map entry!"
+msgstr "La mape des partizions no à elements!"
+
+#: libparted/labels/mac.c:280
+#, c-format
+msgid "%s is too small for a Mac disk label!"
+msgstr "%s al è masse piçul par une etichete di disc Mac!"
+
+#: libparted/labels/mac.c:507
+#, c-format
+msgid "Partition %d has an invalid signature %x."
+msgstr "La partizion %d e à une firme no valide %x."
+
+#: libparted/labels/mac.c:524
+#, c-format
+msgid "Partition %d has an invalid length of 0 bytes!"
+msgstr "La partizion %d e à une lungjece no valide di 0 bytes!"
+
+#: libparted/labels/mac.c:555
+msgid "The data region doesn't start at the start of the partition."
+msgstr "La regjon dai dâts no scomence al inizi de partizion."
+
+#: libparted/labels/mac.c:572
+msgid "The boot region doesn't start at the start of the partition."
+msgstr "La regjon di inviament/boot no scomence al inizi de partizion."
+
+#: libparted/labels/mac.c:586
+msgid "The partition's boot region doesn't occupy the entire partition."
+msgstr ""
+"La regjon di inviament/boot de partizion no ocupe la partizion interie."
+
+#: libparted/labels/mac.c:597
+msgid "The partition's data region doesn't occupy the entire partition."
+msgstr "La regjon dai dâts de partizion no ocupe la partizion interie."
+
+#: libparted/labels/mac.c:649
+#, c-format
+msgid ""
+"Weird block size on device descriptor: %d bytes is not divisible by 512."
+msgstr ""
+"Dimension dal bloc inusuâl sul descritôr dal dispositîf: %d byte nol è "
+"divisibil par 512."
+
+#: libparted/labels/mac.c:662
+#, c-format
+msgid ""
+"The driver descriptor says the physical block size is %d bytes, but Linux "
+"says it is %d bytes."
+msgstr ""
+"Il descritôr dal driver al dîs che la dimension dal bloc fisic e je di %d "
+"byte, ma Linux al dîs che e je di %d byte."
+
+#: libparted/labels/mac.c:715
+msgid "No valid partition map found."
+msgstr "No je stade cjatade nissune mape des partizions valide."
+
+#: libparted/labels/mac.c:789
+#, c-format
+msgid ""
+"Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
+"says it is %d!"
+msgstr ""
+"Dimensions dai elements de mape des partizions in conflit!  Il prin element "
+"al dîs di jessi %d, ma l'element %d al dîs di jessi %d!"
+
+#: libparted/labels/mac.c:820
+msgid "Weird!  There are 2 partitions map entries!"
+msgstr "Inusuâl!  A esistin 2 mapis des partizions!"
+
+#: libparted/labels/mac.c:1359
+msgid ""
+"Changing the name of a root or swap partition will prevent Linux from "
+"recognising it as such."
+msgstr ""
+"Cambiant il non di une partizion di root o di swap nol permetarà a Linux di "
+"ricognossile par ce che e je."
+
+#: libparted/labels/mac.c:1458
+msgid "Can't add another partition -- the partition map is too small!"
+msgstr ""
+"Impussibil zontâ une altre partizion -- la mape des partizions e je masse "
+"piçule!"
+
+#: libparted/labels/pc98.c:284
+#, c-format
+msgid "Invalid partition table on %s."
+msgstr "Tabele des partizions no valide su %s."
+
+#: libparted/labels/pc98.c:337 libparted/labels/pc98.c:415
+#, c-format
+msgid ""
+"Partition %d isn't aligned to cylinder boundaries.  This is still "
+"unsupported."
+msgstr ""
+"La partizion %d no je inlineade cui margjins dal cilindri.  Funzionalitât "
+"ancjemò no supuartade."
+
+#: libparted/labels/pc98.c:733
+msgid "Can't add another partition."
+msgstr "Impussibil zontâ une altre partizion."
+
+#: libparted/labels/pt-tools.c:134
+#, c-format
+msgid ""
+"partition length of %jd sectors exceeds the %s-partition-table-imposed "
+"maximum of %jd"
+msgstr ""
+"la lungjece de partizion di %jd setôrs e va fûr di chê massime, comandade de "
+"tabele des partizions di %s, di %jd"
+
+#: libparted/labels/pt-tools.c:147
+#, c-format
+msgid ""
+"starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
+"of %jd"
+msgstr ""
+"il numar di setôrs iniziâi %jd al va fûr di chel massim, comandât de tabele "
+"des partizions di %s, di %jd"
+
+#: libparted/labels/rdb.c:170
+#, c-format
+msgid "%s : Bad checksum on block %llu of type %s."
+msgstr "%s : sume di control (checksum) sbaliât sul bloc %llu di gjenar %s."
+
+#: libparted/labels/rdb.c:486
+#, c-format
+msgid "%s : Didn't find rdb block, should never happen."
+msgstr "%s : nol è stât cjatât il bloc rdb, nol varès di sucedi mai."
+
+#: libparted/labels/rdb.c:575
+#, c-format
+msgid "%s : Loop detected at block %d."
+msgstr "%s : cjatât cicli al bloc %d."
+
+#: libparted/labels/rdb.c:594
+#, c-format
+msgid "%s : The %s list seems bad at block %s."
+msgstr "%s : la liste %s e semee sbaliade al bloc %s."
+
+#: libparted/labels/rdb.c:693
+#, c-format
+msgid "%s : Failed to list bad blocks."
+msgstr "%s : no si è rivâts a listâ i blocs ruvinâts."
+
+#: libparted/labels/rdb.c:701
+#, c-format
+msgid "%s : Failed to list partition blocks."
+msgstr "%s : no si è rivâts a listâ i blocs de partizion."
+
+#: libparted/labels/rdb.c:709
+#, c-format
+msgid "%s : Failed to list file system blocks."
+msgstr "%s : no si è rivâts a listâ i blocs dal file system."
+
+#: libparted/labels/rdb.c:717
+#, c-format
+msgid "%s : Failed to list boot blocks."
+msgstr "%s : no si è rivâts a listâ i blocs di inviament/boot."
+
+#: libparted/labels/rdb.c:744
+#, c-format
+msgid "Failed to write partition block at %d."
+msgstr "No si è rivâts a scrivi il bloc de partizions ae posizion %d."
+
+#: libparted/labels/sun.c:162
+msgid "Corrupted Sun disk label detected."
+msgstr "Rilevade etichete Sun ruvinade."
+
+#: libparted/labels/sun.c:277
+#, c-format
+msgid ""
+"The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
+"match the geometry stored on the disk label (%d,%d,%d)."
+msgstr ""
+"La gjeometrie CHS dal disc (%d,%d,%d) riferide dal sisteme operatîf no "
+"corispuint ae gjeometrie archiviade su pe etichete dal disc (%d,%d,%d)."
+
+#: libparted/labels/sun.c:299
+#, c-format
+msgid "The disk label describes a disk bigger than %s."
+msgstr "La etichete dal disc e descrîf un disc plui grant di %s."
+
+#: libparted/labels/sun.c:474
+#, c-format
+msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
+msgstr ""
+"Il disc al à %d cilindris, che al è un valôr plui grant dal massim di 65536."
+
+#: libparted/labels/sun.c:813
+msgid ""
+"The Whole Disk partition is the only available one left.  Generally, it is "
+"not a good idea to overwrite this partition with a real one.  Solaris may "
+"not be able to boot without it, and SILO (the sparc boot loader) appreciates "
+"it as well."
+msgstr ""
+"La partizion “Whole Disk” e je la uniche restade.  Di solit no je une buine "
+"idee sorescrivi cheste partizions cuntune reâl.  Solaris al podarès no rivâ "
+"plui a inviâsi cence di chê e ancje SILO (il boot loader di sparc) le dopre."
+
+#: libparted/labels/sun.c:828
+msgid "Sun disk label is full."
+msgstr "La etichete dal disc Sun e je plene."
+
+#: libparted/labels/vtoc.c:164
+msgid "opening of device failed"
+msgstr "no si è rivâts a vierzi il dispositîf"
+
+#: libparted/labels/vtoc.c:168
+msgid "seeking on device failed"
+msgstr "no si è rivâts a posizionâsi sul dispositîf"
+
+#: libparted/labels/vtoc.c:172
+msgid "writing to device failed"
+msgstr "no si è rivâts a scrivi sul dispositîf"
+
+#: libparted/labels/vtoc.c:176
+msgid "reading from device failed"
+msgstr "no si è rivâts a lei dal dispositîf"
+
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
+msgid "Could not read volume label."
+msgstr "Impussibil lei la etichete dal volum."
+
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
+msgid "Could not write volume label."
+msgstr "Impussibil scrivi la etichete dal volum."
+
+#: libparted/labels/vtoc.c:537
+msgid "Could not read VTOC labels."
+msgstr "Impussibil lei lis etichetis VTOC."
+
+#: libparted/labels/vtoc.c:543
+msgid "Could not read VTOC FMT1 DSCB."
+msgstr "Impussibil lei VTOC FMT1 DSCB."
+
+#: libparted/labels/vtoc.c:550
+msgid "Could not read VTOC FMT4 DSCB."
+msgstr "Impussibil lei VTOC FMT4 DSCB."
+
+#: libparted/labels/vtoc.c:557
+msgid "Could not read VTOC FMT5 DSCB."
+msgstr "Impussibil lei VTOC FMT5 DSCB."
+
+#: libparted/labels/vtoc.c:564
+msgid "Could not read VTOC FMT7 DSCB."
+msgstr "Impussibil lei VTOC FMT7 DSCB."
+
+#: libparted/labels/vtoc.c:585
+msgid "Could not write VTOC labels."
+msgstr "Impussibil scrivi lis etichetis VTOC."
+
+#: libparted/labels/vtoc.c:591
+msgid "Could not write VTOC FMT1 DSCB."
+msgstr "Impussibil scrivi VTOC FMT1 DSCB."
+
+#: libparted/labels/vtoc.c:598
+msgid "Could not write VTOC FMT4 DSCB."
+msgstr "Impussibil scrivi VTOC FMT4 DSCB."
+
+#: libparted/labels/vtoc.c:605
+msgid "Could not write VTOC FMT5 DSCB."
+msgstr "Impussibil scrivi VTOC FMT5 DSCB."
+
+#: libparted/labels/vtoc.c:612
+msgid "Could not write VTOC FMT7 DSCB."
+msgstr "Impussibil scrivi VTOC FMT7 DSCB."
+
+#: libparted/labels/vtoc.c:622
+msgid "Could not write VTOC FMT9 DSCB."
+msgstr "Impussibil scrivi VTOC FMT9 DSCB."
+
+#: libparted/libparted.c:242
+msgid "Out of memory."
+msgstr "Memorie insuficiente."
+
+#: libparted/unit.c:139
+msgid "Cannot get unit size for special unit 'COMPACT'."
+msgstr "Impussibil otignî la dimension de unitât pe unitât speciâl 'COMPACT'."
+
+#: libparted/unit.c:385
+#, c-format
+msgid "\"%s\" has invalid syntax for locations."
+msgstr "\"%s\" nol à une sintassi valide pes posizions."
+
+#: libparted/unit.c:393
+#, c-format
+msgid "The maximum head value is %d."
+msgstr "Il massim valôr pe testine al è %d."
+
+#: libparted/unit.c:400
+#, c-format
+msgid "The maximum sector value is %d."
+msgstr "Il massim valôr pal setôr al è %d."
+
+#: libparted/unit.c:412 libparted/unit.c:564
+#, c-format
+msgid "The location %s is outside of the device %s."
+msgstr "La posizion %s e je fûr dal dispositîf %s."
+
+#: libparted/unit.c:526
+msgid "Invalid number."
+msgstr "Numar no valit."
+
+#: libparted/unit.c:532
+msgid "Use a smaller unit instead of a value < 1"
+msgstr "Doprâ une unitât plui piçule invezit che un valôr < 1"
+
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
+#, c-format
+msgid "%s : Failed to allocate partition block\n"
+msgstr "%s : No si è rivâts a assegnâ il bloc de partizion\n"
+
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
+#, c-format
+msgid "%s : Failed to allocate block\n"
+msgstr "%s : No si è rivâts a assegnâ il bloc\n"
+
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
+#, c-format
+msgid "%s : Couldn't read boot block %llu\n"
+msgstr "%s : Impussibil lei il bloc di inviament/boot %llu\n"
+
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
+#, c-format
+msgid "%s : Couldn't read root block %llu\n"
+msgstr "%s : Impussibil lei il bloc di root %llu\n"
+
+#: libparted/fs/amiga/amiga.c:72
+#, c-format
+msgid "%s : Failed to allocate id list element\n"
+msgstr "%s : No si è rivâts a assegnâ l'element de liste dai id\n"
+
+#: libparted/fs/amiga/amiga.c:189
+#, c-format
+msgid "%s : Couldn't read block %llu\n"
+msgstr "%s : Impussibil lei il bloc %llu\n"
+
+#: libparted/fs/amiga/amiga.c:202
+#, c-format
+msgid "%s : Bad checksum on block %llu of type %s\n"
+msgstr "%s : sume di control sbaliade sul bloc %llu di gjenar %s\n"
+
+#: libparted/fs/amiga/amiga.c:212
+#, c-format
+msgid "%s : Couldn't write block %d\n"
+msgstr "%s : Impussibil scrivi il bloc %d\n"
+
+#: libparted/fs/amiga/amiga.c:278
+#, c-format
+msgid "%s : Failed to allocate disk_specific rdb block\n"
+msgstr "%s : no si è rivâts a assegnâ il bloc rdb disk_specific\n"
+
+#: libparted/fs/amiga/amiga.c:289
+#, c-format
+msgid "%s : Didn't find rdb block, should never happen\n"
+msgstr "%s : nol è stât cjatât il bloc rdb, nol varès di sucedi mai\n"
+
+#: libparted/fs/amiga/amiga.c:318
+#, c-format
+msgid "%s : Failed to read partition block %llu\n"
+msgstr "%s : no si è rivâts a lei il bloc %llu de partizion\n"
+
+#: libparted/fs/fat/fat.c:148 libparted/fs/r/fat/fat.c:811
+msgid ""
+"GNU Parted was miscompiled: the FAT boot sector should be 512 bytes.  FAT "
+"support will be disabled."
+msgstr ""
+"GNU Parted nol è stât compilât ben: il setôr di inviament (boot) FAT al "
+"varès di jessi di 512 byte.  Il supuart a FAT al vignarà disabilitât."
+
+#: libparted/fs/fat/bootsector.c:50 libparted/fs/r/fat/bootsector.c:49
+msgid "File system has an invalid signature for a FAT file system."
+msgstr "Il file system nol à une firme valide par jessi un file system FAT."
+
+#: libparted/fs/fat/bootsector.c:58 libparted/fs/r/fat/bootsector.c:57
+msgid "File system has an invalid sector size for a FAT file system."
+msgstr ""
+"Il file system nol à une dimension di setôr valide par jessi un file system "
+"FAT."
+
+#: libparted/fs/fat/bootsector.c:65 libparted/fs/r/fat/bootsector.c:64
+msgid "File system has an invalid cluster size for a FAT file system."
+msgstr ""
+"Il file system nol à une dimension di cluster valide par jessi un file "
+"system FAT."
+
+#: libparted/fs/fat/bootsector.c:72 libparted/fs/r/fat/bootsector.c:71
+msgid ""
+"File system has an invalid number of reserved sectors for a FAT file system."
+msgstr ""
+"Il file system nol à un numar di setôrs riservâts valit par jessi un file "
+"system FAT."
+
+#: libparted/fs/fat/bootsector.c:79 libparted/fs/r/fat/bootsector.c:78
+msgid "File system has an invalid number of FATs."
+msgstr "Il file system nol à un numar di FAT valit."
+
+#: libparted/fs/fat/bootsector.c:162
+#, c-format
+msgid ""
+"The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
+"partition table's CHS geometry is (%d, %d, %d)."
+msgstr ""
+"La gjeometrie CHS dal file system e je (%d, %d, %d) e chê no je valide.  La "
+"gjeometrie CHS de tabele des partizions e je (%d, %d, %d)."
+
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
+msgid "FAT boot sector says logical sector size is 0.  This is weird. "
+msgstr ""
+"Il setôr di inviament/boot di FAT al dîs che la dimension dal setôr logjic "
+"al è 0.  Situazion inusuâl. "
+
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
+msgid "FAT boot sector says there are no FAT tables.  This is weird. "
+msgstr ""
+"Il setôr di inviament/boot di FAT al dîs che no'ndi son di tabelis FAT.  "
+"Situazion inusuâl. "
+
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
+msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
+msgstr ""
+"Il setôr di inviament/boot di FAT al dîs che i cluster a son fats di 0 "
+"setôrs.  Situazion inusuâl. "
+
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
+msgid "File system is FAT12, which is unsupported."
+msgstr "Il file system al è FAT12, che nol è supuartât."
+
+#: libparted/fs/linux_swap/linux_swap.c:231
+#, c-format
+msgid "Unrecognised old style linux swap signature '%10s'."
+msgstr ""
+"Firme de partizion di vecje maniere dal swap di linux no ricognossude: "
+"'%10s'."
+
+#: libparted/fs/linux_swap/linux_swap.c:269
+#, c-format
+msgid "Unrecognised new style linux swap signature '%10s'."
+msgstr ""
+"Firme de partizion di gnove maniere dal swap di linux no ricognossude: "
+"'%10s'."
+
+#: libparted/fs/linux_swap/linux_swap.c:309
+#, c-format
+msgid "Unrecognised swsusp linux swap signature '%9s'."
+msgstr "Firme de partizion swap di linux swsusp no ricognossude: '%9s'."
+
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
+#, c-format
+msgid ""
+"Parted can't use HFS file systems on disks with a sector size not equal to "
+"%d bytes."
+msgstr ""
+"Parted nol pues doprâ i file system HFS sui discs cun dimension di setôr che "
+"no je uguâl a %d byte."
+
+#: libparted/fs/r/fat/bootsector.c:145
+#, c-format
+msgid ""
+"The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
+"partition table's CHS geometry is (%d, %d, %d).  If you select Ignore, the "
+"file system's CHS geometry will be left unchanged.  If you select Fix, the "
+"file system's CHS geometry will be set to match the partition table's CHS "
+"geometry."
+msgstr ""
+"La gjeometrie CHS dal file system e je (%d, %d, %d), che no je valide.  La "
+"gjeometrie CHS de tabele des partizions e je (%d, %d, %d).  Se si selezione "
+"Ignore, la gjeometrie CHS dal file system e vignarà lassade cussì.  Se si "
+"selezione Comede, la gjeometrie CHS dal file system e vignarà stabilide in "
+"mût che e corispuindi ae gjeometrie CHS de tabele des partizions."
+
+#: libparted/fs/r/fat/bootsector.c:399
+#, c-format
+msgid ""
+"The information sector has the wrong signature (%x).  Select cancel for now, "
+"and send in a bug report.  If you're desperate, it's probably safe to ignore."
+msgstr ""
+"Il setôr di informazions al à la firme sbaliade (%x).  Selezione anule par "
+"cumò, e invie une segnalazion di erôr.  Se tu stâs tribulant, alore forsit "
+"al è pussibil ignorâ l'erôr."
+
+#: libparted/fs/r/fat/calc.c:134
+#, c-format
+msgid ""
+"You need %s of free disk space to shrink this partition to this size.  "
+"Currently, only %s is free."
+msgstr ""
+"A coventin %s di spazi libar sul disc par scurtâ la partizion a cheste "
+"dimension.  Pal moment a son libars dome %s."
+
+#: libparted/fs/r/fat/context.c:56
+#, c-format
+msgid ""
+"Cluster start delta = %d, which is not a multiple of the cluster size %d."
+msgstr ""
+"Il spostament dal prin bloc dal cluster al è di %d e nol è un multipli de "
+"dimension dal cluster %d."
+
+#: libparted/fs/r/fat/count.c:144
+#, c-format
+msgid "Bad directory entry for %s: first cluster is the end of file marker."
+msgstr ""
+"Element di directory sbaliât par %s: il prin cluster al è ae fin dal "
+"marcadôr di file."
+
+#: libparted/fs/r/fat/count.c:157
+#, c-format
+msgid ""
+"Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
+msgstr ""
+"FAT sbaliade: la cjadene par %s no je finide.  Tu varessis di eseguî dosfsck "
+"o scandisk."
+
+#: libparted/fs/r/fat/count.c:166
+#, c-format
+msgid ""
+"Bad FAT: cluster %d outside file system in chain for %s.  You should run "
+"dosfsck or scandisk."
+msgstr ""
+"FAT sbaliade: il cluster %d doprât te cjadene par %s al è fûr dal file "
+"system.  Si varès di eseguî dosfsck o scandisk."
+
+#: libparted/fs/r/fat/count.c:176
+#, c-format
+msgid ""
+"Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
+"scandisk."
+msgstr ""
+"FAT sbaliade: cluster %d cun colegaments incrosâts par %s.  Si varès di "
+"eseguî dosfsck o scandisk."
+
+#: libparted/fs/r/fat/count.c:195
+#, c-format
+msgid "%s is %dk, but it has %d clusters (%dk)."
+msgstr "%s al è di %dk, ma al à %d cluster (%dk)."
+
+#: libparted/fs/r/fat/count.c:258
+#, c-format
+msgid ""
+"The file %s is marked as a system file.  This means moving it could cause "
+"some programs to stop working."
+msgstr ""
+"Il file %s al è segnât come file di sisteme.  Chest al significhe che "
+"spostantlu cualchi program al podarès blocâsi."
+
+#: libparted/fs/r/fat/fat.c:243
+#, c-format
+msgid "Partition too big/small for a %s file system."
+msgstr "Partizion masse grande/piçule par un file system %s."
+
+#: libparted/fs/r/fat/fat.c:409
+msgid ""
+"The FATs don't match.  If you don't know what this means, then select "
+"cancel, run scandisk on the file system, and then come back."
+msgstr ""
+"Lis FAT no corispuindin.  Se no si sa ce che al significhe, selezione anule, "
+"eseguî scandisk sul file system e daspò tornâ achì."
+
+#: libparted/fs/r/fat/fat.c:449
+msgid "There are no possible configurations for this FAT type."
+msgstr "No'ndi son configurazions pussibilis par chest gjenar di FAT."
+
+#: libparted/fs/r/fat/fat.c:461
+#, c-format
+msgid ""
+"File system doesn't have expected sizes for Windows to like it.  Cluster "
+"size is %dk (%dk expected); number of clusters is %d (%d expected); size of "
+"FATs is %d sectors (%d expected)."
+msgstr ""
+"Il file system nol à parametris compatibii cun Windows.  La dimension dal "
+"cluster e je di %dk (si spietave %dk); il numar di cluster al è %d (si "
+"spietave %d); la dimensions des FAT e je di %d setôrs (si spietave %d)."
+
+#: libparted/fs/r/fat/fat.c:484
+#, c-format
+msgid ""
+"File system is reporting the free space as %d clusters, not %d clusters."
+msgstr ""
+"Il file system al riferìs che il spazi libar al è di %d cluster invezit che "
+"%d cluster."
+
+#: libparted/fs/r/fat/resize.c:158
+msgid ""
+"There's not enough room in the root directory for all of the files.  Either "
+"cancel, or ignore to lose the files."
+msgstr ""
+"Nol è vonde spazi inte cartele root par ducj i file.  Anule o ignore par "
+"pierdi i file."
+
+#: libparted/fs/r/fat/resize.c:302
+msgid "Error writing to the root directory."
+msgstr "Erôr tal scrivi la cartele root."
+
+#: libparted/fs/r/fat/resize.c:495
+msgid "If you leave your file system as FAT16, then you will have no problems."
+msgstr "Se si lasse il file system come FAT16 no si varà nissun probleme."
+
+#: libparted/fs/r/fat/resize.c:498
+msgid ""
+"If you convert to FAT16, and MS Windows is installed on this partition, then "
+"you must re-install the MS Windows boot loader.  If you want to do this, you "
+"should consult the Parted manual (or your distribution's manual)."
+msgstr ""
+"Se si convertìs a FAT16 e MS Windows al è instalât in cheste partizion, si "
+"varà i tornâ a instalâ il boot loader di MS Windows.  Se si desidere fâ "
+"cussì, al sarès di consultâ il manuâl di Parted (o il manuâl de "
+"distribuzion)."
+
+#: libparted/fs/r/fat/resize.c:506
+msgid ""
+"If you leave your file system as FAT32, then you will not introduce any new "
+"problems."
+msgstr ""
+"Se si lasse il file system come FAT32 no si crearà nissun gnûf probleme."
+
+#: libparted/fs/r/fat/resize.c:510
+msgid ""
+"If you convert to FAT32, and MS Windows is installed on this partition, then "
+"you must re-install the MS Windows boot loader.  If you want to do this, you "
+"should consult the Parted manual (or your distribution's manual).  Also, "
+"converting to FAT32 will make the file system unreadable by MS DOS, MS "
+"Windows 95a, and MS Windows NT."
+msgstr ""
+"Se si convertìs a FAT32 e MS Windows al è instalât in cheste partizion, si "
+"varà di tornâ a instalâ il boot loader di MS Windows.  Se si desidere fâ "
+"cussì, si varès di consultâ il manuâl di Parted (o il manuâl de "
+"distribuzion).  In diplui, convertint a FAT32, MS DOS, MS Windows 95a e MS "
+"Windows NT no rivaran a lei il file system."
+
+#: libparted/fs/r/fat/resize.c:524
+#, c-format
+msgid "%s  %s  %s"
+msgstr "%s  %s  %s"
+
+#: libparted/fs/r/fat/resize.c:525
+msgid "Would you like to use FAT32?"
+msgstr "Doprâ FAT32?"
+
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
+#, c-format
+msgid "%s  %s"
+msgstr "%s  %s"
+
+#: libparted/fs/r/fat/resize.c:557
+msgid ""
+"The file system can only be resized to this size by converting to FAT16."
+msgstr ""
+"Il file system al pues jessi ridimensionât dome a cheste dimension se si "
+"convertìs a FAT16."
+
+#: libparted/fs/r/fat/resize.c:573
+msgid ""
+"The file system can only be resized to this size by converting to FAT32."
+msgstr ""
+"Il file system al pues jessi ridimensionât dome a cheste dimension se si "
+"convertìs a FAT32."
+
+#: libparted/fs/r/fat/resize.c:586
+msgid ""
+"GNU Parted cannot resize this partition to this size.  We're working on it!"
+msgstr ""
+"GNU Parted nol pues ridimensionâ cheste partizion a cheste dimension.  "
+"Funzion in svilup!"
+
+#: libparted/fs/r/fat/table.c:136
+#, c-format
+msgid ""
+"FAT %d media %x doesn't match the boot sector's media %x.  You should "
+"probably run scandisk."
+msgstr ""
+"FAT %d, il supuart %x nol corispuint al setôr di inviament dal supuart %x.  "
+"Si varès di eseguî scandisk."
+
+#: libparted/fs/r/fat/table.c:268
+#, c-format
+msgid "fat_table_set: cluster %ld outside file system"
+msgstr "fat_table_set: cluster %ld fûr dal file system"
+
+#: libparted/fs/r/fat/table.c:300
+#, c-format
+msgid "fat_table_get: cluster %ld outside file system"
+msgstr "fat_table_get: cluster %ld fûr dal file system"
+
+#: libparted/fs/r/fat/table.c:342
+msgid "fat_table_alloc_cluster: no free clusters"
+msgstr "fat_table_alloc_cluster: nissun cluster libar"
+
+#: libparted/fs/r/filesys.c:151
+msgid "Could not detect file system."
+msgstr "Impussibil rilevâ il file system."
+
+#: libparted/fs/r/filesys.c:158 libparted/fs/r/filesys.c:285
+#, c-format
+msgid "resizing %s file systems is not supported"
+msgstr "il ridimensionâ il file system %s, nol è supuartât"
+
+#: libparted/fs/r/filesys.c:170
+msgid "The file system is bigger than its volume!"
+msgstr "Il file system al è plui grant dal so volum!"
+
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
+msgid "The file system contains errors."
+msgstr "Il file system al conten erôrs."
+
+#: libparted/fs/r/hfs/advfs_plus.c:285
+msgid "Bad blocks could not be read."
+msgstr "I blocs ruvinâts no puedin jessi lets."
+
+#: libparted/fs/r/hfs/cache.c:137
+#, c-format
+msgid ""
+"Trying to register an extent starting at block 0x%X, but another one already "
+"exists at this position.  You should check the file system!"
+msgstr ""
+"Si cîr di regjistrâ un extent a partî dal block 0x%X, ma un altrial esist za "
+"a chê posizion.  Si varès di controlâ il file system!"
+
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
+msgid ""
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
+"already exists at this position.  This should not happen!"
+msgstr ""
+"Si cîr di spostâ un extent dal bloc Ox%X al bloc Ox%X, ma un altri al esist "
+"za a chê posizion.  Nol varès di sucedi!"
+
+#: libparted/fs/r/hfs/file.c:143
+#, c-format
+msgid "Could not update the extent cache for HFS file with CNID %X."
+msgstr "Impussibil inzornâ la cache dai extent pal file HFS cun CNID %X."
+
+#: libparted/fs/r/hfs/file.c:180
+#, c-format
+msgid "Trying to read HFS file with CNID %X behind EOF."
+msgstr "Si cîr di lei il file HFS cun CNID %X daûr dal EOF."
+
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
+#, c-format
+msgid "Could not find sector %lli of HFS file with CNID %X."
+msgstr "Impussibil cjatâ il setôr %lli dal file HFS cun CNID %X."
+
+#: libparted/fs/r/hfs/file.c:210
+#, c-format
+msgid "Trying to write HFS file with CNID %X behind EOF."
+msgstr "Si cîr di scrivi il file HFS cun CNID %X daûr dal EOF."
+
+#: libparted/fs/r/hfs/file_plus.c:157
+#, c-format
+msgid "Could not update the extent cache for HFS+ file with CNID %X."
+msgstr "Impussibil inzornâ la cache dai extent pal file HFS+ cun CNID %X."
+
+#: libparted/fs/r/hfs/file_plus.c:202
+#, c-format
+msgid "Trying to read HFS+ file with CNID %X behind EOF."
+msgstr "Si cîr di lei il file HFS+ cun CNID %X daûr dal EOF."
+
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
+#, c-format
+msgid "Could not find sector %lli of HFS+ file with CNID %X."
+msgstr "Impussibil cjatâ il setôr %lli dal file HFS+ cun CNID %X."
+
+#: libparted/fs/r/hfs/file_plus.c:245
+#, c-format
+msgid "Trying to write HFS+ file with CNID %X behind EOF."
+msgstr "Si cîr di scrivi il file HFS+ cun CNID %X daûr dal EOF."
+
+#: libparted/fs/r/hfs/hfs.c:232
+msgid "Sorry, HFS cannot be resized that way yet."
+msgstr "HFS nol pues ancjemò jessi ridimensionât in chê maniere."
+
+#: libparted/fs/r/hfs/hfs.c:250 libparted/fs/r/hfs/hfs.c:629
+msgid "shrinking"
+msgstr "daûr a scurtâ"
+
+#: libparted/fs/r/hfs/hfs.c:262 libparted/fs/r/hfs/hfs.c:641
+msgid "Data relocation has failed."
+msgstr "Riposizionament dai dâts falît."
+
+#: libparted/fs/r/hfs/hfs.c:281
+msgid "Data relocation left some data in the end of the volume."
+msgstr ""
+"Il riposizionament dai dâts indi à lassât cualchidun inte fin dal volum."
+
+#: libparted/fs/r/hfs/hfs.c:320
+msgid "writing HFS Master Directory Block"
+msgstr "scriture dal \"Master Directory Block\" di HFS"
+
+#: libparted/fs/r/hfs/hfs.c:468
+msgid "No valid HFS[+X] signature has been found while opening."
+msgstr "Vierzint no je stade cjatade nissune firme HFS[+X] valide."
+
+#: libparted/fs/r/hfs/hfs.c:478
+#, c-format
+msgid "Version %d of HFS+ isn't supported."
+msgstr "La version %d di HFS+ no je supuartade."
+
+#: libparted/fs/r/hfs/hfs.c:489
+#, c-format
+msgid "Version %d of HFSX isn't supported."
+msgstr "La version %d di HFSX no je supuartade."
+
+#: libparted/fs/r/hfs/hfs.c:672
+msgid "Data relocation left some data at the end of the volume."
+msgstr "Il riposizionament dai dâts indi à lassât cualchidun ae fin dal volum."
+
+#: libparted/fs/r/hfs/hfs.c:720
+msgid "Error while writing the allocation file."
+msgstr "Erôr tal scrivi il \"allocation file\"."
+
+#: libparted/fs/r/hfs/hfs.c:735
+msgid "Error while writing the compatibility part of the allocation file."
+msgstr "Erôr tal scrivi la part di compatibilitât dal \"allocation file\"."
+
+#: libparted/fs/r/hfs/hfs.c:750
+msgid "writing HFS+ Volume Header"
+msgstr "scriture de intestazion dal volum di HFS+"
+
+#: libparted/fs/r/hfs/hfs.c:850
+msgid "An error occurred while looking for the mandatory bad blocks file."
+msgstr ""
+"Si è presentât un erôr intal viodi il file dai blocs ruvinâts obligatori."
+
+#: libparted/fs/r/hfs/hfs.c:904
+msgid ""
+"It seems there is an error in the HFS wrapper: the bad blocks file doesn't "
+"contain the embedded HFS+ volume."
+msgstr ""
+"Al semee che al sedi un erôr intal wrapper HFS: il file dai blocs ruvinâts "
+"nol conten il volum HFS+ integrât."
+
+#: libparted/fs/r/hfs/hfs.c:940
+msgid "Sorry, HFS+ cannot be resized that way yet."
+msgstr "HFS+ nol pues ancjemò jessi ridimensionât in chê maniere."
+
+#: libparted/fs/r/hfs/hfs.c:975
+msgid "shrinking embedded HFS+ volume"
+msgstr "daûr a scurtâ il volum HFS+ integrât"
+
+#: libparted/fs/r/hfs/hfs.c:992
+msgid "Resizing the HFS+ volume has failed."
+msgstr "Ridimensionament dal volum HFS+ falît."
+
+#: libparted/fs/r/hfs/hfs.c:999
+msgid "shrinking HFS wrapper"
+msgstr "daûr a scurtâ il wrapper HFS"
+
+#: libparted/fs/r/hfs/hfs.c:1008
+msgid "Updating the HFS wrapper has failed."
+msgstr "No si è rivâts a inzornâ il wrapper HFS."
+
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
+#, c-format
+msgid ""
+"This is not a real %s check.  This is going to extract special low level "
+"files for debugging purposes."
+msgstr ""
+"Chest nol è un control %s reâl.  Cheste procedure e covente par tirâ fûr i "
+"file speciâi di bas nivel par finalitâts di debug."
+
+#: libparted/fs/r/hfs/journal.c:155
+msgid "Bad block list header checksum."
+msgstr "Sume di control (checksum) de intestazion de liste dai blocs ruvinâts."
+
+#: libparted/fs/r/hfs/journal.c:168
+#, c-format
+msgid ""
+"Invalid size of a transaction block while replaying the journal (%i bytes)."
+msgstr ""
+"Dimension no valide di un bloc di transazion dilunc la riesecuzion dal "
+"regjistri (journal) (%i byte)."
+
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
+msgid ""
+"Journal stored outside of the volume are not supported.  Try to deactivate "
+"the journal and run Parted again."
+msgstr ""
+"I regjistris (journal) archiviâts fûr dal volum no son supuartâts.  Prove "
+"disative il regjisti (journal) e torne a eseguî Parted."
+
+#: libparted/fs/r/hfs/journal.c:271
+msgid "Journal offset or size is not multiple of the sector size."
+msgstr ""
+"Il spostament o la dimension dal regjistri (journal) nol è multipli de "
+"dimension di un setôr."
+
+#: libparted/fs/r/hfs/journal.c:292
+msgid "Incorrect magic values in the journal header."
+msgstr "Valôrs \"magic\" sbaliâts inte intestazion dal regjistri (journal)."
+
+#: libparted/fs/r/hfs/journal.c:302
+msgid "Journal size mismatch between journal info block and journal header."
+msgstr ""
+"La dimension dal regjistri (journal) no corispuint tra chê dal bloc des "
+"informazions dal regjistri e chê de intestazion dal regjistri."
+
+#: libparted/fs/r/hfs/journal.c:314
+msgid "Some header fields are not multiple of the sector size."
+msgstr "Cualchi cjamp di intestazion nol è multipli de dimension di un setôr."
+
+#: libparted/fs/r/hfs/journal.c:323
+msgid ""
+"The sector size stored in the journal is not 512 bytes.  Parted only "
+"supports 512 bytes length sectors."
+msgstr ""
+"La dimension dal setôr archiviade tal regjistri (journal) no je di 512 "
+"byte.  Parted al supuarte dome setôrs cun lungjece di 512 byte."
+
+#: libparted/fs/r/hfs/journal.c:335
+msgid "Bad journal checksum."
+msgstr "Sume di control (checksum) dal regjistri (journal) sbaliade."
+
+#: libparted/fs/r/hfs/journal.c:353
+msgid ""
+"The journal is not empty.  Parted must replay the transactions before "
+"opening the file system.  This will modify the file system."
+msgstr ""
+"Il regjistri nol è vueit.  Parted al à di ripeti la transazion prime di "
+"vierzi il file system.  Cheste operazion e modificarà il file system."
+
+#: libparted/fs/r/hfs/journal.c:381
+msgid ""
+"The volume header or the master directory block has changed while replaying "
+"the journal.  You should restart Parted."
+msgstr ""
+"La intestazion dal volum o il \"master directory bloc\" al è stât modificât "
+"intant che si tornave a eseguî il regjistri.  Torne invie Parted."
+
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
+msgid "An extent has not been relocated."
+msgstr "Un extent nol è stât riposizionât."
+
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
+msgid ""
+"A reference to an extent comes from a place it should not.  You should check "
+"the file system!"
+msgstr ""
+"Un riferiment a un extent al ven di un puest che nol varès di stâ.  Controle "
+"il file system!"
+
+#: libparted/fs/r/hfs/reloc.c:380
+msgid "This HFS volume has no catalog file.  This is very unusual!"
+msgstr ""
+"Chest volum HFS nol à il file catalic.  Cheste situazion è je une vore "
+"inusuâl!"
+
+#: libparted/fs/r/hfs/reloc.c:474
+msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
+msgstr ""
+"Chest volum HFS nol à un \"extents overflow file\".  Cheste e je une "
+"situazion vonde inusuâl!"
+
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
+msgid ""
+"The extents overflow file should not contain its own extents!  You should "
+"check the file system."
+msgstr ""
+"Il \"extent overflow file\" nol à di contignî i siei extent!  Controle il "
+"file system."
+
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
+msgid "Could not cache the file system in memory."
+msgstr "Impussibil cjariâ la cache dal file system in memorie."
+
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
+msgid "Bad blocks list could not be loaded."
+msgstr "Impussibil cjariâ la liste dai blocs ruvinâts."
+
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
+msgid "An error occurred during extent relocation."
+msgstr "Al è vignût fûr un erôr tal riposizionâ un extent."
+
+#: libparted/fs/r/hfs/reloc_plus.c:494
+msgid "This HFS+ volume has no catalog file.  This is very unusual!"
+msgstr ""
+"Chest volum HFS+ nol à il file catalic.  Cheste situazion è je une vore "
+"inusuâl!"
+
+#: libparted/fs/r/hfs/reloc_plus.c:617
+msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
+msgstr ""
+"Chest volum HFS+ nol à un \"extents overflow file\".  Cheste e je une "
+"situazion vonde inusuâl!"
+
+#: parted/parted.c:125
+msgid "displays this help message"
+msgstr "al mostre chest messaç di jutori"
+
+#: parted/parted.c:126
+msgid "lists partition layout on all block devices"
+msgstr "al liste la disposizion des partizions su ducj i dispositîfs a blocs"
+
+#: parted/parted.c:127
+msgid "displays machine parseable output"
+msgstr "al mostre un output che si pues analizâ dal computer"
+
+#: parted/parted.c:128
+msgid "never prompts for user intervention"
+msgstr "no sta domandâ mai l'intervent dal utent"
+
+#: parted/parted.c:129
+msgid "displays the version"
+msgstr "al mostre la version"
+
+#: parted/parted.c:130
+msgid "alignment for new partitions"
+msgstr "inlineament pes gnovis partizions"
+
+#: parted/parted.c:142
+msgid ""
+"NUMBER is the partition number used by Linux.  On MS-DOS disk labels, the "
+"primary partitions number from 1 to 4, logical partitions from 5 onwards.\n"
+msgstr ""
+"NUMAR al è il numar di partizion doprât di Linux.  Su lis etichetis di disc "
+"MS-DOS, il numar des partizions primaris di 1 a 4, partizions logjichis di 5 "
+"indenant.\n"
+
+#: parted/parted.c:145
+msgid "LABEL-TYPE is one of: "
+msgstr "GJENAR-ETIC al è un di: "
+
+#: parted/parted.c:146 parted/parted.c:147
+msgid "FLAG is one of: "
+msgstr "FLAG al è un di: "
+
+#: parted/parted.c:148
+msgid "UNIT is one of: "
+msgstr "UNITÂT al è un di: "
+
+#: parted/parted.c:149
+msgid "desired alignment: minimum or optimal"
+msgstr "inlineament desiderât: minim o otimâl"
+
+#: parted/parted.c:150
+msgid "PART-TYPE is one of: primary, logical, extended\n"
+msgstr "GJENAR-PART al è un di: primary, logical, extended\n"
+
+#: parted/parted.c:152
+msgid "FS-TYPE is one of: "
+msgstr "GJENAR-FS al è un di: "
+
+#: parted/parted.c:153
+msgid ""
+"START and END are disk locations, such as 4GB or 10%.  Negative values count "
+"from the end of the disk.  For example, -1s specifies exactly the last "
+"sector.\n"
+msgstr ""
+"INIZI e FIN a son posizions sul disc, come 4GB o 10%.  I valôrs negatîfs a "
+"partissin de fin dal disc.  Par esempli: -1s al specifiche in maniere "
+"precise l'ultin setôr.\n"
+
+#: parted/parted.c:156
+msgid ""
+"END is disk location, such as 4GB or 10%.  Negative value counts from the "
+"end of the disk.  For example, -1s specifies exactly the last sector.\n"
+msgstr ""
+"FIN e je une posizion sul disc, come 4GB o 10%.  I valôrs negatîfs a "
+"partissin de fin dal disc.  Par esempli: -1s al specifiche in maniere "
+"precise l'ultin setôr.\n"
+
+#: parted/parted.c:159
+msgid "STATE is one of: on, off\n"
+msgstr "STÂT al è un di: on, off\n"
+
+#: parted/parted.c:160
+msgid "DEVICE is usually /dev/hda or /dev/sda\n"
+msgstr "DISPOSITÎF al è di solit /dev/hda or /dev/sda\n"
+
+#: parted/parted.c:161
+msgid "NAME is any word you want\n"
+msgstr "NON al è cualsisei peraule desiderade\n"
+
+#: parted/parted.c:164
+msgid ""
+"Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n"
+"This program is free software, covered by the GNU General Public License.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+msgstr ""
+"Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n"
+"Chest program al è software libar, cuviert de Licence Publiche Gjenerâl GNU "
+"(GNU-GPL).\n"
+"\n"
+"Chest program al è distribuît inte sperance che al sedi util,\n"
+"ma CENCE NISSUNE GARANZIE; cence ancje la implicite garanzie di\n"
+"CUMIERÇABILITÂT o IDONEITÂT A UNE FINALITÂT PARTICOLÂR.  Consultâ la\n"
+"GNU General Public License par vê plui detais.\n"
+"\n"
+
+#: parted/parted.c:212
+#, c-format
+msgid "%0.f%%\t(time left %.2d:%.2d)"
+msgstr "%0.f%%\t(a restin %.2d:%.2d)"
+
+#: parted/parted.c:231
+#, c-format
+msgid "Partition %s is being used. Are you sure you want to continue?"
+msgstr "La partizion %s e je in ûs. Sigûrs di continuâ?"
+
+#: parted/parted.c:252
+#, c-format
+msgid "Partition(s) on %s are being used."
+msgstr "Lis partizions su %s a son in ûs."
+
+#: parted/parted.c:264
+#, c-format
+msgid ""
+"The existing disk label on %s will be destroyed and all data on this disk "
+"will be lost. Do you want to continue?"
+msgstr ""
+"La etichete dal disc su %s e vignarà eliminade e ducj i dâts sul disc a "
+"laran pierdûts. Continuâ?"
+
+#: parted/parted.c:525
+msgid "New disk label type?"
+msgstr "Gnûf gjenar di etichete disc?"
+
+#: parted/parted.c:662
+msgid "Partition type?"
+msgstr "Gjenar di partizion?"
+
+#: parted/parted.c:680 parted/parted.c:884
+msgid "Partition name?"
+msgstr "Non de partizion?"
+
+#: parted/parted.c:690
+msgid "File system type?"
+msgstr "Gjenar di file system?"
+
+#: parted/parted.c:695 parted/parted.c:1498
+msgid "Start?"
+msgstr "Inizi?"
+
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
+msgid "End?"
+msgstr "Fin?"
+
+#: parted/parted.c:766
+#, c-format
+msgid ""
+"You requested a partition from %s to %s (sectors %llu..%llu).\n"
+"The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
+msgstr ""
+"E je stade domandade une partizion di %s a %s (setôrs %llu..%llu).\n"
+"La posizion disponibile plui dongje e je %s a %s (setôrs %llu..%llu).%s"
+
+#: parted/parted.c:775
+msgid ""
+"\n"
+"Is this still acceptable to you?"
+msgstr ""
+"\n"
+"Ti vadial ben distès cussì?"
+
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+"La partizion che e ven fûr no je inlineade ben par prestazions otimâls."
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Lis etichetis dai discs %s no supuartin partizions estesis."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
+msgid "Partition number?"
+msgstr "Numar di partizion?"
+
+#: parted/parted.c:975
+#, c-format
+msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
+msgstr ""
+"Gjeometrie cilindri, testine, setôr dal BIOS: %d,%d,%d.  Ogni cilindri al è "
+"%s.\n"
+
+#: parted/parted.c:1017
+#, c-format
+msgid "Model: %s (%s)\n"
+msgstr "Model: %s (%s)\n"
+
+#: parted/parted.c:1019
+#, c-format
+msgid "Disk %s: %s\n"
+msgstr "Disc %s: %s\n"
+
+#: parted/parted.c:1020
+#, c-format
+msgid "Sector size (logical/physical): %lldB/%lldB\n"
+msgstr "Dimension dal setôr (logjic/fisic): %lldB/%lldB\n"
+
+#: parted/parted.c:1032
+#, c-format
+msgid "Partition Table: %s\n"
+msgstr "Tabele des partizions: %s\n"
+
+#: parted/parted.c:1033
+#, c-format
+msgid "Disk Flags: %s\n"
+msgstr "Flag dal disc: %s\n"
+
+#: parted/parted.c:1153 parted/parted.c:1156
+msgid "Number"
+msgstr "Numar"
+
+#: parted/parted.c:1153 parted/parted.c:1156
+msgid "Start"
+msgstr "Inizi"
+
+#: parted/parted.c:1154 parted/parted.c:1157
+msgid "End"
+msgstr "Fin"
+
+#: parted/parted.c:1157
+msgid "Size"
+msgstr "Dimension"
+
+#: parted/parted.c:1161
+msgid "Type"
+msgstr "Gjenar"
+
+#: parted/parted.c:1163
+msgid "File system"
+msgstr "File system"
+
+#: parted/parted.c:1166
+msgid "Name"
+msgstr "Non"
+
+#: parted/parted.c:1168
+msgid "Flags"
+msgstr "Flag"
+
+#: parted/parted.c:1225
+msgid "Free Space"
+msgstr "Spazi libar"
+
+#: parted/parted.c:1385
+#, c-format
+msgid ""
+"A %s %s partition was found at %s -> %s.  Do you want to add it to the "
+"partition table?"
+msgstr ""
+"E je stade cjatade une partizion %s %s su %s -> %s.  Desideristu zontâle ae "
+"tabele des partizions?"
+
+#: parted/parted.c:1428
+msgid "searching for file systems"
+msgstr "ricercje dai file system"
+
+#: parted/parted.c:1535
+msgid "The resize command has been removed in parted 3.0"
+msgstr "Il comant par ridimensionâ al è stât gjavât de version 3.0 di parted"
+
+#: parted/parted.c:1583
+msgid ""
+"Shrinking a partition can cause data loss, are you sure you want to continue?"
+msgstr ""
+"Scurtâ une partizion al pues causâ pierditis di dâts, sigûrs di continuâ?"
+
+#: parted/parted.c:1636
+msgid "New device?"
+msgstr "Gnûf dispositîf?"
+
+#: parted/parted.c:1704
+msgid "alignment type(min/opt)"
+msgstr "gjenar di inlineament(min/oti)"
+
+#: parted/parted.c:1719
+#, c-format
+msgid "%d aligned\n"
+msgstr "%d inlineade\n"
+
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
+msgstr "%d no inlineade\n"
+
+#: parted/parted.c:1746 parted/parted.c:1783
+msgid "Flag to Invert?"
+msgstr "Flag di invertî?"
+
+#: parted/parted.c:1751 parted/parted.c:1788
+msgid "New state?"
+msgstr "Gnûf stât?"
+
+#: parted/parted.c:1834
+msgid "Unit?"
+msgstr "Unitât?"
+
+#: parted/parted.c:1969
+msgid "align-check"
+msgstr "align-check"
+
+#: parted/parted.c:1972
+#, fuzzy
+msgid ""
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
+msgstr ""
+"align-check GJENAR N                        controle la partizion N pal "
+"inlineament di GJENAR(min|oti)"
+
+#: parted/parted.c:1980
+msgid "help"
+msgstr "jutori"
+
+#: parted/parted.c:1983
+msgid ""
+"help [COMMAND]                           print general help, or help on "
+"COMMAND"
+msgstr ""
+"help [COMANT]                           stampe il jutori gjenerâl o sul "
+"COMANT"
+
+#: parted/parted.c:1989
+msgid "mklabel"
+msgstr "mklabel"
+
+#: parted/parted.c:1989
+msgid "mktable"
+msgstr "mktable"
+
+#: parted/parted.c:1992
+msgid ""
+"mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
+"table)"
+msgstr ""
+"mklabel,mktable GJENAR-ETIC               cree une gnove etichete dal disc "
+"(tabele des partizions)"
+
+#: parted/parted.c:1998
+msgid "mkpart"
+msgstr "mkpart"
+
+#: parted/parted.c:2001
+msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
+msgstr "mkpart GJENAR-PART [GJENAR-FS] INIZI FIN     cree une partizion"
+
+#: parted/parted.c:2007
+msgid ""
+"'mkpart' makes a partition without creating a new file system on the "
+"partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
+msgstr ""
+"'mkpart' al cree une partizion cence creâ un gnûf file system su pe "
+"partizion.  Al pues jessi specificât GJENAR-FS par stabilî un ID di "
+"partizion adat.\n"
+
+#: parted/parted.c:2012
+msgid "name"
+msgstr "non"
+
+#: parted/parted.c:2015
+msgid "name NUMBER NAME                         name partition NUMBER as NAME"
+msgstr ""
+"name NUMAR NON                         clame la partizion NUMAR come NON"
+
+#: parted/parted.c:2020
+msgid "print"
+msgstr "print"
+
+#: parted/parted.c:2023
+msgid ""
+"print [devices|free|list,all|NUMBER]     display the partition table, "
+"available devices, free space, all found partitions, or a particular "
+"partition"
+msgstr ""
+"print [devices|free|list,all|NUMAR]     mostre la tabele des partizions, i "
+"dispositîfs disponibii, il spazi libar, dutis lis partizions cjatadis o une "
+"partizion in particolâr"
+
+#: parted/parted.c:2028
+msgid ""
+"Without arguments, 'print' displays the entire partition table. However with "
+"the following arguments it performs various other actions.\n"
+msgstr ""
+"Cence argoments, 'print' al mostre dute la tabele des partizions. Dut câs "
+"cui argoments chi sot al fasarà variis altris azions.\n"
+
+#: parted/parted.c:2030
+msgid "  devices   : display all active block devices\n"
+msgstr "  devices   : mostre ducj i dispositîfs a blocs atîfs\n"
+
+#: parted/parted.c:2031
+msgid ""
+"  free      : display information about free unpartitioned space on the "
+"current block device\n"
+msgstr ""
+"  free      : mostre lis informazions sul spazi libar no partizionât, sul "
+"dispositîf a blocs atuâl\n"
+
+#: parted/parted.c:2033
+msgid ""
+"  list, all : display the partition tables of all active block devices\n"
+msgstr ""
+"  list, all : mostre lis tabelis des partizions di ducj i dispositîfs a "
+"blocs atîfs\n"
+
+#: parted/parted.c:2034
+msgid ""
+"  NUMBER    : display more detailed information about this particular "
+"partition\n"
+msgstr ""
+"  NUMAR    : mostre informazions plui detaiadis sun cheste particolâr "
+"partizion\n"
+
+#: parted/parted.c:2039
+msgid "quit"
+msgstr "quit"
+
+#: parted/parted.c:2042
+msgid "quit                                     exit program"
+msgstr "quit                                     jes dal program"
+
+#: parted/parted.c:2047
+msgid "rescue"
+msgstr "rescue"
+
+#: parted/parted.c:2050
+msgid ""
+"rescue START END                         rescue a lost partition near START "
+"and END"
+msgstr ""
+"rescue INIZI FIN                         recupere une partizion pierdude "
+"dongje INIZI e FIN"
+
+#: parted/parted.c:2056
+msgid "resize"
+msgstr "resize"
+
+#: parted/parted.c:2059
+msgid "The resize command was removed in parted 3.0\n"
+msgstr "Il comant par ridimensionâ al è stât gjavât in parted 3.0\n"
+
+#: parted/parted.c:2062
+msgid "resizepart"
+msgstr "resizepart"
+
+#: parted/parted.c:2065
+msgid "resizepart NUMBER END                    resize partition NUMBER"
+msgstr ""
+"resizepart NUMAR FIN                    ridimensione la partizion NUMAR"
+
+#: parted/parted.c:2070
+msgid "rm"
+msgstr "rm"
+
+#: parted/parted.c:2073
+msgid "rm NUMBER                                delete partition NUMBER"
+msgstr "rm NUMAR                                elimine la partizion NUMAR"
+
+#: parted/parted.c:2078
+msgid "select"
+msgstr "select"
+
+#: parted/parted.c:2081
+msgid "select DEVICE                            choose the device to edit"
+msgstr ""
+"select DISPOSITÎF                            sielç il dispositîf di modificâ"
+
+#: parted/parted.c:2086
+msgid "disk_set"
+msgstr "disk_set"
+
+#: parted/parted.c:2089
+msgid ""
+"disk_set FLAG STATE                      change the FLAG on selected device"
+msgstr ""
+"disk_set FLAG STÂT                      cambie il FLAG sul dispositîf "
+"selezionât"
+
+#: parted/parted.c:2094
+msgid "disk_toggle"
+msgstr "disk_toggle"
+
+#: parted/parted.c:2097
+msgid ""
+"disk_toggle [FLAG]                       toggle the state of FLAG on "
+"selected device"
+msgstr ""
+"disk_toggle [FLAG]                       comute il stât dal FLAG sul "
+"dispositîf selezionât"
+
+#: parted/parted.c:2103
+msgid "set"
+msgstr "set"
+
+#: parted/parted.c:2106
+msgid ""
+"set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
+msgstr ""
+"set NUMAR FLAG STÂT                    cambie il FLAG su pe partizion NUMAR"
+
+#: parted/parted.c:2112
+msgid "toggle"
+msgstr "toggle"
+
+#: parted/parted.c:2115
+msgid ""
+"toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
+"partition NUMBER"
+msgstr ""
+"toggle [NUMAR [FLAG]]                   comute il stât di FLAG su pe "
+"partizion NUMAR"
+
+#: parted/parted.c:2121
+msgid "unit"
+msgstr "unit"
+
+#: parted/parted.c:2124
+msgid "unit UNIT                                set the default unit to UNIT"
+msgstr ""
+"unit UNITÂT                                stabilìs la unitât predefinide a "
+"UNITÂT"
+
+#: parted/parted.c:2129
+msgid "version"
+msgstr "version"
+
+#: parted/parted.c:2132
+msgid ""
+"version                                  display the version number and "
+"copyright information of GNU Parted"
+msgstr ""
+"version                                  mostre il numar di version e lis "
+"informazions di copyright di GNU Parted"
+
+#: parted/parted.c:2136
+msgid ""
+"'version' displays copyright and version information corresponding to this "
+"copy of GNU Parted\n"
+msgstr ""
+"'version' al mostre lis informazions sul copyright e la version relative a "
+"cheste copie di GNU Parted\n"
+
+#: parted/parted.c:2204
+#, c-format
+msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
+msgstr ""
+"Ûs: %s [-hlmsv] [-a<inlineament >] [DISPOSITÎF [COMANT [PARAMETRIS]]...]\n"
+
+#: parted/parted.c:2248
+msgid "No device found"
+msgstr "Nissun dispositîf cjatât"
+
+#: parted/parted.c:2285
+msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
+msgstr "ATENZION: No tu sês un superutent.  Fâs atenzion ai permès.\n"
+
+#: parted/parted.c:2325
+msgid "You may need to update /etc/fstab.\n"
+msgstr "Al podarès coventâ inzornâ /etc/fstab.\n"
+
+#: parted/ui.c:164
+msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
+msgstr ""
+"Benvignûts in GNU Parted! Scrîf 'help' par viodi une liste di comants.\n"
+
+#: parted/ui.c:167
+msgid ""
+"Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
+"Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
+"in\n"
+"interactive mode.\n"
+msgstr ""
+"Ûs: parted [OPZION]... [DISPOSITÎF [COMANT [PARAMETRIS]...]...]\n"
+"Apliche i COMANTs cui PARAMETRIS al DISPOSITÎF.  Se nol ven furnît nissun "
+"COMANT, \n"
+"al partìs in modalitât interative.\n"
+
+#: parted/ui.c:172
+#, c-format
+msgid ""
+"\n"
+"\n"
+"You found a bug in GNU Parted! Here's what you have to do:\n"
+"\n"
+"Don't panic! The bug has most likely not affected any of your data.\n"
+"Help us to fix this bug by doing the following:\n"
+"\n"
+"Check whether the bug has already been fixed by checking\n"
+"the last version of GNU Parted that you can find at:\n"
+"\n"
+"\thttp://ftp.gnu.org/gnu/parted/\n"
+"\n"
+"Please check this version prior to bug reporting.\n"
+"\n"
+"If this has not been fixed yet or if you don't know how to check,\n"
+"please visit the GNU Parted website:\n"
+"\n"
+"\thttp://www.gnu.org/software/parted\n"
+"\n"
+"for further information.\n"
+"\n"
+"Your report should contain the version of this release (%s)\n"
+"along with the error message below, the output of\n"
+"\n"
+"\tparted DEVICE unit co print unit s print\n"
+"\n"
+"and the following history of commands you entered.\n"
+"Also include any additional information about your setup you\n"
+"consider important.\n"
+msgstr ""
+"\n"
+"\n"
+"Tu âs cjatât un erôr in GNU Parted! Chi al è ce che tu âs di fâ:\n"
+"\n"
+"Nie pôre! Al è probabile che l'erôr nol vedi ruvinât i tiei dâts.\n"
+"Judinus a justâ chest erôr fasint chestis operazions:\n"
+"\n"
+"Controle se l'erôr al è za stât comedât controlant\n"
+"la ultime version di GNU Parted, che tu puedis cjatâ su:\n"
+"\n"
+"\thttp://ftp.gnu.org/gnu/parted/\n"
+"\n"
+"Controle cheste version prime di segnalâ l'erôr.\n"
+"\n"
+"Se nol è stât ancjemò comedât o se no tu sâs ce mût controlâ,\n"
+"visite il sît web di GNU Parted:\n"
+"\n"
+"\thttp://www.gnu.org/software/parted\n"
+"\n"
+"par ulteriôrs informazions.\n"
+"\n"
+"La tô segnalazion e à di contignî la version di cheste publicazion (%s)\n"
+"adun cul messaç di erôr chi sot, il output di\n"
+"\n"
+"\tparted DISPOSITÎF unit co print unit s print\n"
+"\n"
+"e cheste cronologjie dai comants che tu âs inserît.\n"
+"Inclût ancje cualsisei informazion adizionâl su la tô configurazion che tu\n"
+"consideris impuartante.\n"
+
+#: parted/ui.c:293
+msgid ""
+"\n"
+"Command History:\n"
+msgstr ""
+"\n"
+"Cronologjie comants:\n"
+
+#: parted/ui.c:356
+msgid ""
+"\n"
+"Error: SEGV_MAPERR (Address not mapped to object)\n"
+msgstr ""
+"\n"
+"Erôr: SEGV_MAPERR (Direzion no mapade al ogjet)\n"
+
+#: parted/ui.c:362
+msgid ""
+"\n"
+"Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
+msgstr ""
+"\n"
+"Erôr: SEGV_ACCERR (permès no valits pal ogjet mapât)\n"
+
+#: parted/ui.c:367
+msgid ""
+"\n"
+"Error: A general SIGSEGV signal was encountered.\n"
+msgstr ""
+"\n"
+"Erôr: si è presentât a un segnâl SIGSEGV gjenerâl.\n"
+
+#: parted/ui.c:391
+msgid ""
+"\n"
+"Error: FPE_INTDIV (Integer: divide by zero)"
+msgstr ""
+"\n"
+"Erôr: FPE_INTDIV (intîr: division par zero)"
+
+#: parted/ui.c:396
+msgid ""
+"\n"
+"Error: FPE_INTOVF (Integer: overflow)"
+msgstr ""
+"\n"
+"Erôr: FPE_INTOVF (intîr: overflow)"
+
+#: parted/ui.c:401
+msgid ""
+"\n"
+"Error: FPE_FLTDIV (Float: divide by zero)"
+msgstr ""
+"\n"
+"Erôr: FPE_FLTDIV (virgule mobile: division par zero)"
+
+#: parted/ui.c:406
+msgid ""
+"\n"
+"Error: FPE_FLTOVF (Float: overflow)"
+msgstr ""
+"\n"
+"Erôr: FPE_FLTOVF (virgule mobile: overflow)"
+
+#: parted/ui.c:411
+msgid ""
+"\n"
+"Error: FPE_FLTUND (Float: underflow)"
+msgstr ""
+"\n"
+"Erôr: FPE_FLTUND (virgule mobile: underflow)"
+
+#: parted/ui.c:416
+msgid ""
+"\n"
+"Error: FPE_FLTRES (Float: inexact result)"
+msgstr ""
+"\n"
+"Erôr: FPE_FLTRES (virgule mobile: risultât inesat)"
+
+#: parted/ui.c:421
+msgid ""
+"\n"
+"Error: FPE_FLTINV (Float: invalid operation)"
+msgstr ""
+"\n"
+"Erôr: FPE_FLTINV (virgule mobile: operazion no valide)"
+
+#: parted/ui.c:426
+msgid ""
+"\n"
+"Error: FPE_FLTSUB (Float: subscript out of range)"
+msgstr ""
+"\n"
+"Erôr: FPE_FLTSUB (virgule mobile: subscript fûr dai limits)"
+
+#: parted/ui.c:431
+msgid ""
+"\n"
+"Error: A general SIGFPE signal was encountered."
+msgstr ""
+"\n"
+"Erôr: si è presentât un segnâl SIGFPE gjenerâl."
+
+#: parted/ui.c:455
+msgid ""
+"\n"
+"Error: ILL_ILLOPC (Illegal Opcode)"
+msgstr ""
+"\n"
+"Erôr: ILL_ILLOPC (opcode no consintût)"
+
+#: parted/ui.c:460
+msgid ""
+"\n"
+"Error: ILL_ILLOPN (Illegal Operand)"
+msgstr ""
+"\n"
+"Erôr: ILL_ILLOPN (operandi no consintût)"
+
+#: parted/ui.c:465
+msgid ""
+"\n"
+"Error: ILL_ILLADR (Illegal addressing mode)"
+msgstr ""
+"\n"
+"Erôr: ILL_ILLADR (modalitât di direzionament no consintude)"
+
+#: parted/ui.c:470
+msgid ""
+"\n"
+"Error: ILL_ILLTRP (Illegal Trap)"
+msgstr ""
+"\n"
+"Erôr: ILL_ILLTRP (trap no consintût)"
+
+#: parted/ui.c:475
+msgid ""
+"\n"
+"Error: ILL_PRVOPC (Privileged Opcode)"
+msgstr ""
+"\n"
+"Erôr: ILL_PRVOPC (opcode privilegjât)"
+
+#: parted/ui.c:480
+msgid ""
+"\n"
+"Error: ILL_PRVREG (Privileged Register)"
+msgstr ""
+"\n"
+"Erôr: ILL_PRVREG (regjistri privilegjât)"
+
+#: parted/ui.c:485
+msgid ""
+"\n"
+"Error: ILL_COPROC (Coprocessor Error)"
+msgstr ""
+"\n"
+"Erôr: ILL_COPROC (erôr di coprocessôr)"
+
+#: parted/ui.c:490
+msgid ""
+"\n"
+"Error: ILL_BADSTK (Internal Stack Error)"
+msgstr ""
+"\n"
+"Erôr: ILL_BADSTK (erôr di stack interni)"
+
+#: parted/ui.c:495
+msgid ""
+"\n"
+"Error: A general SIGILL signal was encountered."
+msgstr ""
+"\n"
+"Erôr: si è presentât un segnâl SIGILL gjenerâl."
+
+#: parted/ui.c:888
+#, c-format
+msgid "invalid token: %s"
+msgstr "token no valit: %s"
+
+#: parted/ui.c:1069
+msgid "Expecting a partition number."
+msgstr "Si spiete un numar di partizion."
+
+#: parted/ui.c:1078
+msgid "Partition doesn't exist."
+msgstr "La partizion no esist."
+
+#: parted/ui.c:1098
+msgid "Expecting a file system type."
+msgstr "Si spiete un gjenar di file system."
+
+#: parted/ui.c:1105
+#, c-format
+msgid "Unknown file system type \"%s\"."
+msgstr "Gjenar di file system \"%s\" no cognossût."
+
+#: parted/ui.c:1126
+msgid "Expecting a disk label type."
+msgstr "Si spiete un gjenar di etichete di disc."
+
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
+msgid "Can't create any more partitions."
+msgstr "impussibil creâ ancjemò altris partizions."
+
+#: parted/ui.c:1277
+msgid "Expecting a partition type."
+msgstr "Si spiete un gjenar di partizion."
+
+#: parted/ui.c:1426
+msgid "on"
+msgstr "on"
+
+#: parted/ui.c:1427
+msgid "off"
+msgstr "off"
+
+#: parted/ui.c:1444
+msgid "optimal"
+msgstr "otimâl"
+
+#: parted/ui.c:1445
+msgid "minimal"
+msgstr "minimâl"
+
+#: parted/ui.c:1578
+msgid "OPTIONs:"
+msgstr "OPZIONs:"
+
+#: parted/ui.c:1583
+msgid "COMMANDs:"
+msgstr "COMANTs:"
+
+#: parted/ui.c:1586
+#, c-format
+msgid ""
+"\n"
+"Report bugs to %s\n"
+msgstr ""
+"\n"
+"segnale i erôrs a %s\n"
+
+#: parted/ui.c:1593
+#, c-format
+msgid "Using %s\n"
+msgstr "Al ven doprât %s\n"
+
+#: parted/ui.c:1673
+msgid "This command does not make sense in non-interactive mode.\n"
+msgstr "In modalitât no interative, chest comant nol à sens.\n"
+
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: la opzion '--%s' no permet un argoment\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: opzion '--%s' no ricognossude\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: la opzion '-W %s' no permet un argoment\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: la opzion '-W %s' e à bisugne di un argoment\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Sît web di %s: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Il file systen al à une dimension di setôr logjic di %d.  Si sa che GNU "
+#~ "Parted nol lavore ben cun dimensions di setôr diviers di 512 byte."
index 539cbbebc7795b0e7e2b9d856123d05cbcfc3aa9..fc275c6f4101328a28d5f48e656f5acf9ddf1fb3 100644 (file)
Binary files a/po/gl.gmo and b/po/gl.gmo differ
index 075fe930ebcc8d50308d56f1e1af4563ece15750..6b8cd11213db6394f726ab4f28ee70704b41e7f2 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 3.1\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2012-11-11 15:50+0100\n"
 "Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
@@ -21,85 +21,66 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argumento incorrecto %s para %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argumento %s ambiguo para %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Os argumentos válidos son:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "erro de escritura"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Erro de sistema descoñecido"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: a opción «-W %s» é ambigua\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: a opción «%s» é ambigua; as posibilidades son:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: a opción «--%s» non permite ningún argumento\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: opción «%c%s» non recoñecida\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: a opción «%c%s» non permite ningún argumento\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: a opción «--%s» require un argumento\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: opción «--%s» non recoñecida\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: opción «%c%s» non recoñecida\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: opción incorrecta -- «%c»\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: a opción require un argumento -- «%c»\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: a opción «-W %s» é ambigua\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: a opción «-W %s» non permite ningún argumento\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: a opción «-W %s» require un argumento\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -119,85 +100,86 @@ msgstr "%s: a opción «-W %s» require un argumento\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "«"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "»"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Éxito"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Sen coincidencias"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Expresión regular non válida"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Carácter de ordenación incorrecto"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Nome da clase de caracteres incorrecto"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Barra invertida ao final"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr ""
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "[ ou [^ sen parella"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "( ou \\( sen parella"
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "\\{ sen parella"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Contido de \\{\\} non válido"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Fin de intervalo non válida"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Memoria esgotada"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Expresión regular precedente non válida"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Fin prematura da expresión regular"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Expresión regular grande de máis"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr ") ou \\) sen parella"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Non hai ningunha expresión regular anterior"
 
@@ -221,12 +203,12 @@ msgstr "^[sSyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Empaquetado por %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Empaquetado por %s\n"
@@ -234,18 +216,17 @@ msgstr "Empaquetado por %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Licenza GPL3v+: GNU GPL versión3  ou posterior <http://gnu.org/licenses/gpl."
@@ -255,19 +236,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Escrito por %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Escrito por %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Escrito por %s, %s e %s.\n"
@@ -275,7 +256,7 @@ msgstr "Escrito por %s, %s e %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -287,7 +268,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -299,7 +280,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -311,7 +292,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -323,7 +304,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -337,7 +318,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -351,7 +332,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -366,32 +347,26 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Envíe os informes de fallo a: %s\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Envíe os informes de fallo en %s a %s.\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Páxina web de %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Páxina web de %s: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr "Axuda xeral ao usar software GNU: <http://www.gnu.org/gethelp/>\n"
 
 #: lib/xalloc-die.c:34
@@ -418,60 +393,60 @@ msgid "Disk Image"
 msgstr "Imaxe de disco"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Produciuse un erro ao abrir %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Non foi posíbel abrir %s para lectura-escritura (%s). Abriuse %s para só "
 "lectura."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s mentres se ía á posición na que ler en %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s durante a lectura en %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Non foi posíbel escribir en %s, porque está aberto para só lectura."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s mentres se ía á posición na que escribir en %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s durante a escritura en %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Execute «%s --help» para obter máis información.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Uso: %s [OPCIÓN] [DISPOSITIVO]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -481,13 +456,13 @@ msgid ""
 "  -v, --version    output version information and exit\n"
 msgstr ""
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -533,7 +508,7 @@ msgstr ""
 "que Hurd non sabe nada sobre as modificacións que vostede fixo. Debería "
 "reiniciar o seu computador antes de facer nada con %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -546,45 +521,45 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s tentando sincronizar %s no disco"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Non foi posíbel facer \"stat\" sobre o dispositivo %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr ""
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
 "Using the default sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
 "Using the logical sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Non foi posíbel determinar o tamaño de %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "IDE xenérico"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Non foi posíbel obter a identidade do dispositivo %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "IDE xenérico"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -593,12 +568,12 @@ msgid ""
 "Please consult the web site for up-to-date information."
 msgstr ""
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Produciuse un erro ao inicializar o dispositivo SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -608,7 +583,7 @@ msgstr ""
 "ficheiros nin unha táboa de particións. Non seleccionaría un dispositivo "
 "equivocado?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -617,86 +592,99 @@ msgstr ""
 "Non foi posíbel determinar a xeometría do ficheiro/dispositivo %s. Non "
 "debería usar Parted se non sabe DE VERDADE o que está a facer!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr ""
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Novo dispositivo?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Controladora RAID DAC960"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr ""
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr ""
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Controladora ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Controladora I2O"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr ""
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Dispositivo de Loopback"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr ""
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Descoñecido"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Tipo de dispositivo non compatíbel"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr ""
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr ""
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -708,12 +696,12 @@ msgstr ""
 "que lle fixo a %s ata que reinicie -- así que non debería montala ou "
 "empregala de ningún xeito antes de reiniciar."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Non foi posíbel determinar o inicio e a lonxitude de %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -722,38 +710,38 @@ msgid ""
 "making further changes."
 msgstr ""
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr ""
 "O final da partición non pode estar antes do comezo! (sector inicial=%jd "
 "lonxitude=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Tentáronse escribir os sectores %ld-%ld fóra da partición en %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "buscando bloques erróneos"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr ""
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr ""
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: etiqueta de disco non recoñecida"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -762,39 +750,39 @@ msgstr ""
 "Esta versión de libparted non admite a escritura para %s. Se cadra está "
 "compilado para só lectura."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "A partición %d é %s, pero o sistema de ficheiros é %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr ""
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr ""
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, fuzzy, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Modificador de particións descoñecido, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "As etiquetas de disco %s non admiten particións estendidas."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "As etiquetas de disco %s non admiten particións lóxicas ou estendidas."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Demasiadas particións primarias."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -802,129 +790,129 @@ msgstr ""
 "Non é posíbel engadir unha partición lóxica a %s, porque non hai unha "
 "partición estendida."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Non é posíbel ter máis de unha partición estendida en %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Non é posíbel ter particións lóxicas fóra da partición estendida."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr ""
 "Non é posíbel ter unha partición lóxica fóra da partición estendida en %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr ""
 "Non é posíbel ter unha partición primaria dentro dunha partición estendida."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Non é posíbel ter unha partición fóra do disco!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Non é posíbel ter particións que se solapen."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadatos"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "libre"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "estendida"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "lóxica"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primaria"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "arranque"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "raíz"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "intercambio"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "oculta"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 #, fuzzy
 msgid "msftdata"
 msgstr "metadatos"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 #, fuzzy
 msgid "esp"
 msgstr "Si"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, fuzzy, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Modificador de particións descoñecido, %d."
@@ -990,33 +978,33 @@ msgid ""
 "containing at least the version (%s) and the following message:  "
 msgstr ""
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
 "A compatibilidade para ler etiquetas de disco AIX aínda non está "
 "implementada."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
 "A compatibilidade para escribir etiquetas de disco AIX aínda non está "
 "implementada."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "A compatibilidade para engadir particións a etiquetas de disco AIX aínda non "
 "está implementada."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "A compatibilidade para duplicar particións en etiquetas de disco AIX aínda "
 "non está implementada."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1024,184 +1012,299 @@ msgstr ""
 "A compatibilidade para definir o tipo de sistema de particións en etiquetas "
 "de disco AIX aínda non está implementada."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Non se poden move-las particións extendidas."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Non foi posíbel satisfacer todas as restricións da partición."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Non foi posíbel asignar un número de partición."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr ""
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr ""
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Táboa de particións incorrecta en %s -- sinatura %x incorrecta."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Táboa de particións incorrecta - partición recursiva en %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr ""
 "As particións estendidas non poden estar ocultas en etiquetas de disco msdos."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr ""
+"As particións estendidas non poden estar ocultas en etiquetas de disco msdos."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "non é posíbel crear máis particións"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr ""
 "%s non ten unha partición estendida (partición de cabeceira de volume)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 "A suma de comprobación é incorrecta, o que indica que a táboa de partición "
 "está danada."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Só as particións primarias poden ser particións raíz."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Só as particións primarias poden ser particións de intercambio."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Só as particións lóxicas poden ser un ficheiro de arranque."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
 "Only logical partitions (boot files) have a name."
 msgstr ""
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Demasiadas particións primarias."
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "erro de apertura"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "erro de lectura"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "erro de ioctl()"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr ""
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Tipo de disco non compatíbel"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Formato de disco non compatíbel"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "O disco está en uso"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Erro de sintaxe no ficheiro de configuración"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "A etiqueta do volume está danada"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Produciuse un erro ao asignar memoria"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Produciuse un erro ao comprobar o dispositivo"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr ""
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Erro moi grave"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr ""
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Non hai espazo para a información das particións."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr ""
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr ""
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Non foi posíbel recuperar a información da xeometría de disco."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Non foi posíbel recuperar a información da xeometría de disco."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr ""
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
 msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 #, fuzzy
 msgid "device is too small for GPT"
 msgstr "O sistema de ficheiros é pequeno de máis para ext2."
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1210,7 +1313,7 @@ msgstr ""
 "O formato da táboa de partición GPT é da versión %x, que é máis recente do "
 "que Parted pode recoñecer. Por favor infórmenos!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1218,7 +1321,7 @@ msgid ""
 "setting? "
 msgstr ""
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 #, fuzzy
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
@@ -1229,7 +1332,7 @@ msgstr ""
 "máis pequeno. Quere arranxalo, movendo a copia de seguridade ao final (e "
 "retirando a copia vella)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1238,7 +1341,7 @@ msgstr ""
 "Probe a crear unha táboa nova e a empregar a característica de rescate "
 "(rescue) de Parted para recuperar as particións."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1246,7 +1349,7 @@ msgstr ""
 "A copia de seguridade da táboa GPT está danada, pero a primaria semella "
 "estar ben, así que é a que se ha empregar."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1254,56 +1357,56 @@ msgstr ""
 "A táboa GPT primaria está danada, pero a copia de seguridade semella estar "
 "ben, así que é a que se ha empregar."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr ""
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "Non foi posíbel asignar un número de partición."
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Sinatura %x non válida para etiquetas de disco Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "O mapa de particións non ten unha entrada do mapa de particións!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s é pequeno de máis para unha etiqueta de disco Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "A partición %d ten unha sinatura %x non válida."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "A partición %d ten unha lonxitude non válida de 0 bytes!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "A rexión de datos non comeza no principio da partición."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "A rexión de arranque non comeza no principio da partición."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "A rexión de arranque da partición non ocupa toda a partición."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "A rexión de datos da partición non ocupa toda a partición."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1311,7 +1414,7 @@ msgstr ""
 "Tamaño de bloque estraño no descritor do dispositivo: %d bytes non é "
 "divisíbel por 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1320,11 +1423,11 @@ msgstr ""
 "O descritor do controlador di que o tamaño do bloque físico é %d bytes, pero "
 "Linux di que é de %d bytes."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Non se atopou un mapa de particións válido."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1333,11 +1436,11 @@ msgstr ""
 "Tamaños das entradas do mapa de particións conflitivos! A entrada 1 di que é "
 "de %d, pero a entrada %d di que é %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Estraño! Hai 2 entradas de mapa de particións!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1345,7 +1448,7 @@ msgstr ""
 "Cambiar o nome dunha partición raíz ou de intercambio ha impedir que Linux a "
 "recoñeza coma tal."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
 "Non é posíbel engadir outra partición -- o mapa de particións é pequeno de "
@@ -1369,74 +1472,70 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Non é posíbel engadir máis particións."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
 msgstr ""
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
 msgstr ""
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr ""
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr ""
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Produciuse un erro ao escribir o bloque de partición en %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Non foi posíbel asignar un número de partición."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Detectouse unha etiqueta de disco Sun danada."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1445,17 +1544,17 @@ msgstr ""
 "A xeometría CHS do disco (%d,%d,%d) indicada polo sistema operativo no "
 "coincide coa xeometría almacenada na etiqueta de disco (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "A etiqueta de disco describe un disco maior de %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "O disco ten %d cilindros, o que supera o máximo de 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1467,7 +1566,7 @@ msgstr ""
 "pode non arrancar sen ela, e SILO (o cargador de arranque de sparc) tamén a "
 "aprecia."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "A etiqueta de disco Sun está chea."
 
@@ -1487,61 +1586,61 @@ msgstr "produciuse un erro ao escribir no dispositivo"
 msgid "reading from device failed"
 msgstr "produciuse un erro ao ler do dispositivo"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Non foi posíbel ler a etiqueta de volume."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Non foi posíbel escribir a etiqueta de volume."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 #, fuzzy
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Non foi posíbel escribir a etiqueta de volume."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Memoria esgotada."
 
@@ -1564,73 +1663,73 @@ msgstr ""
 msgid "The maximum sector value is %d."
 msgstr ""
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "A localización de %s está fóra do dispositivo %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr ""
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s: non foi posíbel escribir o bloque %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr ""
@@ -1679,65 +1778,55 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "O sector de arranque de FAT di que o tamaño lóxico de sector é 0. Isto é moi "
 "estraño. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 "O sector de arranque de FAT di que non hai táboas FAT. Isto é moi estraño. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "O sector de arranque de FAT di que os clusters teñen 0 sectores. Isto é moi "
 "estraño. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "O sistema de ficheiros é FAT12, para o cal non hai compatibilidade."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr ""
 "Sinatura «%10s» da partición de intercambio de linux de antigo estilo non "
 "recoñecida."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr ""
 "Sinatura «%10s» da partición de intercambio de linux de novo estilo non "
 "recoñecida."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr ""
 "Sinatura «%9s» da partición de intercambio de linux swsusp non recoñecida."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Este sistema de ficheiros ten un tamaño de sector lóxico de %d. Sábese que "
-"GNU Parted non traballa correctamente con tamaños de sector distintos de 512 "
-"bytes."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1747,7 +1836,7 @@ msgid ""
 "geometry."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1766,7 +1855,7 @@ msgstr ""
 "Precisa %s de espazo libre para reducir esta partición a este tamaño "
 "(actualmente ten só hai %s libres)"
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
@@ -1774,14 +1863,14 @@ msgstr ""
 "Delta do comezo do cluster = %d, que non é un múltiplo do tamaño do cluster "
 "%d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Entrada de directorio incorrecta para %s: o primeiro cluster é o marcador de "
 "fin de ficheiro."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1789,7 +1878,7 @@ msgstr ""
 "FAT incorrecta: cadea non rematada para %s. Debería executar dosfsck ou "
 "scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1798,7 +1887,7 @@ msgstr ""
 "FAT incorrecta: o cluster %d está fóra do sistema de ficheiros na cadea para "
 "%s. Debería executar dosfsck ou scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1807,12 +1896,12 @@ msgstr ""
 "FAT incorrecta: o cluster %d ten ligazóns cruzadas para %s. Debería executar "
 "dosfsck ou scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s é de %dk, pero ten %d clusters (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1865,15 +1954,15 @@ msgstr ""
 "Non hai espazo dabondo no directorio raíz para todos os ficheiros. Pode ou "
 "ben cancelar, ou ben ignorar e perder os ficheiros."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Produciuse un erro ao escribir no directorio raíz."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "Se deixa o sistema de ficheiros como FAT16, non ha ter problemas."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1883,7 +1972,7 @@ msgstr ""
 "reinstalar o cargador de arranque de MS Windows. Se quere facelo, debería "
 "consultar o manual de Parted (ou o manual da súa distribución)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1891,7 +1980,7 @@ msgstr ""
 "Se deixa o sistema de ficheiros como FAT32, non ha introducir novos "
 "problemas."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1905,33 +1994,33 @@ msgstr ""
 "conversión a FAT32 fará o sistema de ficheiros ilexíbel para MS DOS, MS "
 "Windows 95a e MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Quere usar FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "O sistema de ficheiros só pode alcanzar este tamaño convertendo a FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "O sistema de ficheiros só pode alcanzar este tamaño convertendo a FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1975,67 +2064,67 @@ msgstr ""
 msgid "The file system is bigger than its volume!"
 msgstr "O sistema de ficheiros é maior que seu volume!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr ""
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:213
+#: libparted/fs/r/hfs/cache.c:214
 #, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
@@ -2108,120 +2197,120 @@ msgstr ""
 msgid "shrinking embedded HFS+ volume"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
@@ -2329,141 +2418,152 @@ msgstr ""
 "Licenza Pública Xeral de GNU para obter máis detalles.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(tempo restante %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, fuzzy, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr "Estase a usa-la partición %s."
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Esta(n)se a usar a(s) partición(s) de %s."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
 "will be lost. Do you want to continue?"
 msgstr ""
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Novo tipo de etiqueta de disco?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Tipo de partición?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Nome da partición?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Tipo de sistema de ficheiros?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Inicio?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Fin?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
 "The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
 msgstr ""
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
 msgstr ""
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "As etiquetas de disco %s non admiten particións estendidas."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Número de partición?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Modelo: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disco %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr ""
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Táboa de particións: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr ""
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Número"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Inicio"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Fin"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Tamaño"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Tipo"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Sistema de ficheiros"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Nome"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Modificadores"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Espazo libre"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2472,78 +2572,78 @@ msgstr ""
 "Atopouse unha partición %s %s en %s -> %s. Quere engadila á táboa de "
 "particións?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "buscando sistemas de ficheiros"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Novo dispositivo?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1721
 #, c-format
-msgid "%d not aligned\n"
+msgid "%d not aligned: %s\n"
 msgstr ""
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr ""
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Novo estado?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr ""
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr "help [ORDE]           mostrar axuda xeral, ou axuda sobre a ORDE"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2551,15 +2651,15 @@ msgstr ""
 "mklabel, mktable TIPO-ETIQUETA           crear unha nova etiqueta de disco "
 "(táboa de particións)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart TIPO-PARTICION [TIPO-FS] INICIO FIN        crear unha partición"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2568,27 +2668,27 @@ msgstr ""
 "partición. Debe especificarse TIPO-SF para definir un ID de partición "
 "axeitado.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
 "name NÚMERO NOME                         ponlle o NOME á partición NÚMERO"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2596,40 +2696,40 @@ msgstr ""
 "Sen argumentos, «print» mostra toda a táboa de particións. Aínda así cos "
 "seguintes argumentos realiza outras accións.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     saír do programa"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2637,126 +2737,126 @@ msgstr ""
 "rescue INICIO FIN                        recupera unha partición perdida "
 "entre INICIO e FIN"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 #, fuzzy
 msgid "resizepart"
 msgstr "resize"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "rm NÚMERO                                eliminar a partición NÚMERO"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm NÚMERO                                eliminar a partición NÚMERO"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr ""
 "select DISPOSITIVO                       escoller o dispositivo a editar"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "disk_set"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 #, fuzzy
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set MENOR MODIF ESTADO       cambiar un MODIFicador na partición MENOR"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Non se atopou ningún dispositivo"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Non esqueza actualizar /etc/fstab, se é necesario.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2767,7 +2867,7 @@ msgstr ""
 "Aplica a ORDE cos PARÁMETROS ao DISPOSITIVO. Se non se indica ningunha\n"
 "ORDE, funciona en modo interactivo.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2801,197 +2901,201 @@ msgid ""
 "consider important.\n"
 msgstr ""
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
 msgstr ""
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
 msgstr ""
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
 msgstr ""
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
 msgstr ""
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
 msgstr ""
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
 msgstr ""
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
 msgstr ""
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
 msgstr ""
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
 msgstr ""
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
 msgstr ""
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
 msgstr ""
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
 msgstr ""
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
 msgstr ""
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
 msgstr ""
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 msgstr ""
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
 msgstr ""
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
 msgstr ""
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
 msgstr ""
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
 msgstr ""
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
 msgstr ""
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr ""
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Espérase un número de partición."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "A partición non existe."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Espérase un tipo de sistema de ficheiros."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Tipo de sistema de ficheiros «%s» descoñecido."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Espérase un tipo de etiqueta de disco."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Non é posíbel crear máis particións."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Espérase un tipo de partición."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "on"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "off"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr ""
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr ""
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "OPCIÓNs:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "ORDEs:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3000,15 +3104,30 @@ msgstr ""
 "\n"
 "Envíe os informes de fallo a: %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Usando %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Esta orde non ten sentido nun modo non interactivo.\n"
 
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: a opción «--%s» non permite ningún argumento\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: opción «--%s» non recoñecida\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: a opción «-W %s» non permite ningún argumento\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: a opción «-W %s» require un argumento\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Páxina web de %s: <http://www.gnu.org/software/%s/>\n"
+
 #~ msgid "Failed to add partition %d (%s)"
 #~ msgstr "Produciuse un erro ao engadir a partición %d (%s)"
 
@@ -3033,6 +3152,14 @@ msgstr "Esta orde non ten sentido nun modo non interactivo.\n"
 #~ "emprega unha táboa de particións msdos. É esta unha táboa de particións "
 #~ "GPT?"
 
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Este sistema de ficheiros ten un tamaño de sector lóxico de %d. Sábese "
+#~ "que GNU Parted non traballa correctamente con tamaños de sector distintos "
+#~ "de 512 bytes."
+
 #~ msgid ""
 #~ "The sector size on %s is %d bytes.  Parted is known not to work properly "
 #~ "with drives with sector sizes other than %d bytes"
@@ -3288,9 +3415,6 @@ msgstr "Esta orde non ten sentido nun modo non interactivo.\n"
 #~ "As particións estendidass non poden ter sistemas de ficheiros. ¿Quería "
 #~ "executar mkpart?"
 
-#~ msgid "Can't move extended partitions."
-#~ msgstr "Non se poden move-las particións extendidas."
-
 #~ msgid "Can't move a partition onto itself.  Try using resize, perhaps?"
 #~ msgstr ""
 #~ "Non se pode mover unha partición a si mesma. ¿Non quererá usar resize?"
diff --git a/po/hu.gmo b/po/hu.gmo
new file mode 100644 (file)
index 0000000..07edd42
Binary files /dev/null and b/po/hu.gmo differ
diff --git a/po/hu.po b/po/hu.po
new file mode 100644 (file)
index 0000000..e0fe63e
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,3257 @@
+# Hungarian translation of parted
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the parted package.
+#
+# Szervác Attila <sas at 321 dot hu>, 2006.
+# Gabor Kelemen <kelemeng at ubuntu dot com>, 2016.
+msgid ""
+msgstr ""
+"Project-Id-Version: parted 3.1.90\n"
+"Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
+"PO-Revision-Date: 2016-05-27 20:34+0200\n"
+"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
+"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
+"Language: hu\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=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 1.5\n"
+"X-Launchpad-Export-Date: 2016-05-26 09:04+0000\n"
+
+#: lib/argmatch.c:132
+#, c-format
+msgid "invalid argument %s for %s"
+msgstr "a(z) %s argumentum érvénytelen a következőhöz: %s"
+
+#: lib/argmatch.c:133
+#, c-format
+msgid "ambiguous argument %s for %s"
+msgstr "a(z) „%s” argumentum nem egyértelmű a következőhöz: „%s”"
+
+#: lib/argmatch.c:152 lib/argmatch.h:223
+msgid "Valid arguments are:"
+msgstr "Az érvényes argumentumok a következők:"
+
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
+msgid "write error"
+msgstr "íráshiba"
+
+#: lib/error.c:195
+msgid "Unknown system error"
+msgstr "Ismeretlen rendszerhiba"
+
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: a „-W %s” kapcsoló nem egyértelmű\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s: a(z) „%s” kapcsoló nem egyértelmű, lehetőségek:"
+
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: a(z) „%c%s” kapcsoló ismeretlen\n"
+
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
+msgstr "%s: a(z) „%c%s” kapcsoló nem enged meg argumentumot\n"
+
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
+msgstr "%s: a(z) „--%s” kapcsolóhoz argumentum szükséges\n"
+
+#: lib/getopt.c:621
+#, c-format
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: érvénytelen kapcsoló -- „%c”\n"
+
+#: lib/getopt.c:636 lib/getopt.c:682
+#, c-format
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: a kapcsoló egy argumentumot igényel -- „%c”\n"
+
+#. TRANSLATORS:
+#. Get translations for open and closing quotation marks.
+#. The message catalog should translate "`" to a left
+#. quotation mark suitable for the locale, and similarly for
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
+#.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
+#.
+#. If you don't know what to put here, please see
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. and use glyphs suitable for your language.
+#: lib/quotearg.c:362
+msgid "`"
+msgstr "„"
+
+#: lib/quotearg.c:363
+msgid "'"
+msgstr "”"
+
+#: lib/regcomp.c:135
+msgid "Success"
+msgstr "Sikerült"
+
+#: lib/regcomp.c:138
+msgid "No match"
+msgstr "Nincs találat"
+
+#: lib/regcomp.c:141
+msgid "Invalid regular expression"
+msgstr "Érvénytelen reguláris kifejezés"
+
+#: lib/regcomp.c:144
+msgid "Invalid collation character"
+msgstr "Érvénytelen leválogatási karakter"
+
+#: lib/regcomp.c:147
+msgid "Invalid character class name"
+msgstr "Érvénytelen karakterosztálynév"
+
+#: lib/regcomp.c:150
+msgid "Trailing backslash"
+msgstr "Záró visszaper"
+
+#: lib/regcomp.c:153
+msgid "Invalid back reference"
+msgstr "Érvénytelen visszahivatkozás"
+
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
+msgstr "Pár nélküli [ vagy [^"
+
+#: lib/regcomp.c:159
+msgid "Unmatched ( or \\("
+msgstr "Pár nélküli ( vagy \\("
+
+#: lib/regcomp.c:162
+msgid "Unmatched \\{"
+msgstr "Pár nélküli \\{"
+
+#: lib/regcomp.c:165
+msgid "Invalid content of \\{\\}"
+msgstr "A \\{\\} tartalma érvénytelen"
+
+#: lib/regcomp.c:168
+msgid "Invalid range end"
+msgstr "Érvénytelen tartományvég"
+
+#: lib/regcomp.c:171
+msgid "Memory exhausted"
+msgstr "Elfogyott a memória"
+
+#: lib/regcomp.c:174
+msgid "Invalid preceding regular expression"
+msgstr "Érvénytelen megelőző szabályos kifejezés"
+
+#: lib/regcomp.c:177
+msgid "Premature end of regular expression"
+msgstr "A reguláris kifejezés túl korán véget ért"
+
+#: lib/regcomp.c:180
+msgid "Regular expression too big"
+msgstr "A reguláris kifejezés túl nagy"
+
+#: lib/regcomp.c:183
+msgid "Unmatched ) or \\)"
+msgstr "Pár nélküli ) vagy \\)"
+
+#: lib/regcomp.c:676
+msgid "No previous regular expression"
+msgstr "Nincs előző reguláris kifejezés"
+
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:150
+msgid "^[yY]"
+msgstr "^[iIyY]"
+
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:163
+msgid "^[nN]"
+msgstr "^[nN]"
+
+#: lib/version-etc.c:73
+#, c-format
+msgid "Packaged by %s (%s)\n"
+msgstr "Csomagolta: %s (%s)\n"
+
+#: lib/version-etc.c:76
+#, c-format
+msgid "Packaged by %s\n"
+msgstr "Csomagolta: %s\n"
+
+#. TRANSLATORS: Translate "(C)" to the copyright symbol
+#. (C-in-a-circle), if this symbol is available in the user's
+#. locale.  Otherwise, do not translate "(C)"; leave it as-is.
+#: lib/version-etc.c:83
+msgid "(C)"
+msgstr "(C)"
+
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"\n"
+"Licenc: GPLv3+: A GNU GPL 3. vagy újabb változata <http://gnu.org/licenses/"
+"gpl.html>\n"
+"Ez egy szabad szoftver: terjesztheti és/vagy módosíthatja.\n"
+"NINCS GARANCIA, a törvény által engedélyezett mértékig.\n"
+"\n"
+
+#. TRANSLATORS: %s denotes an author name.
+#: lib/version-etc.c:105
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Írta %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#: lib/version-etc.c:109
+#, c-format
+msgid "Written by %s and %s.\n"
+msgstr "Írta %s és %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#: lib/version-etc.c:113
+#, c-format
+msgid "Written by %s, %s, and %s.\n"
+msgstr "Írta %s, %s, és %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:120
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"and %s.\n"
+msgstr ""
+"Írta %s, %s, %s,\n"
+"és %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:127
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, and %s.\n"
+msgstr ""
+"Írta %s, %s, %s,\n"
+"%s, és %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:134
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, and %s.\n"
+msgstr ""
+"Írta %s, %s, %s,\n"
+"%s, %s, és %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:142
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, and %s.\n"
+msgstr ""
+"Írta %s, %s, %s,\n"
+"%s, %s, %s, és %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:150
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"and %s.\n"
+msgstr ""
+"Írta %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"és %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:159
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, and %s.\n"
+msgstr ""
+"Írta %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, és %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:170
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s, and others.\n"
+msgstr ""
+"Írta %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s, és mások.\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package.  Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
+msgstr ""
+"\n"
+"A hibák a(z) %s címen jelenthetők.\n"
+
+#: lib/version-etc.c:251
+#, c-format
+msgid "Report %s bugs to: %s\n"
+msgstr "A(z) %s hibái a(z) %s címen jelenthetők.\n"
+
+#: lib/version-etc.c:255 lib/version-etc.c:257
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "A(z) %s honlapja: <%s>\n"
+
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
+msgstr ""
+"Általános segítség a GNU szoftverek használatához: <http://www.gnu.org/"
+"gethelp/>\n"
+
+#: lib/xalloc-die.c:34
+msgid "memory exhausted"
+msgstr "elfogyott a memória"
+
+#: lib/xstrtol-error.c:63
+#, c-format
+msgid "invalid %s%s argument '%s'"
+msgstr "érvénytelen %s%s argumentum: „%s”"
+
+#: lib/xstrtol-error.c:68
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "érvénytelen utótag a(z) %s%s argumentumban: „%s”"
+
+#: lib/xstrtol-error.c:72
+#, c-format
+msgid "%s%s argument '%s' too large"
+msgstr "%s%s: a(z) „%s” argumentum túl nagy"
+
+#: libparted/arch/beos.c:245
+msgid "Disk Image"
+msgstr "Lemezkép"
+
+#: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
+#: libparted/arch/linux.c:1731
+#, c-format
+msgid "Error opening %s: %s"
+msgstr "Hiba %s megnyitása közben: %s"
+
+#: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
+#: libparted/arch/linux.c:1742
+#, c-format
+msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
+msgstr "%s nem nyitható meg írásra/olvasásra (%s). %s most csak olvasható."
+
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
+#, c-format
+msgid "%s during seek for read on %s"
+msgstr "%s olvasáshoz pozicionálás közben ezen: %s"
+
+#: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
+#, c-format
+msgid "%s during read on %s"
+msgstr "%s olvasáskor ezen: %s"
+
+#: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
+#: libparted/arch/linux.c:2026
+#, c-format
+msgid "Can't write to %s, because it is opened read-only."
+msgstr "%s nem írható, mert csak olvashatóként van megnyitva."
+
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
+#, c-format
+msgid "%s during seek for write on %s"
+msgstr "%s íráshoz pozicionálás közben ezen: %s"
+
+#: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
+#, c-format
+msgid "%s during write on %s"
+msgstr "%s írás közben ezen: %s"
+
+#: partprobe/partprobe.c:148
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "További információkért adja ki a(z) „%s --help” parancsot.\n"
+
+#: partprobe/partprobe.c:152
+#, c-format
+msgid "Usage: %s [OPTION] [DEVICE]...\n"
+msgstr "Használat: %s [KAPCSOLÓ] [ESZKÖZ]…\n"
+
+#: partprobe/partprobe.c:153
+msgid ""
+"Inform the operating system about partition table changes.\n"
+"\n"
+"  -d, --dry-run    do not actually inform the operating system\n"
+"  -s, --summary    print a summary of contents\n"
+"  -h, --help       display this help and exit\n"
+"  -v, --version    output version information and exit\n"
+msgstr ""
+"Az operációs rendszer értesítése a partíciós tábla változásairól.\n"
+"\n"
+"  -d, --dry-run    ne értesítse ténylegesen az operációs rendszert\n"
+"  -s, --summary    kontextusok összefoglalásának kiírása\n"
+"  -h, --help       súgó megjelenítése és kilépés\n"
+"  -v, --version    verzióinformációk kiírása és kilépés\n"
+
+#: partprobe/partprobe.c:161
+msgid ""
+"\n"
+"When no DEVICE is given, probe all partitions.\n"
+msgstr ""
+"\n"
+"Ha nincs megadva ESZKÖZ, az összes partíció szondázása.\n"
+
+#: partprobe/partprobe.c:165
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"A hibák a(z) <%s> címen jelenthetők.\n"
+
+#: libparted/arch/gnu.c:110
+#, c-format
+msgid "Unable to open %s."
+msgstr "%s nem nyitható meg."
+
+#: libparted/arch/gnu.c:130
+msgid "Unable to probe store."
+msgstr "A tároló nem szondázható."
+
+#: libparted/arch/gnu.c:368
+msgid ""
+"The partition table cannot be re-read.  This means you need to reboot before "
+"mounting any modified partitions.  You also need to reinstall your boot "
+"loader before you reboot (which may require mounting modified partitions).  "
+"It is impossible do both things!  So you'll need to boot off a rescue disk, "
+"and reinstall your boot loader from the rescue disk.  Read section 4 of the "
+"Parted User documentation for more information."
+msgstr ""
+"A partíciós tábla nem olvasható újra. Ez azt jelenti, hogy újra kell "
+"indítani a rendszert a módosított partíciók csatolása előtt. Az újraindítás "
+"előtt újra kell telepíteni a rendszertöltőt is (amihez szükség lehet a "
+"módosított partíciók csatolására). Mindkettőt lehetetlen megtenni. Emiatt "
+"egy mentő lemezről kell indítani a rendszert, és újratelepíteni a "
+"rendszertöltőt a mentő lemezről. További információkért lásd a Parted "
+"felhasználói dokumentáció 4. fejezetét."
+
+#: libparted/arch/gnu.c:385
+#, c-format
+msgid ""
+"The partition table on %s cannot be re-read (%s).  This means the Hurd knows "
+"nothing about any modifications you made.  You should reboot your computer "
+"before doing anything with %s."
+msgstr ""
+"Nem lehet újraolvasni %s partíciós tábláját (%s). A Hurd most nem tud semmit "
+"a változásokról. %s bármilyen felhasználása előtt újra kell indítani a gépet."
+
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
+msgid ""
+"You should reinstall your boot loader before rebooting.  Read section 4 of "
+"the Parted User documentation for more information."
+msgstr ""
+"A rendszertöltőt újraindítás előtt újra kell telepíteni. További "
+"információkért lásd a Parted felhasználói dokumentáció 4. fejezetét."
+
+#: libparted/arch/gnu.c:788
+#, c-format
+msgid "%s trying to sync %s to disk"
+msgstr "%s megpróbálja lemezre szinkronizálni ezt: %s"
+
+#: libparted/arch/linux.c:633
+#, c-format
+msgid "Could not stat device %s - %s."
+msgstr "Nem érhető el az eszköz: %s - %s."
+
+#: libparted/arch/linux.c:690
+#, c-format
+msgid "Unable to determine the dm type of %s."
+msgstr "Nem határozható meg %s dm típusa."
+
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
+#, c-format
+msgid ""
+"Could not determine sector size for %s: %s.\n"
+"Using the default sector size (%lld)."
+msgstr ""
+"Nem határozható meg %s szektormérete: %s.\n"
+"Az alap szektorméret (%lld) lesz felhasználva."
+
+#: libparted/arch/linux.c:795
+#, c-format
+msgid ""
+"Could not determine physical sector size for %s.\n"
+"Using the logical sector size (%lld)."
+msgstr ""
+"Nem határozható meg %s fizikai szektormérete.\n"
+"A logikai szektorméret (%lld) lesz felhasználva."
+
+#: libparted/arch/linux.c:855
+#, c-format
+msgid "Unable to determine the size of %s (%s)."
+msgstr "Nem sikerült megállapítani %s méretét (%s)."
+
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Általános IDE"
+
+#: libparted/arch/linux.c:963
+#, c-format
+msgid "Could not get identity of device %s - %s"
+msgstr "Nem sikerült azonosítani ezt az eszközt: %s - %s"
+
+#: libparted/arch/linux.c:994
+#, c-format
+msgid ""
+"Device %s has multiple (%d) logical sectors per physical sector.\n"
+"GNU Parted supports this EXPERIMENTALLY for some special disk label/file "
+"system combinations, e.g. GPT and ext2/3.\n"
+"Please consult the web site for up-to-date information."
+msgstr ""
+"%s eszköz fizikai szektorai több (%d) logikai szektort tartalmaznak.\n"
+"A GNU Parted ezt most KÍSÉRLETI módon támogatja egyes lemezcímke/"
+"fájlrendszer párokhoz, pl.: GPT és ext2/3.\n"
+"Nézze meg a weben elérhető dokumentációt."
+
+#: libparted/arch/linux.c:1172
+#, c-format
+msgid "Error initialising SCSI device %s - %s"
+msgstr "Hiba a SCSI eszköz előkészítésekor: %s - %s"
+
+#: libparted/arch/linux.c:1236
+#, c-format
+msgid ""
+"The device %s is so small that it cannot possibly store a file system or "
+"partition table.  Perhaps you selected the wrong device?"
+msgstr ""
+"%s eszköz olyan kicsi, hogy nem tárolhat fájlrendszert vagy partíciós "
+"táblát. Lehet, hogy rossz eszközt választott?"
+
+#: libparted/arch/linux.c:1349
+#, c-format
+msgid ""
+"Unable to determine geometry of file/device %s.  You should not use Parted "
+"unless you REALLY know what you're doing!"
+msgstr ""
+"Nem határozható meg a(z) %s fájl/eszköz geometriája. Ne használja a Parted-"
+"et, hacsak nem tudja BIZTOSAN, hogy mit csinál!"
+
+#: libparted/arch/linux.c:1410
+msgid "Generic SD/MMC Storage Card"
+msgstr "Általános SD/MMC tárolókártya"
+
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Új eszköz?"
+
+#: libparted/arch/linux.c:1483
+msgid "DAC960 RAID controller"
+msgstr "DAC960 RAID-vezérlő"
+
+#: libparted/arch/linux.c:1488
+msgid "Promise SX8 SATA Device"
+msgstr "Promise SX8 SATA eszköz"
+
+#: libparted/arch/linux.c:1493
+msgid "ATA over Ethernet Device"
+msgstr "ATA Ethernet fölött eszköz"
+
+#: libparted/arch/linux.c:1499
+msgid "IBM S390 DASD drive"
+msgstr "IBM S390 DASD eszköz"
+
+#: libparted/arch/linux.c:1505
+msgid "IBM iSeries Virtual DASD"
+msgstr "IBM iSeries virtuális DASD"
+
+#: libparted/arch/linux.c:1510
+msgid "Compaq Smart Array"
+msgstr "Compaq Smart tömb"
+
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
+msgid "ATARAID Controller"
+msgstr "ATARAID vezérlő"
+
+#: libparted/arch/linux.c:1530
+msgid "I2O Controller"
+msgstr "I2O vezérlő"
+
+#: libparted/arch/linux.c:1535
+msgid "User-Mode Linux UBD"
+msgstr "User-Mode Linux UBD"
+
+#: libparted/arch/linux.c:1545
+msgid "Loopback device"
+msgstr "Hurokeszköz"
+
+#: libparted/arch/linux.c:1553
+#, c-format
+msgid "Linux device-mapper (%s)"
+msgstr "Linux device-mapper (%s)"
+
+#: libparted/arch/linux.c:1564
+msgid "Xen Virtual Block Device"
+msgstr "Xen virtuális blokkeszköz"
+
+#: libparted/arch/linux.c:1569
+msgid "Unknown"
+msgstr "Ismeretlen"
+
+#: libparted/arch/linux.c:1578
+msgid "Virtio Block Device"
+msgstr "Virtio blokkeszköz"
+
+#: libparted/arch/linux.c:1583
+msgid "Linux Software RAID Array"
+msgstr "Linux szoftveres RAID tömb"
+
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
+msgid "ped_device_new()  Unsupported device type"
+msgstr "ped_device_new()  Nem támogatott eszköztípus"
+
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
+#, c-format
+msgid "Error fsyncing/closing %s: %s"
+msgstr "Hiba %s fsync/bezárás műveletekor: %s"
+
+#: libparted/arch/linux.c:1948
+#, c-format
+msgid "%0.0send of file while reading %s"
+msgstr "%0.0s fájl vége %s olvasásakor"
+
+#: libparted/arch/linux.c:2687
+#, c-format
+msgid ""
+"Error informing the kernel about modifications to partition %s -- %s.  This "
+"means Linux won't know about any changes you made to %s until you reboot -- "
+"so you shouldn't mount it or use it in any way before rebooting."
+msgstr ""
+"Nem sikerült a kernelt értesíteni a következő partíció módosításáról: %s -- "
+"%s. Ez azt jelenti, hogy a Linux az újraindításig nem fog tudni semmit %s "
+"változásairól - így semmi esetre se csatolja vagy használja azt egy "
+"újraindítás előtt."
+
+#: libparted/arch/linux.c:2807
+#, c-format
+msgid "Unable to determine the start and length of %s."
+msgstr "Nem határozható meg %s kezdete és hossza."
+
+#: libparted/arch/linux.c:3220
+#, c-format
+msgid ""
+"Partition(s) %s on %s have been written, but we have been unable to inform "
+"the kernel of the change, probably because it/they are in use.  As a result, "
+"the old partition(s) will remain in use.  You should reboot now before "
+"making further changes."
+msgstr ""
+"%s partíciókra írás történt ezen: %s, de nem lehetett a kernelt a "
+"változásról értesíteni, valószínűleg azért, mert használatban vannak. Ennek "
+"eredményeként a régi partíciók maradnak használatban. Indítsa újra a "
+"rendszert most, további módosítások végrehajtása előtt."
+
+#: libparted/cs/geom.c:163
+#, c-format
+msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
+msgstr "A vég nem lehet a kezdet előtt! (kezdő szektor=%jd, hossz=%jd)"
+
+#: libparted/cs/geom.c:379
+#, c-format
+msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
+msgstr "Kísérlet a partíción kívüli %ld-%ld szektorok írására ezen: %s."
+
+#: libparted/cs/geom.c:419
+msgid "checking for bad blocks"
+msgstr "hibás blokkok keresése"
+
+#: libparted/debug.c:97
+#, c-format
+msgid "Backtrace has %d calls on stack:\n"
+msgstr "A visszakövetésben %d hívás van a veremben:\n"
+
+#: libparted/debug.c:110
+#, c-format
+msgid "Assertion (%s) at %s:%d in function %s() failed."
+msgstr "A kijelentés (%s) itt: %s:%d, ezen függvényben: %s() meghiúsult."
+
+#: libparted/disk.c:194
+#, c-format
+msgid "%s: unrecognised disk label"
+msgstr "%s: ismeretlen lemezcímke"
+
+#: libparted/disk.c:487
+#, c-format
+msgid ""
+"This libparted doesn't have write support for %s.  Perhaps it was compiled "
+"read-only."
+msgstr ""
+"A libparted nem támogatja az írást ide: %s. Lehet, hogy csak olvasóként "
+"fordították."
+
+#: libparted/disk.c:632
+#, c-format
+msgid "Partition %d is %s, but the file system is %s."
+msgstr "A(z) %d. partíció %s, de a fájlrendszer %s."
+
+#: libparted/disk.c:841
+msgid "cylinder_alignment"
+msgstr "cylinder_alignment"
+
+#: libparted/disk.c:843
+msgid "pmbr_boot"
+msgstr "pmbr_boot"
+
+#: libparted/disk.c:848
+#, c-format
+msgid "Unknown disk flag, %d."
+msgstr "Ismeretlen lemezjelző, %d."
+
+#: libparted/disk.c:1289
+#, c-format
+msgid "%s disk labels do not support extended partitions."
+msgstr "%s lemez címkéi nem támogatják a kiterjesztett partíciókat."
+
+#: libparted/disk.c:1821
+#, c-format
+msgid "%s disk labels don't support logical or extended partitions."
+msgstr ""
+"A(z) %s lemezcímkék nem támogatják a logikai vagy kiterjesztett partíciókat."
+
+#: libparted/disk.c:1834
+msgid "Too many primary partitions."
+msgstr "Túl sok elsődleges partíció."
+
+#: libparted/disk.c:1843
+#, c-format
+msgid ""
+"Can't add a logical partition to %s, because there is no extended partition."
+msgstr "Kiterjesztett partíció nélkül nem készíthető logikai partíció ide: %s."
+
+#: libparted/disk.c:1867
+#, c-format
+msgid "Can't have more than one extended partition on %s."
+msgstr "Nem lehet egynél több kiterjesztett partíció itt: %s"
+
+#: libparted/disk.c:1877
+msgid "Can't have logical partitions outside of the extended partition."
+msgstr "Nem lehetnek logikai partíciók a kiterjesztetten kívül."
+
+#: libparted/disk.c:1902
+#, c-format
+msgid "Can't have a logical partition outside of the extended partition on %s."
+msgstr "Nem lehet logikai partíció a kiterjesztetten kívül itt: %s."
+
+#: libparted/disk.c:1912
+msgid "Can't have a primary partition inside an extended partition."
+msgstr "Nem lehet elsődleges partíció egy kiterjesztettben."
+
+#: libparted/disk.c:1921
+msgid "Can't have a partition outside the disk!"
+msgstr "Nem lehet partíció a lemezen kívül!"
+
+#: libparted/disk.c:1972 libparted/disk.c:2150
+msgid "Can't have overlapping partitions."
+msgstr "Nem lehetnek egymást átfedő partíciók."
+
+#: libparted/disk.c:2351
+msgid "metadata"
+msgstr "metaadatok"
+
+#: libparted/disk.c:2353
+msgid "free"
+msgstr "szabad"
+
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
+msgid "extended"
+msgstr "extended"
+
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
+msgid "logical"
+msgstr "logical"
+
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
+msgid "primary"
+msgstr "primary"
+
+#: libparted/disk.c:2375
+msgid "boot"
+msgstr "boot"
+
+#: libparted/disk.c:2377
+msgid "bios_grub"
+msgstr "bios_grub"
+
+#: libparted/disk.c:2379
+msgid "root"
+msgstr "root"
+
+#: libparted/disk.c:2381
+msgid "swap"
+msgstr "swap"
+
+#: libparted/disk.c:2383
+msgid "hidden"
+msgstr "hidden"
+
+#: libparted/disk.c:2385
+msgid "raid"
+msgstr "raid"
+
+#: libparted/disk.c:2387
+msgid "lvm"
+msgstr "lvm"
+
+#: libparted/disk.c:2389
+msgid "lba"
+msgstr "lba"
+
+#: libparted/disk.c:2391
+msgid "hp-service"
+msgstr "hp-service"
+
+#: libparted/disk.c:2393
+msgid "palo"
+msgstr "palo"
+
+#: libparted/disk.c:2395
+msgid "prep"
+msgstr "prep"
+
+#: libparted/disk.c:2397
+msgid "msftres"
+msgstr "msftres"
+
+#: libparted/disk.c:2399
+msgid "msftdata"
+msgstr "msftdata"
+
+#: libparted/disk.c:2401
+msgid "atvrecv"
+msgstr "atvrecv"
+
+#: libparted/disk.c:2403
+msgid "diag"
+msgstr "diag"
+
+#: libparted/disk.c:2405
+msgid "legacy_boot"
+msgstr "legacy_boot"
+
+#: libparted/disk.c:2407
+msgid "irst"
+msgstr "irst"
+
+#: libparted/disk.c:2409
+msgid "esp"
+msgstr "esp"
+
+#: libparted/disk.c:2415
+#, c-format
+msgid "Unknown partition flag, %d."
+msgstr "Ismeretlen partíciójelző: %d."
+
+#: libparted/exception.c:78
+msgid "Information"
+msgstr "Információ"
+
+#: libparted/exception.c:79
+msgid "Warning"
+msgstr "Figyelmeztetés"
+
+#: libparted/exception.c:80
+msgid "Error"
+msgstr "Hiba"
+
+#: libparted/exception.c:81
+msgid "Fatal"
+msgstr "Végzetes"
+
+#: libparted/exception.c:82
+msgid "Bug"
+msgstr "Programhiba"
+
+#: libparted/exception.c:83
+msgid "No Implementation"
+msgstr "Nincs megvalósítva"
+
+#: libparted/exception.c:87
+msgid "Fix"
+msgstr "Javítás"
+
+#: libparted/exception.c:88
+msgid "Yes"
+msgstr "Igen"
+
+#: libparted/exception.c:89
+msgid "No"
+msgstr "Nem"
+
+#: libparted/exception.c:90
+msgid "OK"
+msgstr "OK"
+
+#: libparted/exception.c:91
+msgid "Retry"
+msgstr "Újra"
+
+#: libparted/exception.c:92
+msgid "Ignore"
+msgstr "Mellőzés"
+
+#: libparted/exception.c:93
+msgid "Cancel"
+msgstr "Megszakítás"
+
+#: libparted/exception.c:133
+#, c-format
+msgid ""
+"A bug has been detected in GNU Parted.  Refer to the web site of parted "
+"http://www.gnu.org/software/parted/parted.html for more information of what "
+"could be useful for bug submitting!  Please email a bug report to %s "
+"containing at least the version (%s) and the following message:  "
+msgstr ""
+"Hiba a GNU Partedben. A hibajelentéshez hasznos információkért nézze meg a "
+"parted weboldalát itt: http://www.gnu.org/software/parted/parted.html A "
+"hibajelentést küldje el e-mailben ide: %s, írja meg legalább a verziót (%s), "
+"és a következő üzenetet:"
+
+#: libparted/labels/aix.c:91
+msgid "Support for reading AIX disk labels is is not implemented yet."
+msgstr "Az AIX lemezcímkék olvasásának támogatása még nincs megvalósítva."
+
+#: libparted/labels/aix.c:102
+msgid "Support for writing AIX disk labels is is not implemented yet."
+msgstr "Az AIX lemezcímkék írásának támogatása még nincs megvalósítva."
+
+#: libparted/labels/aix.c:115
+msgid ""
+"Support for adding partitions to AIX disk labels is not implemented yet."
+msgstr ""
+"A partíciók AIX lemezcímkékhez adásának támogatása még nincs megvalósítva."
+
+#: libparted/labels/aix.c:125
+msgid ""
+"Support for duplicating partitions in AIX disk labels is not implemented yet."
+msgstr ""
+"A partíciók AIX lemezcímkékben duplikálásának támogatása még nincs "
+"megvalósítva."
+
+#: libparted/labels/aix.c:143
+msgid ""
+"Support for setting system type of partitions in AIX disk labels is not "
+"implemented yet."
+msgstr ""
+"A partíciók rendszertípusának AIX lemezcímkékben való beállításának "
+"támogatása még nincs megvalósítva."
+
+#: libparted/labels/aix.c:153
+msgid "Support for setting flags in AIX disk labels is not implemented yet."
+msgstr ""
+"A jelzők AIX lemezcímkékben való beállításának támogatása még nincs "
+"megvalósítva."
+
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"A Parted nem tudja a(z) %d bájttól eltérő szektorméretű HFS fájlrendszereket "
+"kezelni."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
+msgid "Unable to satisfy all constraints on the partition."
+msgstr "Nem elégíthető ki minden korlátozás a partíción."
+
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Nem foglalható partíciószám."
+
+#: libparted/labels/bsd.c:592
+msgid "Unable to allocate a bsd disklabel slot."
+msgstr "Nem lehet BSD lemezcímke helyet foglalni."
+
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
+msgid "Unable to allocate a dasd disklabel slot"
+msgstr "Nem lehet dasd lemezcímke helyet foglalni"
+
+#: libparted/labels/dos.c:1003
+#, c-format
+msgid "Invalid partition table on %s -- wrong signature %x."
+msgstr "Érvénytelen partíciós tábla ezen: %s -- rossz %x aláírás."
+
+#: libparted/labels/dos.c:1031
+#, c-format
+msgid "Invalid partition table - recursive partition on %s."
+msgstr "Érvénytelen partíciós tábla - rekurzív partíció ezen: %s."
+
+#: libparted/labels/dos.c:1560
+msgid "Extended partitions cannot be hidden on msdos disk labels."
+msgstr "Kiterjesztett partíciók nem rejthetők el msdos lemezcímkéken."
+
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Kiterjesztett partíciók nem rejthetők el msdos lemezcímkéken."
+
+#: libparted/labels/dos.c:2258
+msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
+msgstr ""
+"A Parted nem tud átméretezni Windows Dynamic Disk által kezelt partíciókat."
+
+#: libparted/labels/dos.c:2514
+msgid "cannot create any more partitions"
+msgstr "nem lehet több partíciót létrehozni"
+
+#: libparted/labels/dvh.c:183
+#, c-format
+msgid "%s has no extended partition (volume header partition)."
+msgstr "%s nem tartalmaz kiterjesztett partíciót (kötetfejléc partíciót)."
+
+#: libparted/labels/dvh.c:309
+msgid "Checksum is wrong, indicating the partition table is corrupt."
+msgstr "Az ellenőrzőösszeg hibás, ez a partíciós tábla sérülését jelzi."
+
+#: libparted/labels/dvh.c:614
+msgid "Only primary partitions can be root partitions."
+msgstr "Csak elsődleges partíciók lehetnek gyökérpartíciók."
+
+#: libparted/labels/dvh.c:628
+msgid "Only primary partitions can be swap partitions."
+msgstr "Csak elsődleges partíciók lehetnek swap partíciók."
+
+#: libparted/labels/dvh.c:642
+msgid "Only logical partitions can be a boot file."
+msgstr "Csak logikai partíciók lehetnek indítófájlok."
+
+#: libparted/labels/dvh.c:719
+#, c-format
+msgid ""
+"failed to set dvh partition name to %s:\n"
+"Only logical partitions (boot files) have a name."
+msgstr ""
+"nem sikerült a dvh partíciónév beállítása erre: %s:\n"
+"Csak logikai partícióknak (indítófájlok) lehet nevük."
+
+#: libparted/labels/dvh.c:812
+msgid "Too many primary partitions"
+msgstr "Túl sok elsődleges partíció"
+
+#: libparted/labels/fdasd.c:136
+msgid "open error"
+msgstr "megnyitási hiba"
+
+#: libparted/labels/fdasd.c:139
+msgid "seek error"
+msgstr "pozicionálási hiba"
+
+#: libparted/labels/fdasd.c:142
+msgid "read error"
+msgstr "olvasási hiba"
+
+#: libparted/labels/fdasd.c:148
+msgid "ioctl() error"
+msgstr "ioctl() hiba"
+
+#: libparted/labels/fdasd.c:152
+msgid "API version mismatch"
+msgstr "API verzióeltérés"
+
+#: libparted/labels/fdasd.c:156
+msgid "Unsupported disk type"
+msgstr "Nem támogatott lemeztípus"
+
+#: libparted/labels/fdasd.c:160
+msgid "Unsupported disk format"
+msgstr "Nem támogatott lemezformátum"
+
+#: libparted/labels/fdasd.c:164
+msgid "Disk is in use"
+msgstr "A lemez használatban van"
+
+#: libparted/labels/fdasd.c:168
+msgid "Syntax error in config file"
+msgstr "Szintaktikai hiba a beállítófájlban"
+
+#: libparted/labels/fdasd.c:172
+msgid "Volume label is corrupted"
+msgstr "A kötetcímke sérült"
+
+#: libparted/labels/fdasd.c:176
+msgid "A data set name is corrupted"
+msgstr "Egy adathalmaz neve sérült"
+
+#: libparted/labels/fdasd.c:180
+msgid "Memory allocation failed"
+msgstr "A memóriafoglalás meghiúsult"
+
+#: libparted/labels/fdasd.c:184
+msgid "Device verification failed"
+msgstr "Az eszközellenőrzés meghiúsult"
+
+#: libparted/labels/fdasd.c:185
+msgid "The specified device is not a valid DASD device"
+msgstr "A megadott eszköz nem érvényes DASD eszköz"
+
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
+msgid "Fatal error"
+msgstr "Végzetes hiba"
+
+#: libparted/labels/fdasd.c:243
+msgid "No room for volume label."
+msgstr "Nincs hely a kötetcímkének."
+
+#: libparted/labels/fdasd.c:251
+msgid "No room for partition info."
+msgstr "Nincs hely a partícióinformációknak."
+
+#: libparted/labels/fdasd.c:828
+msgid "Invalid VTOC."
+msgstr "Érvénytelen VTOC."
+
+#: libparted/labels/fdasd.c:912
+msgid "Could not retrieve API version."
+msgstr "Nem kérhető le az API verzió."
+
+#: libparted/labels/fdasd.c:915
+#, c-format
+msgid ""
+"The current API version '%d' doesn't match dasd driver API version '%d'!"
+msgstr ""
+"A jelenlegi API verzió („%d”) nem felel meg a dasd illesztőprogram API "
+"verziójának („%d”)!"
+
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Nem sikerült lekérni a lemezinformációkat."
+
+#: libparted/labels/fdasd.c:1029
+msgid "Could not retrieve disk geometry information."
+msgstr "Nem sikerült lekérni a lemezgeometria-információkat."
+
+#: libparted/labels/fdasd.c:1035
+msgid "Could not retrieve blocksize information."
+msgstr "Nem sikerült lekérni a blokkméret-információkat."
+
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
+
+#: libparted/labels/gpt.c:531
+msgid "device is too small for GPT"
+msgstr "az eszköz túl kicsi a GPT-hez"
+
+#: libparted/labels/gpt.c:733
+#, c-format
+msgid ""
+"The format of the GPT partition table is version %x, which is newer than "
+"what Parted can recognise.  Please report this!"
+msgstr ""
+"A GPT partíciós tábla formátuma %x verziójú, ami újabb a Parted által "
+"felismerhetőnél. Jelentse be ezt hibaként!"
+
+#: libparted/labels/gpt.c:769
+#, c-format
+msgid ""
+"Not all of the space available to %s appears to be used, you can fix the GPT "
+"to use all of the space (an extra %llu blocks) or continue with the current "
+"setting? "
+msgstr ""
+"Nem minden, %s számára elérhető hely tűnik használatban lévőnek. Javíthatja "
+"a GPT-t az összes hely (további %llu blokk) felhasználásához, vagy "
+"folytathatja a jelenlegi beállításokkal."
+
+#: libparted/labels/gpt.c:1008
+msgid ""
+"The backup GPT table is not at the end of the disk, as it should be.  Fix, "
+"by moving the backup to the end (and removing the old backup)?"
+msgstr ""
+"A tartalék GPT tábla nem a lemez végén van, ahol lennie kellene. Javítja a "
+"tartalék áthelyezésével a végére (és a régi tartalék törlésével)?"
+
+#: libparted/labels/gpt.c:1026
+msgid ""
+"Both the primary and backup GPT tables are corrupt.  Try making a fresh "
+"table, and using Parted's rescue feature to recover partitions."
+msgstr ""
+"Az elsődleges GPT tábla és a tartalék is sérült. Próbáljon egy újat "
+"készíteni, és a Parted rescue funkciójával visszaállítani a partíciókat."
+
+#: libparted/labels/gpt.c:1037
+msgid ""
+"The backup GPT table is corrupt, but the primary appears OK, so that will be "
+"used."
+msgstr ""
+"A tartalék GPT tábla sérült, de az elsődleges jónak tűnik, így az lesz "
+"felhasználva."
+
+#: libparted/labels/gpt.c:1049
+msgid ""
+"The primary GPT table is corrupt, but the backup appears OK, so that will be "
+"used."
+msgstr ""
+"Az elsődleges GPT tábla sérült, de a tartalék jónak tűnik, így az lesz "
+"felhasználva."
+
+#: libparted/labels/gpt.c:1073
+msgid "primary partition table array CRC mismatch"
+msgstr "elsődleges partícióstábla-tömb CRC eltérés"
+
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
+msgid "failed to translate partition name"
+msgstr "a partíciónév fordítása meghiúsult"
+
+#: libparted/labels/mac.c:185
+#, c-format
+msgid "Invalid signature %x for Mac disk labels."
+msgstr "Érvénytelen %x aláírás a Mac lemez címkékhez."
+
+#: libparted/labels/mac.c:232
+msgid "Partition map has no partition map entry!"
+msgstr "A partíciótérképen nincs partíciótérkép bejegyzés."
+
+#: libparted/labels/mac.c:280
+#, c-format
+msgid "%s is too small for a Mac disk label!"
+msgstr "%s túl kicsi egy Mac lemezcímkéhez."
+
+#: libparted/labels/mac.c:507
+#, c-format
+msgid "Partition %d has an invalid signature %x."
+msgstr "%d. partíció %x aláírása érvénytelen."
+
+#: libparted/labels/mac.c:524
+#, c-format
+msgid "Partition %d has an invalid length of 0 bytes!"
+msgstr "%d. partíció hossza érvénytelen, 0 bájt."
+
+#: libparted/labels/mac.c:555
+msgid "The data region doesn't start at the start of the partition."
+msgstr "Az adatterület nem a partíció elején kezdődik."
+
+#: libparted/labels/mac.c:572
+msgid "The boot region doesn't start at the start of the partition."
+msgstr "A boot terület nem a partíció elején kezdődik."
+
+#: libparted/labels/mac.c:586
+msgid "The partition's boot region doesn't occupy the entire partition."
+msgstr "A partíció boot területe nem fedi le a teljes partíciót."
+
+#: libparted/labels/mac.c:597
+msgid "The partition's data region doesn't occupy the entire partition."
+msgstr "A partíció adatterülete nem fedi le a teljes partíciót."
+
+#: libparted/labels/mac.c:649
+#, c-format
+msgid ""
+"Weird block size on device descriptor: %d bytes is not divisible by 512."
+msgstr "Fura blokkméret az eszközleírón: %d bájt nem osztható 512-vel."
+
+#: libparted/labels/mac.c:662
+#, c-format
+msgid ""
+"The driver descriptor says the physical block size is %d bytes, but Linux "
+"says it is %d bytes."
+msgstr ""
+"Az illesztőprogram-leíró szerint a fizikai blokkméret %d bájt, de az a Linux "
+"szerint %d bájt."
+
+#: libparted/labels/mac.c:715
+msgid "No valid partition map found."
+msgstr "Nincs érvényes partíciótérkép."
+
+#: libparted/labels/mac.c:789
+#, c-format
+msgid ""
+"Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
+"says it is %d!"
+msgstr ""
+"A partíciótérkép bejegyzésméretei ütköznek. Az 1. bejegyzés szerint %d, %d. "
+"szerint %d!"
+
+#: libparted/labels/mac.c:820
+msgid "Weird!  There are 2 partitions map entries!"
+msgstr "Fura! Két partíciótérkép-bejegyzés van!"
+
+#: libparted/labels/mac.c:1359
+msgid ""
+"Changing the name of a root or swap partition will prevent Linux from "
+"recognising it as such."
+msgstr ""
+"Egy gyökér vagy swap partíció nevének megváltoztatása megakadályozza, hogy a "
+"Linux akként felismerje."
+
+#: libparted/labels/mac.c:1458
+msgid "Can't add another partition -- the partition map is too small!"
+msgstr "Nem vehető fel másik partíció -- a partíciótérkép túl kicsi!"
+
+#: libparted/labels/pc98.c:284
+#, c-format
+msgid "Invalid partition table on %s."
+msgstr "Érvénytelen partíciós tábla ezen: %s."
+
+#: libparted/labels/pc98.c:337 libparted/labels/pc98.c:415
+#, c-format
+msgid ""
+"Partition %d isn't aligned to cylinder boundaries.  This is still "
+"unsupported."
+msgstr "%d. partíció nem igazodik a cilinderhatárokhoz. Ez még nem támogatott."
+
+#: libparted/labels/pc98.c:733
+msgid "Can't add another partition."
+msgstr "Nem vehető fel másik partíció."
+
+#: libparted/labels/pt-tools.c:134
+#, c-format
+msgid ""
+"partition length of %jd sectors exceeds the %s-partition-table-imposed "
+"maximum of %jd"
+msgstr ""
+"a(z) %jd szektoros partícióhossz meghaladja a(z) %s partíciós tábla által "
+"előírt %jd maximumot"
+
+#: libparted/labels/pt-tools.c:147
+#, c-format
+msgid ""
+"starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
+"of %jd"
+msgstr ""
+"a kezdő %jd szektorszám meghaladja a(z) %s partíciós tábla által előírt %jd "
+"maximumot"
+
+#: libparted/labels/rdb.c:170
+#, c-format
+msgid "%s : Bad checksum on block %llu of type %s."
+msgstr "%s: Hibás ellenőrzőösszeg a(z) %llu blokkon (típus: %s)."
+
+#: libparted/labels/rdb.c:486
+#, c-format
+msgid "%s : Didn't find rdb block, should never happen."
+msgstr "%s: Nem található rdb blokk, ez nem fordulhatna elő."
+
+#: libparted/labels/rdb.c:575
+#, c-format
+msgid "%s : Loop detected at block %d."
+msgstr "%s: Hurok található a(z) %d. blokkban."
+
+#: libparted/labels/rdb.c:594
+#, c-format
+msgid "%s : The %s list seems bad at block %s."
+msgstr "%s: a(z) %s lista hibásnak tűnik ebben a blokkban: %s."
+
+#: libparted/labels/rdb.c:693
+#, c-format
+msgid "%s : Failed to list bad blocks."
+msgstr "%s: A hibás blokkok kiírása sikertelen."
+
+#: libparted/labels/rdb.c:701
+#, c-format
+msgid "%s : Failed to list partition blocks."
+msgstr "%s: A partícióblokkok kiírása sikertelen."
+
+#: libparted/labels/rdb.c:709
+#, c-format
+msgid "%s : Failed to list file system blocks."
+msgstr "%s: A fájlrendszerblokkok kiírása sikertelen."
+
+#: libparted/labels/rdb.c:717
+#, c-format
+msgid "%s : Failed to list boot blocks."
+msgstr "%s: Az indítóblokkok kiírása sikertelen."
+
+#: libparted/labels/rdb.c:744
+#, c-format
+msgid "Failed to write partition block at %d."
+msgstr "A partícióblokk írása sikertelen itt: %d."
+
+#: libparted/labels/sun.c:162
+msgid "Corrupted Sun disk label detected."
+msgstr "Sérült Sun lemezcímke észlelve."
+
+#: libparted/labels/sun.c:277
+#, c-format
+msgid ""
+"The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
+"match the geometry stored on the disk label (%d,%d,%d)."
+msgstr ""
+"A lemez operációs rendszer által jelzett CHS geometriája (%d,%d,%d) nem "
+"egyezik a lemezcímkén tárolttal (%d,%d,%d)."
+
+#: libparted/labels/sun.c:299
+#, c-format
+msgid "The disk label describes a disk bigger than %s."
+msgstr "A lemezcímke nagyobb lemezt ír le, mint %s."
+
+#: libparted/labels/sun.c:474
+#, c-format
+msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
+msgstr "A lemez %d cilinderű, ami nagyobb, mint a maximális 65536."
+
+#: libparted/labels/sun.c:813
+msgid ""
+"The Whole Disk partition is the only available one left.  Generally, it is "
+"not a good idea to overwrite this partition with a real one.  Solaris may "
+"not be able to boot without it, and SILO (the sparc boot loader) appreciates "
+"it as well."
+msgstr ""
+"Már csak a Teljes lemez partíció elérhető. Általában nem jó ötlet ezt "
+"felülírni egy valódival. A Solaris nem biztos, hogy elindul enélkül, és a "
+"SILO (a sparc boot betöltő) is értékeli a jelenlétét."
+
+#: libparted/labels/sun.c:828
+msgid "Sun disk label is full."
+msgstr "A Sun lemezcímke betelt."
+
+#: libparted/labels/vtoc.c:164
+msgid "opening of device failed"
+msgstr "Az eszköz megnyitása sikertelen"
+
+#: libparted/labels/vtoc.c:168
+msgid "seeking on device failed"
+msgstr "a pozicionálás az eszközön sikertelen"
+
+#: libparted/labels/vtoc.c:172
+msgid "writing to device failed"
+msgstr "az eszközre írás sikertelen"
+
+#: libparted/labels/vtoc.c:176
+msgid "reading from device failed"
+msgstr "az eszközről olvasás sikertelen"
+
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
+msgid "Could not read volume label."
+msgstr "A kötetcímke nem olvasható."
+
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
+msgid "Could not write volume label."
+msgstr "A kötetcímke nem írható."
+
+#: libparted/labels/vtoc.c:537
+msgid "Could not read VTOC labels."
+msgstr "A VTOC címkék nem olvashatók."
+
+#: libparted/labels/vtoc.c:543
+msgid "Could not read VTOC FMT1 DSCB."
+msgstr "A VTOC FMT1 DSCB nem olvasható."
+
+#: libparted/labels/vtoc.c:550
+msgid "Could not read VTOC FMT4 DSCB."
+msgstr "A VTOC FMT4 DSCB nem olvasható."
+
+#: libparted/labels/vtoc.c:557
+msgid "Could not read VTOC FMT5 DSCB."
+msgstr "A VTOC FMT5 DSCB nem olvasható."
+
+#: libparted/labels/vtoc.c:564
+msgid "Could not read VTOC FMT7 DSCB."
+msgstr "A VTOC FMT7 DSCB nem olvasható."
+
+#: libparted/labels/vtoc.c:585
+msgid "Could not write VTOC labels."
+msgstr "A VTOC címkék nem írhatók."
+
+#: libparted/labels/vtoc.c:591
+msgid "Could not write VTOC FMT1 DSCB."
+msgstr "A VTOC FMT1 DSCB nem írható."
+
+#: libparted/labels/vtoc.c:598
+msgid "Could not write VTOC FMT4 DSCB."
+msgstr "A VTOC FMT4 DSCB nem írható."
+
+#: libparted/labels/vtoc.c:605
+msgid "Could not write VTOC FMT5 DSCB."
+msgstr "A VTOC FMT5 DSCB nem írható."
+
+#: libparted/labels/vtoc.c:612
+msgid "Could not write VTOC FMT7 DSCB."
+msgstr "A VTOC FMT7 DSCB nem írható."
+
+#: libparted/labels/vtoc.c:622
+msgid "Could not write VTOC FMT9 DSCB."
+msgstr "A VTOC FMT9 DSCB nem írható."
+
+#: libparted/libparted.c:242
+msgid "Out of memory."
+msgstr "Elfogyott a memória."
+
+#: libparted/unit.c:139
+msgid "Cannot get unit size for special unit 'COMPACT'."
+msgstr "Nem kérhető le az egységméret a speciális „COMPACT” egységhez."
+
+#: libparted/unit.c:385
+#, c-format
+msgid "\"%s\" has invalid syntax for locations."
+msgstr "„%s” érvénytelen szintaxist tartalmaz a helyekhez."
+
+#: libparted/unit.c:393
+#, c-format
+msgid "The maximum head value is %d."
+msgstr "A maximális fej érték %d."
+
+#: libparted/unit.c:400
+#, c-format
+msgid "The maximum sector value is %d."
+msgstr "A maximális szektor érték %d."
+
+#: libparted/unit.c:412 libparted/unit.c:564
+#, c-format
+msgid "The location %s is outside of the device %s."
+msgstr "%s hely kívül esik ezen az eszközön: %s."
+
+#: libparted/unit.c:526
+msgid "Invalid number."
+msgstr "Érvénytelen szám."
+
+#: libparted/unit.c:532
+msgid "Use a smaller unit instead of a value < 1"
+msgstr "Az 1-nél kisebb érték helyett használjon kisebb egységet."
+
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
+#, c-format
+msgid "%s : Failed to allocate partition block\n"
+msgstr "%s: Partícióblokk foglalása sikertelen\n"
+
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
+#, c-format
+msgid "%s : Failed to allocate block\n"
+msgstr "%s: Blokk foglalása sikertelen\n"
+
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
+#, c-format
+msgid "%s : Couldn't read boot block %llu\n"
+msgstr "%s: Nem olvasható a(z) %llu. indító blokk\n"
+
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
+#, c-format
+msgid "%s : Couldn't read root block %llu\n"
+msgstr "%s: Nem olvasható a(z) %llu. gyökér blokk\n"
+
+#: libparted/fs/amiga/amiga.c:72
+#, c-format
+msgid "%s : Failed to allocate id list element\n"
+msgstr "%s: Azonosítólista elem foglalása sikertelen\n"
+
+#: libparted/fs/amiga/amiga.c:189
+#, c-format
+msgid "%s : Couldn't read block %llu\n"
+msgstr "%s: Nem olvasható a(z) %llu. blokk\n"
+
+#: libparted/fs/amiga/amiga.c:202
+#, c-format
+msgid "%s : Bad checksum on block %llu of type %s\n"
+msgstr "%s: Hibás ellenőrzőösszeg a(z) %llu blokkon (típus: %s)\n"
+
+#: libparted/fs/amiga/amiga.c:212
+#, c-format
+msgid "%s : Couldn't write block %d\n"
+msgstr "%s: Nem írható a(z) %d. blokk\n"
+
+#: libparted/fs/amiga/amiga.c:278
+#, c-format
+msgid "%s : Failed to allocate disk_specific rdb block\n"
+msgstr "%s: A disk_specific rdb blokk foglalása sikertelen\n"
+
+#: libparted/fs/amiga/amiga.c:289
+#, c-format
+msgid "%s : Didn't find rdb block, should never happen\n"
+msgstr "%s: Nem található rdb blokk, ez nem fordulhatna elő\n"
+
+#: libparted/fs/amiga/amiga.c:318
+#, c-format
+msgid "%s : Failed to read partition block %llu\n"
+msgstr "%s: A(z) %llu. partícióblokk foglalása sikertelen\n"
+
+#: libparted/fs/fat/fat.c:148 libparted/fs/r/fat/fat.c:811
+msgid ""
+"GNU Parted was miscompiled: the FAT boot sector should be 512 bytes.  FAT "
+"support will be disabled."
+msgstr ""
+"A GNU Parted hibásan lett lefordítva: a FAT indítószektornak 512 bájtnak "
+"kell lennie. A FAT támogatás le lesz tiltva."
+
+#: libparted/fs/fat/bootsector.c:50 libparted/fs/r/fat/bootsector.c:49
+msgid "File system has an invalid signature for a FAT file system."
+msgstr "A fájlrendszer aláírása érvénytelen a FAT fájlrendszerhez."
+
+#: libparted/fs/fat/bootsector.c:58 libparted/fs/r/fat/bootsector.c:57
+msgid "File system has an invalid sector size for a FAT file system."
+msgstr "A fájlrendszer szektormérete érvénytelen a FAT fájlrendszerhez."
+
+#: libparted/fs/fat/bootsector.c:65 libparted/fs/r/fat/bootsector.c:64
+msgid "File system has an invalid cluster size for a FAT file system."
+msgstr "A fájlrendszer fürtmérete érvénytelen a FAT fájlrendszerhez."
+
+#: libparted/fs/fat/bootsector.c:72 libparted/fs/r/fat/bootsector.c:71
+msgid ""
+"File system has an invalid number of reserved sectors for a FAT file system."
+msgstr ""
+"A fájlrendszer fenntartott szektorainak száma érvénytelen a FAT "
+"fájlrendszerhez."
+
+#: libparted/fs/fat/bootsector.c:79 libparted/fs/r/fat/bootsector.c:78
+msgid "File system has an invalid number of FATs."
+msgstr "A fájlrendszer FAT-jainak száma érvénytelen."
+
+#: libparted/fs/fat/bootsector.c:162
+#, c-format
+msgid ""
+"The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
+"partition table's CHS geometry is (%d, %d, %d)."
+msgstr ""
+"A fájlrendszer CHS geometriája (%d, %d, %d) érvénytelen. A partíciós tábla "
+"CHS geometriája (%d, %d, %d)."
+
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
+msgid "FAT boot sector says logical sector size is 0.  This is weird. "
+msgstr "A FAT boot szektor szerint a logikai szektorméret 0. Fura. "
+
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
+msgid "FAT boot sector says there are no FAT tables.  This is weird. "
+msgstr "A FAT boot szektor szerint nincsenek FAT táblák. Fura. "
+
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
+msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
+msgstr "A FAT boot szektor szerint a fürtök 0 szektorosak. Fura. "
+
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
+msgid "File system is FAT12, which is unsupported."
+msgstr "A fájlrendszer FAT12, ami nem támogatott."
+
+#: libparted/fs/linux_swap/linux_swap.c:231
+#, c-format
+msgid "Unrecognised old style linux swap signature '%10s'."
+msgstr "Ismeretlen régi stílusú linux swap aláírás: „%10s”."
+
+#: libparted/fs/linux_swap/linux_swap.c:269
+#, c-format
+msgid "Unrecognised new style linux swap signature '%10s'."
+msgstr "Ismeretlen új stílusú linux swap aláírás: „%10s”."
+
+#: libparted/fs/linux_swap/linux_swap.c:309
+#, c-format
+msgid "Unrecognised swsusp linux swap signature '%9s'."
+msgstr "Ismeretlen swsusp linux swap aláírás: „%9s”."
+
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
+#, c-format
+msgid ""
+"Parted can't use HFS file systems on disks with a sector size not equal to "
+"%d bytes."
+msgstr ""
+"A Parted nem tudja a(z) %d bájttól eltérő szektorméretű HFS fájlrendszereket "
+"kezelni."
+
+#: libparted/fs/r/fat/bootsector.c:145
+#, c-format
+msgid ""
+"The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
+"partition table's CHS geometry is (%d, %d, %d).  If you select Ignore, the "
+"file system's CHS geometry will be left unchanged.  If you select Fix, the "
+"file system's CHS geometry will be set to match the partition table's CHS "
+"geometry."
+msgstr ""
+"A fájlrendszer CHS geometriája (%d, %d, %d), ami érvénytelen. A partíciós "
+"tábla CHS geometriája (%d, %d, %d). Ha a Mellőzést választja, a fájlrendszer "
+"CHS geometriája változatlan marad. Ha a Javítást választja, a fájlrendszer "
+"CHS geometriája a partíciós tábla CHS geometriájának megfelelően lesz "
+"beállítva."
+
+#: libparted/fs/r/fat/bootsector.c:399
+#, c-format
+msgid ""
+"The information sector has the wrong signature (%x).  Select cancel for now, "
+"and send in a bug report.  If you're desperate, it's probably safe to ignore."
+msgstr ""
+"Az információs szektorban hibás aláírás van (%x). Egyelőre válassza a "
+"Megszakítás lehetőséget, és küldjön hibajelentést. Ha nagyon eltökélt, ez "
+"valószínűleg biztonsággal figyelmen kívül hagyható."
+
+#: libparted/fs/r/fat/calc.c:134
+#, c-format
+msgid ""
+"You need %s of free disk space to shrink this partition to this size.  "
+"Currently, only %s is free."
+msgstr ""
+"%s szabad lemezhely szükséges a partíció átméretezéséhez a megadott méretre. "
+"Most csak %s szabad."
+
+#: libparted/fs/r/fat/context.c:56
+#, c-format
+msgid ""
+"Cluster start delta = %d, which is not a multiple of the cluster size %d."
+msgstr "A fürt kezdeti eltérése = %d, ami nem a(z) %d fürtméret többszöröse."
+
+#: libparted/fs/r/fat/count.c:144
+#, c-format
+msgid "Bad directory entry for %s: first cluster is the end of file marker."
+msgstr "Hibás könyvtárbejegyzés ehhez: %s: az első fürt a fájl vége jelző."
+
+#: libparted/fs/r/fat/count.c:157
+#, c-format
+msgid ""
+"Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
+msgstr ""
+"Hibás FAT: befejezetlen lánc ehhez: %s. Futtassa a dosfsck vagy a scandisk "
+"programot."
+
+#: libparted/fs/r/fat/count.c:166
+#, c-format
+msgid ""
+"Bad FAT: cluster %d outside file system in chain for %s.  You should run "
+"dosfsck or scandisk."
+msgstr ""
+"Hibás FAT: a(z) %d. fürt kívül esik a fájlrendszeren %s láncában. Futtassa a "
+"dosfsck vagy a scandisk programot."
+
+#: libparted/fs/r/fat/count.c:176
+#, c-format
+msgid ""
+"Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
+"scandisk."
+msgstr ""
+"Hibás FAT: a(z) %d. fürt kereszthivatkozva van ehhez: %s. Futtassa a dosfsck "
+"vagy a scandisk programot."
+
+#: libparted/fs/r/fat/count.c:195
+#, c-format
+msgid "%s is %dk, but it has %d clusters (%dk)."
+msgstr "%s %dk, de %d fürtje van (%dk)."
+
+#: libparted/fs/r/fat/count.c:258
+#, c-format
+msgid ""
+"The file %s is marked as a system file.  This means moving it could cause "
+"some programs to stop working."
+msgstr ""
+"%s rendszerfájlként van meg jelölve. Áthelyezése után előfordulhat, hogy "
+"egyes programok leállnak."
+
+#: libparted/fs/r/fat/fat.c:243
+#, c-format
+msgid "Partition too big/small for a %s file system."
+msgstr "A partíció túl nagy vagy túl kicsi egy %s fájlrendszerhez."
+
+#: libparted/fs/r/fat/fat.c:409
+msgid ""
+"The FATs don't match.  If you don't know what this means, then select "
+"cancel, run scandisk on the file system, and then come back."
+msgstr ""
+"A FAT-ek nem egyeznek. Ha nem tudja, ez mit jelent, akkor válassza a "
+"Megszakítást, futtassa a scandisk programot a fájlrendszeren, és próbálja "
+"újra."
+
+#: libparted/fs/r/fat/fat.c:449
+msgid "There are no possible configurations for this FAT type."
+msgstr "Ehhez a FAT típushoz nincsenek lehetséges beállítások."
+
+#: libparted/fs/r/fat/fat.c:461
+#, c-format
+msgid ""
+"File system doesn't have expected sizes for Windows to like it.  Cluster "
+"size is %dk (%dk expected); number of clusters is %d (%d expected); size of "
+"FATs is %d sectors (%d expected)."
+msgstr ""
+"A fájlrendszer méretei nem a Windows által elvártak. A fürtméret %dk (várt: "
+"%dk), a fürtök száma %d (várt: %d), a FAT-ek mérete %d szektor (várt: %d)."
+
+#: libparted/fs/r/fat/fat.c:484
+#, c-format
+msgid ""
+"File system is reporting the free space as %d clusters, not %d clusters."
+msgstr "A fájlrendszer szerint a szabad hely %d fürt, nem pedig %d fürt."
+
+#: libparted/fs/r/fat/resize.c:158
+msgid ""
+"There's not enough room in the root directory for all of the files.  Either "
+"cancel, or ignore to lose the files."
+msgstr ""
+"Nincs elég hely a gyökérkönyvtárban az összes fájlnak. Szakítsa meg, vagy a "
+"fájlok elvesztéséhez válassza a Mellőzést."
+
+#: libparted/fs/r/fat/resize.c:302
+msgid "Error writing to the root directory."
+msgstr "Hiba a gyökérkönyvtárba írás közben."
+
+#: libparted/fs/r/fat/resize.c:495
+msgid "If you leave your file system as FAT16, then you will have no problems."
+msgstr "Ha a fájlrendszert FAT16-ként hagyja, nem lesz gond."
+
+#: libparted/fs/r/fat/resize.c:498
+msgid ""
+"If you convert to FAT16, and MS Windows is installed on this partition, then "
+"you must re-install the MS Windows boot loader.  If you want to do this, you "
+"should consult the Parted manual (or your distribution's manual)."
+msgstr ""
+"Ha FAT16-ra vált, és az MS Windows telepítve van ezen a partíción, akkor "
+"újra kell telepíteni az MS Windows rendszertöltőjét. Ha ezt szeretné, nézze "
+"meg a Parted (vagy a disztribúciója) kézikönyvét."
+
+#: libparted/fs/r/fat/resize.c:506
+msgid ""
+"If you leave your file system as FAT32, then you will not introduce any new "
+"problems."
+msgstr "Ha a fájlrendszert FAT32-ként hagyja, nem lesz újabb gond."
+
+#: libparted/fs/r/fat/resize.c:510
+msgid ""
+"If you convert to FAT32, and MS Windows is installed on this partition, then "
+"you must re-install the MS Windows boot loader.  If you want to do this, you "
+"should consult the Parted manual (or your distribution's manual).  Also, "
+"converting to FAT32 will make the file system unreadable by MS DOS, MS "
+"Windows 95a, and MS Windows NT."
+msgstr ""
+"Ha FAT32-re vált, és az MS Windows telepítve van ezen a partíción, akkor "
+"újra kell telepíteni az MS Windows rendszertöltőjét. Ha ezt szeretné, nézze "
+"meg a Parted (vagy a disztribúciója) kézikönyvét. A FAT32-re váltás egyben "
+"olvashatatlanná teszi a fájlrendszert az MS DOS, MS Windows 95a és MS "
+"Windows NT számára."
+
+#: libparted/fs/r/fat/resize.c:524
+#, c-format
+msgid "%s  %s  %s"
+msgstr "%s  %s  %s"
+
+#: libparted/fs/r/fat/resize.c:525
+msgid "Would you like to use FAT32?"
+msgstr "Szeretne FAT32-t használni?"
+
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
+#, c-format
+msgid "%s  %s"
+msgstr "%s  %s"
+
+#: libparted/fs/r/fat/resize.c:557
+msgid ""
+"The file system can only be resized to this size by converting to FAT16."
+msgstr "A fájlrendszer csak FAT16-ra alakítással méretezhető át ekkorára."
+
+#: libparted/fs/r/fat/resize.c:573
+msgid ""
+"The file system can only be resized to this size by converting to FAT32."
+msgstr "A fájlrendszer csak FAT32-re alakítással méretezhető át ekkorára."
+
+#: libparted/fs/r/fat/resize.c:586
+msgid ""
+"GNU Parted cannot resize this partition to this size.  We're working on it!"
+msgstr ""
+"A GNU Parted nem tudja ezt a partíciót ekkorára méretezni. Dolgozunk rajta!"
+
+#: libparted/fs/r/fat/table.c:136
+#, c-format
+msgid ""
+"FAT %d media %x doesn't match the boot sector's media %x.  You should "
+"probably run scandisk."
+msgstr ""
+"A(z) %d. FAT %x. médiája nem egyezik a boot szektor %x médiájával. "
+"Valószínűleg futtatni kellene a scandisk-et."
+
+#: libparted/fs/r/fat/table.c:268
+#, c-format
+msgid "fat_table_set: cluster %ld outside file system"
+msgstr "fat_table_set: a(z) %ld. fürt kívül esik a fájlrendszeren"
+
+#: libparted/fs/r/fat/table.c:300
+#, c-format
+msgid "fat_table_get: cluster %ld outside file system"
+msgstr "fat_table_get: a(z) %ld. fürt kívül esik a fájlrendszeren"
+
+#: libparted/fs/r/fat/table.c:342
+msgid "fat_table_alloc_cluster: no free clusters"
+msgstr "fat_table_alloc_cluster: nincs szabad fürt"
+
+#: libparted/fs/r/filesys.c:151
+msgid "Could not detect file system."
+msgstr "Nem észlelhető fájlrendszer."
+
+#: libparted/fs/r/filesys.c:158 libparted/fs/r/filesys.c:285
+#, c-format
+msgid "resizing %s file systems is not supported"
+msgstr "%s fájlrendszerek átméretezése nem támogatott"
+
+#: libparted/fs/r/filesys.c:170
+msgid "The file system is bigger than its volume!"
+msgstr "A fájlrendszer nagyobb, mint a kötet!"
+
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
+msgid "The file system contains errors."
+msgstr "A fájlrendszeren hibák vannak."
+
+#: libparted/fs/r/hfs/advfs_plus.c:285
+msgid "Bad blocks could not be read."
+msgstr "A hibás blokkok nem olvashatók."
+
+#: libparted/fs/r/hfs/cache.c:137
+#, c-format
+msgid ""
+"Trying to register an extent starting at block 0x%X, but another one already "
+"exists at this position.  You should check the file system!"
+msgstr ""
+"Kísérlet egy extent regisztrálására a(z) 0x%X blokkal kezdődően, de már "
+"létezik egy másik ezen a pozíción. Ellenőrizze a fájlrendszert!"
+
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
+msgid ""
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
+"already exists at this position.  This should not happen!"
+msgstr ""
+"Kísérlet egy extent áthelyezésére a(z) 0x%X. blokkból a(z) 0x%X. blokkba, de "
+"már létezik egy másik ezen a pozíción. Ez nem fordulhatna elő!"
+
+#: libparted/fs/r/hfs/file.c:143
+#, c-format
+msgid "Could not update the extent cache for HFS file with CNID %X."
+msgstr ""
+"Nem sikerült az extent gyorsítótár frissítése a(z) %X CNID-jű HFS fájlhoz."
+
+#: libparted/fs/r/hfs/file.c:180
+#, c-format
+msgid "Trying to read HFS file with CNID %X behind EOF."
+msgstr "Kísérlet a(z) %X CNID-jű HFS fájl olvasására a fájl végén túl."
+
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
+#, c-format
+msgid "Could not find sector %lli of HFS file with CNID %X."
+msgstr "Nem található a(z) %2$X CNID-jű HFS fájl %1$lli. szektora."
+
+#: libparted/fs/r/hfs/file.c:210
+#, c-format
+msgid "Trying to write HFS file with CNID %X behind EOF."
+msgstr "Kísérlet a(z) %X CNID-jű HFS fájl írására a fájl végén túl."
+
+#: libparted/fs/r/hfs/file_plus.c:157
+#, c-format
+msgid "Could not update the extent cache for HFS+ file with CNID %X."
+msgstr ""
+"Nem sikerült az extent gyorsítótár frissítése a(z) %X CNID-jű HFS+ fájlhoz."
+
+#: libparted/fs/r/hfs/file_plus.c:202
+#, c-format
+msgid "Trying to read HFS+ file with CNID %X behind EOF."
+msgstr "Kísérlet a(z) %X CNID-jű HFS+ fájl olvasására a fájl végén túl."
+
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
+#, c-format
+msgid "Could not find sector %lli of HFS+ file with CNID %X."
+msgstr "Nem található a(z) %2$X CNID-jű HFS+ fájl %1$lli. szektora."
+
+#: libparted/fs/r/hfs/file_plus.c:245
+#, c-format
+msgid "Trying to write HFS+ file with CNID %X behind EOF."
+msgstr "Kísérlet a(z) %X CNID-jű HFS+ fájl írására a fájl végén túl."
+
+#: libparted/fs/r/hfs/hfs.c:232
+msgid "Sorry, HFS cannot be resized that way yet."
+msgstr "Elnézést, a HFS így még nem méretezhető át."
+
+#: libparted/fs/r/hfs/hfs.c:250 libparted/fs/r/hfs/hfs.c:629
+msgid "shrinking"
+msgstr "zsugorítás"
+
+#: libparted/fs/r/hfs/hfs.c:262 libparted/fs/r/hfs/hfs.c:641
+msgid "Data relocation has failed."
+msgstr "Sikertelen adatáthelyezés."
+
+#: libparted/fs/r/hfs/hfs.c:281
+msgid "Data relocation left some data in the end of the volume."
+msgstr "Az adatáthelyezés adatokat hagyott a kötet végén."
+
+#: libparted/fs/r/hfs/hfs.c:320
+msgid "writing HFS Master Directory Block"
+msgstr "HFS elsődleges könyvtárblokk írása"
+
+#: libparted/fs/r/hfs/hfs.c:468
+msgid "No valid HFS[+X] signature has been found while opening."
+msgstr "Nem található érvényes HFS[+X] aláírás megnyitáskor."
+
+#: libparted/fs/r/hfs/hfs.c:478
+#, c-format
+msgid "Version %d of HFS+ isn't supported."
+msgstr "A HFS+ %d. verziója nem támogatott."
+
+#: libparted/fs/r/hfs/hfs.c:489
+#, c-format
+msgid "Version %d of HFSX isn't supported."
+msgstr "A HFSX %d. verziója nem támogatott."
+
+#: libparted/fs/r/hfs/hfs.c:672
+msgid "Data relocation left some data at the end of the volume."
+msgstr "Az adatáthelyezés adatokat hagyott a kötet végén."
+
+#: libparted/fs/r/hfs/hfs.c:720
+msgid "Error while writing the allocation file."
+msgstr "Hiba a foglalási fájl írásakor."
+
+#: libparted/fs/r/hfs/hfs.c:735
+msgid "Error while writing the compatibility part of the allocation file."
+msgstr "Hiba a foglalási fájl kompatibilitási részének írásakor."
+
+#: libparted/fs/r/hfs/hfs.c:750
+msgid "writing HFS+ Volume Header"
+msgstr "HFS+ kötetfejléc írása"
+
+#: libparted/fs/r/hfs/hfs.c:850
+msgid "An error occurred while looking for the mandatory bad blocks file."
+msgstr "Hiba történt a hibás blokkok kötelező fájljának keresése közben."
+
+#: libparted/fs/r/hfs/hfs.c:904
+msgid ""
+"It seems there is an error in the HFS wrapper: the bad blocks file doesn't "
+"contain the embedded HFS+ volume."
+msgstr ""
+"Úgy tűnik, a HFS átalakító hibás: a hibás blokkok fájlja nem tartalmazza a "
+"beágyazott HFS+ kötetet."
+
+#: libparted/fs/r/hfs/hfs.c:940
+msgid "Sorry, HFS+ cannot be resized that way yet."
+msgstr "Elnézést, a HFS+ így még nem méretezhető át."
+
+#: libparted/fs/r/hfs/hfs.c:975
+msgid "shrinking embedded HFS+ volume"
+msgstr "beágyazott HFS+ kötet zsugorítása"
+
+#: libparted/fs/r/hfs/hfs.c:992
+msgid "Resizing the HFS+ volume has failed."
+msgstr "A HFS+ kötet átméretezése meghiúsult."
+
+#: libparted/fs/r/hfs/hfs.c:999
+msgid "shrinking HFS wrapper"
+msgstr "HFS átalakító zsugorítása"
+
+#: libparted/fs/r/hfs/hfs.c:1008
+msgid "Updating the HFS wrapper has failed."
+msgstr "A HFS átalakító frissítése meghiúsult."
+
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
+#, c-format
+msgid ""
+"This is not a real %s check.  This is going to extract special low level "
+"files for debugging purposes."
+msgstr ""
+"Ez nem egy valódi %s ellenőrzés. Ez alacsony szintű fájlokat fog kinyerni "
+"hibakeresési céllal."
+
+#: libparted/fs/r/hfs/journal.c:155
+msgid "Bad block list header checksum."
+msgstr "Hibás a blokklista-fejléc ellenőrzőösszege."
+
+#: libparted/fs/r/hfs/journal.c:168
+#, c-format
+msgid ""
+"Invalid size of a transaction block while replaying the journal (%i bytes)."
+msgstr "Érvénytelen tranzakcióblokk-méret a napló újrajátszásakor (%i bájt)."
+
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
+msgid ""
+"Journal stored outside of the volume are not supported.  Try to deactivate "
+"the journal and run Parted again."
+msgstr ""
+"A köteten kívüli napló nem támogatott. Próbálja meg kikapcsolni a naplót, és "
+"futtassa újra a Parted-et."
+
+#: libparted/fs/r/hfs/journal.c:271
+msgid "Journal offset or size is not multiple of the sector size."
+msgstr "A napló eltolása vagy mérete nem a szektorméret többszöröse."
+
+#: libparted/fs/r/hfs/journal.c:292
+msgid "Incorrect magic values in the journal header."
+msgstr "Hibás bűvös számok a napló fejlécében."
+
+#: libparted/fs/r/hfs/journal.c:302
+msgid "Journal size mismatch between journal info block and journal header."
+msgstr "A napló mérete eltér a napló infoblokkjában és a napló fejlécében."
+
+#: libparted/fs/r/hfs/journal.c:314
+msgid "Some header fields are not multiple of the sector size."
+msgstr "Néhány fejlécmező nem a szektorméret többszöröse."
+
+#: libparted/fs/r/hfs/journal.c:323
+msgid ""
+"The sector size stored in the journal is not 512 bytes.  Parted only "
+"supports 512 bytes length sectors."
+msgstr ""
+"A naplóban tárolt szektorméret nem 512 bájt. A Parted csak az 512 bájt "
+"méretű szektorokat támogatja."
+
+#: libparted/fs/r/hfs/journal.c:335
+msgid "Bad journal checksum."
+msgstr "Hibás napló-ellenőrzőösszeg."
+
+#: libparted/fs/r/hfs/journal.c:353
+msgid ""
+"The journal is not empty.  Parted must replay the transactions before "
+"opening the file system.  This will modify the file system."
+msgstr ""
+"A napló nem üres. A Parted-nek újra kell játszania a fájlrendszer megnyitása "
+"előtt. Ez módosítja a fájlrendszert."
+
+#: libparted/fs/r/hfs/journal.c:381
+msgid ""
+"The volume header or the master directory block has changed while replaying "
+"the journal.  You should restart Parted."
+msgstr ""
+"A kötet fejléce vagy az elsődleges könyvtárblokk megváltozott a napló "
+"újrajátszásakor. Újra kell indítani a Parted-et."
+
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
+msgid "An extent has not been relocated."
+msgstr "Egy extent nem lett áthelyezve."
+
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
+msgid ""
+"A reference to an extent comes from a place it should not.  You should check "
+"the file system!"
+msgstr ""
+"Egy extenthivatkozás nem létező helyről érkezik. Ellenőrizni kellene a "
+"fájlrendszert!"
+
+#: libparted/fs/r/hfs/reloc.c:380
+msgid "This HFS volume has no catalog file.  This is very unusual!"
+msgstr "Ennek a HFS+ kötetnek nincs katalógusfájlja. Ez nagyon szokatlan!"
+
+#: libparted/fs/r/hfs/reloc.c:474
+msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
+msgstr ""
+"Ennek a HFS kötetnek nincs extenttúlcsordulási fájlja. Ez nagyon szokatlan!"
+
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
+msgid ""
+"The extents overflow file should not contain its own extents!  You should "
+"check the file system."
+msgstr ""
+"Az extenttúlcsordulási fájl nem tartalmazhatja a saját extentjeit! "
+"Ellenőrizni kellene a fájlrendszert."
+
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
+msgid "Could not cache the file system in memory."
+msgstr "Nem sikerült a fájlrendszert a memóriába gyorsítótárazni."
+
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
+msgid "Bad blocks list could not be loaded."
+msgstr "A hibás blokkok listája nem tölthető be."
+
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
+msgid "An error occurred during extent relocation."
+msgstr "Hiba történt az extent áthelyezéskor."
+
+#: libparted/fs/r/hfs/reloc_plus.c:494
+msgid "This HFS+ volume has no catalog file.  This is very unusual!"
+msgstr "Ennek a HFS+ kötetnek nincs katalógusfájlja. Ez nagyon szokatlan!"
+
+#: libparted/fs/r/hfs/reloc_plus.c:617
+msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
+msgstr ""
+"Ennek a HFS kötetnek nincs extenttúlcsordulási fájlja. Ez nagyon szokatlan!"
+
+#: parted/parted.c:125
+msgid "displays this help message"
+msgstr "ezen súgóüzenet megjelenítése"
+
+#: parted/parted.c:126
+msgid "lists partition layout on all block devices"
+msgstr "minden blokkos eszköz partícióelrendezésének kiírása"
+
+#: parted/parted.c:127
+msgid "displays machine parseable output"
+msgstr "gépileg feldolgozható kimenet megjelenítése"
+
+#: parted/parted.c:128
+msgid "never prompts for user intervention"
+msgstr "soha ne kérdezzen"
+
+#: parted/parted.c:129
+msgid "displays the version"
+msgstr "verzió megjelenítése"
+
+#: parted/parted.c:130
+msgid "alignment for new partitions"
+msgstr "új partíciók igazítása"
+
+#: parted/parted.c:142
+msgid ""
+"NUMBER is the partition number used by Linux.  On MS-DOS disk labels, the "
+"primary partitions number from 1 to 4, logical partitions from 5 onwards.\n"
+msgstr ""
+"A SZÁM a Linux által használt partíciószám. Egy MS-DOS lemezcímkén "
+"(partíciós táblán) az elsődleges partíciók 1-től 4-ig, a logikaiak 5-től "
+"számozódnak.\n"
+
+#: parted/parted.c:145
+msgid "LABEL-TYPE is one of: "
+msgstr "A CÍMKETÍPUS ezek egyike: "
+
+#: parted/parted.c:146 parted/parted.c:147
+msgid "FLAG is one of: "
+msgstr "A JELZŐ ezek egyike: "
+
+#: parted/parted.c:148
+msgid "UNIT is one of: "
+msgstr "Az EGYSÉG ezek egyike: "
+
+#: parted/parted.c:149
+msgid "desired alignment: minimum or optimal"
+msgstr "kívánt igazítás: minimum vagy optimal"
+
+#: parted/parted.c:150
+msgid "PART-TYPE is one of: primary, logical, extended\n"
+msgstr "A PART-TÍPUS ezek egyike: primary, logical, extended\n"
+
+#: parted/parted.c:152
+msgid "FS-TYPE is one of: "
+msgstr "Az FS-TÍPUS ezek egyike: "
+
+#: parted/parted.c:153
+msgid ""
+"START and END are disk locations, such as 4GB or 10%.  Negative values count "
+"from the end of the disk.  For example, -1s specifies exactly the last "
+"sector.\n"
+msgstr ""
+"A KEZDET és VÉG lemezhelyek, pl.: 4GB vagy 10%. A negatív értékek a lemez "
+"végéről számítódnak. Például a -1s az utolsó szektort adja.\n"
+
+#: parted/parted.c:156
+msgid ""
+"END is disk location, such as 4GB or 10%.  Negative value counts from the "
+"end of the disk.  For example, -1s specifies exactly the last sector.\n"
+msgstr ""
+"A VÉG egy lemezhely, pl.: 4GB vagy 10%. A negatív értékek a lemez végéről "
+"számítódnak. Például a -1s az utolsó szektort adja.\n"
+
+#: parted/parted.c:159
+msgid "STATE is one of: on, off\n"
+msgstr "Az ÁLLAPOT ezek egyike: on, off\n"
+
+#: parted/parted.c:160
+msgid "DEVICE is usually /dev/hda or /dev/sda\n"
+msgstr "Az ESZKÖZ általában a /dev/hda vagy /dev/sda\n"
+
+#: parted/parted.c:161
+msgid "NAME is any word you want\n"
+msgstr "A NÉV tetszőleges\n"
+
+#: parted/parted.c:164
+msgid ""
+"Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n"
+"This program is free software, covered by the GNU General Public License.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+msgstr ""
+"Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n"
+"Ez a program szabad szoftver, a GNU General Public License-ben foglaltak "
+"alapján.\n"
+"\n"
+"Ezt a programot abban a reményben terjesztjük, hogy hasznos lesz, de nem\n"
+"vállalunk SEMMIFÉLE GARANCIÁT, még olyan értelemben sem, hogy a program\n"
+"alkalmas-e a KÖZREADÁSRA vagy EGY BIZONYOS FELADAT ELVÉGZÉSÉRE.\n"
+"További részletekért tanulmányozza a GNU GPL licencet.\n"
+"\n"
+
+#: parted/parted.c:212
+#, c-format
+msgid "%0.f%%\t(time left %.2d:%.2d)"
+msgstr "%0.f%%\t(hátralévő idő: %.2d:%.2d)"
+
+#: parted/parted.c:231
+#, c-format
+msgid "Partition %s is being used. Are you sure you want to continue?"
+msgstr "A(z) %s partíció használatban van. Biztos, hogy folytatni kívánja?"
+
+#: parted/parted.c:252
+#, c-format
+msgid "Partition(s) on %s are being used."
+msgstr "%s partíciói használatban vannak."
+
+#: parted/parted.c:264
+#, c-format
+msgid ""
+"The existing disk label on %s will be destroyed and all data on this disk "
+"will be lost. Do you want to continue?"
+msgstr ""
+"A meglévő lemezcímke ezen: %s megsemmisül, és a lemezen lévő minden adat "
+"elvész. Szeretné folytatni?"
+
+#: parted/parted.c:525
+msgid "New disk label type?"
+msgstr "Az új lemezcímke típusa?"
+
+#: parted/parted.c:662
+msgid "Partition type?"
+msgstr "A partíció típusa?"
+
+#: parted/parted.c:680 parted/parted.c:884
+msgid "Partition name?"
+msgstr "A partíció neve?"
+
+#: parted/parted.c:690
+msgid "File system type?"
+msgstr "A fájlrendszer típusa?"
+
+#: parted/parted.c:695 parted/parted.c:1498
+msgid "Start?"
+msgstr "Kezdete?"
+
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
+msgid "End?"
+msgstr "Vége?"
+
+#: parted/parted.c:766
+#, c-format
+msgid ""
+"You requested a partition from %s to %s (sectors %llu..%llu).\n"
+"The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
+msgstr ""
+"Egy partíciót kért innentől: %s idáig: %s (szektorok: %llu..%llu).\n"
+"A legközelebbi használható hely ez: %s - %s (szektorok: %llu..%llu).%s"
+
+#: parted/parted.c:775
+msgid ""
+"\n"
+"Is this still acceptable to you?"
+msgstr ""
+"\n"
+"Ez elfogadható?"
+
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+"Az eredményül kapott partíció igazítása nem megfelelő a legjobb "
+"teljesítményhez."
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s lemez címkéi nem támogatják a kiterjesztett partíciókat."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
+msgid "Partition number?"
+msgstr "A partíció száma?"
+
+#: parted/parted.c:975
+#, c-format
+msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
+msgstr "BIOS cilinder,fej,szektor geometria: %d,%d,%d. Minden cilinder %s.\n"
+
+#: parted/parted.c:1017
+#, c-format
+msgid "Model: %s (%s)\n"
+msgstr "Típus: %s (%s)\n"
+
+#: parted/parted.c:1019
+#, c-format
+msgid "Disk %s: %s\n"
+msgstr "%s lemez: %s\n"
+
+#: parted/parted.c:1020
+#, c-format
+msgid "Sector size (logical/physical): %lldB/%lldB\n"
+msgstr "Szektorméret (logikai/fizikai): %lldB/%lldB\n"
+
+#: parted/parted.c:1032
+#, c-format
+msgid "Partition Table: %s\n"
+msgstr "Partíciós tábla: %s\n"
+
+#: parted/parted.c:1033
+#, c-format
+msgid "Disk Flags: %s\n"
+msgstr "Lemezjelzők: %s\n"
+
+#: parted/parted.c:1153 parted/parted.c:1156
+msgid "Number"
+msgstr "Szám"
+
+#: parted/parted.c:1153 parted/parted.c:1156
+msgid "Start"
+msgstr "Kezdet"
+
+#: parted/parted.c:1154 parted/parted.c:1157
+msgid "End"
+msgstr "Vég"
+
+#: parted/parted.c:1157
+msgid "Size"
+msgstr "Méret"
+
+#: parted/parted.c:1161
+msgid "Type"
+msgstr "Típus"
+
+#: parted/parted.c:1163
+msgid "File system"
+msgstr "Fájlrendszer"
+
+#: parted/parted.c:1166
+msgid "Name"
+msgstr "Név"
+
+#: parted/parted.c:1168
+msgid "Flags"
+msgstr "Jelzők"
+
+#: parted/parted.c:1225
+msgid "Free Space"
+msgstr "Szabad hely"
+
+#: parted/parted.c:1385
+#, c-format
+msgid ""
+"A %s %s partition was found at %s -> %s.  Do you want to add it to the "
+"partition table?"
+msgstr ""
+"Egy %s %s partíció található itt: %s -> %s. Szeretné hozzáadni a partíciós "
+"táblához?"
+
+#: parted/parted.c:1428
+msgid "searching for file systems"
+msgstr "fájlrendszerek keresése"
+
+#: parted/parted.c:1535
+msgid "The resize command has been removed in parted 3.0"
+msgstr "A resize parancs eltávolításra került a parted 3.0-ban"
+
+#: parted/parted.c:1583
+msgid ""
+"Shrinking a partition can cause data loss, are you sure you want to continue?"
+msgstr ""
+"Egy partíció zsugorítása adatvesztést okozhat, biztosan folytatni szeretné?"
+
+#: parted/parted.c:1636
+msgid "New device?"
+msgstr "Új eszköz?"
+
+#: parted/parted.c:1704
+msgid "alignment type(min/opt)"
+msgstr "igazítás típusa (min/opt)"
+
+#: parted/parted.c:1719
+#, c-format
+msgid "%d aligned\n"
+msgstr "%d igazítva\n"
+
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
+msgstr "%d nem igazított\n"
+
+#: parted/parted.c:1746 parted/parted.c:1783
+msgid "Flag to Invert?"
+msgstr "A megfordítandó jelző?"
+
+#: parted/parted.c:1751 parted/parted.c:1788
+msgid "New state?"
+msgstr "Új állapot?"
+
+#: parted/parted.c:1834
+msgid "Unit?"
+msgstr "Egység?"
+
+#: parted/parted.c:1969
+msgid "align-check"
+msgstr "align-check"
+
+#: parted/parted.c:1972
+#, fuzzy
+msgid ""
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
+msgstr ""
+"align-check TÍPUS N                       TÍPUS(min|opt) igazítás keresése "
+"az N. partíción"
+
+#: parted/parted.c:1980
+msgid "help"
+msgstr "help"
+
+#: parted/parted.c:1983
+msgid ""
+"help [COMMAND]                           print general help, or help on "
+"COMMAND"
+msgstr ""
+"help [PARANCS]                            általános súgó vagy a PARANCS "
+"súgójának kiírása"
+
+#: parted/parted.c:1989
+msgid "mklabel"
+msgstr "mklabel"
+
+#: parted/parted.c:1989
+msgid "mktable"
+msgstr "mktable"
+
+#: parted/parted.c:1992
+msgid ""
+"mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
+"table)"
+msgstr ""
+"mklabel,mktable CÍMKETÍPUS                új lemezcímke (partíciós tábla) "
+"létrehozása"
+
+#: parted/parted.c:1998
+msgid "mkpart"
+msgstr "mkpart"
+
+#: parted/parted.c:2001
+msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
+msgstr "mkpart PART-TÍPUS [FS-TÍPUS] KEZDET VÉG   partíció készítése"
+
+#: parted/parted.c:2007
+msgid ""
+"'mkpart' makes a partition without creating a new file system on the "
+"partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
+msgstr ""
+"Az „mkpart” partíciót hoz létre, új fájlrendszer létrehozása nélkül. Az FS-"
+"TÍPUS megadható megfelelő partícióazonosító beállítása érdekében.\n"
+
+#: parted/parted.c:2012
+msgid "name"
+msgstr "name"
+
+#: parted/parted.c:2015
+msgid "name NUMBER NAME                         name partition NUMBER as NAME"
+msgstr ""
+"name SZÁM NÉV                             a SZÁM. partíciót elnevezése a "
+"NÉVVEL"
+
+#: parted/parted.c:2020
+msgid "print"
+msgstr "print"
+
+#: parted/parted.c:2023
+msgid ""
+"print [devices|free|list,all|NUMBER]     display the partition table, "
+"available devices, free space, all found partitions, or a particular "
+"partition"
+msgstr ""
+"print [devices|free|list,all|SZÁM]        a partíciós tábla, elérhető "
+"eszközök, szabad hely, minden megtalált partíció vagy egy adott partíció "
+"megjelenítése"
+
+#: parted/parted.c:2028
+msgid ""
+"Without arguments, 'print' displays the entire partition table. However with "
+"the following arguments it performs various other actions.\n"
+msgstr ""
+"Argumentumok nélkül a „print” az egész partíciós táblát megjeleníti. Azonban "
+"a következő argumentumokkal különböző egyéb műveleteket hajt végre.\n"
+
+#: parted/parted.c:2030
+msgid "  devices   : display all active block devices\n"
+msgstr "  devices   : az összes aktív blokkos eszköz megjelenítése\n"
+
+#: parted/parted.c:2031
+msgid ""
+"  free      : display information about free unpartitioned space on the "
+"current block device\n"
+msgstr ""
+"  free      : információk megjelenítése a szabad particionálatlan helyről az "
+"aktuális blokkos eszközön\n"
+
+#: parted/parted.c:2033
+msgid ""
+"  list, all : display the partition tables of all active block devices\n"
+msgstr ""
+"  list, all : az összes aktív blokkos eszköz partíciós tábláinak kiírása\n"
+
+#: parted/parted.c:2034
+msgid ""
+"  NUMBER    : display more detailed information about this particular "
+"partition\n"
+msgstr ""
+"  SZÁM      : részletesebb információk megjelenítése az adott partícióról\n"
+
+#: parted/parted.c:2039
+msgid "quit"
+msgstr "quit"
+
+#: parted/parted.c:2042
+msgid "quit                                     exit program"
+msgstr "quit                                      kilépés a programból"
+
+#: parted/parted.c:2047
+msgid "rescue"
+msgstr "rescue"
+
+#: parted/parted.c:2050
+msgid ""
+"rescue START END                         rescue a lost partition near START "
+"and END"
+msgstr ""
+"rescue KEZDET VÉG                         a KEZDET és VÉG környéki partíció "
+"helyreállítása"
+
+#: parted/parted.c:2056
+msgid "resize"
+msgstr "resize"
+
+#: parted/parted.c:2059
+msgid "The resize command was removed in parted 3.0\n"
+msgstr "A resize parancs eltávolításra került a parted 3.0-ban\n"
+
+#: parted/parted.c:2062
+msgid "resizepart"
+msgstr "resizepart"
+
+#: parted/parted.c:2065
+msgid "resizepart NUMBER END                    resize partition NUMBER"
+msgstr ""
+"resizepart SZÁM VÉG                       a SZÁM. partíció átméretezése"
+
+#: parted/parted.c:2070
+msgid "rm"
+msgstr "rm"
+
+#: parted/parted.c:2073
+msgid "rm NUMBER                                delete partition NUMBER"
+msgstr "rm SZÁM                                   a SZÁM. partíció törlése"
+
+#: parted/parted.c:2078
+msgid "select"
+msgstr "select"
+
+#: parted/parted.c:2081
+msgid "select DEVICE                            choose the device to edit"
+msgstr ""
+"select ESZKÖZ                             a szerkesztendő eszköz kiválasztása"
+
+#: parted/parted.c:2086
+msgid "disk_set"
+msgstr "disk_set"
+
+#: parted/parted.c:2089
+msgid ""
+"disk_set FLAG STATE                      change the FLAG on selected device"
+msgstr ""
+"disk_set JELZŐ ÁLLAPOT                    a JELZŐ módosítása a kijelölt "
+"eszközön"
+
+#: parted/parted.c:2094
+msgid "disk_toggle"
+msgstr "disk_toggle"
+
+#: parted/parted.c:2097
+msgid ""
+"disk_toggle [FLAG]                       toggle the state of FLAG on "
+"selected device"
+msgstr ""
+"disk_toggle [JELZŐ]                       a JELZŐ állapotának átváltása a "
+"kijelölt eszközön"
+
+#: parted/parted.c:2103
+msgid "set"
+msgstr "set"
+
+#: parted/parted.c:2106
+msgid ""
+"set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
+msgstr ""
+"set SZÁM JELZŐ ÁLLAPOT                    a JELZŐ átváltása a SZÁM. partíción"
+
+#: parted/parted.c:2112
+msgid "toggle"
+msgstr "toggle"
+
+#: parted/parted.c:2115
+msgid ""
+"toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
+"partition NUMBER"
+msgstr ""
+"toggle [SZÁM [JELZŐ]]                     a JELZŐ állapotának átváltása a "
+"SZÁM. partíción"
+
+#: parted/parted.c:2121
+msgid "unit"
+msgstr "unit"
+
+#: parted/parted.c:2124
+msgid "unit UNIT                                set the default unit to UNIT"
+msgstr ""
+"unit EGYSÉG                               az alapértelmezett egység "
+"beállítása az EGYSÉGRE"
+
+#: parted/parted.c:2129
+msgid "version"
+msgstr "version"
+
+#: parted/parted.c:2132
+msgid ""
+"version                                  display the version number and "
+"copyright information of GNU Parted"
+msgstr ""
+"version                                   megjeleníti a GNU Parted "
+"verziószámát és a szerzői jogi információkat"
+
+#: parted/parted.c:2136
+msgid ""
+"'version' displays copyright and version information corresponding to this "
+"copy of GNU Parted\n"
+msgstr ""
+"a „version” megjeleníti a GNU Parted ezen példányának verzió- és szerzői "
+"jogi információit\n"
+
+#: parted/parted.c:2204
+#, c-format
+msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
+msgstr ""
+"Használat: %s [-hlmsv] [-a<igazítás>] [ESZKÖZ [PARANCS [PARAMÉTEREK]]...]\n"
+
+#: parted/parted.c:2248
+msgid "No device found"
+msgstr "Nem található eszköz"
+
+#: parted/parted.c:2285
+msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
+msgstr "FIGYELMEZTETÉS: Ön nem rendszergazda. Figyeljen a jogosultságokra.\n"
+
+#: parted/parted.c:2325
+msgid "You may need to update /etc/fstab.\n"
+msgstr "Szükség lehet az /etc/fstab frissítésére.\n"
+
+#: parted/ui.c:164
+msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
+msgstr ""
+"Üdvözli a GNU Parted! Írja be a 'help' szót a parancsok listájának "
+"megnézéséhez.\n"
+
+#: parted/ui.c:167
+msgid ""
+"Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
+"Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
+"in\n"
+"interactive mode.\n"
+msgstr ""
+"Használat: parted [KAPCSOLÓ]... [ESZKÖZ [PARANCS [PARAMÉTEREK]...]...]\n"
+"A PARAMÉTEREKKEL rendelkező PARANCSOK alkalmazása az ESZKÖZRE. Ha nincs "
+"megadva\n"
+"PARANCS, interaktív módban fut.\n"
+
+#: parted/ui.c:172
+#, c-format
+msgid ""
+"\n"
+"\n"
+"You found a bug in GNU Parted! Here's what you have to do:\n"
+"\n"
+"Don't panic! The bug has most likely not affected any of your data.\n"
+"Help us to fix this bug by doing the following:\n"
+"\n"
+"Check whether the bug has already been fixed by checking\n"
+"the last version of GNU Parted that you can find at:\n"
+"\n"
+"\thttp://ftp.gnu.org/gnu/parted/\n"
+"\n"
+"Please check this version prior to bug reporting.\n"
+"\n"
+"If this has not been fixed yet or if you don't know how to check,\n"
+"please visit the GNU Parted website:\n"
+"\n"
+"\thttp://www.gnu.org/software/parted\n"
+"\n"
+"for further information.\n"
+"\n"
+"Your report should contain the version of this release (%s)\n"
+"along with the error message below, the output of\n"
+"\n"
+"\tparted DEVICE unit co print unit s print\n"
+"\n"
+"and the following history of commands you entered.\n"
+"Also include any additional information about your setup you\n"
+"consider important.\n"
+msgstr ""
+"\n"
+"\n"
+"Hibát talált a GNU Partedben! A következőket kell tennie:\n"
+"\n"
+"Ne essen pánikba! A hiba valószínűleg nem befolyásolta az adatokat.\n"
+"Segíthet a hiba kijavításában a következő módon:\n"
+"\n"
+"Ellenőrizze, hogy a hiba nincs-e már javítva a GNU Parted legfrissebb\n"
+"verziójában, ami innen érhető el:\n"
+"\n"
+"\thttp://ftp.gnu.org/gnu/parted/\n"
+"\n"
+"Ellenőrizze ezt a verziót a hiba bejelentése előtt.\n"
+"\n"
+"Ha még nincs javítva, vagy nem tudja, hogyan ellenőrizze, akkor\n"
+"keresse fel a GNU Parted weboldalát:\n"
+"\n"
+"\thttp://www.gnu.org/software/parted\n"
+"\n"
+"további információkért.\n"
+"\n"
+"Angol nyelvű jelentésének tartalmaznia kell ezen kiadás verzióját (%s)\n"
+"a lenti hibaüzenettel együtt, majd a következő parancs kimenetét:\n"
+"\n"
+"\tparted ESZKÖZ unit co print unit s print\n"
+"\n"
+"és a kiadott parancsok következő listáját.\n"
+"A rendszerével kapcsolatos, fontosnak tűnő információkat is\n"
+"csatolja.\n"
+
+#: parted/ui.c:293
+msgid ""
+"\n"
+"Command History:\n"
+msgstr ""
+"\n"
+"Parancselőzmények:\n"
+
+#: parted/ui.c:356
+msgid ""
+"\n"
+"Error: SEGV_MAPERR (Address not mapped to object)\n"
+msgstr ""
+"\n"
+"Hiba: SEGV_MAPERR (Cím nincs leképezve objektumra)\n"
+
+#: parted/ui.c:362
+msgid ""
+"\n"
+"Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
+msgstr ""
+"\n"
+"Hiba: SEGV_ACCERR (Érvénytelen jogosultságok a leképezett objektumhoz)\n"
+
+#: parted/ui.c:367
+msgid ""
+"\n"
+"Error: A general SIGSEGV signal was encountered.\n"
+msgstr ""
+"\n"
+"Hiba: Általános SIGSEGV szignál.\n"
+
+#: parted/ui.c:391
+msgid ""
+"\n"
+"Error: FPE_INTDIV (Integer: divide by zero)"
+msgstr ""
+"\n"
+"Hiba: FPE_INTDIV (egész: osztás nullával)"
+
+#: parted/ui.c:396
+msgid ""
+"\n"
+"Error: FPE_INTOVF (Integer: overflow)"
+msgstr ""
+"\n"
+"Hiba: FPE_INTOVF (egész: túlcsordulás)"
+
+#: parted/ui.c:401
+msgid ""
+"\n"
+"Error: FPE_FLTDIV (Float: divide by zero)"
+msgstr ""
+"\n"
+"Hiba: FPE_FLTDIV (lebegőpontos: osztás nullával)"
+
+#: parted/ui.c:406
+msgid ""
+"\n"
+"Error: FPE_FLTOVF (Float: overflow)"
+msgstr ""
+"\n"
+"Hiba: FPE_FLTOVF (lebegőpontos: túlcsordulás)"
+
+#: parted/ui.c:411
+msgid ""
+"\n"
+"Error: FPE_FLTUND (Float: underflow)"
+msgstr ""
+"\n"
+"Hiba: FPE_FLTUND (lebegőpontos: alulcsordulás)"
+
+#: parted/ui.c:416
+msgid ""
+"\n"
+"Error: FPE_FLTRES (Float: inexact result)"
+msgstr ""
+"\n"
+"Hiba: FPE_FLTRES (lebegőpontos: pontatlan eredmény)"
+
+#: parted/ui.c:421
+msgid ""
+"\n"
+"Error: FPE_FLTINV (Float: invalid operation)"
+msgstr ""
+"\n"
+"Hiba: FPE_FLTINV (lebegőpontos: érvénytelen művelet)"
+
+#: parted/ui.c:426
+msgid ""
+"\n"
+"Error: FPE_FLTSUB (Float: subscript out of range)"
+msgstr ""
+"\n"
+"Hiba: FPE_FLTSUB (lebegőpontos: kívül esik a tartományon)"
+
+#: parted/ui.c:431
+msgid ""
+"\n"
+"Error: A general SIGFPE signal was encountered."
+msgstr ""
+"\n"
+"Hiba: Általános SIGFPE szignál érkezett."
+
+#: parted/ui.c:455
+msgid ""
+"\n"
+"Error: ILL_ILLOPC (Illegal Opcode)"
+msgstr ""
+"\n"
+"Hiba: ILL_ILLOPC (Érvénytelen műveletkód)"
+
+#: parted/ui.c:460
+msgid ""
+"\n"
+"Error: ILL_ILLOPN (Illegal Operand)"
+msgstr ""
+"\n"
+"Hiba: ILL_ILLOPN (Érvénytelen operandus)"
+
+#: parted/ui.c:465
+msgid ""
+"\n"
+"Error: ILL_ILLADR (Illegal addressing mode)"
+msgstr ""
+"\n"
+"Hiba: ILL_ILLADR (Érvénytelen címzési mód)"
+
+#: parted/ui.c:470
+msgid ""
+"\n"
+"Error: ILL_ILLTRP (Illegal Trap)"
+msgstr ""
+"\n"
+"Hiba: ILL_ILLTRP (Érvénytelen trap)"
+
+#: parted/ui.c:475
+msgid ""
+"\n"
+"Error: ILL_PRVOPC (Privileged Opcode)"
+msgstr ""
+"\n"
+"Hiba: ILL_PRVOPC (Privilegizált műveletkód)"
+
+#: parted/ui.c:480
+msgid ""
+"\n"
+"Error: ILL_PRVREG (Privileged Register)"
+msgstr ""
+"\n"
+"Hiba: ILL_PRVREG (Privilegizált regiszter)"
+
+#: parted/ui.c:485
+msgid ""
+"\n"
+"Error: ILL_COPROC (Coprocessor Error)"
+msgstr ""
+"\n"
+"Hiba: ILL_COPROC (Koprocesszor hiba)"
+
+#: parted/ui.c:490
+msgid ""
+"\n"
+"Error: ILL_BADSTK (Internal Stack Error)"
+msgstr ""
+"\n"
+"Hiba: ILL_BADSTK (Belső veremhiba)"
+
+#: parted/ui.c:495
+msgid ""
+"\n"
+"Error: A general SIGILL signal was encountered."
+msgstr ""
+"\n"
+"Hiba: Általános SIGILL szignál érkezett."
+
+#: parted/ui.c:888
+#, c-format
+msgid "invalid token: %s"
+msgstr "érvénytelen jelsor: %s"
+
+#: parted/ui.c:1069
+msgid "Expecting a partition number."
+msgstr "Egy partíciószám szükséges."
+
+#: parted/ui.c:1078
+msgid "Partition doesn't exist."
+msgstr "A partíció nem létezik."
+
+#: parted/ui.c:1098
+msgid "Expecting a file system type."
+msgstr "Egy fájlrendszertípus szükséges."
+
+#: parted/ui.c:1105
+#, c-format
+msgid "Unknown file system type \"%s\"."
+msgstr "Ismeretlen „%s” fájlrendszertípus."
+
+#: parted/ui.c:1126
+msgid "Expecting a disk label type."
+msgstr "Egy lemezcímketípus szükséges."
+
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
+msgid "Can't create any more partitions."
+msgstr "Nem lehet több partíciót létrehozni."
+
+#: parted/ui.c:1277
+msgid "Expecting a partition type."
+msgstr "Egy partíciótípus szükséges."
+
+#: parted/ui.c:1426
+msgid "on"
+msgstr "on"
+
+#: parted/ui.c:1427
+msgid "off"
+msgstr "off"
+
+#: parted/ui.c:1444
+msgid "optimal"
+msgstr "optimal"
+
+#: parted/ui.c:1445
+msgid "minimal"
+msgstr "minimal"
+
+#: parted/ui.c:1578
+msgid "OPTIONs:"
+msgstr "KAPCSOLÓK:"
+
+#: parted/ui.c:1583
+msgid "COMMANDs:"
+msgstr "PARANCSOK:"
+
+#: parted/ui.c:1586
+#, c-format
+msgid ""
+"\n"
+"Report bugs to %s\n"
+msgstr ""
+"\n"
+"A hibák a(z) %s címen jelenthetők.\n"
+
+#: parted/ui.c:1593
+#, c-format
+msgid "Using %s\n"
+msgstr "%s használatával\n"
+
+#: parted/ui.c:1673
+msgid "This command does not make sense in non-interactive mode.\n"
+msgstr "Ennek a parancsnak nincs értelme nem interaktív módban.\n"
+
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: a(z) „--%s” kapcsoló nem enged meg argumentumot\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: a(z) „--%s” kapcsoló ismeretlen\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: a „-W %s” kapcsoló nem enged meg argumentumot\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: a(z) „-W %s” kapcsolóhoz argumentum szükséges\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "A(z) %s honlapja: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "A fájlrendszer logikai szektormérete %d. A GNU Parted nem működik jól 512 "
+#~ "bájttól eltérő szektorméretekkel."
index 26fbe6f410f93920d26938dfba9874da1e0c29ed..b4982d9814b245f32c8a3d644e1ce73a86514aca 100644 (file)
Binary files a/po/id.gmo and b/po/id.gmo differ
index d8b49d523ec3731d9291acbd376d2d152723711d..282a14fd94c91c905b380a66b661457ba2926c47 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU parted 2.1\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2010-01-27 07:30+0700\n"
 "Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -17,84 +17,65 @@ msgstr ""
 "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"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argumen `%s' tidak sah %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argumen %s ambigu untuk %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Argumen yang sah adalah:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "gagal menulis"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Error dari sistem tidak diketahui penyebabnya"
 
-#: lib/getopt.c:547 lib/getopt.c:576
+#: lib/getopt.c:278
 #, fuzzy, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+msgid "%s: option '%s%s' is ambiguous\n"
 msgstr "%s: pilihan `%s' adalah ambigu\n"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, fuzzy, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: pilihan `--%s' tidak memperbolehkan adanya argumen\n"
-
-#: lib/getopt.c:637 lib/getopt.c:642
+#: lib/getopt.c:284
 #, fuzzy, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: pilihan `%c%s' tidak memperbolehkan adanya sebuah argumen\n"
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s: pilihan `%s' adalah ambigu\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
+#: lib/getopt.c:319
 #, fuzzy, c-format
-msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: pilihan `%s' membutuhkan sebuah argument\n"
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: pilihan `%c%s' tidak dikenali\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
+#: lib/getopt.c:345
 #, fuzzy, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: pilihan `--%s' tidak dikenali\n"
+msgid "%s: option '%s%s' doesn't allow an argument\n"
+msgstr "%s: pilihan `%c%s' tidak memperbolehkan adanya sebuah argumen\n"
 
-#: lib/getopt.c:753 lib/getopt.c:756
+#: lib/getopt.c:360
 #, fuzzy, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: pilihan `%c%s' tidak dikenali\n"
+msgid "%s: option '%s%s' requires an argument\n"
+msgstr "%s: pilihan `%s' membutuhkan sebuah argument\n"
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, fuzzy, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: -- %c pilihan tidak valid\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: pilihan membutuhkan sebuah argumen -- %c\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, fuzzy, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: pilihan `-W %s' adalah abigu\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, fuzzy, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: pilihan `-W %s' tidak memperbolehkan adanya sebuah argument\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, fuzzy, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: pilihan `%s' membutuhkan sebuah argument\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -114,85 +95,86 @@ msgstr "%s: pilihan `%s' membutuhkan sebuah argument\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "U+2018"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "U+2019"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Sukses"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Tidak cocok"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Ekspresi regular tidak valid"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Character collation tidak valid"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Character class name tidak valid"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Ada sisa backslash"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Back reference tidak valid"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Tidak cocok [ atau [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Tidak cocok ( atau \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Tidak cocok \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Isi tidak valid untuk \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Batas ujung tidak valid"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Kehabisan memory"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Ekspresi regular pendahulu tidak valid"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Regular ekspresi berakhir secara premature (tidak normal)"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Ekspresi regular terlalu besar"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Tidak cocok ) atau \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Tidak ada ekpresi regular sebelumnya"
 
@@ -216,12 +198,12 @@ msgstr "^[yY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Dipaketkan oleh %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Dipaketkan oleh %s\n"
@@ -229,18 +211,17 @@ msgstr "Dipaketkan oleh %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Lisensi GPLv3+: GNU GPL versi 3 atau yang lebih baru <http://gnu.org/"
@@ -251,19 +232,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Ditulis oleh %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Ditulis oleh %s dan %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Ditulis oleh %s, %s, dan %s.\n"
@@ -271,7 +252,7 @@ msgstr "Ditulis oleh %s, %s, dan %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -283,7 +264,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -295,7 +276,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -307,7 +288,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -319,7 +300,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -333,7 +314,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -347,7 +328,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -362,32 +343,26 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Laporkan bugs ke: %s\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Laporkan %s bug ke: %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s halaman rumah: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "%s halaman rumah: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 "Bantuan umum dalam menggunakan peranti lunak GNU: <http://www.gnu.org/"
 "gethelp/>\n"
@@ -416,60 +391,60 @@ msgid "Disk Image"
 msgstr "Salinan dari disk"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Error membuka %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Tidak dapat membuka %s dengan mode read-write (%s). %s telah dibuka read-"
 "only."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s selama pencarian untuk dibaca pada %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s selama pembacaan pada %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Tidak dapat menulis pada %s, karena ini dibuka secara read-only."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s selama pencarian untuk menulis pada %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s selama penulisan pada %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Coba `%s --help' untuk informasi lebih lanjut.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Penggunaan: %s [OPSI] [PERANGKAT]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -485,7 +460,7 @@ msgstr ""
 "  -h, --help       tampilkan bantuan ini dan keluar\n"
 "  -v, --version    keluarkan informasi versi dan keluar\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -493,7 +468,7 @@ msgstr ""
 "\n"
 "Jika tak ada PERANGKAT yang diberikan, pindai seluruh partisi.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -540,7 +515,7 @@ msgstr ""
 "tidak tahu apa-apa tentang modifikasi yang anda buat. Anda seharusnya "
 "mereboot komputer anda sebelum melakukan apapun dengan %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -553,17 +528,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s mencoba untuk mensinkronisasi %s pada disk"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Tidak dapat memperoleh statistik perangkat %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Tidak dapat menentukan tipe dm dari %s."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -572,7 +547,7 @@ msgstr ""
 "Tidak dapat menentukan ukuran sektor untuk %s: %s.\n"
 "Menggunakan baku ukuran sektor (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, fuzzy, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -581,21 +556,21 @@ msgstr ""
 "Tidak dapat menentukan ukuran sektor untuk %s: %s.\n"
 "Menggunakan baku ukuran sektor (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Tidak dapat menentukan ukuran dari %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "IDE umum"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Tidak dapat memperoleh identitas dari perangkat %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "IDE umum"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -609,12 +584,12 @@ msgstr ""
 "label spesial / kombinasi file system, contoh GPT dan ext2/3.\n"
 "Tolong lihat web site untuk informasi terbaru."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Error menginisialisasi perangkat SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, fuzzy, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -624,7 +599,7 @@ msgstr ""
 "system dan tabel partisi didalamnya. Mungkin anda telah memilih perangkat "
 "yang salah?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -634,87 +609,100 @@ msgstr ""
 "tidak  menggunakan Parted kecuali anda BENAR - BENAR tahu apa yang anda "
 "lakukan!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Kartu Penyimpanan SD/MMC Generik"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Perangkat baru?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "DAC960 RAID controller"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Perangkat Promise SX8 SATA"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "IBM S390 DASD drive"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries Virtual DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "ATARAID Controller"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "I2O Controller"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "Mode-Pengguna Linux UBD"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 #, fuzzy
 msgid "Loopback device"
 msgstr "Perangkat asal?"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linux device-mapper (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Divasi Blok Virtual Xen"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Tidak diketahui"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Divais Blok Virtio"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new() Tipe perangkat tidak disupport"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Error fsyncing/menutup %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, fuzzy, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "akhir dari berkas ketika membaca %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -727,12 +715,12 @@ msgstr ""
 "tidak me-mount-nya atau menggunakannya dalam segala cara sebelum mereboot "
 "komputer anda."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, fuzzy, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Tidak dapat menentukan tipe dm dari %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -741,37 +729,37 @@ msgid ""
 "making further changes."
 msgstr ""
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr ""
 "Tidak dapat memiliki akhir sebelum start! (sektor start=%jd panjang=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Mencoba untuk menulis sektor %ld-%ld diluar dari partisi pada %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "Mengecheck bad blocks"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Backtrace memiliki %d panggilan di stack:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Assertion (%s) di %s:%d dalam fungsi %s() gagal."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: label cakram tidak dikenal"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -780,40 +768,40 @@ msgstr ""
 "libparted ini tidak memiliki write support untuk %s. Mungkin ini dikompilasi "
 "untuk mode read-only."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Partisi %d adalah %s, tetapi file system-nya adalah %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "penyesuaian_silinder"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 #, fuzzy
 msgid "pmbr_boot"
 msgstr "boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "tanda disk tidak diketahui, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "%s disk label tidak mensupport partisi extended."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "%s disk labels tidak mensupport partisi logical atau extended."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Terlalu banyak primary partisi."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -821,127 +809,127 @@ msgstr ""
 "Tidak dapat menambahkan sebuah partisi logical pada %s, karena disana tidak "
 "ada partisi extended."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Tidak dapat memiliki lebih dari satu partisi extended pada %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Tidak dapat memiliki partisi logical diluar dari partisi extended."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "Tidak dapat memiliki partisi logical diluar partisi extended pada %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Tidak dapat memiliki primary partisi didalam sebuah partisi extended."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Tidak dapat memiliki partisi diluar dari disk!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Tidak dapat memiliki partisi yang beroverlap."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadata"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "free"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "extended"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logical"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primary"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "boot"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "root"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "tersembunyi"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 #, fuzzy
 msgid "msftdata"
 msgstr "metadata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr ""
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr ""
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 #, fuzzy
 msgid "esp"
 msgstr "Ya"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "flag partisi tidak diketahui, %d."
@@ -1012,27 +1000,27 @@ msgstr ""
 "laporan bug ke bug-parted@gnu.org berisi setidaknya versi (%s) dan pesan "
 "berikut ini:"
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "Support untuk membaca AIX disk label belum diimplementasikan."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "Support untuk menulis AIX disk label belum diimplementasikan."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "Support untuk menambah partisi di AIX disk label belum diimplementasikan."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Support untuk menduplikasi partisi di AIX disk label belum diimplementasikan."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1040,72 +1028,179 @@ msgstr ""
 "Support untuk menset tipe partisi sistem di AIX disk label belum "
 "diimplementasikan."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr "Support untuk menset tanda di AIX disk label belum diimplementasikan."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted tidak dapat menggunakan file systems tipe HFS di dist dengan ukuran "
+"sektor tidak sama dengan %d bytes."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Tidak dapat mengkopi sebuah partisi extended."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Tidak dapat memenuhi semua constraints pada partisi."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Tidak dapat mengalokasikan sebuah nomor partisi."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Tidak dapat mengalokasikan sebuah slot untuk bsd disklabel."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Tidak dapat mengalokasikan sebuah DASD slot disklabel."
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Table partisi tidak valid pada %s -- signature salah %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Table partisi tidak valid - rekursif partisi pada %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Partisi extended tidak dapat disembunyikan pada msdos disk labels."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Partisi extended tidak dapat disembunyikan pada msdos disk labels."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted tidak dapat men-resize partisi yang diatur oleh Windows Dynamic Disk."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 #, fuzzy
 msgid "cannot create any more partitions"
 msgstr "Tidak dapat membuat partisi lagi."
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s tidak memiliki partisi extended (volume header partisi)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "Checksum salah, mengindikasikan bahwa tabel partisi corrupt."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Hanya primary partisi yang dapat menjadi partisi root."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Hanya primary partisi yang dapat menjadi partisi swap."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Hanya logical partisi yang dapat menjadi boot file."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1114,111 +1209,120 @@ msgstr ""
 "gagal mengatur nama partisi dvh ke %s:\n"
 "Hanya logical partisi (boot files) yang memiliki nama."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Terlalu banyak primary partisi"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "gagal membuka"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "gagal mencari"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "gagal menulis"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "gagal ioctl()"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "versi API tidak cocok"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Tipe disk tidak disupport"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Format disk tidak disupport"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Disk sedang digunakan"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Galat sintaks di berkas konfigurasi"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Volume label terkorupsi"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Sebuah nama data set terkorupsi"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Alokasi memori gagal"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Verifikasi perangkat telah gagal"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Perangkat yang dimaksud tidak memiliki perangkat DASD yang valid"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Error fatal"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Tak ada ruang untuk label volume."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Tak ada ruang untuk info partisi."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "VTOC tidak valid."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Tidak dapat menerima versi API."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 "Versi API saat ini '%d' tidak cocok dengan versi API penggerak dasd '%d'!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Tak dapat menerima informasi cakram."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Tak dapat menerima informasi geometri cakram."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Tak dapat menerima infomrasi ukuran blok."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Tak dapat menerima informasi cakram."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 #, fuzzy
 msgid "device is too small for GPT"
 msgstr "Perangkat terlalu kecil untuk %lu blok."
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, fuzzy, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1228,7 +1332,7 @@ msgstr ""
 "dari format yang Parted dapat mengenalnya. Tolong beritahu kami! bug-"
 "parted@gnu.org"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1239,7 +1343,7 @@ msgstr ""
 "dapat membetulkan GPT untuk menggunakan semuar ruang kosong yang tersedia "
 "(kosong %llu blocks) atau melanjutkan dengan konfigurasi saat ini?"
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 #, fuzzy
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
@@ -1250,7 +1354,7 @@ msgstr ""
 "lebih kecil. Betulkan, dengan memindahkan tabel backup ke akhir dari disk "
 "(dan menghapus backup yang lama)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1259,7 +1363,7 @@ msgstr ""
 "sebuah tabel yang baru, dan gunakan Parted's rescue feature untuk merecover "
 "partisi."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1267,7 +1371,7 @@ msgstr ""
 "Tabel GPT cadangan telah terkorupsi, tetapi yang utama kelihatan BAIK, jadi "
 "ini yang akan digunakan"
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1275,63 +1379,63 @@ msgstr ""
 "Tabel GPT primer telah terkorupsi, tetapi backup-nya kelihatan BAIK, jadi "
 "ini yang akan digunakan"
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "kumpulan CRC tabel partisi utama tidak cocok"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "Tidak dapat mengalokasikan sebuah nomor partisi."
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Signature tidak valid %x untuk disklabels Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Map partisi tidak memiliki masukan untuk map partisi!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s terlalu kecil untuk sebuah disklabel Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Partisi %d memiliki signature yang tidak valid %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Partisi %d memiliki panjang 0 bytes yang tidak valid!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Daerah data tidak dimulai pada awal dari partisi."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Daerah boot tidak dimulai pada awal dari partisi."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Daerah boot partisi tidak menggunakan seluruh partisi."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Daerah data partisi tidak menggunakan seluruh partisi."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr ""
 "Ukuran block aneh pada deskripsi perangkat: %d bytes tidak terbagi oleh 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1340,11 +1444,11 @@ msgstr ""
 "driver descriptor mengatakan bahwa ukuran physical block adalah %d bytes, "
 "tetapi Linux mengatakan ukurannya %d bytes."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Tidak ditemukan map partisi yang valid."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1353,11 +1457,11 @@ msgstr ""
 "Konflik masukan ukuran peta partisi! Masukan 1 mengatakan %d, tetapi "
 "masukan  %d mengatakan %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Aneh!  Ada 2 masukan map partisi!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1365,7 +1469,7 @@ msgstr ""
 "Mengubah nama dari root atau partisi swap akan membuat Linux tidak dapat "
 "mengenalinya."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Tidak dapat lagi menambah partisi -- peta partisi terlalu kecil!"
 
@@ -1386,7 +1490,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Tidak dapat menambah partisi yang lain."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1395,7 +1499,7 @@ msgstr ""
 "panjang partisi dari sektor %jd melampaui %s-partition-table-imposed "
 "maksimum dari %jd"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1404,60 +1508,56 @@ msgstr ""
 "memulai penomoran sektor, %jd melampaui %s-partition-table-imposed maksimum "
 "dari %jd"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Checksum pada block %llu dengan tipe %s tidak baik."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : Tidak menemukan rdb block, seharusnya tidak pernah terjadi."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : Loop terdeteksi pada block %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : List %s kelihatannya tidak baik pada block %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Gagal untuk men-list bad blocks."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Gagal untuk men-list block partisi."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Gagal untuk men-list file system blocks."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Gagal untuk men-list boot blocks."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Gagal untuk menulis block partisi pada %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Tidak dapat mengalokasikan sebuah nomor partisi."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Sun disk label terdeteksi terkorupsi."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1466,18 +1566,18 @@ msgstr ""
 "Geometri CHS dari disk (%d,%d,%d) dilaporkan oleh sistem operasi tidak cocok "
 "dengan geometri yang disimpan pada disk label (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Disk label mendeskripsikan disk lebih besar dari %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr ""
 "Disk memiliki %d cylinders, dimana ini lebih besar dari maksimum 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1489,7 +1589,7 @@ msgstr ""
 "dapat di-boot tanpanya, dan SILO (boot loader untuk SPARC) menghargainya "
 "dengan baik."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Sun disk label sudah penuh"
 
@@ -1509,61 +1609,61 @@ msgstr "gagal menulis ke perangkat"
 msgid "reading from device failed"
 msgstr "gagal membaca dari perangkat"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Tidak dapat membaca label volume."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Tidak dapat menulis label volume."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Tidak dapat membaca label VTOC"
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Tidak dapat membaca VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Tidak dapat membaca VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Tidak dapat membaca VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Tidak dapat membaca VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Tidak dapat menulis label VTOC."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Tidak dapat menulis VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Tidak dapat menulis VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Tidak dapat menulis VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Tidak dapat menulis VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 #, fuzzy
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Tidak dapat menulis VTOC FMT1 DSCB."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Kehabisan memori"
 
@@ -1586,73 +1686,73 @@ msgstr "Nilai head maksimum adalah %d."
 msgid "The maximum sector value is %d."
 msgstr "Nilai maksimum dari sektor adalah %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Lokasi %s terletak diluar dari perangkat %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "nomor tidak valid."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Gagal untuk mengalokasikan blok partisi\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Gagal untuk mengalokasikan blok\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Tidak dapat membaca boot blok %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Tidak dapat membaca root blok %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : Gagal mengalokasikan id elemen list\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Tidak dapat membaca blok %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Checksum pada block %llu dengan tipe %s tidak baik\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Tidak dapat menulis blok %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s : Gagal untuk mengalokasikan disk_specific rdb blok\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : Tidak dapa menemukan rdb blok, seharusnya tidak pernah terjadi\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Gagal untuk menbaca blok partisi %llu\n"
@@ -1700,38 +1800,38 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr "FAT boot sector mengatakan ukuran sektor logical adalah 0. Ini aneh"
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr "FAT boot sector mengatakan disana tidak ada tabel FAT. Ini aneh."
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr "FAT boot sector mengatakan clusters adalah 0 sectors. Ini aneh."
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "File system adalah FAT12, dimana file system ini tidak disupport."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Tipe linux swap signature lama tidak diketahui '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Tipe linux swap signature baru tidak diketahui '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Tipe linux swap signature swsusp tidak diketahui '%9s'."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1740,16 +1840,7 @@ msgstr ""
 "Parted tidak dapat menggunakan file systems tipe HFS di dist dengan ukuran "
 "sektor tidak sama dengan %d bytes."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"File system ini memiliki sektor logical yang berukuran %d. GNU Parted tidak "
-"bekerja dengan baik dengan ukuran sektor selain 512 bytes."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1764,7 +1855,7 @@ msgstr ""
 "Betulkan, file system CHS geomtry akan diset sehingga cocok dengan tabel "
 "partisi dari CHS geometry."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1783,21 +1874,21 @@ msgstr ""
 "Anda butuh %s ruang kosong dari disk untuk mengecilkan partisi ini. Saat ini "
 "hanya %s yang kosong."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr ""
 "Cluster awal delta = %d, dimana bukan kelipatan dari ukuran cluster %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Bad directory entry untuk %s: cluster pertama merupakan akhir dari file "
 "marker"
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1805,7 +1896,7 @@ msgstr ""
 "Bad FAT: unterminated chain untuk %s. Anda seharusnya menjalankan dosfsck "
 "atau scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1814,7 +1905,7 @@ msgstr ""
 "Bad FAT: cluster %d diluar dari file system dalam rantai untuk %s. Anda "
 "seharusnya menjalankan dosfsck atau scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1823,12 +1914,12 @@ msgstr ""
 "Bad FAT: cluster %d adalah cross-linked untuk %s. Anda seharusnya "
 "menjalankan dosfsck atan scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s adalah %dk, tetapi ini memiliki %d clusters (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1880,17 +1971,17 @@ msgstr ""
 "Tidak terdapat ruangan yang cukup untuk direktori root untuk semua file. "
 "Pilih cancel, atau ignore untuk menggagalkan files."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Error menulis pada direktori root."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 "Jika anda meninggalkan file system anda sebagai FAT16, maka anda mungkin "
 "tidak akan menemui masalah"
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1901,7 +1992,7 @@ msgstr ""
 "anda ingin melakukan ini, anda seharusnya berkonsultasi terlebih dahulu pada "
 "manual dari Parted (atau manual dari distribusi anda)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1909,7 +2000,7 @@ msgstr ""
 "Jika anda meninggalkan file system sebagai FAT32, mungkin anda tidak menemui "
 "masalah baru."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1924,34 +2015,34 @@ msgstr ""
 "ke FAT32 akan membuat file system tidak dapat dibaca oleh MS DOS, MS Windows "
 "95a, dan MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Maukah anda menggunakan FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "File system hanya dapat diresize ke ukuran ini dengan mengubahnya ke FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "The file system hanya dapat di-resize untuk ukuran ini hanya dengan "
 "mengubahnya menjadi FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1994,18 +2085,18 @@ msgstr "Support untuk men-resize filesystem %s belum diimplementasikan."
 msgid "The file system is bigger than its volume!"
 msgstr "File system lebih besar dari volumenya!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "File system memiliki kerusakan."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Bad blocks tidak dapat dibaca."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -2014,51 +2105,51 @@ msgstr ""
 "Mencoba untuk menregister sebuah extent dimulai dari block 0x%X, tetapi yang "
 "lain sudah ada di partisi ini. Anda seharusnya mengecheck file system !"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Mencoba untuk memindahkan sebuah extent dari block 0x%X ke block 0x%X, "
 "tetapi yang lain sudah ada di partisi ini. Ini seharusnya tidak terjadi!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr "Tidak dapat meng-update extent cache untuk file HFS dengan CNID %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "Mencoba untuk membaca file HFS dengan CNID %X dibelakang EOF."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Tidak dapat menemukan sekto %lli dari file HFS dengan CNID %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "Mencoba untuk menulis file HFS dengan CNID %X dibelakang EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr "Tidak dapat meng-update extent cache untuk file HFS+ dengan CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "Mencoba untuk membaca file HFS+ dengan CNID %X dibelakang EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Tidak dapat menemukan sekto %lli dari file HFS+ dengan CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "Mencoba untuk menulis file HFS+ dengan CNID %X dibelakang EOF."
@@ -2133,19 +2224,19 @@ msgstr "Maaf, HFS+ tidak dapat di-resize dengan cara itu saat ini."
 msgid "shrinking embedded HFS+ volume"
 msgstr "mengecilkan embedded HFS+ volume"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Resizing dari HFS+ volume telah gagal."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "mengecilkan HFS wrapper"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "Update dari HFS wrapper telah gagal."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2154,11 +2245,11 @@ msgstr ""
 "Ini bukan sebuah pengecheckan %s nyata. Ini akan mengekstrak files spesial "
 "level bawah untuk tujuan debugging."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Daftar bad block header checksum."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
@@ -2166,32 +2257,33 @@ msgstr ""
 "Ukuran tidak sah dalam transaksi blok ketika membalas transaksi journal (%i "
 "bytes)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Journal disimpan diluar dari volume tidak disupport. Coba untuk "
 "menonaktifkan journal dan jalankan Parted lagi sesudah itu."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr "Ukuran atau offset dari journal bukan kelipatan dari ukuran sektor"
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Nilai magic tidak benar dalam header journal."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "Ukuran journal tidak cocok diantara journal info block dan journal header."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Beberapa fields header bukan kelipatan dari ukuran sektor."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2199,11 +2291,11 @@ msgstr ""
 "Ukuran sektor yang disimpan dalam journal tidak sebesar 512 bytes. Parted "
 "hanya mendukung ukuran sektor 512 bytes."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Journal checksum jelek."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2211,7 +2303,7 @@ msgstr ""
 "Journal tidak kosong. Parted harus membalas transaksi sebelum membuka file "
 "system. Ini akan memodifikasi file system."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2219,11 +2311,11 @@ msgstr ""
 "Volume header atau direktori master block telah berubah ketika membalas "
 "transaksi journal. Anda seharusnya merestart Parted."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Sebuah extent tidak dapat direlokasikan."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2231,15 +2323,15 @@ msgstr ""
 "Sebuah referensi untuk sebuah extent datang dari tempat yang tidak "
 "seharusnya. Anda harus mengecheck filesystem!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr "HFS volume tidak memiliki catalog file. Ini sangat tidak biasa!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr "HFS+ volume ini tidak memiliki extent overflow file. Ini tidak biasa!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2247,23 +2339,23 @@ msgstr ""
 "Extent overflow file seharusnya tidak berisi extentnya sendiri! Anda "
 "seharusnya mengecheck filesystem."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Tidak dapat men-cache filesystem dalam memori."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Daftar bad blocks tidak dapat diload."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Terjadi error ketika extent relocation."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr "HFS+ volume tidak memiliki catalog file. Ini sangat tidak biasa!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr "HFS+ volume tidak memiliki extent overflow file. Ini tidak biasa!"
 
@@ -2377,24 +2469,24 @@ msgstr ""
 "GNU General Public License untuk informasi yang lebih detail.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(waktu tersisa %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, fuzzy, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
 "Partisi %s sedang digunakan. Anda harus meng-umount terlebih dahulu sebelum "
 "memodifikasinya dengan menggunakan Parted."
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Partisi pada %s sedang digunakan."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2403,31 +2495,31 @@ msgstr ""
 "Disk label yang ada di %s akan dihapus dan seluruh data di disk ini akan "
 "hilang. Apakah anda ingin melanjutkan?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Tipe disk label baru?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Tipe partisi?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Nama partisi?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Tipe file system?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Awal?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Akhir?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, fuzzy, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2436,7 +2528,7 @@ msgstr ""
 "Anda meminta sebuah partisi dari %s sampai %s.\n"
 "Lokasi terdekat yang dapat kami tangani adalah %s sampai %s.%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2444,83 +2536,94 @@ msgstr ""
 "\n"
 "Apakah ini masih dapat anda terima?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s disk label tidak mensupport partisi extended."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Nomor partisi?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "BIOS cylinder,head,sector geometry: %d,%d,%d. Setiap cylinder adalah %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Model: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disk %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Ukuran sektor (logical/physical): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Tabel Partisi: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, fuzzy, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Disk %s: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Nomor"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Awal"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Akhir"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Ukuran"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Tipe"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "File system"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Nama"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Tanda"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Ruang Kosong"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2529,66 +2632,67 @@ msgstr ""
 "Sebuah %s %s partisi ditemukan pada %s -> %s. Anda ingin menambahkan ini "
 "pada tabel partisi?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "mencari untuk file systems"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Perangkat baru?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "tipe penyesuaian(min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1721
 #, c-format
-msgid "%d not aligned\n"
+msgid "%d not aligned: %s\n"
 msgstr ""
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Tanda yang akan dirubah?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Status baru?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Satuan?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "pemeriksaan-penyesuaian"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "pemeriksaan-penyesuaian TIPE N            periksa partisi N untuk "
 "penyesuaian TIPE(min|opt)"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "bantuan"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2596,15 +2700,15 @@ msgstr ""
 "bantuan [PERINTAH]                       menampilkan bantuan umum, atau "
 "bantuan pada PERINTAH"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2612,15 +2716,15 @@ msgstr ""
 "mklabel,mktable TIPE-LABEL               membuat sebuah disklabel baru "
 "(tabel partisi)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart TIPE-PART [TIPE-FS] AWAL AKHIR    membuat sebuah partisi"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2628,21 +2732,21 @@ msgstr ""
 "'mkpart' membuat sebuah partisi tanpa membuat sebuah file system baru pada "
 "partisi. TIPE-FS mungkin dispesifikasikan untuk mengeset ID partisi.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "nama"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
 "nama NOMOR NAMA                          memberi nama partisi NOMOR dengan "
 "NAMA"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "cetak"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2652,7 +2756,7 @@ msgstr ""
 "yang bisa dipakai, ruang kosong, seluruh partisi yang ditemukan, atau untuk "
 "partisi tertentu"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2660,11 +2764,11 @@ msgstr ""
 "Tanpa argumen, 'print' menampilkan seluruh tabel partisi. Akan tetapi dengan "
 "diikuti argument ini akan melakukan beberapa aksi yang berbeda.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : menampilkan seluruh perangkat blok yang aktif\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2672,14 +2776,14 @@ msgstr ""
 "  free      : menampilkan informasi tentang ruang partisi kosong di perngkat "
 "blok yang sedang dipakai\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : tampilkan tabel partisi dari seluruh perangkat blok yang "
 "aktif\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
@@ -2687,19 +2791,19 @@ msgstr ""
 "  NUMBER    : tampilkan informasi yang lebih detail tentang partisi yang "
 "terpilih\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "berhenti"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "berhenti                                 keluar dari program"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "selamatkan"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2707,58 +2811,58 @@ msgstr ""
 "selamatkan AWAL AKHIR                    menyelamatkan partisi yang hilang "
 "didekat alamat AWAL dan AKHIR"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 #, fuzzy
 msgid "resizepart"
 msgstr "resize"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "pindah NOMOR AWAL AKHIR                  memindahkan partisi NOMOR"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "hapus"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "hapus NOMOR                              hapus partisi NOMOR"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "pilih"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr ""
 "pilih PERANGKAT                          pilih perangkat yang akan di edit"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr ""
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 #, fuzzy
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 "set NOMOR FLAG STATUS                    merubah tanda pada partisi NOMOR"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 #, fuzzy
 msgid "disk_toggle"
 msgstr "ubah"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 #, fuzzy
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
@@ -2767,21 +2871,21 @@ msgstr ""
 "ubah [NOMOR [TANDA]]                     ubah keadaan dari TANDA di partisi "
 "NOMOR"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 "set NOMOR FLAG STATUS                    merubah tanda pada partisi NOMOR"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "ubah"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
@@ -2789,20 +2893,20 @@ msgstr ""
 "ubah [NOMOR [TANDA]]                     ubah keadaan dari TANDA di partisi "
 "NOMOR"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "satuan"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "satuan SATUAN                            mengeset satuan baku pada SATUAN"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "versi"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2810,7 +2914,7 @@ msgstr ""
 "versi                                    menampilkan versi dari GNU Parted "
 "dan informasi hak cipta"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2818,33 +2922,33 @@ msgstr ""
 "'versi' menampilkan hak cipta dan informasi versi sesuai dengan kopi dari "
 "GNU Parted ini\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 "Penggunaan: %s [-hlmsv] [-a<penyesuaian>] [PERANGKAT [PERINTAH "
 "[PARAMETER]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Tidak ditemukan perangkat"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 #, fuzzy
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr "PERINGATAN: Anda bukan superuser. Perhatikan permisi anda."
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Anda mungkin perlu untuk memperbarui /etc/fstab.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 "Selamat datang di GNU Parted| Ketik 'bantuan' untuk melihat daftar dari "
 "perintah yang tersedia.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2856,7 +2960,7 @@ msgstr ""
 "diberikan,\n"
 "maka parted akan berjalan dengan menggunakan mode interaktif.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2920,7 +3024,7 @@ msgstr ""
 "dan beberapa informasi tambahan mengenai setting yang telah\n"
 "anda lakukan yang menurut anda penting.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2928,7 +3032,7 @@ msgstr ""
 "\n"
 "Perintah yang pernah dijalankan:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2936,7 +3040,7 @@ msgstr ""
 "\n"
 "Error: SEGV_MAPPER (Alamat tidak di map ke objek)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2944,7 +3048,7 @@ msgstr ""
 "\n"
 "Error: SEGV_ACCER (Permisi tidak sah untuk objek yang dimap)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2952,7 +3056,7 @@ msgstr ""
 "\n"
 "Error: Sebuah sinyal SIGSEGV umum telah ditemui.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2960,7 +3064,7 @@ msgstr ""
 "\n"
 "Error: FPE_INTDIV (Integer: dibagi dengan nol)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2968,7 +3072,7 @@ msgstr ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2976,7 +3080,7 @@ msgstr ""
 "\n"
 "Error: FPE_FLTDIV (Float: dibagi dengan nol)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2984,7 +3088,7 @@ msgstr ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2992,7 +3096,7 @@ msgstr ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -3000,7 +3104,7 @@ msgstr ""
 "\n"
 "Error: FPE_FLTRES (Float: hasil tidak eksak)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -3008,7 +3112,7 @@ msgstr ""
 "\n"
 "Error: FPE_FLTINV (Float: operasi tidak valid)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -3016,7 +3120,7 @@ msgstr ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript diluar dari jangkauan)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -3024,7 +3128,7 @@ msgstr ""
 "\n"
 "Error: Sebuah sinyal SIGFPE umum telah ditemukan."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -3032,7 +3136,7 @@ msgstr ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3040,7 +3144,7 @@ msgstr ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3048,7 +3152,7 @@ msgstr ""
 "\n"
 "Error: ILL_ILLADDR (Illegal mode pengalamatan)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3056,7 +3160,7 @@ msgstr ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3064,7 +3168,7 @@ msgstr ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3072,7 +3176,7 @@ msgstr ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3080,7 +3184,7 @@ msgstr ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3088,7 +3192,7 @@ msgstr ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3096,65 +3200,69 @@ msgstr ""
 "\n"
 "Error: Sebuah sinyal SIGILL umum telah ditemukan."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "token tidak valid: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Memperkirakan sebuah nomor partisi."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Partisi tidak ada."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Memperkirakan sebuah tipe filesystem."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Tipe filesystem tidak diketahui \"%s\"."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Memperkirakan sebuah tipe disk label."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Tidak dapat membuat partisi lagi."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Memperkirakan sebuah tipe partisi."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "nyala"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "mati"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "optimal"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "minimal"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "PILIHAN:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "PERINTAH:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -3163,18 +3271,33 @@ msgstr ""
 "\n"
 "Laporkan bugs ke: %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Menggunakan perangkat %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Perintah ini tidak mempunyai arti dalam mode non-interaktif.\n"
 
+#~ msgid "%s: option `--%s' doesn't allow an argument\n"
+#~ msgstr "%s: pilihan `--%s' tidak memperbolehkan adanya argumen\n"
+
+#~ msgid "%s: unrecognized option `--%s'\n"
+#~ msgstr "%s: pilihan `--%s' tidak dikenali\n"
+
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: pilihan -- %c tidak valid\n"
 
+#~ msgid "%s: option `-W %s' is ambiguous\n"
+#~ msgstr "%s: pilihan `-W %s' adalah abigu\n"
+
+#~ msgid "%s: option `-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: pilihan `-W %s' tidak memperbolehkan adanya sebuah argument\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "%s halaman rumah: <http://www.gnu.org/software/%s/>\n"
+
 #~ msgid ""
 #~ "Usage: %s [OPTION]\n"
 #~ "  or:  %s DEVICE MINOR\n"
@@ -3469,6 +3592,13 @@ msgstr "Perintah ini tidak mempunyai arti dalam mode non-interaktif.\n"
 #~ msgid "File system too small for ext2."
 #~ msgstr "File system terlalu kecil untuk ext2."
 
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "File system ini memiliki sektor logical yang berukuran %d. GNU Parted "
+#~ "tidak bekerja dengan baik dengan ukuran sektor selain 512 bytes."
+
 #~ msgid "Too many bad pages."
 #~ msgstr "Terlalu banyak bad pages."
 
@@ -3504,9 +3634,6 @@ msgstr "Perintah ini tidak mempunyai arti dalam mode non-interaktif.\n"
 #~ msgid "Source partition number?"
 #~ msgstr "Nomor partisi asal?"
 
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "Tidak dapat mengkopi sebuah partisi extended."
-
 #~ msgid "Destination partition number?"
 #~ msgstr "Nomor partisi tujuan?"
 
index 5769eaae7e52fced73da16c9e9cfb72ee7067012..29ca846860be3e45d218e3ab1e5cabc2cb949443 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index d13ee1fc0a94f23031740f30e9270083d132262c..b01bb19bc1bc79e11c9e1ebb8a8bfbaa947fe981 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2014-07-10 09:57+0100\n"
 "Last-Translator: Milo Casagrande <milo@milo.name>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -16,86 +16,67 @@ msgstr ""
 "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=2; plural=(n!=1);\n"
 "X-Generator: Poedit 1.6.6\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argomento %s per %s non valido"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argomento %s per %s ambiguo"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Argomenti validi sono:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "errore di scrittura"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Errore di sistema sconosciuto"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: l'opzione \"-W %s\" è ambigua\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: l'opzione \"%s\" è ambigua. Possibilità:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: l'opzione \"--%s\" non accetta un argomento\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: opzione \"%c%s\" non riconosciuta\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: l'opzione \"%c%s\" non accetta un argomento\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: l'opzione \"--%s\" richiede un argomento\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: opzione \"--%s\" non riconosciuta\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: opzione \"%c%s\" non riconosciuta\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: opzione non valida -- \"%c\"\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: l'opzione richiede un argomento -- \"%c\"\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: l'opzione \"-W %s\" è ambigua\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: l'opzione \"-W %s\" non accetta un argomento\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: l'opzione \"-W %s\" richiede un argomento\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -115,87 +96,88 @@ msgstr "%s: l'opzione \"-W %s\" richiede un argomento\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "\""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "\""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Successo"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Nessuna corrispondenza"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Espressione regolare non valida"
 
 # (ndt) http://en.wikipedia.org/wiki/Collation
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Carattere di collazione non valido"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Nome classe del carattere non valida"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Backslash finale"
 
 # (ndt) hmmm....
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Riferimento all'indietro non valido"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "[ o [^ senza corrispondenza"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "( o \\( senza corrispondenza"
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "\\{ senza corrispondenza"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Contenuto di \\{\\} non valido"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Limite massimo non valido"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Memoria esaurita"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Espressione regolare precedente non valida"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Fine prematura dell'espressione regolare"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Espressione regolare troppo grande"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr ") o \\) senza corrispondenza"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Nessuna espressione regolare precedente"
 
@@ -219,12 +201,12 @@ msgstr "^[sSyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pacchetto creato da %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pacchetto creato da %s\n"
@@ -232,18 +214,17 @@ msgstr "Pacchetto creato da %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Licenza GPLv3+: GNU GPL versione 3 o successiva <http://gnu.org/licenses/gpl."
@@ -254,19 +235,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Scritto da %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Scritto da %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Scritto da %s, %s e %s.\n"
@@ -274,7 +255,7 @@ msgstr "Scritto da %s, %s e %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -286,7 +267,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -298,7 +279,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -310,7 +291,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -322,7 +303,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,7 +317,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -350,7 +331,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -365,32 +346,26 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Segnalare i bug a: %s\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Segnalare i bug di %s a: %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sito web di %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Sito web di %s: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr "Aiuto per l'utilizzo di software GNU: <http://www.gnu.org/gethelp/>\n"
 
 #: lib/xalloc-die.c:34
@@ -417,60 +392,60 @@ msgid "Disk Image"
 msgstr "Immagine disco"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Errore nell'aprire %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Impossibile aprire %s in lettura-scrittura (%s). %s è stato aperto in sola "
 "lettura."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s durante il posizionamento per la lettura su %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s durante la lettura su %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Impossibile scrivere su %s poiché è stato aperto in sola lettura."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s durante il posizionamento per la scrittura su %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s durante la scrittura su %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Usare \"%s --help\" per ulteriori informazioni.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Uso: %s [OPZIONI] [DEVICE]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -487,7 +462,7 @@ msgstr ""
 "  -h, --help       Visualizza questo aiuto ed esce\n"
 "  -v, --version    Stampa la versione ed esce\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -495,7 +470,7 @@ msgstr ""
 "\n"
 "Quando non viene fornito alcun DEVICE, rileva tutte le partizioni.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -541,7 +516,7 @@ msgstr ""
 "significa che le modifiche effettuate non saranno note a Hurd. Riavviare il "
 "computer prima di fare qualsiasi cosa con %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -554,17 +529,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s nel tentativo di sincronizzare %s sul disco"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Impossibile fare stat del device %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Impossibile determinare il tipo dm di %s."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -573,7 +548,7 @@ msgstr ""
 "Impossibile determinare la dimensione del settore per %s: %s.\n"
 "Verrà utilizzata la dimensione predefinita (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -582,21 +557,21 @@ msgstr ""
 "Impossibile determinare la dimensione fisica del settore per %s.\n"
 "Verrà utilizzata la dimensione logica (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Impossibile determinare la dimensione di %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "IDE generico"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Impossibile identificare il device %s -%s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "IDE generico"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -609,12 +584,12 @@ msgstr ""
 "combinazioni di tipi di etichetta/file system, come GPT ed ext2/3.\n"
 "Per maggiori informazioni, consultare il sito web."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Errore nell'inizializzare il device SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -623,7 +598,7 @@ msgstr ""
 "Il device %s è così piccolo che probabilmente non può contenere un file "
 "system o una tabella delle partizioni. È stato selezionato il device errato?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -633,86 +608,99 @@ msgstr ""
 "programma è sconsigliato a meno che non si sappia VERAMENTE cosa si sta "
 "facendo."
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Scheda di archiviazione SD/MMC generica"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Nuovo device?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Controller RAID DAC960"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Dispositivo Promise SX8 SATA"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "Dispositivo ATA over Ethernet"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "Drive IBM S390 DASD"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries Virtual DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Controller ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Controller I2O"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "User-Mode Linux UBD"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Device di loopback"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Device-mapper Linux (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Device a blocchi Xen Virtual"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Sconosciuto"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Device a blocchi Virtio"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Array RAID software Linux"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new() Tipo di device non supportato"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Errore nell'eseguire fsync o nel chiudere %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%0.0s raggiunta la fine del file durante la lettura di %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -724,12 +712,12 @@ msgstr ""
 "successivo riavvio: è consigliato non eseguire il mount o usare il "
 "dispositivo prima del riavvio."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Impossibile determinare l'inizio e la lunghezza di %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -742,39 +730,39 @@ msgstr ""
 "restano in uso le vecchie partizioni. È consigliato riavviare ora prima di "
 "eseguire ulteriori modifiche."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr ""
 "Impossibile avere la fine prima dell'inizio (settore iniziale=%jd lunghezza="
 "%jd)."
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr ""
 "Tentativo di scrivere i settori %ld-%ld al di fuori della partizione su %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "controllo dei blocchi danneggiati"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Backtrace ha %d chiamate sullo stack:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Asserzione (%s) in %s:%d nella funzione %s() non riuscita."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: etichetta del disco non riconosciuta"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -783,41 +771,41 @@ msgstr ""
 "Questa versione di libparted non dispone del supporto alla scrittura per %s. "
 "Potrebbe essere stato compilato in sola lettura."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "La partizione %d è %s, ma il file system è %s."
 
 # (ndt) lasciare non tradotto?
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "cylinder_alignment"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Flag del disco %d sconosciuto."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Le etichette dei dischi %s non supportano le partizioni estese."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr ""
 "Le etichette dei dischi %s non supportano le partizioni estese o logiche."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Troppe partizioni primarie."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -825,127 +813,127 @@ msgstr ""
 "Impossibile aggiungere una partizione logica a %s poiché non ci sono "
 "partizioni estese."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Impossibile avere più di una partizione estesa su %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr ""
 "Impossibile avere partizioni logiche al di fuori della partizione estesa."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr ""
 "Impossibile avere una partizione logica esterna alla partizione estesa su %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Impossibile avere una partizione primaria all'interno di una estesa."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Impossibile avere una partizione al di fuori del disco."
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Impossibile avere partizioni che si sovrappongono."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadati"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "libero"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "estesa"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logica"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primaria"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "avvio"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "root"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "nascosta"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr "irst"
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 msgid "esp"
 msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Flag di partizione %d sconosciuto."
@@ -1015,33 +1003,33 @@ msgstr ""
 "comunicare nelle segnalazioni. Segnalare un bug a %s specificando almeno la "
 "versione (%s) e il seguente messaggio:  "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
 "Il supporto per leggere etichette dei dischi AIX non è ancora stato "
 "implementato."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
 "Il supporto per scrivere etichette dei dischi AIX non è ancora stato "
 "implementato."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "Il supporto per aggiungere partizioni alle etichette dei dischi AIX non è "
 "ancora stato implementato."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Il supporto per duplicare partizioni in etichette dei dischi AIX non è "
 "ancora stato implementato."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1049,72 +1037,178 @@ msgstr ""
 "Il supporto per impostare il tipo di sistema delle partizioni in etichette "
 "dei dischi AIX non è ancora stato implementato."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "Il supporto per impostare i flag in etichette dei dischi AIX non è ancora "
 "stato implementato."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Il programma non può utilizzare file system HFS su dischi con settori di "
+"dimensione diversa da %d byte."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Impossibile soddisfare tutti i vincoli sulla partizione."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Impossibile allocare un numero di partizione."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Impossibile allocare uno spazio per un'etichetta bsd."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Impossibile allocare uno spazio per un'etichetta dasd"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Tabella delle partizioni su %s non valida -- firma %x errata."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Tabella della partizioni non valida - partizione ricorsiva su %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Le partizioni estese non possono essere nascoste su etichette MS-DOS."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Le partizioni estese non possono essere nascoste su etichette MS-DOS."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr "Impossibile ridimensionare partizioni gestite da Windows Dynamic Disk."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "Non è possibile creare ulteriori partizioni"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s non ha partizioni estese (volume header partition)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "Checksum errato; la tabella delle partizioni è danneggiata."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Solo le partizioni primarie possono essere partizioni di root."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Solo le partizioni primarie possono essere partizioni di swap."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Solo le partizioni logiche possono essere file di avvio."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1123,91 +1217,95 @@ msgstr ""
 "Impostazione del nome della partizione dvh a %s non riuscita:\n"
 "solo le partizioni logiche (file di avvio) hanno un nome."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Troppe partizioni primarie"
 
 # (ndt) o forse è il caso di rendere in italiano?
 # errore di apertura
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "errore di \"open\""
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "errore di \"seek\""
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "errore di \"read\""
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "errore di \"ioctl()\""
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "Corrispondenza versione API non corretta"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Tipo di disco non supportato"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Formato del disco non supportato"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Disco in uso"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Errore di sintassi nel file di configurazione"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "L'etichetta del volume è danneggiata"
 
 # (ndt) ????
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Il nome di un data set è danneggiato"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Allocazione memoria non riuscita"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Verifica del device non riuscita"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Il device specificato non è un device DASD valido"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Errore irrimediabile"
 
 # (ndt) ?
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Spazio insufficiente per l'etichetta di volume."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Spazio insufficiente per le informazioni sulla partizione."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "VTOC non valido."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Impossibile recuperare la versione delle API."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
@@ -1215,23 +1313,28 @@ msgstr ""
 "La versione \"%d\" delle API correnti non corrisponde alla versione \"%d\" "
 "delle API del driver dasd."
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Impossibile recuperare informazioni sul disco."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Impossibile recuperare informazioni sulla geometria del disco."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Impossibile recuperare informazioni sulla dimensione del blocco."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Impossibile recuperare informazioni sul disco."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr "il device è troppo piccolo per GPT"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1240,7 +1343,7 @@ msgstr ""
 "La versione del formato della tabella delle partizioni GPT è %x, successiva "
 "a quella nota al programma. Segnalare questo problema."
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1251,7 +1354,7 @@ msgstr ""
 "affinché utilizzi tutto lo spazio (ulteriori %llu blocchi) o continuare con "
 "le impostazioni attuali?"
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
@@ -1260,7 +1363,7 @@ msgstr ""
 "fine del disco. Correggere il problema spostando la copia alla fine (e "
 "rimuovendo quella vecchia)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1269,7 +1372,7 @@ msgstr ""
 "a crearne una nuova e, tramite le funzionalità di ripristino del programma, "
 "recuperare le partizioni."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1277,7 +1380,7 @@ msgstr ""
 "La tabella GPT di backup è danneggiata, ma quella principale sembra corretta "
 "e verrà utilizzata."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1286,56 +1389,56 @@ msgstr ""
 "corretta e verrà utilizzata."
 
 # (ndt) aiuto!!! idee sul vero significato della frase?
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr ""
 "CRC non corrispondente nella tabella delle partizioni primaria dell'array"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
 msgstr "traduzione nome della partizione non riuscita"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Firma %x non valida per le etichette dei dischi Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "La mappa delle partizioni non ha elementi."
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s è troppo piccolo per un'etichetta di disco Mac."
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "La partizione %d ha una firma non valida %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "La partizione %d ha una lunghezza non valida di 0 byte."
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "La regione dei dati non comincia all'inizio della partizione."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "La regione di avvio non comincia all'inizio della partizione."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "La regione di avvio della partizione non occupa l'intera partizione."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "La regione dati della partizione non occupa l'intera partizione."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1343,7 +1446,7 @@ msgstr ""
 "Dimensione del blocco nel descrittore del device inusuale: %d byte non è "
 "divisibile per 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1352,11 +1455,11 @@ msgstr ""
 "Il descrittore del driver indica che la dimensione del blocco fisico è di %d "
 "byte, ma Linux indica %d byte."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Non è stata trovata alcuna mappa delle partizioni valida."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1365,11 +1468,11 @@ msgstr ""
 "Due elementi della mappa delle partizioni hanno dimensioni diverse. Il primo "
 "elemento indica di essere %d, mentre l'elemento %d indica %d."
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Sono presenti due mappe delle partizioni. Situazione inusuale."
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1377,7 +1480,7 @@ msgstr ""
 "Cambiare il nome di una partizione di root o swap non permetterà a Linux di "
 "riconoscerla come tale."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
 "Impossibile aggiungere un'altra partizione: la mappa delle partizioni è "
@@ -1401,7 +1504,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Non è possibile aggiungere un'altra partizione."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1410,7 +1513,7 @@ msgstr ""
 "la lunghezza della partizione di %1$jd settori eccede quella massima di "
 "%3$jd imposta dalla tabella delle partizioni %2$s"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1419,60 +1522,56 @@ msgstr ""
 "il numero di settori iniziali %1$jd eccede quello massimo di %3$jd imposto "
 "dalla tabella delle partizioni di %2$s"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s: checksum errato sul blocco %llu di tipo %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s: non è stato trovato il blocco rdb, non dovrebbe succedere."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s: rilevato ciclo al blocco %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s: l'elenco %s sembra errato al blocco %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s: elencazione dei blocchi danneggiati non riuscita."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s: elencazione dei blocchi della partizione non riuscita."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s: elencazione dei blocchi del file system non riuscita."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s: elencazione dei blocchi di avvio non riuscita."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Scrittura del blocco di partizione alla posizione %d non riuscita."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Impossibile allocare un numero di partizione."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Rilevata etichetta Sun danneggiata."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1481,17 +1580,17 @@ msgstr ""
 "La geometria CHS del disco (%d,%d,%d) riportata dal sistema operativo non "
 "corrisponde a quella presente nell'etichetta del disco (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "L'etichetta del disco descrive un disco più grande di %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "Il disco ha %d cilindri, maggiori del massimo consentito di 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1503,7 +1602,7 @@ msgstr ""
 "non essere in grado di avviarsi; inoltre anche SILO (il boot loader per "
 "sparc) ne fa uso."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "L'etichetta del disco Sun è piena."
 
@@ -1523,60 +1622,60 @@ msgstr "scrittura sul device non riuscita"
 msgid "reading from device failed"
 msgstr "lettura dal device non riuscita"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Impossibile leggere l'etichetta del volume."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Impossibile scrivere l'etichetta del volume."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Impossibile leggere le etichette VTOC."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Impossibile leggere VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Impossibile leggere VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Impossibile leggere VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Impossibile leggere VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Impossibile scrivere le etichette VTOC."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Impossibile scrivere VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Impossibile scrivere VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Impossibile scrivere VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Impossibile scrivere VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Impossibile scrivere VTOC FMT9 DSCB."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Memoria non sufficiente."
 
@@ -1599,74 +1698,74 @@ msgstr "Il massimo valore per la testina è %d."
 msgid "The maximum sector value is %d."
 msgstr "Il massimo valore per il settore è %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "La posizione %s è esterna al device %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Numero non valido."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "Usare un'unità più piccola al posto di un valore < 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s: allocazione blocco di partizione non riuscita\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s: allocazione del blocco non riuscita\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s: impossibile leggere il blocco di avvio %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s: impossibile leggere il blocco di root %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s: allocazione ID elemento dell'elenco non riuscita\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s: impossibile leggere il blocco %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s: checksum errato sul blocco %llu del tipo %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s: impossibile scrivere il blocco %d\n"
 
 # (ndt) disk_specific ???
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s: allocazione del blocco rdb disk_specific non riuscita\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s: blocco rdb non trovato, non dovrebbe accadere\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s: lettura del blocco di partizione %llu non riuscita\n"
@@ -1715,44 +1814,44 @@ msgstr ""
 "La geometria del file system CHS è (%d, %d, %d) e non è valida. La geometria "
 "della tabella delle partizioni di CHS è (%d, %d, %d)."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "Il settore di avvio della FAT sostiene che la dimensione del settore logico "
 "sia 0. Situazione inusuale."
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 "Il settore di avvio della FAT sostiene che non ci siano tabelle FAT. "
 "Situazione inusuale."
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "Il settore di avvio della FAT sostiene che il cluster sia composto da 0 "
 "settori. Situazione inusuale."
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Il file system è FAT12 e non è supportato."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Vecchia firma linux di partizione swap non conosciuta: \"%10s\"."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Nuova firma linux di partizione swap non conosciuta: \"%10s\"."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Firma linux di partizione swap swsusp non conosciuta: \"%9s\"."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1761,16 +1860,7 @@ msgstr ""
 "Il programma non può utilizzare file system HFS su dischi con settori di "
 "dimensione diversa da %d byte."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Il file system ha dei settori logici con dimensione %d. Il programma non "
-"funziona correttamente con settori di dimensione diversa da 512 byte."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1785,7 +1875,7 @@ msgstr ""
 "impostare la geometria CHS del file system affinché corrisponda alla "
 "geometria CHS della tabella delle partizioni."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1804,7 +1894,7 @@ msgstr ""
 "Servono %s di spazio libero per ridurre la partizione a questa dimensione. "
 "Attualmente soltanto %s sono liberi."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
@@ -1812,14 +1902,14 @@ msgstr ""
 "Lo spostamento del primo blocco del cluster è %d e non è un multiplo della "
 "dimensione del cluster %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Elemento di directory errato per %s: il primo cluster è la fine del "
 "marcatore di file."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1827,7 +1917,7 @@ msgstr ""
 "FAT errata: catena per %s non terminata. Eseguire \"dosfsck\" oppure "
 "\"scandisk\"."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1836,7 +1926,7 @@ msgstr ""
 "FAT errata: cluster %d usato nella catena %s fuori dal file system. Eseguire "
 "\"dosfsck\" oppure \"scandisk\"."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1845,12 +1935,12 @@ msgstr ""
 "FAT errata: cluster %d con collegamenti incrociati per %s. Eseguire \"dosfsck"
 "\" oppure \"scandisk\"."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s è %dk, ma contiene %d cluster (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1901,15 +1991,15 @@ msgstr ""
 "Non c'è sufficiente spazio nella directory principale per tutti i file. "
 "Annullare oppure ignorare per perdere i file."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Errore nello scrivere nella directory principale."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "Lasciare il file system come FAT16 non causerà alcun problema."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1919,13 +2009,13 @@ msgstr ""
 "reinstallare il boot loader di Windows. Per continuare, consultare il "
 "manuale di Parted (o della propria distribuzione)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr "Lasciare il file system come FAT32 non introdurrà alcun problema."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1938,35 +2028,35 @@ msgstr ""
 "(o della propria distribuzione). Inoltre, la conversione a FAT32 renderà il "
 "file system non utilizzabile con MS-DOS, MS Windows 95a e MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Usare FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Il file system può solo essere portato a questa dimensione se si converte a "
 "FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Il file system può solo essere portato a questa dimensione se si converte a "
 "FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -2009,18 +2099,18 @@ msgstr "La ridimensione del file system %s non è supportata"
 msgid "The file system is bigger than its volume!"
 msgstr "Il file system è più ampio del suo volume."
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Il file system contiene errori."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "I blocchi danneggiati non possono essere letti."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -2029,52 +2119,52 @@ msgstr ""
 "Tentativo di registrare un extent a partire dal blocco 0x%X, ma ne esiste "
 "già uno alla stessa posizione. Controllare il file system."
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Tentativo di spostare un extent dal blocco 0x%X al blocco 0x%X, ma ne esiste "
 "già uno alla stessa posizione. Questo non dovrebbe verificarsi."
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr "Impossibile aggiornare la cache degli extent per file HFS con CNID %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "Tentativo di leggere file HFS con CNID %X oltre EOF."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Impossibile trovare il settore %lli del file HFS con CNID %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "Tentativo di scrivere file HFS con CNID %X oltre EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 "Impossibile aggiornare la cache degli extent per file HFS+ con CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "Tentativo di leggere file HFS+ con CNID %X oltre EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Impossibile trovare il settore %lli del file HFS+ con CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "Tentativo di scrivere file HFS+ con CNID %X oltre EOF."
@@ -2151,20 +2241,20 @@ msgstr "HFS+ non può ancora essere ridimensionato in quel modo."
 msgid "shrinking embedded HFS+ volume"
 msgstr "riduzione del volume HFS+ integrato"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Ridimensionamento del volume HFS+ non riuscito."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "riduzione del wrapper HFS"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "Aggiornamento del wrapper HFS non riuscito."
 
 # (ndt) mah...
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2173,11 +2263,11 @@ msgstr ""
 "Non è un controllo %s reale. Avvio della speciale procedura a basso livello "
 "d'estrazione dei file per il debug."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Checksum dell'elenco blocchi di intestazione inesatto."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
@@ -2185,37 +2275,38 @@ msgstr ""
 "Dimensione di un blocco di transazione non valida durante la riesecuzione "
 "del registro (%i byte)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Registri memorizzati all'esterno del volume non sono supportati. Disattivare "
 "il registro e riavviare il programma."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 "Lo spostamento o la dimensione del registro non è un multiplo della "
 "dimensione di un settore."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Valori \"magic\" errati nell'intestazione del registro."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "La dimensione del registro non corrisponde con quella dell'intestazione del "
 "registro medesimo."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr ""
 "Alcuni campi dell'intestazione non sono un multiplo della dimensione di un "
 "settore."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2223,11 +2314,11 @@ msgstr ""
 "La dimensione del settore presente nel registro non è di 512 byte. Il "
 "programma supporta solo settori di lunghezza pari a 512 byte."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Checksum del registro inesatto."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2235,7 +2326,7 @@ msgstr ""
 "Il registro non è vuoto. Il programma deve ripetere le transazioni prima di "
 "aprire il file system. Il file system verrà modificato."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2243,11 +2334,11 @@ msgstr ""
 "Il \"Volume Header\" o il \"Master Directory Block\" è stato modificato "
 "durante la riesecuzione del registro. Riavviare il programma."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Un extent non è stato riposizionato."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2256,18 +2347,18 @@ msgstr ""
 "il file system."
 
 # (ndt) preferisco lasciarli in inglese, sono delle 'parti' della struttura di HFS
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 "Questo volume HFS non possiede un \"Catalog File\". Situazione inusuale."
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Questo volume HFS non possiede un \"Extent Overflow File\". Situazione "
 "abbastanza inusuale."
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2275,23 +2366,23 @@ msgstr ""
 "L'\"Extent Overflow File\" non deve contenere i propri extent. Controllare "
 "il file system."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Impossibile caricare il file system in memoria."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Impossibile caricare l'elenco dei blocchi danneggiati."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Si è verificato un errore nel riallocare l'extent."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr "Questo volume HFS non ha un \"Catalog File\". Situazione inusuale."
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Questo volume HFS+ non possiede un \"Extent Overflow File\". Situazione "
@@ -2406,23 +2497,23 @@ msgstr ""
 "consultare la GNU General Public License.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(tempo rimasto %.2d.%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr "La partizione %s è in uso. Continuare veramente?"
 
 # (ndt) preferisco tenerla al plurale
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Le partizioni su %s sono in uso."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2431,31 +2522,31 @@ msgstr ""
 "L'etichetta del disco su %s verrà eliminata e tutti i dati su questo disco "
 "saranno persi. Continuare?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Tipo dell'etichetta del nuovo disco?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Tipo di partizione?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Nome della partizione?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Tipo di file system?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Inizio?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Fine?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2464,7 +2555,7 @@ msgstr ""
 "È stata richiesta una partizione da %s a %s (settori %llu..%llu).\n"
 "La posizione più prossima disponibile è da %s a %s (settori %llu..%llu).%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2472,86 +2563,97 @@ msgstr ""
 "\n"
 "È accettabile?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
 "La partizione risultante non è allineata correttamente per garantire "
 "prestazioni ottimali."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Le etichette dei dischi %s non supportano le partizioni estese."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Partizione numero?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "Geometria cilindri, testine, settori dal BIOS: %d,%d,%d. Ogni cilindro è "
 "%s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Modello: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disco %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Dimensione del settore (logica/fisica): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Tabella delle partizioni: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Flag del disco: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Numero"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Inizio"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Fine"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Dimensione"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Tipo"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "File system"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Nome"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Flag"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Spazio libero"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2560,69 +2662,70 @@ msgstr ""
 "È stata trovata una partizione %s %s su %s -> %s. Aggiungerla alla tabella "
 "delle partizioni?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "ricerca file system"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr "Il comando di ridimensionamento è stato rimosso da parted 3.0"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 "Ridurre la dimensione di una partizione può causare la perdita di dati: "
 "continuare veramente?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Nuovo device?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "tipo di allineamento (min/ott)"
 
 # (ndt) sembra che quel numero sia il numero della partizione
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d allineata\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d non allineata\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Flag da invertire?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Nuovo stato?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Unità?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "align-check TIPO N                        Controlla la partizione N per "
 "l'allineamento TIPO(min|ott)"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2630,15 +2733,15 @@ msgstr ""
 "help [COMANDO]                           Mostra l'aiuto generale o sul "
 "COMANDO"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2646,15 +2749,15 @@ msgstr ""
 "mklabel,mktable TIPO_ETIC                Crea una nuova etichetta del disco "
 "(tabella delle partizioni)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart TIPO_PART [TIPO_FS] INIZIO FINE   Crea una partizione"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2662,21 +2765,21 @@ msgstr ""
 "\"mkpart\" crea un partizione senza crearvi un file system. TIPO_FS può "
 "essere specificato per impostare un ID della partizione appropriato.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
 "name NUMERO NOME                         Chiama la partizione NUMERO come "
 "NOME"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2686,7 +2789,7 @@ msgstr ""
 "partizioni, i device disponibili, lo spazio libero, tutte le partizioni "
 "trovate o una particolare partizione"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2694,11 +2797,11 @@ msgstr ""
 "Senza argomenti, \"print\" visualizza l'intera tabella delle partizioni. Con "
 "i seguenti argomenti esegue diverse altre azioni.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : mostra tutti i device a blocchi attivi\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2706,14 +2809,14 @@ msgstr ""
 "  free      : visualizza informazioni riguardo lo spazio libero non "
 "partizionato sul device a blocchi corrente\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : visualizza le tabelle delle partizioni di tutti i device a "
 "blocchi attivi\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
@@ -2721,19 +2824,19 @@ msgstr ""
 "  NUMERO    : visualizza informazioni dettagliate riguardo questa "
 "particolare partizione\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     Esce dal programma"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2741,56 +2844,56 @@ msgstr ""
 "rescue INIZIO FINE                       Ripristina una partizione persa "
 "vicino a INIZIO e FINE"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr "Il comando di ridimensionamento è stato rimosso da parted 3.0\n"
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
 msgstr "resizepart"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr ""
 "resizepart NUMERO FINE                   Ridimensiona la partizione NUMERO"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm NUMERO                                Elimina la partizione NUMERO"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr ""
 "select DEVICE                            Sceglie il device da modificare"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "disk_set"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 "disk_set FLAG STATO                      Modifica il FLAG sul device "
 "selezionato"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
@@ -2799,22 +2902,22 @@ msgstr ""
 "device\n"
 "                                         selezionato"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 "set NUMERO FLAG STATO                    Modifica il FLAG sulla partizione\n"
 "                                         NUMERO"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
@@ -2822,20 +2925,20 @@ msgstr ""
 "toggle [NUMERO [FLAG]]                   Commuta lo stato del FLAG sulla\n"
 "                                         partizione NUMERO"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "unit UNITÀ                               Imposta l'unità predefinita a UNITÀ"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2844,7 +2947,7 @@ msgstr ""
 "informazioni\n"
 "                                         sul copyright di GNU Parted"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2852,31 +2955,31 @@ msgstr ""
 "\"version\" visualizza informazioni sul copyright e la versione di questa "
 "copia di GNU Parted\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 "Uso: %s [-hlmsv] [-a<allineamento>] [DEVICE [COMANDO [PARAMETRI]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Nessun device trovato"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 "Attenzione: non è stato eseguito come super utente. Prestare attenzione ai "
 "permessi.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Potrebbe essere necessario aggiornare /etc/fstab.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr "Benvenuti in GNU Parted. Digitare \"help\" per l'elenco dei comandi.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2887,7 +2990,7 @@ msgstr ""
 "Esegue COMANDO con i PARAMETRI sul DEVICE. Se non c'è alcun COMANDO\n"
 "parte in modalità interattiva.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2950,7 +3053,7 @@ msgstr ""
 "Includere anche qualsiasi altra informazione riguardo la propria\n"
 "configurazione da considerarsi importante.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2958,7 +3061,7 @@ msgstr ""
 "\n"
 "Cronologia comandi:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2966,7 +3069,7 @@ msgstr ""
 "\n"
 "Errore: SEGV_MAPERR (indirizzo non mappato all'oggetto)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2974,7 +3077,7 @@ msgstr ""
 "\n"
 "Errore: SEGV_ACCERR (permessi non validi per l'oggetto mappato)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2982,7 +3085,7 @@ msgstr ""
 "\n"
 "Errore: incontrato un segnale SIGSEGV generico.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2990,7 +3093,7 @@ msgstr ""
 "\n"
 "Errore: FPE_INTDIV (intero: divisione per zero)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2998,7 +3101,7 @@ msgstr ""
 "\n"
 "Errore: FPE_INTOVF (intero: overflow)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -3006,7 +3109,7 @@ msgstr ""
 "\n"
 "Errore: FPE_FLTDIV (float: divisione per zero)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -3014,7 +3117,7 @@ msgstr ""
 "\n"
 "Errore: FPE_FLTOVF (float: overflow)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -3022,7 +3125,7 @@ msgstr ""
 "\n"
 "Errore: FPE_FLTUND (float: underflow)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -3030,7 +3133,7 @@ msgstr ""
 "\n"
 "Errore: FPE_FLTRES (float: risultato inesatto)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -3038,7 +3141,7 @@ msgstr ""
 "\n"
 "Errore: FPE_FLTINV (float: operazione non valida)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -3046,7 +3149,7 @@ msgstr ""
 "\n"
 "Errore: FPE_FLTSUB (float: subscript fuori dal limite)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -3054,7 +3157,7 @@ msgstr ""
 "\n"
 "Errore: incontrato un segnale SIGFPE generico."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -3062,7 +3165,7 @@ msgstr ""
 "\n"
 "Errore: ILL_ILLOPC (opcode non consentito)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3070,7 +3173,7 @@ msgstr ""
 "\n"
 "Errore: ILL_ILLOPN (operando non consentito)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3078,7 +3181,7 @@ msgstr ""
 "\n"
 "Errore: ILL_ILLADR (modalità di indirizzamento non consentita)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3086,7 +3189,7 @@ msgstr ""
 "\n"
 "Errore: ILL_ILLTRP (trap non consentita)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3094,7 +3197,7 @@ msgstr ""
 "\n"
 "Errore: ILL_PRVOPC (opcode privilegiato)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3102,7 +3205,7 @@ msgstr ""
 "\n"
 "Errore: ILL_PRVREG (registro privilegiato)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3110,7 +3213,7 @@ msgstr ""
 "\n"
 "Errore: ILL_COPROC (errore del coprocessore)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3118,7 +3221,7 @@ msgstr ""
 "\n"
 "Errore: ILL_BADSTK (errore dello stack interno)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3126,65 +3229,69 @@ msgstr ""
 "\n"
 "Errore: incontrato un segnale SIGILL generico."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "token non valido: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Atteso un numero di partizione."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "La partizione non esiste."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Atteso un tipo di file system."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Tipo di file system \"%s\" sconosciuto."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Atteso un tipo di etichetta disco."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Non è possibile creare ulteriori partizioni."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Atteso un tipo di partizione."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "on"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "off"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "ottimale"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "minimale"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "OPZIONI:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "COMANDI:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3194,11 +3301,33 @@ msgstr ""
 "Segnalare i bug a %s\n"
 
 # '%s' = dev->path
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Viene usato %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Questo comando non ha senso nella modalità non interattiva.\n"
+
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: l'opzione \"--%s\" non accetta un argomento\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: opzione \"--%s\" non riconosciuta\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: l'opzione \"-W %s\" non accetta un argomento\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: l'opzione \"-W %s\" richiede un argomento\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Sito web di %s: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Il file system ha dei settori logici con dimensione %d. Il programma non "
+#~ "funziona correttamente con settori di dimensione diversa da 512 byte."
index 16e79aeb4639eda557a143edb37d0e9453360d8a..ad0605ab9c09350b8f3afd6e1db90679fb005093 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index 6965a73dccdb50f485071fac99aca0bdbffcab5b..48475580f7dbb7fca0f5416fe4ff5c502cff0589 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2014-07-04 18:30+0900\n"
 "Last-Translator: Hiroshi Takekawa <sian@big.or.jp>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -15,84 +15,65 @@ msgstr ""
 "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"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "%s は %s の不正な引数です"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "%s は %s には曖昧な引数です"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "利用可能な引数は以下の通りです:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "書き込みエラー"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "不明なシステムエラー"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: オプション '-W %s' はいくつかの意味にとれてしまいます\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: オプション '%s' は曖昧です。可能性としては次のものがあります:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: オプション '--%s' は引数を受けとりません\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: '%c%s' は認識できないオプションです\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: オプション '%c%s' は引数を受けとりません\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: オプション '--%s' には引数が必要です\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: '--%s' は認識できないオプションです\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: '%c%s' は認識できないオプションです\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: '%c' は不正なオプションです\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: '%c' には引数が必要です\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: オプション '-W %s' はいくつかの意味にとれてしまいます\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: オプション '-W %s' は引数を受けとりません\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: オプション '-W %s' には引数が必要です\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -112,85 +93,86 @@ msgstr "%s: オプション '-W %s' には引数が必要です\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "`"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "'"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "成功"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "マッチなし"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "不正な正規表現"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "不正な順序文字"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "不正な文字クラス名"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "余分なバックスラッシュ"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "不正な後方参照"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "対応のない [ あるいは [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "対応のない ( あるいは \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "対応のない \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\} の中身が不正"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "不正な終了値"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "メモリ不足"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "先行する正規表現が不正"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "正規表現が途中で終わっている"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "大きすぎる正規表現"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "対応のない ) または \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "これより前に正規表現がない"
 
@@ -214,12 +196,12 @@ msgstr "^[yY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "パッケージ作成者 %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "パッケージ作成者 %s\n"
@@ -227,18 +209,17 @@ msgstr "パッケージ作成者 %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "ライセンス GPLv3+: GNU GPL バージョン 3 あるいはそれ以降のバージョン <http://"
@@ -248,19 +229,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "%s によって作られました。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "%s と %s によって作られました。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "%s、%s と %s によって作られました。\n"
@@ -268,7 +249,7 @@ msgstr "%s、%s と %s によって作られました。\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -280,7 +261,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -292,7 +273,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -304,7 +285,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -316,7 +297,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -330,7 +311,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -344,7 +325,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -359,32 +340,26 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "バグレポートは %s へ。\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "%s のバグレポートは %s へ。\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s ホームページ: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "%s ホームページ: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr "GNU ソフトウェアの一般的なヘルプは: <http://www.gnu.org/gethelp/>\n"
 
 #: lib/xalloc-die.c:34
@@ -411,60 +386,60 @@ msgid "Disk Image"
 msgstr "ディスクイメージ"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "%s をオープン中にエラー: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "%s を読み書き可能な状態にオープンできません(%s)。%s は読み込みのみ可能な状態"
 "でオープンされました。"
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s: %s から読み込み中のシークでエラーが発生しました。"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s: %s から読み込み中にエラーが発生しました。"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "読み込みのみが可能なようにオープンされているので、%sに書きこめません。"
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s: %s に書きこみ中のシークでエラーが発生しました。"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s: %s に書きこみ中にエラーが発生しました。"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "より詳しく知るには `%s --help' を使ってみてください。\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "使い方: %s [オプション] [デバイス]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -480,7 +455,7 @@ msgstr ""
 "  -h, --help       このヘルプを表示して終了\n"
 "  -v, --version    バージョン情報を表示して終了\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -488,7 +463,7 @@ msgstr ""
 "\n"
 "デバイスの指定がない場合は、全パーティションを調べます。\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -533,7 +508,7 @@ msgstr ""
 "は Hurd はあなたが行った変更を関知していないことを意味しています。%s に対して"
 "何か操作をする前にコンピュータを再起動するべきです。"
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -546,17 +521,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s: %s を同期中にエラーが発生しました。"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "デバイス %s を調べられません: %s"
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "%s の dm タイプを特定できません"
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -565,7 +540,7 @@ msgstr ""
 "%s のセクタサイズが決定できません: %s\n"
 "デフォルトのセクタサイズ (%lld) を使います。"
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -574,21 +549,21 @@ msgstr ""
 "%s の物理セクタサイズが決定できません。\n"
 "論理セクタサイズ (%lld) を使います。"
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "%s のサイズを決定できません(%s)"
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "一般的な IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "デバイス %s の identity を取得できません: %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "一般的な IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -603,12 +578,12 @@ msgstr ""
 "いった組み合わせです。\n"
 "最新の情報は web サイトをご覧ください。"
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "SCSI デバイス %s の初期化に失敗しました: %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -617,7 +592,7 @@ msgstr ""
 "デバイス %s のサイズがとても小さいので、ファイルシステムやパーティションテー"
 "ブルを記録できません。デバイスの選択を間違っていないか確認してください。"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -626,86 +601,99 @@ msgstr ""
 "ファイルまたはデバイス %s の geometry を決定できません。自分で何をしているか"
 "よく理解していなければ Parted を使うべきではありません。"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "SD/MMC カード"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "新しいデバイス?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "DAC960 RAID コントローラ"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Promise SX8 SATA デバイス"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "ATA over Ethernetデバイス"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "IBM S390 DASD ドライブ"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries Virtual DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "ATA RAID コントローラ"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "I2O コントローラ"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "User-Mode Linux UBD"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Loopback デバイス"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linux device-mapper (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Xen Virtual Block Device"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "不明"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Virtio Block Device"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Linux Software RAID Array"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  サポートされていない種類のデバイスです。"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "%s を fsync/close 中にエラー: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%0.0s%s を読み込み中にファイルの終わりに達しました"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -716,12 +704,12 @@ msgstr ""
 "従って、カーネルは再起動するまで %s に行った変更を認識しません。再起動するま"
 "でそのパーティションをマウントしたり何かしたりしてはいけません。"
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "%s の開始位置と長さを決定できません"
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -734,37 +722,37 @@ msgstr ""
 "いパーティション情報がそのまま使われます。さらなる変更をする前に再起動してく"
 "ださい。"
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "終了位置を開始位置の前には動かせません(開始セクタ=%jd 長さ=%jd)。"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr ""
 "書き込もうとしたセクタ (%ld-%ld) は %s 上のパーティションの外にあります。"
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "不良ブロックをチェック中"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Backtrace has %d calls on stack:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Assertion (%s) at %s:%d in function %s() failed."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: ディスクラベルが認識できません。"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -773,165 +761,165 @@ msgstr ""
 "使用している libparted は %s の書きこみをサポートしていません。読み込み専用で"
 "コンパイルされていると思われます。"
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "パーティション %d は %s であるのに、ファイルシステムは %s です。"
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "cylinder_alignment"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "%d は不明なディスクフラグです。"
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "%s のディスクラベルは拡張パーティションをサポートしていません。"
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr ""
 "%s のディスクラベルは論理パーティションや拡張パーティションをサポートしてませ"
 "ん"
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "プライマリパーティションが多すぎます。"
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
 msgstr "拡張パーティションがないので、論理パーティションを %s に作れません。"
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "%s には 1 個しか拡張パーティションを作れません。"
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "論理パーティションを拡張パーティションの外には持てません。"
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "%s の拡張パーティションの外に論理パーティションは作れません。"
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "拡張パーティション内にプライマリパーティションは作れません。"
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "ディスクの外側にパーティションは作れません。"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "重なりのあるパーティションは持てません。"
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "メタ情報"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "空き"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "拡張"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "論理"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "プライマリ"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "boot"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "root"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "hidden"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr "irst"
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 msgid "esp"
 msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "%d は不明なパーティションフラグです。"
@@ -1001,100 +989,206 @@ msgstr ""
 "あります。%s に最低限どのバージョンか (%s) と以下のメッセージを含めてメールで"
 "送ってください: "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "AIX ディスクラベルの読み込みは未実装です。"
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "AIX ディスクラベルの書き込みは未実装です。"
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr "AIX ディスクラベルへのパーティションの追加は未実装です。"
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr "AIX ディスクラベルでのパーティションの複製は未実装です。"
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
 msgstr "AIX ディスクラベルのパーティションのシステムタイプの設定は未実装です。"
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr "AIX ディスクラベルのフラグの設定は未実装です。"
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted は、セクタサイズが %d バイトでないディスクでは HFS ファイルシステムを"
+"使えません。"
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "このパーティションで全ての制約を満たせません。"
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "パーティション番号を割り当てられません。"
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "BSDディスクラベルのスロットを確保できません。"
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "dasd ディスクラベルのスロットを確保できません。"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr ""
 "%s のパーティションテーブルが不正です。%x というシグネチャはあやまりです。"
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr ""
 "パーティションテーブルが不正です。再帰的なパーティションが %s にあります。"
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "MSDOS ディスクラベルで拡張パーティションは隠せません。"
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "MSDOS ディスクラベルで拡張パーティションは隠せません。"
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "ダイナミックディスクに使われているパーティションは Parted ではリサイズできま"
 "せん。"
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "パーティションを追加できません。"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr ""
 "%s は一つも拡張パーティション(ボリュームヘッダパーティション)を持っていませ"
 "ん。"
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "チェックサムの値が違います。パーティションテーブルが壊れています。"
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "プライマリパーティションだけがルートパーティションになれます。"
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "プライマリパーティションだけがスワップパーティションになれます。"
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "論理パーティションだけがブートファイルになれます。"
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1103,87 +1197,91 @@ msgstr ""
 "dvh パーティション名を %s に設定するのに失敗しました:\n"
 "論理パーティション(ブートファイル)だけが名前を持ちます。"
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "プライマリパーティションが多すぎます。"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "オープンエラー"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "シークエラー"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "読み込みエラー"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "ioctl()エラー"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "API バージョン不整合"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "サポートされていないディスクタイプ"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "サポートされていないディスクフォーマット"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "ディスク使用中"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "コンフィグファイルの文法エラー"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "ボリュームラベルが壊れています"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "データセット名が壊れています"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "メモリの確保に失敗しました。"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "デバイスのベリファイに失敗しました。"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "指定されたデバイスは有効な DASD デバイスではありません"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "致命的なエラー"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "ボリュームラベルのための領域がありません。"
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "パーティション情報のための領域がありません。"
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "不正なVTOCです。"
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "API バージョンが取得できません。"
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
@@ -1191,23 +1289,28 @@ msgstr ""
 "現在の API のバージョンは '%d' で、dasd ドライバ API のバージョン '%d' と一致"
 "しません!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "ディスク情報が取得できません。"
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "ディスクのジオメトリ情報が取得できません。"
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "ブロックサイズ情報が取得できません。"
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "ディスク情報が取得できません。"
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr "デバイスは GPT を使うには小さすぎます"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1216,7 +1319,7 @@ msgstr ""
 "GPT パーティションテーブルのフォーマットのバージョンが %x で parted の理解で"
 "きるものより新しいです。報告してください。"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1227,7 +1330,7 @@ msgstr ""
 "可能にするか(%llu ブロック増えます)、このままで続行することができますが、どう"
 "しますか?"
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
@@ -1235,7 +1338,7 @@ msgstr ""
 "あるべき GPT テーブルのバックアップがディスクの最後にありません。バックアップ"
 "を最後に持ってきて(古いバックアップを削除して)修復しますか?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1243,7 +1346,7 @@ msgstr ""
 "プライマリ GPT テーブルとバックアップの両方が壊れています。新たにテーブルを作"
 "りなおして、Parted の修復機能を用いてパーティションの修復を試みます。"
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1251,7 +1354,7 @@ msgstr ""
 "バックアップ GPT テーブルは壊れていますが、プライマリは問題ないようなので、そ"
 "ちらを使います。"
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1259,55 +1362,55 @@ msgstr ""
 "プライマリ GPT テーブルは壊れていますが、バックアップは問題ないようなので、そ"
 "ちらを使います。"
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "プライマリパーティションテーブルの CRC が一致しません"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
 msgstr "パーティション名を変換できません"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Mac ディスクラベルのシグネチャ %x は不正です。"
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "パーティションマップにエントリがありません。"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s は Mac ディスクラベルには小さすぎます。"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "パーティション %d のシグネチャ %x は不正です。"
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "パーティション %d の長さが 0 なのは不正です。"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "データ領域がパーティションの開始位置から始まってません。"
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "ブート領域がパーティションの開始位置から始まってません。"
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "パーティションのブート領域が、パーティション全体を占有してません。"
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "パーティションのデータ領域が、パーティション全体を占有してません。"
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1315,7 +1418,7 @@ msgstr ""
 "デバイスディスクリプタに書いてあるブロックサイズはおかしいです。%d バイトは "
 "512 で割り切れません。"
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1324,11 +1427,11 @@ msgstr ""
 "ドライバは物理ブロックサイズが %d バイトであると言っていますが、Linux は %d "
 "バイトだと言っています。"
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "正しいパーティションマップが見つかりません。"
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1337,11 +1440,11 @@ msgstr ""
 "パーティションマップのエントリのサイズが一致しません。エントリ 1 によれば %d "
 "ですが、エントリ %d によれば %d です。"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "おかしいです。パーティションマップエントリが2つあります。"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1349,7 +1452,7 @@ msgstr ""
 "root に使われているパーティションや swap パーティションの名前を変更すると "
 "Linux がそれらをそうと認識できなくなります。"
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "パーティションを追加できません。パーティションマップが小さすぎます。"
 
@@ -1371,7 +1474,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "パーティションを追加できません。"
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1380,7 +1483,7 @@ msgstr ""
 "パーティション長 %jd セクタは %s パーティションテーブルによって決められた最大"
 "長 %jd を越えています"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1389,61 +1492,57 @@ msgstr ""
 "開始セクタ番号 %jd は %s パーティションテーブルによって決められた最大値 %jd "
 "を越えています"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : ブロック %llu (type %s) のチェックサムが不正です。"
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr ""
 "%s : rdb ブロックが見つかりませんでした。これはあってはならないことです。"
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : ブロック %d にループが発見されました。"
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : %s リストがおかしいようです(ブロック %s)。"
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : 不正なブロックの一覧を得られませんでした。"
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : パーティションブロックの一覧を得られませんでした。"
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : ファイルシステムブロックの一覧を得られませんでした。"
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : ブートブロックの一覧を得られませんでした。"
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "パーティションブロック(ブロック %d)の書きこみに失敗しました。"
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "パーティション番号を割り当てられません。"
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Sunディスクラベルの破損を検出しました。"
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1452,18 +1551,18 @@ msgstr ""
 "ディスクの geometry(CHS) (%d,%d,%d) が、ディスクラベルのもの (%d,%d,%d) と一"
 "致しません。"
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "ディスクレベルによると、ディスクは %s より大きいことになっています。"
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr ""
 "このディスクは %d シリンダあります。これは最大値の 65536 を越えています。"
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1474,7 +1573,7 @@ msgstr ""
 "ティションを上書きするのはよくありません。Solaris が起動しなくなるかもしれま"
 "せんし、SILO(the sparc boot loader)にも都合がよくありません。"
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Sunディスクラベルがいっぱいです。"
 
@@ -1494,60 +1593,60 @@ msgstr "デバイスへの書き込みに失敗しました。"
 msgid "reading from device failed"
 msgstr "デバイスからの読み込みに失敗しました。"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "ボリュームラベルが読めません。"
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "ボリュームラベルが書けません。"
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "VTOC ラベルが読めません。"
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "VTOC FMT1 DSCB が読めません。"
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "VTOC FMT4 DSCB が読めません。"
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "VTOC FMT5 DSCB が読めません。"
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "VTOC FMT7 DSCB が読めません。"
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "VTOC ラベルが書けません。"
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "VTOC FMT1 DSCB が書けません。"
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "VTOC FMT4 DSCB が書けません。"
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "VTOC FMT5 DSCB が書けません。"
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "VTOC FMT7 DSCB が書けません。"
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "VTOC FMT9 DSCB が書けません。"
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "メモリ不足です。"
 
@@ -1570,73 +1669,73 @@ msgstr "最大ヘッド値は %d です。"
 msgid "The maximum sector value is %d."
 msgstr "最大セクタ値は %d です。"
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "%s は、デバイス %s の外です。"
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "不正な値です。"
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "1未満の値の変わりに、より小さなユニットを使ってください"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : パーティションブロックの確保に失敗しました。\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : ブロックの確保に失敗しました。\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : ブートブロック %llu が読めません\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : ルートブロック %llu が読めません\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : id list element が確保できません\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : ブロック %llu が読めません\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : ブロック %llu (タイプ %s) のチェックサムが不正です\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : ブロック %d に書きこめません\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s : disk_specific rdb ブロックが確保できません\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : rdb ブロックが見つかりません。起こるはずのないことです。\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : パーティションブロック %llu が読めません\n"
@@ -1683,42 +1782,42 @@ msgstr ""
 "ファイルシステムの CHS ジオメトリが (%d, %d, %d) で不正です。パーティション"
 "テーブルの CHS ジオメトリは (%d, %d, %d) です。"
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "FAT のブートセクタには論理セクタサイズが 0 と書かれています、これはおかしいで"
 "す。"
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr "FAT のブートセクタに FAT テーブルがありません。これはおかしいです。"
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "FAT のブートセクタにクラスタは 0 セクタであると書かれています。これはおかしい"
 "です。"
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "FAT12 はサポートしていません。"
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "古いタイプの Linux swap signature '%10s' を認識できません。"
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "新しいタイプの Linux swap signature '%10s' を認識できません。"
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Linux swsusp signature '%9s' を認識できません。"
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1727,16 +1826,7 @@ msgstr ""
 "Parted は、セクタサイズが %d バイトでないディスクでは HFS ファイルシステムを"
 "使えません。"
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"このファイルシステムの論理セクタサイズは %d です.  セクタサイズが 512 バイト"
-"以外では GNU Parted はうまく動かないことが知られています。"
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1750,7 +1840,7 @@ msgstr ""
 "ムの CHS geometry はそのままになります。修正(F)を選べば、ファイルシステムの "
 "CHS geometry は、パーティションの CHS geometry と合うよう修正されます。"
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1769,20 +1859,20 @@ msgstr ""
 "このパーティションをこのサイズに縮小するには %s の空き容量が必要です。%s しか"
 "空いてません。"
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr "クラスタ開始デルタが %d で、クラスタサイズ %d の倍数ではありません。"
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "%s のディレクトリエントリは不正です: 最初のクラスタがファイルの終端を示してい"
 "ます。"
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1790,7 +1880,7 @@ msgstr ""
 "不正な FAT: %s のチェインが終端していません。dosfsck や scandisk を走らせるべ"
 "きです。"
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1799,7 +1889,7 @@ msgstr ""
 "不正な FAT: クラスタ %d は %s のチェインにありますが、ファイルシステムの外に"
 "あります。dosfsck や scandisk を走らせるべきです。"
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1808,12 +1898,12 @@ msgstr ""
 "不正な FAT: クラスタ %d は %s でクロスリンクしています。dosfsck や scandisk "
 "を走らせるべきです。"
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s は %dk ですが、%d クラスタ (%dk 分) あります。"
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1868,15 +1958,15 @@ msgstr ""
 "全てのファイルを置くだけの空きがルートディレクトリにありません。キャンセルす"
 "るか、ファイルを失ってもいい場合は無視してください。"
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "ルートディレクトリへの書きこみ中にエラーが発生しました。"
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "ファイルシステムを FAT16 のままにしておくなら、問題ありません。"
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1887,13 +1977,13 @@ msgstr ""
 "場合は、 Parted のマニュアルかディトリビューションのマニュアルを参照してくだ"
 "さい。"
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr "ファイルシステムを FAT32 のままにすれば、問題は発生しません。"
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1907,33 +1997,33 @@ msgstr ""
 "さい。また、FAT32 に変換すると、そのファイルシステムは MS DOS、MS Windows "
 "95a、MS Windows NT で読めなくなります。"
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "FAT32 にしたいですか?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "ファイルシステムをこのサイズに変換するには FAT16 にしなければなりません。"
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "ファイルシステムをこのサイズに変換するには FAT32 にしなければなりません。"
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1976,18 +2066,18 @@ msgstr "ファイルシステム %s のリサイズはサポートしていま
 msgid "The file system is bigger than its volume!"
 msgstr "ファイルシステムがボリュームより大きいです!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "ファイルシステムにエラーがあります。"
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "バッドブロックが読みだせません。"
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -1996,51 +2086,51 @@ msgstr ""
 "ブロック 0x%X から始まる extent を登録しようとしましたが、ここには既に別のも"
 "のがあります。ファイルシステムのチェックを実行すべきです!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "ブロック Ox%X から Ox%X に extent を移動させようとしましたが、既にここに別の"
 "ものがあります。起きてはならないことです!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr "CNID %X の HFS ファイルの extent キャッシュを更新できませんでした。"
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "CNID %X の HFS ファイルを EOF を越えて読もうとしました。"
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "CNID %2$X の HFS ファイルに含まれるセクタ %1$lli が見つかりません。"
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "CNID %X の HFS ファイルを EOF を越えて書きこもうとしました。"
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr "CNID %X の HFS+ ファイルの extent キャッシュを更新できませんでした。"
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "CNID %X の HFS+ ファイルを EOF を越えて読もうとしました。"
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "CNID %2$X の HFS+ ファイルに含まれるセクタ %1$lli が見つかりません。"
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "CNID %X の HFS+ ファイルを EOF を越えて書きこもうとしました。"
@@ -2115,19 +2205,19 @@ msgstr "残念ながら、まだ HFS+ はそのようにリサイズすること
 msgid "shrinking embedded HFS+ volume"
 msgstr "埋めこみ HFS+ ボリュームを縮小中"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "HFS+ ボリュームのリサイズに失敗しました。"
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "HFS ラッパーを縮小中"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "HFS ラッパーの更新に失敗しました。"
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2136,11 +2226,11 @@ msgstr ""
 "これは本物の %s チェックではありません。デバッグ目的に特別な低レベルファイル"
 "を抽出します。"
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "ブロックリストヘッダのチェックサムが不正です。"
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
@@ -2148,32 +2238,33 @@ msgstr ""
 "ジャーナル(%i バイト)のリプレイ中に不正なサイズのトランザクションブロックがあ"
 "りました。"
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "ボリュームの外にあるジャーナルはサポートしていません。ジャーナルを無効にして "
 "Parted を実行しなおしてください。"
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr "ジャーナルのオフセットかサイズがセクタサイズの倍数ではありません。"
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "ジャーナルヘッダのマジックナンバーが正しくありません。"
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "ジャーナルのサイズがジャーナル情報ブロックとジャーナルヘッダとで異なります。"
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "ヘッダのフィールドの中にセクタサイズの倍数でないものがあります。"
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2181,11 +2272,11 @@ msgstr ""
 "ジャーナルに書かれたセクタサイズが 512 バイトではありません。Parted は 512 バ"
 "イトのセクタしかサポートしていません。"
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "不正なジャーナルのチェックサムです。"
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2194,7 +2285,7 @@ msgstr ""
 "ンザクションをリプレイしなければなりません。ファイルシステムを修正することに"
 "なります。"
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2202,11 +2293,11 @@ msgstr ""
 "ジャーナルがリプレイされて、ボリュームヘッダかマスターディレクトリブロックが"
 "変更されました。Parted を再起動してください。"
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "extent は再配置されませんでした。"
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2214,18 +2305,18 @@ msgstr ""
 "あるべきではないところから extent への参照があります。ファイルシステムの"
 "チェックを実行するべきです!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 "この HFS ボリュームにはカタログファイルがありません。滅多にないことです!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "この HFS ボリュームには extent オーバーフローファイルがありません。滅多にあり"
 "えないことです!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2233,24 +2324,24 @@ msgstr ""
 "extent オーバーフローファイルは、その extent 自身を含んではいけません!ファイ"
 "ルシステムのチェックを実行するべきです。"
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "ファイルシステムをメモリにキャッシュできません。"
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "バッドブロックリストを読みこめませんでした。"
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "extent の再配置中にエラーが発生しました。"
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 "この HFS+ ボリュームにはカタログファイルがありません。滅多にないことです!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "この HFS+ ボリュームには extent オーバーフローファイルがありません。滅多にあ"
@@ -2363,22 +2454,22 @@ msgstr ""
 "いかなる保証も行ないません。詳細についてはGNU 一般公有使用許諾書をお読みくだ"
 "さい。\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(残り時間 %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr "パーティション %s は使用中です。それでも実行しますか?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "%s のパーティションが使用中です。"
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2387,31 +2478,31 @@ msgstr ""
 "いま存在している %s のディスクラベルは破壊され、このディスクの全データが失わ"
 "れます。続行しますか?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "新しいディスクラベル?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "パーティションの種類?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "パーティションの名前?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "ファイルシステムの種類?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "開始?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "終了?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2420,7 +2511,7 @@ msgstr ""
 "%s から %s (%llu から %llu セクタ)までのパーティションを指定されました。\n"
 "可能な中で最も近いものは %s から %s (%llu から %llu セクタ)になります。%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2428,84 +2519,95 @@ msgstr ""
 "\n"
 "それでもかまいませんか?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
 "操作の結果できるパーティションはアライメントが正しくないためにパフォーマンス"
 "がでません。"
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s のディスクラベルは拡張パーティションをサポートしていません。"
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "パーティション番号?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr "BIOS シリンダ、ヘッド、セクタ geometry: %d,%d,%d.  1シリンダは %s。\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "モデル: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "ディスク %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "セクタサイズ (論理/物理): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "パーティションテーブル: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "ディスクフラグ: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "番号"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "開始"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "終了"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "サイズ"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "タイプ"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "ファイルシステム"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "名前"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "フラグ"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "空き容量"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2514,100 +2616,101 @@ msgstr ""
 "%s %s パーティションが %s → %s の場所に発見されました。このパーティションを"
 "パーティションテーブルに追加しますか?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "ファイルシステムを探しています"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr "resize コマンドは parted 3.0 で削除されました"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 "パーティションを縮小するとデータを失うかもしれませんが、それでも実行します"
 "か?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "新しいデバイス?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "アライメントタイプ(min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d アライメント済\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d 未アライメント\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "反転するフラグ?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "新しい状態?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "単位は?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "align-check TYPE N            パーティション N のアライメント(TYPE: min|opt)"
 "をチェックする"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr ""
 "help [コマンド]               ヘルプ表示。コマンド指定でそのヘルプを表示"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
 msgstr ""
 "mklabel,mktable ラベルの種類  新しいラベル(パーティションテーブル)を作る"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr ""
 "mkpart パーティションの種類 [ファイルシステムの種類] 開始 終了\n"
 "            パーティションを作る"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2615,19 +2718,19 @@ msgstr ""
 "mkpart はパーティションだけ作り、新しいファイルシステムは作りません。ファイル"
 "システムの種類を指定すると、正しいIDが設定されます。\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "name NUMBER 名前              パーティションに名前をつける"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2639,7 +2742,7 @@ msgstr ""
 "             見つかった全てのパーティション、あるいは特定のパー"
 "ティションについて表示する"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2647,11 +2750,11 @@ msgstr ""
 "引数をつけない場合、'print' コマンドは、全パーティションテーブルを表示しま"
 "す。次の引数をつけることが可能です。\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : 全てのアクティブなブロックデバイスを表示\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2659,31 +2762,31 @@ msgstr ""
 "  free      : カレントブロックデバイスのパーティションに含まれていない空き領"
 "域情報を表示\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : アクティブな全ブロックデバイスのパーティションテーブルを表示\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr "  NUMBER    : 指定したパーティションについてより詳しい情報を表示\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                          プログラムを終了する"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2691,127 +2794,127 @@ msgstr ""
 "rescue 開始 終了              開始、終了で指定した範囲付近にあるパーティショ"
 "ンを復活させる"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr "resize コマンドは parted 3.0 で削除されました\n"
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
 msgstr "resizepart"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr ""
 "resizepart NUMBER END         パーティション NUMBER を END にリサイズする"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm NUMBER                     パーティションを削除する"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select デバイス               操作するデバイスを選択"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "disk_set"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr "disk_set FLAG STATE           選択したデバイスの FLAG を変更"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr "disk_toggle [FLAG]            選択したデバイスの FLAG の状態をトグル"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set NUMBER フラグ 状態        ファイルシステムのフラグと状態を設定する"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr "toggle [NUMBER [FLAG]]        パーティションのフラグの状態を反転する"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr "unit UNIT                     デフォルトの単位を UNIT にする"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
 "version                       GNU Parted のバージョンと著作権情報を表示"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
 "version は、実行中の GNU Parted のバージョンと著作権情報を表示します。\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 "使い方: %s [-hlmsv] [-a<アライン>] [デバイス [コマンド [パラメータ]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "デバイスがみつかりません。"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr "警告: 管理者権限がありません。パーミッションに注意してください。\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "必要であれば /etc/fstab を更新するのを忘れないようにしてください。\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 "GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2822,7 +2925,7 @@ msgstr ""
 "デバイスに対してパラメータに従ってコマンドを実行します。もしコマンドが指定さ"
 "れなければ、対話モードに入ります。\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2886,7 +2989,7 @@ msgstr ""
 "その他重要と思う情報を記述してください。\n"
 "\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2894,7 +2997,7 @@ msgstr ""
 "\n"
 "コマンド履歴:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2902,7 +3005,7 @@ msgstr ""
 "\n"
 "エラー: SEGV_MAPERR (アドレスがオブジェクトに変換されませんでした)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2910,7 +3013,7 @@ msgstr ""
 "\n"
 "エラー: SEGV_ACCERR (マップされたオブジェクトのパーミッションが不正です)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2918,7 +3021,7 @@ msgstr ""
 "\n"
 "エラー: SIGSEGV シグナルを受けとりました。\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2926,7 +3029,7 @@ msgstr ""
 "\n"
 "エラー: FPE_INTDIV (整数: 0による除算)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2934,7 +3037,7 @@ msgstr ""
 "\n"
 "エラー: FPE_INTOVF (整数: オーバーフロー)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2942,7 +3045,7 @@ msgstr ""
 "\n"
 "エラー: FPE_FLTDIV (浮動小数点: 0による除算)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2950,7 +3053,7 @@ msgstr ""
 "\n"
 "エラー: FPE_FLTOVF (浮動小数点: オーバーフロー)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2958,7 +3061,7 @@ msgstr ""
 "\n"
 "エラー: FPE_FLTUND (浮動小数点: アンダーフロー)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2966,7 +3069,7 @@ msgstr ""
 "\n"
 "エラー: FPE_FLTRES (浮動小数点: 正しくない結果)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2975,7 +3078,7 @@ msgstr ""
 "\n"
 "エラー: FPE_FLTINV (浮動小数点: 不正な操作)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -2983,7 +3086,7 @@ msgstr ""
 "\n"
 "エラー: FPE_FLTSUB (浮動小数点: 添字が範囲を越えました)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -2991,7 +3094,7 @@ msgstr ""
 "\n"
 "エラー: SIGFPE シグナルを受けとりました。"
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -2999,7 +3102,7 @@ msgstr ""
 "\n"
 "エラー: ILL_ILLOPC (不正なオペコード)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3007,7 +3110,7 @@ msgstr ""
 "\n"
 "エラー: ILL_ILLOPN (不正なオペランド)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3015,7 +3118,7 @@ msgstr ""
 "\n"
 "エラー: ILL_ILLADR (不正なアドレスモード)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3023,7 +3126,7 @@ msgstr ""
 "\n"
 "エラー: ILL_ILLTRP (不正なトラップ)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3031,7 +3134,7 @@ msgstr ""
 "\n"
 "エラー: ILL_PRVOPC (特権が必要なオペコード)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3039,7 +3142,7 @@ msgstr ""
 "\n"
 "エラー: ILL_PRVREG (特権が必要なレジスタ)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3047,7 +3150,7 @@ msgstr ""
 "\n"
 "エラー: ILL_COPROC (コプロセッサエラー)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3055,7 +3158,7 @@ msgstr ""
 "\n"
 "エラー: ILL_BADSTK (インターナルスタックエラー)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3063,65 +3166,69 @@ msgstr ""
 "\n"
 "エラー: SIGILL シグナルを受けとりました。"
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "不正なトークンです: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "パーティション番号を入力してください。"
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "パーティションがありません。"
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "ファイルシステムの種類を入力してください。"
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "ファイルシステムの種類 \"%s\" は不明です。"
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "ディスクラベルの種類を入力してください。"
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "パーティションを追加できません。"
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "パーティションの種類を入力してください。"
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "on"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "off"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "最適(optimal)"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "最小(minimal)"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "オプション"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "コマンド:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3130,11 +3237,33 @@ msgstr ""
 "\n"
 "バグレポートは %s へ。\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "%s を使用\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "このコマンドは対話操作モードでなければ意味がありません。\n"
+
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: オプション '--%s' は引数を受けとりません\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: '--%s' は認識できないオプションです\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: オプション '-W %s' は引数を受けとりません\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: オプション '-W %s' には引数が必要です\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "%s ホームページ: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "このファイルシステムの論理セクタサイズは %d です.  セクタサイズが 512 バイ"
+#~ "ト以外では GNU Parted はうまく動かないことが知られています。"
diff --git a/po/ko.gmo b/po/ko.gmo
new file mode 100644 (file)
index 0000000..53372e4
Binary files /dev/null and b/po/ko.gmo differ
diff --git a/po/ko.po b/po/ko.po
new file mode 100644 (file)
index 0000000..ed536f3
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,3232 @@
+# Korean translation for the parted package.
+# This file is distributed under the same license as the parted package.
+# Seong-ho Cho <darkcircle.0426@gmail.com>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: parted 3.1.90\n"
+"Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
+"PO-Revision-Date: 2016-03-20 22:41+0900\n"
+"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
+"Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
+"Language: ko\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"
+"X-Generator: Gtranslator 2.91.7\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: lib/argmatch.c:132
+#, c-format
+msgid "invalid argument %s for %s"
+msgstr "%2$s의 잘못된 %1$s인자"
+
+#: lib/argmatch.c:133
+#, c-format
+msgid "ambiguous argument %s for %s"
+msgstr "%2$s의 애매한 인자 %1$s"
+
+#: lib/argmatch.c:152 lib/argmatch.h:223
+msgid "Valid arguments are:"
+msgstr "유효한 인자:"
+
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
+msgid "write error"
+msgstr "기록 오류"
+
+#: lib/error.c:195
+msgid "Unknown system error"
+msgstr "알 수 없는 시스템 오류"
+
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: ‘-W %s’ 옵션은 애매합니다\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s: ‘%s’ 옵션은 애매합니다. 대신 쓸 수 있는 옵션은 다음과 같습니다:"
+
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: 인식할 수 없는 ‘%c%s’ 옵션\n"
+
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
+msgstr "%s: ‘%c%s’ 옵션은 인자를 허용하지 않습니다\n"
+
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
+msgstr "%s: ‘--%s’ 옵션은 인자가 필요합니다\n"
+
+#: lib/getopt.c:621
+#, c-format
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: 잘못된 옵션 -- ‘%c’\n"
+
+#: lib/getopt.c:636 lib/getopt.c:682
+#, c-format
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: 옵션에 인자가 필요합니다 -- ‘%c’\n"
+
+#. TRANSLATORS:
+#. Get translations for open and closing quotation marks.
+#. The message catalog should translate "`" to a left
+#. quotation mark suitable for the locale, and similarly for
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
+#.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
+#.
+#. If you don't know what to put here, please see
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. and use glyphs suitable for your language.
+#: lib/quotearg.c:362
+msgid "`"
+msgstr "`"
+
+#: lib/quotearg.c:363
+msgid "'"
+msgstr "‘"
+
+#: lib/regcomp.c:135
+msgid "Success"
+msgstr "성공"
+
+#: lib/regcomp.c:138
+msgid "No match"
+msgstr "일치하는 항목 없음"
+
+#: lib/regcomp.c:141
+msgid "Invalid regular expression"
+msgstr "잘못된 정규 표현식"
+
+#: lib/regcomp.c:144
+msgid "Invalid collation character"
+msgstr "잘못된 대조 문자"
+
+#: lib/regcomp.c:147
+msgid "Invalid character class name"
+msgstr "잘못된 문자 클래스 이름"
+
+#: lib/regcomp.c:150
+msgid "Trailing backslash"
+msgstr "역 슬래시가 따라붙음"
+
+#: lib/regcomp.c:153
+msgid "Invalid back reference"
+msgstr "잘못된 역 참조"
+
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
+msgstr "일치하지 않는 [ 또는 [^"
+
+#: lib/regcomp.c:159
+msgid "Unmatched ( or \\("
+msgstr "일치하지 않는 ( 또는 \\("
+
+#: lib/regcomp.c:162
+msgid "Unmatched \\{"
+msgstr "일치하지 않는 \\{"
+
+#: lib/regcomp.c:165
+msgid "Invalid content of \\{\\}"
+msgstr "잘못된 \\{\\} 컨텐트"
+
+#: lib/regcomp.c:168
+msgid "Invalid range end"
+msgstr "잘못된 범위의 끝"
+
+#: lib/regcomp.c:171
+msgid "Memory exhausted"
+msgstr "메모리가 부족합니다"
+
+#: lib/regcomp.c:174
+msgid "Invalid preceding regular expression"
+msgstr "잘못된 정규 표현식 앞 부분"
+
+#: lib/regcomp.c:177
+msgid "Premature end of regular expression"
+msgstr "정규 표현식이 예상치 않게 미리 끝났습니다"
+
+#: lib/regcomp.c:180
+msgid "Regular expression too big"
+msgstr "정규 표현식이 너무 깁니다"
+
+#: lib/regcomp.c:183
+msgid "Unmatched ) or \\)"
+msgstr "일치하지 않는 ) 또는 \\)"
+
+#: lib/regcomp.c:676
+msgid "No previous regular expression"
+msgstr "정규 표현식 앞 부분이 없습니다"
+
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:150
+msgid "^[yY]"
+msgstr "^[yY]"
+
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:163
+msgid "^[nN]"
+msgstr "^[nN]"
+
+#: lib/version-etc.c:73
+#, c-format
+msgid "Packaged by %s (%s)\n"
+msgstr "%s이(가) 패키징함(%s)\n"
+
+#: lib/version-etc.c:76
+#, c-format
+msgid "Packaged by %s\n"
+msgstr "%s이(가) 패키징함\n"
+
+#. TRANSLATORS: Translate "(C)" to the copyright symbol
+#. (C-in-a-circle), if this symbol is available in the user's
+#. locale.  Otherwise, do not translate "(C)"; leave it as-is.
+#: lib/version-etc.c:83
+msgid "(C)"
+msgstr "(C)"
+
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
+"html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+"\n"
+
+#. TRANSLATORS: %s denotes an author name.
+#: lib/version-etc.c:105
+#, c-format
+msgid "Written by %s.\n"
+msgstr "%s이(가) 작성함.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#: lib/version-etc.c:109
+#, c-format
+msgid "Written by %s and %s.\n"
+msgstr "%s, %s이(가) 작성함.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#: lib/version-etc.c:113
+#, c-format
+msgid "Written by %s, %s, and %s.\n"
+msgstr "%s, %s, %s이(가) 작성함.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:120
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"and %s.\n"
+msgstr ""
+"%s, %s, %s,\n"
+"%s이(가) 작성함.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:127
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, and %s.\n"
+msgstr ""
+"%s, %s, %s, %s,\n"
+"%s이(가) 작성함.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:134
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, and %s.\n"
+msgstr ""
+"%s, %s, %s, %s,\n"
+"%s, %s이(가) 작성함.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:142
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, and %s.\n"
+msgstr ""
+"%s, %s, %s, %s,\n"
+"%s, %s, %s이(가) 작성함.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:150
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"and %s.\n"
+msgstr ""
+"%s, %s, %s, %s, \n"
+"%s, %s, %s,\n"
+"%s이(가) 작성함.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:159
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, and %s.\n"
+msgstr ""
+"%s, %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s이(가) 작성함.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:170
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s, and others.\n"
+msgstr ""
+"%s, %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s 외 여러 참여자가 작성함.\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package.  Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
+msgstr ""
+"\n"
+"버그 보고 주소: %s\n"
+
+#: lib/version-etc.c:251
+#, c-format
+msgid "Report %s bugs to: %s\n"
+msgstr "%s 버그 보고 주소: %s\n"
+
+#: lib/version-etc.c:255 lib/version-etc.c:257
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s 홈페이지: <%s>\n"
+
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
+msgstr "GNU 프로그램 활용 일반 도움말: <http://www.gnu.org/gethelp/>\n"
+
+#: lib/xalloc-die.c:34
+msgid "memory exhausted"
+msgstr "메모리가 부족합니다"
+
+#: lib/xstrtol-error.c:63
+#, c-format
+msgid "invalid %s%s argument '%s'"
+msgstr "잘못된 %s%s 인자 ‘%s’"
+
+#: lib/xstrtol-error.c:68
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "%s%s 인자의 '%s'에 잘못된 접미부"
+
+#: lib/xstrtol-error.c:72
+#, c-format
+msgid "%s%s argument '%s' too large"
+msgstr "%s%s 인자의 ‘%s’이(가) 너무 큽니다"
+
+#: libparted/arch/beos.c:245
+msgid "Disk Image"
+msgstr "디스크 이미지"
+
+#: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
+#: libparted/arch/linux.c:1731
+#, c-format
+msgid "Error opening %s: %s"
+msgstr "%s 열기 오류: %s"
+
+#: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
+#: libparted/arch/linux.c:1742
+#, c-format
+msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
+msgstr ""
+"%s을(를) 읽기/쓰기 용도로 열 수 없습니다(%s). %s을(를) 읽기 전용으로 열었습니"
+"다."
+
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
+#, c-format
+msgid "%s during seek for read on %s"
+msgstr "%2$s 읽기 용도로 탐색 중 %1$s"
+
+#: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
+#, c-format
+msgid "%s during read on %s"
+msgstr "%2$s을(를) 읽는 중 %1$s"
+
+#: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
+#: libparted/arch/linux.c:2026
+#, c-format
+msgid "Can't write to %s, because it is opened read-only."
+msgstr "읽기 전용으로 열어 %s에 쓸 수 없습니다."
+
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
+#, c-format
+msgid "%s during seek for write on %s"
+msgstr "%2$s에 기록 용도로 탐색 중 %1$s"
+
+#: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
+#, c-format
+msgid "%s during write on %s"
+msgstr "%2$s에 기록 중 %1$s"
+
+#: partprobe/partprobe.c:148
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "자세한 정보는 ‘%s --help’를 입력하십시오.\n"
+
+#: partprobe/partprobe.c:152
+#, c-format
+msgid "Usage: %s [OPTION] [DEVICE]...\n"
+msgstr "사용법: %s [<옵션>] [<장치>]...\n"
+
+#: partprobe/partprobe.c:153
+msgid ""
+"Inform the operating system about partition table changes.\n"
+"\n"
+"  -d, --dry-run    do not actually inform the operating system\n"
+"  -s, --summary    print a summary of contents\n"
+"  -h, --help       display this help and exit\n"
+"  -v, --version    output version information and exit\n"
+msgstr ""
+"분할 영역 테이블의 바뀐 상태를 운영체제에 알립니다.\n"
+"\n"
+"  -d, —dry-run    실제로 운영체제에 알려주지 않습니다\n"
+"  -s, —summary    요약 내용을 출력합니다\n"
+"  -h, —help       이 도움말을 나타낸 후 빠져나갑니다\n"
+"  -v, —version    버전 정보를 출력한 후 빠져나갑니다\n"
+
+#: partprobe/partprobe.c:161
+msgid ""
+"\n"
+"When no DEVICE is given, probe all partitions.\n"
+msgstr ""
+"\n"
+"<장치> 값이 없으면, 모든 분할 영역을 찾습니다.\n"
+
+#: partprobe/partprobe.c:165
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"<%s>에 버그를 보고하십시오.\n"
+
+#: libparted/arch/gnu.c:110
+#, c-format
+msgid "Unable to open %s."
+msgstr "%s을(를) 열 수 없습니다."
+
+#: libparted/arch/gnu.c:130
+msgid "Unable to probe store."
+msgstr "저장 장치를 찾을 수 없습니다."
+
+#: libparted/arch/gnu.c:368
+msgid ""
+"The partition table cannot be re-read.  This means you need to reboot before "
+"mounting any modified partitions.  You also need to reinstall your boot "
+"loader before you reboot (which may require mounting modified partitions).  "
+"It is impossible do both things!  So you'll need to boot off a rescue disk, "
+"and reinstall your boot loader from the rescue disk.  Read section 4 of the "
+"Parted User documentation for more information."
+msgstr ""
+"분할 영역 테이블을 다시 읽을 수 없습니다. 수정한 분할 영역을 마운트하기 전에 "
+"다시 부팅해야 합니다. 다시 부팅하기 전에 부트 로더를 다시 설치해야 합니다(수"
+"정한 분할 영역을 마운트하려면 필요합니다). 두 가지를 다 처리할 수 없습니다. "
+"복구 디스크로 부팅하고 복구 디스크로 부트 로더를 다시 설치해야 합니다. 자세"
+"한 정보는 Parted 사용자 문서 4장을 살펴보십시오."
+
+#: libparted/arch/gnu.c:385
+#, c-format
+msgid ""
+"The partition table on %s cannot be re-read (%s).  This means the Hurd knows "
+"nothing about any modifications you made.  You should reboot your computer "
+"before doing anything with %s."
+msgstr ""
+"%s의 분할 영역 테이블을 다시 읽을 수 없습니다(%s). Hurd에서 수정 내역을 파악"
+"하지 못합니다. %s(으)로 무언가를 진행하기 전에 컴퓨터를 다시 부팅해야 합니다."
+
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
+msgid ""
+"You should reinstall your boot loader before rebooting.  Read section 4 of "
+"the Parted User documentation for more information."
+msgstr ""
+"다시 부팅하기 전 부트 로더를 다시 설치해야 합니다. 자세한 정보는 Parted 사용"
+"자 문서 4장을 살펴보십시오."
+
+#: libparted/arch/gnu.c:788
+#, c-format
+msgid "%s trying to sync %s to disk"
+msgstr "%s에서 디스크로 %s 동기화를 시도합니다"
+
+#: libparted/arch/linux.c:633
+#, c-format
+msgid "Could not stat device %s - %s."
+msgstr "%s 장치의 상태를 가져올 수 없습니다 - %s."
+
+#: libparted/arch/linux.c:690
+#, c-format
+msgid "Unable to determine the dm type of %s."
+msgstr "%s의 dm 형식을 파악할 수 없습니다."
+
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
+#, c-format
+msgid ""
+"Could not determine sector size for %s: %s.\n"
+"Using the default sector size (%lld)."
+msgstr ""
+"%s의 섹터 크기를 파악할 수 없습니다: %s.\n"
+"기본 섹터 크기(%lld)를 활용합니다."
+
+#: libparted/arch/linux.c:795
+#, c-format
+msgid ""
+"Could not determine physical sector size for %s.\n"
+"Using the logical sector size (%lld)."
+msgstr ""
+"%s의 실제 섹터 크기를 파악할 수 없습니다.\n"
+"논리 섹터 크기(%lld)를 활용합니다."
+
+#: libparted/arch/linux.c:855
+#, c-format
+msgid "Unable to determine the size of %s (%s)."
+msgstr "%s 크기를 파악할 수 없습니다(%s)."
+
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "일반 IDE"
+
+#: libparted/arch/linux.c:963
+#, c-format
+msgid "Could not get identity of device %s - %s"
+msgstr "%s 장치의 식별 정보를 가져올 수 없습니다 - %s"
+
+#: libparted/arch/linux.c:994
+#, c-format
+msgid ""
+"Device %s has multiple (%d) logical sectors per physical sector.\n"
+"GNU Parted supports this EXPERIMENTALLY for some special disk label/file "
+"system combinations, e.g. GPT and ext2/3.\n"
+"Please consult the web site for up-to-date information."
+msgstr ""
+"%s 장치에 실제 섹터 당 다중(%d) 논리 섹터가 있습니다.\n"
+"GNU Parted에서는 GPT와 ext2/3을 사용하는 것처럼 일부 특수 디스크 레이블/파일 "
+"시스템 혼용을 실험적으로 지원합니다.\n"
+"최신 정보는 웹사이트를 참고하십시오."
+
+#: libparted/arch/linux.c:1172
+#, c-format
+msgid "Error initialising SCSI device %s - %s"
+msgstr "%s SCSI 장치 초기화 중 오류 - %s"
+
+#: libparted/arch/linux.c:1236
+#, c-format
+msgid ""
+"The device %s is so small that it cannot possibly store a file system or "
+"partition table.  Perhaps you selected the wrong device?"
+msgstr ""
+"%s 장치는 파일 시스템 또는 분할 영역 테이블을 저장할 수 없을 정도로 용량이 너"
+"무 작습니다. 잘못된 장치를 선택하지 않았습니까?"
+
+#: libparted/arch/linux.c:1349
+#, c-format
+msgid ""
+"Unable to determine geometry of file/device %s.  You should not use Parted "
+"unless you REALLY know what you're doing!"
+msgstr ""
+"%s 파일/장치의 크기를 파악할 수 없습니다. 정확히 어떤 과정을 행하는 지 모르"
+"면 Parted를 사용하지 마십시오!"
+
+#: libparted/arch/linux.c:1410
+msgid "Generic SD/MMC Storage Card"
+msgstr "일반 SD/MMC 저장소 카드"
+
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "새 장치?"
+
+#: libparted/arch/linux.c:1483
+msgid "DAC960 RAID controller"
+msgstr "DAC960 RAID 컨트롤러"
+
+#: libparted/arch/linux.c:1488
+msgid "Promise SX8 SATA Device"
+msgstr "Promise SX8 SATA 장치"
+
+#: libparted/arch/linux.c:1493
+msgid "ATA over Ethernet Device"
+msgstr "이더넷 경유 ATA 장치"
+
+#: libparted/arch/linux.c:1499
+msgid "IBM S390 DASD drive"
+msgstr "IBM S390 DASD 드라이브"
+
+#: libparted/arch/linux.c:1505
+msgid "IBM iSeries Virtual DASD"
+msgstr "IBM iSeries 가상 DASD"
+
+#: libparted/arch/linux.c:1510
+msgid "Compaq Smart Array"
+msgstr "컴팩 스마트 어레이"
+
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
+msgid "ATARAID Controller"
+msgstr "ATARAID 컨트롤러"
+
+#: libparted/arch/linux.c:1530
+msgid "I2O Controller"
+msgstr "I2O 컨트롤러"
+
+#: libparted/arch/linux.c:1535
+msgid "User-Mode Linux UBD"
+msgstr "유저 모드 리눅스 UBD"
+
+#: libparted/arch/linux.c:1545
+msgid "Loopback device"
+msgstr "루프백 장치"
+
+#: libparted/arch/linux.c:1553
+#, c-format
+msgid "Linux device-mapper (%s)"
+msgstr "리눅스 장치 매퍼(%s)"
+
+#: libparted/arch/linux.c:1564
+msgid "Xen Virtual Block Device"
+msgstr "젠 가상 블록 장치"
+
+#: libparted/arch/linux.c:1569
+msgid "Unknown"
+msgstr "알 수 없음"
+
+#: libparted/arch/linux.c:1578
+msgid "Virtio Block Device"
+msgstr "Virtio 블록 장치"
+
+#: libparted/arch/linux.c:1583
+msgid "Linux Software RAID Array"
+msgstr "리눅스 소프트웨어 RAID 어레이"
+
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
+msgid "ped_device_new()  Unsupported device type"
+msgstr "ped_device_new()  지원하지 않는 장치 형식"
+
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
+#, c-format
+msgid "Error fsyncing/closing %s: %s"
+msgstr "%s fsync/닫기 처리 중 오류: %s"
+
+#: libparted/arch/linux.c:1948
+#, c-format
+msgid "%0.0send of file while reading %s"
+msgstr "%0.0s %s 읽는 동안 파일 끝에 도달했습니다"
+
+#: libparted/arch/linux.c:2687
+#, c-format
+msgid ""
+"Error informing the kernel about modifications to partition %s -- %s.  This "
+"means Linux won't know about any changes you made to %s until you reboot -- "
+"so you shouldn't mount it or use it in any way before rebooting."
+msgstr ""
+"%s 분할 영역 수정 내용을 커널에 알리는 중 오류가 발생했습니다 -- %s. 다시 부"
+"팅하기 전에는 리눅스에서 %s을(를) 바꾼 내용을 알지 못합니다 -- 따라서 다시 부"
+"팅하기 전에는 마운트하거나 사용하면 안됩니다."
+
+#: libparted/arch/linux.c:2807
+#, c-format
+msgid "Unable to determine the start and length of %s."
+msgstr "%s의 시작 점 및 길이를 파악할 수 없습니다."
+
+#: libparted/arch/linux.c:3220
+#, c-format
+msgid ""
+"Partition(s) %s on %s have been written, but we have been unable to inform "
+"the kernel of the change, probably because it/they are in use.  As a result, "
+"the old partition(s) will remain in use.  You should reboot now before "
+"making further changes."
+msgstr ""
+"%2$s의 %1$s 분할 영역을 기록했지만, 사용중이기 때문에 바꾼 내용을 커널에 알"
+"릴 수 없습니다. 결과적으로 이전 분할 영역은 사용 중인 그대로 남습니다. 분할 "
+"영역 배치를 바꾸기 전 다시 부팅해야합니다."
+
+#: libparted/cs/geom.c:163
+#, c-format
+msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
+msgstr "시작 지점 이전에 끝 지점이 있으면 안됩니다! (시작 섹터=%jd 길이=%jd)"
+
+#: libparted/cs/geom.c:379
+#, c-format
+msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
+msgstr "%3$s 분할 영역 밖에  %1$ld-%2$ld 섹터 기록을 시도합니다."
+
+#: libparted/cs/geom.c:419
+msgid "checking for bad blocks"
+msgstr "불량 블록 검사 중"
+
+#: libparted/debug.c:97
+#, c-format
+msgid "Backtrace has %d calls on stack:\n"
+msgstr "스택 역추적 목록에 호출 항목 %d개가 있습니다:\n"
+
+#: libparted/debug.c:110
+#, c-format
+msgid "Assertion (%s) at %s:%d in function %s() failed."
+msgstr "%4$s() 함수의 %2$s:%3$d에서 검증(%1$s)에 실패했습니다."
+
+#: libparted/disk.c:194
+#, c-format
+msgid "%s: unrecognised disk label"
+msgstr "%s: 인식할 수 없는 디스크 레이블"
+
+#: libparted/disk.c:487
+#, c-format
+msgid ""
+"This libparted doesn't have write support for %s.  Perhaps it was compiled "
+"read-only."
+msgstr ""
+"libparted에서는 %s 기록을 지원하지 않습니다. 아마도 읽기 전용으로 컴파일한 "
+"것 같습니다."
+
+#: libparted/disk.c:632
+#, c-format
+msgid "Partition %d is %s, but the file system is %s."
+msgstr "분할 영역 %d번은 %s(이)지만, 파일 시스템은 %s입니다."
+
+#: libparted/disk.c:841
+msgid "cylinder_alignment"
+msgstr "cylinder_alignment"
+
+#: libparted/disk.c:843
+msgid "pmbr_boot"
+msgstr "pmbr_boot"
+
+#: libparted/disk.c:848
+#, c-format
+msgid "Unknown disk flag, %d."
+msgstr "알 수 없는 %d 디스크 플래그."
+
+#: libparted/disk.c:1289
+#, c-format
+msgid "%s disk labels do not support extended partitions."
+msgstr "%s 디스크 레이블은 확장 분할 영역을 지원하지 않습니다."
+
+#: libparted/disk.c:1821
+#, c-format
+msgid "%s disk labels don't support logical or extended partitions."
+msgstr ""
+"%s 디스크 레이블은 논리 분할 영역 또는 확장 분할 영역을 지원하지 않습니다."
+
+#: libparted/disk.c:1834
+msgid "Too many primary partitions."
+msgstr "주 분할 영역이 너무 많습니다."
+
+#: libparted/disk.c:1843
+#, c-format
+msgid ""
+"Can't add a logical partition to %s, because there is no extended partition."
+msgstr "%s에 확장 분할 영역이 없어 논리 분할 영역을 추가할 수 없습니다."
+
+#: libparted/disk.c:1867
+#, c-format
+msgid "Can't have more than one extended partition on %s."
+msgstr "%s에 하나 이상의 확장 분할 영역이 없습니다."
+
+#: libparted/disk.c:1877
+msgid "Can't have logical partitions outside of the extended partition."
+msgstr "확장 분할 영역 밖에 논리 분할 영역을 배치할 수 없습니다."
+
+#: libparted/disk.c:1902
+#, c-format
+msgid "Can't have a logical partition outside of the extended partition on %s."
+msgstr "%s에 확장 분할 영역 밖으로 논리 분할 영역을 배치할 수 없습니다."
+
+#: libparted/disk.c:1912
+msgid "Can't have a primary partition inside an extended partition."
+msgstr "확장 분할 영역 안에 주 분할 영역을 배치할 수 없습니다."
+
+#: libparted/disk.c:1921
+msgid "Can't have a partition outside the disk!"
+msgstr "디스크 영역 밖에 분할 영역을 배치할 수 없습니다!"
+
+#: libparted/disk.c:1972 libparted/disk.c:2150
+msgid "Can't have overlapping partitions."
+msgstr "분할 영역을 중복 지정할 수 없습니다."
+
+#: libparted/disk.c:2351
+msgid "metadata"
+msgstr "metadata"
+
+#: libparted/disk.c:2353
+msgid "free"
+msgstr "free"
+
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
+msgid "extended"
+msgstr "extended"
+
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
+msgid "logical"
+msgstr "logical"
+
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
+msgid "primary"
+msgstr "primary"
+
+#: libparted/disk.c:2375
+msgid "boot"
+msgstr "boot"
+
+#: libparted/disk.c:2377
+msgid "bios_grub"
+msgstr "bios_grub"
+
+#: libparted/disk.c:2379
+msgid "root"
+msgstr "root"
+
+#: libparted/disk.c:2381
+msgid "swap"
+msgstr "swap"
+
+#: libparted/disk.c:2383
+msgid "hidden"
+msgstr "hidden"
+
+#: libparted/disk.c:2385
+msgid "raid"
+msgstr "RAID"
+
+#: libparted/disk.c:2387
+msgid "lvm"
+msgstr "lvm"
+
+#: libparted/disk.c:2389
+msgid "lba"
+msgstr "lba"
+
+#: libparted/disk.c:2391
+msgid "hp-service"
+msgstr "hp-service"
+
+#: libparted/disk.c:2393
+msgid "palo"
+msgstr "palo"
+
+#: libparted/disk.c:2395
+msgid "prep"
+msgstr "prep"
+
+#: libparted/disk.c:2397
+msgid "msftres"
+msgstr "msftres"
+
+#: libparted/disk.c:2399
+msgid "msftdata"
+msgstr "msftdata"
+
+#: libparted/disk.c:2401
+msgid "atvrecv"
+msgstr "atvrecv"
+
+#: libparted/disk.c:2403
+msgid "diag"
+msgstr "diag"
+
+#: libparted/disk.c:2405
+msgid "legacy_boot"
+msgstr "legacy_boot"
+
+#: libparted/disk.c:2407
+msgid "irst"
+msgstr "irst"
+
+#: libparted/disk.c:2409
+msgid "esp"
+msgstr "esp"
+
+#: libparted/disk.c:2415
+#, c-format
+msgid "Unknown partition flag, %d."
+msgstr "알 수 없는 분할 영역의 %d 플래그입니다."
+
+#: libparted/exception.c:78
+msgid "Information"
+msgstr "정보"
+
+#: libparted/exception.c:79
+msgid "Warning"
+msgstr "경고"
+
+#: libparted/exception.c:80
+msgid "Error"
+msgstr "오류"
+
+#: libparted/exception.c:81
+msgid "Fatal"
+msgstr "실패"
+
+#: libparted/exception.c:82
+msgid "Bug"
+msgstr "버그"
+
+#: libparted/exception.c:83
+msgid "No Implementation"
+msgstr "기능 없음"
+
+#: libparted/exception.c:87
+msgid "Fix"
+msgstr "고침"
+
+#: libparted/exception.c:88
+msgid "Yes"
+msgstr "예"
+
+#: libparted/exception.c:89
+msgid "No"
+msgstr "아니요"
+
+#: libparted/exception.c:90
+msgid "OK"
+msgstr "확인"
+
+#: libparted/exception.c:91
+msgid "Retry"
+msgstr "다시 시도"
+
+#: libparted/exception.c:92
+msgid "Ignore"
+msgstr "무시"
+
+#: libparted/exception.c:93
+msgid "Cancel"
+msgstr "취소"
+
+#: libparted/exception.c:133
+#, c-format
+msgid ""
+"A bug has been detected in GNU Parted.  Refer to the web site of parted "
+"http://www.gnu.org/software/parted/parted.html for more information of what "
+"could be useful for bug submitting!  Please email a bug report to %s "
+"containing at least the version (%s) and the following message:  "
+msgstr ""
+"GNU Parted의 버그를 찾았습니다. http://www.gnu.org/software/parted/parted."
+"html Parted 웹사이트에서 버그 제출에 유용한 정보를 찾아보십시오! %s에게 버전"
+"(%s) 정보와 다음 메시지를 넣어 버그 보고서를 메일로 보내주십시오:"
+
+#: libparted/labels/aix.c:91
+msgid "Support for reading AIX disk labels is is not implemented yet."
+msgstr "AIC 디스크 레이블의 읽기 지원 기능이 없습니다."
+
+#: libparted/labels/aix.c:102
+msgid "Support for writing AIX disk labels is is not implemented yet."
+msgstr "AIX 디스크 레이블 기록 지원 기능이 없습니다."
+
+#: libparted/labels/aix.c:115
+msgid ""
+"Support for adding partitions to AIX disk labels is not implemented yet."
+msgstr "AIX 디스크 레이블의 분할 영역 추가 지원 기능이 없습니다."
+
+#: libparted/labels/aix.c:125
+msgid ""
+"Support for duplicating partitions in AIX disk labels is not implemented yet."
+msgstr "AIX 디스크 레이블의 분할 영역 복제 지원 기능이 없습니다."
+
+#: libparted/labels/aix.c:143
+msgid ""
+"Support for setting system type of partitions in AIX disk labels is not "
+"implemented yet."
+msgstr "AIX 디스크 레이블의 시스템 분할 영역 형식 설정 지원 기능이 없습니다."
+
+#: libparted/labels/aix.c:153
+msgid "Support for setting flags in AIX disk labels is not implemented yet."
+msgstr "AIX 디스크 레이블의 설정 플래그 지원 기능이 없습니다."
+
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted에서 섹터 크기가 %d 바이트가 아닌 HFS 파일 시스템 디스크를 사용할 수 없"
+"습니다."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
+msgid "Unable to satisfy all constraints on the partition."
+msgstr "분할 영역의 모든 제약 조건을 만족할 수 없습니다."
+
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "분할 영역 번호를 할당할 수 없습니다."
+
+#: libparted/labels/bsd.c:592
+msgid "Unable to allocate a bsd disklabel slot."
+msgstr "BSD 디스크 레이블 슬롯을 할당할 수 없습니다."
+
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
+msgid "Unable to allocate a dasd disklabel slot"
+msgstr "DASD 디스크 레이블 슬롯을 할당할 수 없습니다."
+
+#: libparted/labels/dos.c:1003
+#, c-format
+msgid "Invalid partition table on %s -- wrong signature %x."
+msgstr "%s에 잘못된 분할 영역 테이블 -- 잘못된 %x 서명."
+
+#: libparted/labels/dos.c:1031
+#, c-format
+msgid "Invalid partition table - recursive partition on %s."
+msgstr "잘못된 분할 영역 테이블 - %s에 재귀 분할 영역."
+
+#: libparted/labels/dos.c:1560
+msgid "Extended partitions cannot be hidden on msdos disk labels."
+msgstr "확장 분할 영역은 MSDOS 디스크 레이블에서 숨길 수 없습니다."
+
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "확장 분할 영역은 MSDOS 디스크 레이블에서 숨길 수 없습니다."
+
+#: libparted/labels/dos.c:2258
+msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
+msgstr ""
+"Parted에서는 윈도우 동적 디스크에서 관리하는 분할 영역의 크기를 조절할 수 없"
+"습니다."
+
+#: libparted/labels/dos.c:2514
+msgid "cannot create any more partitions"
+msgstr "분할 영역을 더 만들 수 없습니다."
+
+#: libparted/labels/dvh.c:183
+#, c-format
+msgid "%s has no extended partition (volume header partition)."
+msgstr "%s에 확장 분할 영역(볼륨 헤더 분할 영역)이 없습니다."
+
+#: libparted/labels/dvh.c:309
+msgid "Checksum is wrong, indicating the partition table is corrupt."
+msgstr "검사합이 잘못됐습니다. 분할 영역 테이블이 깨진 것 같습니다."
+
+#: libparted/labels/dvh.c:614
+msgid "Only primary partitions can be root partitions."
+msgstr "주 분할 영역만 루트 분할 영역이 될 수 있습니다."
+
+#: libparted/labels/dvh.c:628
+msgid "Only primary partitions can be swap partitions."
+msgstr "주 분할 영역만 스왑 분할 영역이 될 수 있습니다."
+
+#: libparted/labels/dvh.c:642
+msgid "Only logical partitions can be a boot file."
+msgstr "논리 분할 영역만 부트 파일이 될 수 있습니다."
+
+#: libparted/labels/dvh.c:719
+#, c-format
+msgid ""
+"failed to set dvh partition name to %s:\n"
+"Only logical partitions (boot files) have a name."
+msgstr ""
+"dvh 분할 영역 이름을 %s(으)로 설정하는데 실패했습니다:\n"
+"논리 분할 영역(부트 파일)만 이름을 보유합니다."
+
+#: libparted/labels/dvh.c:812
+msgid "Too many primary partitions"
+msgstr "주 분할 영역이 너무 많습니다"
+
+#: libparted/labels/fdasd.c:136
+msgid "open error"
+msgstr "열기 오류"
+
+#: libparted/labels/fdasd.c:139
+msgid "seek error"
+msgstr "탐색 오류"
+
+#: libparted/labels/fdasd.c:142
+msgid "read error"
+msgstr "읽기 오류"
+
+#: libparted/labels/fdasd.c:148
+msgid "ioctl() error"
+msgstr "ioctl() 오류"
+
+#: libparted/labels/fdasd.c:152
+msgid "API version mismatch"
+msgstr "API 버전 일치 안함"
+
+#: libparted/labels/fdasd.c:156
+msgid "Unsupported disk type"
+msgstr "지원하지 않는 디스크 형식"
+
+#: libparted/labels/fdasd.c:160
+msgid "Unsupported disk format"
+msgstr "지원하지 않는 디스크 구성 형식"
+
+#: libparted/labels/fdasd.c:164
+msgid "Disk is in use"
+msgstr "디스크를 사용 중입니다"
+
+#: libparted/labels/fdasd.c:168
+msgid "Syntax error in config file"
+msgstr "설정 파일 문법 오류"
+
+#: libparted/labels/fdasd.c:172
+msgid "Volume label is corrupted"
+msgstr "볼륨 레이블이 깨졌습니다"
+
+#: libparted/labels/fdasd.c:176
+msgid "A data set name is corrupted"
+msgstr "데이터 세트 이름이 깨졌습니다"
+
+#: libparted/labels/fdasd.c:180
+msgid "Memory allocation failed"
+msgstr "메모리 할당에 실패했습니다"
+
+#: libparted/labels/fdasd.c:184
+msgid "Device verification failed"
+msgstr "장치 검증에 실패했습니다"
+
+#: libparted/labels/fdasd.c:185
+msgid "The specified device is not a valid DASD device"
+msgstr "지정 장치는 유효한 DASD 장치가 아닙니다"
+
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
+msgid "Fatal error"
+msgstr "치명적인 오류"
+
+#: libparted/labels/fdasd.c:243
+msgid "No room for volume label."
+msgstr "볼륨 레이블을 설정할 공간이 없습니다."
+
+#: libparted/labels/fdasd.c:251
+msgid "No room for partition info."
+msgstr "분할 영역 정보를 저장할 공간이 없습니다."
+
+#: libparted/labels/fdasd.c:828
+msgid "Invalid VTOC."
+msgstr "잘못된 VTOC."
+
+#: libparted/labels/fdasd.c:912
+msgid "Could not retrieve API version."
+msgstr "API 버전을 가져올 수 없습니다."
+
+#: libparted/labels/fdasd.c:915
+#, c-format
+msgid ""
+"The current API version '%d' doesn't match dasd driver API version '%d'!"
+msgstr ""
+"현재 API 버전 ‘%d’이(가) DASD 드라이버 API 버전 ‘%d’와(과) 일치하지 않습니다!"
+
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "디스크 정보를 가져올 수 없습니다."
+
+#: libparted/labels/fdasd.c:1029
+msgid "Could not retrieve disk geometry information."
+msgstr "디스크 크기 정보를 가져올 수 없습니다."
+
+#: libparted/labels/fdasd.c:1035
+msgid "Could not retrieve blocksize information."
+msgstr "블록 크기 정보를 가져올 수 없습니다."
+
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
+
+#: libparted/labels/gpt.c:531
+msgid "device is too small for GPT"
+msgstr "GPT를 설정하기에는 장치 용량이 너무 작습니다"
+
+#: libparted/labels/gpt.c:733
+#, c-format
+msgid ""
+"The format of the GPT partition table is version %x, which is newer than "
+"what Parted can recognise.  Please report this!"
+msgstr ""
+"GPT 분할 영역 테이블 형식은 Parted에서 인식할 수 있는 버전보다 높은 %x 버전"
+"을 지니고 있습니다. 보고해주십시오!"
+
+#: libparted/labels/gpt.c:769
+#, c-format
+msgid ""
+"Not all of the space available to %s appears to be used, you can fix the GPT "
+"to use all of the space (an extra %llu blocks) or continue with the current "
+"setting? "
+msgstr ""
+"%s 사용 여분 공간 전체를 활용할 수 있는건 아닌 것 같습니다만, 모든 공간(추가 "
+"%llu 블록)을 사용할 수 있도록 GPT를 수정할 수 있습니다. 아니면 현재 설정 상태"
+"로 계속 진행하시겠습니까?"
+
+#: libparted/labels/gpt.c:1008
+msgid ""
+"The backup GPT table is not at the end of the disk, as it should be.  Fix, "
+"by moving the backup to the end (and removing the old backup)?"
+msgstr ""
+"백업 GPT 테이블 영역이 디스크 마지막 공간까지 차지해야 하는데 그렇지 않습니"
+"다. 백업 영역을 마지막으로 이동하(고 이전 백업을 제거하)여 문제를 수정하시겠"
+"습니까?"
+
+#: libparted/labels/gpt.c:1026
+msgid ""
+"Both the primary and backup GPT tables are corrupt.  Try making a fresh "
+"table, and using Parted's rescue feature to recover partitions."
+msgstr ""
+"주 GPT 테이블과 백업 GPT 테이블이 깨졌습니다.  분할 영역을 복구하려면 테이블"
+"을 새로 만들고 Parted의 복구 기능을 사용하십시오."
+
+#: libparted/labels/gpt.c:1037
+msgid ""
+"The backup GPT table is corrupt, but the primary appears OK, so that will be "
+"used."
+msgstr ""
+"백업 GPT 테이블이 깨졌지만, 주 GPT 테이블은 문제가 없으므로 주 GPT 테이블을 "
+"사용하겠습니다."
+
+#: libparted/labels/gpt.c:1049
+msgid ""
+"The primary GPT table is corrupt, but the backup appears OK, so that will be "
+"used."
+msgstr ""
+"주 GPT 테이블이 깨졌지만, 백업 GPT 테이블은 문제가 없으므로 백업 GPT 테이블"
+"을 사용하겠습니다."
+
+#: libparted/labels/gpt.c:1073
+msgid "primary partition table array CRC mismatch"
+msgstr "주 분할 영역 테이블 어레이 CRC가 일치하지 않습니다"
+
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
+msgid "failed to translate partition name"
+msgstr "분할 영역 이름 해석에 실패했습니다."
+
+#: libparted/labels/mac.c:185
+#, c-format
+msgid "Invalid signature %x for Mac disk labels."
+msgstr "맥 디스크 레이블에 잘못된 %x 서명이 있습니다."
+
+#: libparted/labels/mac.c:232
+msgid "Partition map has no partition map entry!"
+msgstr "분할 영역 맵에 분할 영역 맵 항목이 없습니다!"
+
+#: libparted/labels/mac.c:280
+#, c-format
+msgid "%s is too small for a Mac disk label!"
+msgstr "%s은(는) 맥 디스크 레이블로 활용하기에 너무 작습니다!"
+
+#: libparted/labels/mac.c:507
+#, c-format
+msgid "Partition %d has an invalid signature %x."
+msgstr "%d번 분할 영역에 잘못된 %x 서명이 있습니다."
+
+#: libparted/labels/mac.c:524
+#, c-format
+msgid "Partition %d has an invalid length of 0 bytes!"
+msgstr "%d번 분할 영역에 잘못된 0바이트 길이가 있습니다!"
+
+#: libparted/labels/mac.c:555
+msgid "The data region doesn't start at the start of the partition."
+msgstr "데이터 영역이 분할 영역 시작 지점에서 시작하지 않았습니다."
+
+#: libparted/labels/mac.c:572
+msgid "The boot region doesn't start at the start of the partition."
+msgstr "부트 영역이 분할 영역 시작 지점에서 시작하지 않았습니다."
+
+#: libparted/labels/mac.c:586
+msgid "The partition's boot region doesn't occupy the entire partition."
+msgstr "분할 영역의 부트 영역이 전체 분할 영역을 차지하지 않았습니다."
+
+#: libparted/labels/mac.c:597
+msgid "The partition's data region doesn't occupy the entire partition."
+msgstr "분할 영역의 데이터 영역이 전체 분할 영역을 차지하지 않았습니다."
+
+#: libparted/labels/mac.c:649
+#, c-format
+msgid ""
+"Weird block size on device descriptor: %d bytes is not divisible by 512."
+msgstr ""
+"장치 서술자의 블록 크기가 이상합니다: %d 바이트는 512의 배수가 아닙니다."
+
+#: libparted/labels/mac.c:662
+#, c-format
+msgid ""
+"The driver descriptor says the physical block size is %d bytes, but Linux "
+"says it is %d bytes."
+msgstr ""
+"드라이버 서술자에서 실제 블록 사이즈는 %d 바이트라고 하지만, 리눅스에서는 %d "
+"바이트라고 합니다."
+
+#: libparted/labels/mac.c:715
+msgid "No valid partition map found."
+msgstr "올바른 분할 영역 맵이 없습니다."
+
+#: libparted/labels/mac.c:789
+#, c-format
+msgid ""
+"Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
+"says it is %d!"
+msgstr ""
+"분할 영역 맵 항목 크기가 맞지 않습니다! 1번 항목은 %d라고 하지만 %d번 항목은 "
+"%d라고 합니다!"
+
+#: libparted/labels/mac.c:820
+msgid "Weird!  There are 2 partitions map entries!"
+msgstr "이상합니다! 분할 영역 맵 항목이 두 개 있습니다!"
+
+#: libparted/labels/mac.c:1359
+msgid ""
+"Changing the name of a root or swap partition will prevent Linux from "
+"recognising it as such."
+msgstr ""
+"루트 분할 영역 또는 스왑 분할 영역의 이름을 바꾸면, 리눅스에서 해당 분할 영역"
+"을 인식하지 못합니다."
+
+#: libparted/labels/mac.c:1458
+msgid "Can't add another partition -- the partition map is too small!"
+msgstr "다른 분할 영역을 추가할 수 없습니다 -- 분할 영역 맵이 너무 작습니다!"
+
+#: libparted/labels/pc98.c:284
+#, c-format
+msgid "Invalid partition table on %s."
+msgstr "%s에 잘못된 분할 영역 테이블이 있습니다."
+
+#: libparted/labels/pc98.c:337 libparted/labels/pc98.c:415
+#, c-format
+msgid ""
+"Partition %d isn't aligned to cylinder boundaries.  This is still "
+"unsupported."
+msgstr ""
+"%d번 분할 영역을 실린더 범위 내로 정렬하지 않았습니다.  여전히 지원하지 않습"
+"니다."
+
+#: libparted/labels/pc98.c:733
+msgid "Can't add another partition."
+msgstr "다른 분할 영역을 추가할 수 없습니다."
+
+#: libparted/labels/pt-tools.c:134
+#, c-format
+msgid ""
+"partition length of %jd sectors exceeds the %s-partition-table-imposed "
+"maximum of %jd"
+msgstr ""
+"%jd 섹터 분할 영역 길이는 %s 분할 영역 테이블에 명시한 최대 값 %jd을(를) 넘습"
+"니다"
+
+#: libparted/labels/pt-tools.c:147
+#, c-format
+msgid ""
+"starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
+"of %jd"
+msgstr ""
+"시작 섹터 번호 %jd은(는) %s 뷴할 영역 테이블에 명시한 최대값 %jd을(를) 넘습니"
+"다"
+
+#: libparted/labels/rdb.c:170
+#, c-format
+msgid "%s : Bad checksum on block %llu of type %s."
+msgstr "%1$s : %3$s 형식의 %2$llu번째 블록에 잘못된 검사합 값이 있습니다."
+
+#: libparted/labels/rdb.c:486
+#, c-format
+msgid "%s : Didn't find rdb block, should never happen."
+msgstr "%s : rdb 블록을 찾을 수 없어 아무 일도 일어나지 않습니다."
+
+#: libparted/labels/rdb.c:575
+#, c-format
+msgid "%s : Loop detected at block %d."
+msgstr "%s : %d번째 블록에 루프가 있습니다."
+
+#: libparted/labels/rdb.c:594
+#, c-format
+msgid "%s : The %s list seems bad at block %s."
+msgstr "%s : %s 목록의 %s 불량 블록이 있는 것 같습니다."
+
+#: libparted/labels/rdb.c:693
+#, c-format
+msgid "%s : Failed to list bad blocks."
+msgstr "%s : 불량 블록 조회에 실패했습니다."
+
+#: libparted/labels/rdb.c:701
+#, c-format
+msgid "%s : Failed to list partition blocks."
+msgstr "%s : 분할 영역 블록 조회에 실패했습니다."
+
+#: libparted/labels/rdb.c:709
+#, c-format
+msgid "%s : Failed to list file system blocks."
+msgstr "%s : 파일 시스템 블록 조회에 실패했습니다."
+
+#: libparted/labels/rdb.c:717
+#, c-format
+msgid "%s : Failed to list boot blocks."
+msgstr "%s : 부트 블록 조회에 실패했습니다."
+
+#: libparted/labels/rdb.c:744
+#, c-format
+msgid "Failed to write partition block at %d."
+msgstr "%d번째 분할 영역 블록 쓰기에 실패했습니다."
+
+#: libparted/labels/sun.c:162
+msgid "Corrupted Sun disk label detected."
+msgstr "깨진 썬 디스크 레이블을 찾았습니다."
+
+#: libparted/labels/sun.c:277
+#, c-format
+msgid ""
+"The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
+"match the geometry stored on the disk label (%d,%d,%d)."
+msgstr ""
+"디스크의 실린더, 헤드, 섹터 크기(%d,%d,%d) 정보가 디스크 레이블에 저장한 크기"
+"(%d, %d, %d)와 일치하지 않음을 운영 체제에서 보고했습니다."
+
+#: libparted/labels/sun.c:299
+#, c-format
+msgid "The disk label describes a disk bigger than %s."
+msgstr "디스크 레이블은 %s보다 큰 디스크를 언급합니다."
+
+#: libparted/labels/sun.c:474
+#, c-format
+msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
+msgstr "디스크의 실린더 갯수는 최대 65536보다 큰 %d입니다."
+
+#: libparted/labels/sun.c:813
+msgid ""
+"The Whole Disk partition is the only available one left.  Generally, it is "
+"not a good idea to overwrite this partition with a real one.  Solaris may "
+"not be able to boot without it, and SILO (the sparc boot loader) appreciates "
+"it as well."
+msgstr ""
+"전체 디스크 분할 영역은 하나만 가능합니다.  보통 실제 분할 영역으로 이 분할 "
+"영역을 덮어쓰는건 좋은 방식이 아닙니다.  솔라리스는 이 분할 영역이 없으면 부"
+"팅할 수 없으며, SILO(스팍 부트 로더)도 마찬가지로 이 문제를 인식합니다."
+
+#: libparted/labels/sun.c:828
+msgid "Sun disk label is full."
+msgstr "썬 디스크 레이블이 다 찼습니다."
+
+#: libparted/labels/vtoc.c:164
+msgid "opening of device failed"
+msgstr "장치 열기 실패"
+
+#: libparted/labels/vtoc.c:168
+msgid "seeking on device failed"
+msgstr "장치 탐색 실패"
+
+#: libparted/labels/vtoc.c:172
+msgid "writing to device failed"
+msgstr "장치 쓰기 실패"
+
+#: libparted/labels/vtoc.c:176
+msgid "reading from device failed"
+msgstr "장치 읽기 실패"
+
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
+msgid "Could not read volume label."
+msgstr "볼륨 레이블을 읽을 수 없습니다."
+
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
+msgid "Could not write volume label."
+msgstr "볼륨 레이블을 쓸 수 없습니다."
+
+#: libparted/labels/vtoc.c:537
+msgid "Could not read VTOC labels."
+msgstr "VTOC 레이블을 읽을 수 없습니다."
+
+#: libparted/labels/vtoc.c:543
+msgid "Could not read VTOC FMT1 DSCB."
+msgstr "VTOC FMT1 DSCB를 읽을 수 없습니다."
+
+#: libparted/labels/vtoc.c:550
+msgid "Could not read VTOC FMT4 DSCB."
+msgstr "VTOC FMT4 DSCB를 읽을 수 없습니다."
+
+#: libparted/labels/vtoc.c:557
+msgid "Could not read VTOC FMT5 DSCB."
+msgstr "VTOC FMT5 DSCB를 읽을 수 없습니다."
+
+#: libparted/labels/vtoc.c:564
+msgid "Could not read VTOC FMT7 DSCB."
+msgstr "VTOC FMT7 DSCB를 읽을 수 없습니다."
+
+#: libparted/labels/vtoc.c:585
+msgid "Could not write VTOC labels."
+msgstr "VTOC 레이블을 쓸 수 없습니다."
+
+#: libparted/labels/vtoc.c:591
+msgid "Could not write VTOC FMT1 DSCB."
+msgstr "VTOC FMT1 DSCB를 쓸 수 없습니다."
+
+#: libparted/labels/vtoc.c:598
+msgid "Could not write VTOC FMT4 DSCB."
+msgstr "VTOC FMT4 DSCB를 쓸 수 없습니다."
+
+#: libparted/labels/vtoc.c:605
+msgid "Could not write VTOC FMT5 DSCB."
+msgstr "VTOC FMT5 DSCB를 쓸 수 없습니다."
+
+#: libparted/labels/vtoc.c:612
+msgid "Could not write VTOC FMT7 DSCB."
+msgstr "VTOC FMT7 DSCB를 쓸 수 없습니다."
+
+#: libparted/labels/vtoc.c:622
+msgid "Could not write VTOC FMT9 DSCB."
+msgstr "VTOC FMT9 DSCB를 쓸 수 없습니다."
+
+#: libparted/libparted.c:242
+msgid "Out of memory."
+msgstr "메모리가 부족합니다."
+
+#: libparted/unit.c:139
+msgid "Cannot get unit size for special unit 'COMPACT'."
+msgstr "'COMPACT' 특수 단위의 단위 크기를 가져올 수 없습니다."
+
+#: libparted/unit.c:385
+#, c-format
+msgid "\"%s\" has invalid syntax for locations."
+msgstr "\"%s\"은(는) 잘못된 위치 문법입니다."
+
+#: libparted/unit.c:393
+#, c-format
+msgid "The maximum head value is %d."
+msgstr "최대 헤드 값은 %d입니다."
+
+#: libparted/unit.c:400
+#, c-format
+msgid "The maximum sector value is %d."
+msgstr "최대 섹터 값은 %d입니다."
+
+#: libparted/unit.c:412 libparted/unit.c:564
+#, c-format
+msgid "The location %s is outside of the device %s."
+msgstr "%s위치는 %s 장치 이외의 영역에 있습니다."
+
+#: libparted/unit.c:526
+msgid "Invalid number."
+msgstr "잘못된 숫자 값."
+
+#: libparted/unit.c:532
+msgid "Use a smaller unit instead of a value < 1"
+msgstr "1보다 작은 값을 사용하는 대신 작은 단위를 사용하십시오"
+
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
+#, c-format
+msgid "%s : Failed to allocate partition block\n"
+msgstr "%s : 분할 영역 블록 할당에 실패했습니다\n"
+
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
+#, c-format
+msgid "%s : Failed to allocate block\n"
+msgstr "%s : 블록 할당에 실패했습니다\n"
+
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
+#, c-format
+msgid "%s : Couldn't read boot block %llu\n"
+msgstr "%s : %llu 부트 블록을 읽을 수 없습니다\n"
+
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
+#, c-format
+msgid "%s : Couldn't read root block %llu\n"
+msgstr "%s : %llu 루트 블록을 읽을 수 없습니다\n"
+
+#: libparted/fs/amiga/amiga.c:72
+#, c-format
+msgid "%s : Failed to allocate id list element\n"
+msgstr "%s : ID 목록 구성 요소 할당에 실패했습니다\n"
+
+#: libparted/fs/amiga/amiga.c:189
+#, c-format
+msgid "%s : Couldn't read block %llu\n"
+msgstr "%s : %llu 블록을 읽을 수 없습니다\n"
+
+#: libparted/fs/amiga/amiga.c:202
+#, c-format
+msgid "%s : Bad checksum on block %llu of type %s\n"
+msgstr "%1$s : %3$s 형식의 %2$llu 블록에 잘못된 검사합 값이 있습니다\n"
+
+#: libparted/fs/amiga/amiga.c:212
+#, c-format
+msgid "%s : Couldn't write block %d\n"
+msgstr "%s : %d 블록을 쓸 수 없습니다\n"
+
+#: libparted/fs/amiga/amiga.c:278
+#, c-format
+msgid "%s : Failed to allocate disk_specific rdb block\n"
+msgstr "%s : disk_specific rdb 블록 할당에 실패했습니다\n"
+
+#: libparted/fs/amiga/amiga.c:289
+#, c-format
+msgid "%s : Didn't find rdb block, should never happen\n"
+msgstr "%s : rdb 블록을 찾을 수 없어 아무 일도 일어나지 않습니다\n"
+
+#: libparted/fs/amiga/amiga.c:318
+#, c-format
+msgid "%s : Failed to read partition block %llu\n"
+msgstr "%s : %llu 분할 영역 블록 읽기에 실패했습니다\n"
+
+#: libparted/fs/fat/fat.c:148 libparted/fs/r/fat/fat.c:811
+msgid ""
+"GNU Parted was miscompiled: the FAT boot sector should be 512 bytes.  FAT "
+"support will be disabled."
+msgstr ""
+"GNU Parted 컴파일에 문제가 있습니다: FAT 부트 섹터 크기는 512 바이트여야 합니"
+"다. FAT 지원을 비활성화합니다."
+
+#: libparted/fs/fat/bootsector.c:50 libparted/fs/r/fat/bootsector.c:49
+msgid "File system has an invalid signature for a FAT file system."
+msgstr "FAT 파일 시스템에 잘못된 서명이 있습니다."
+
+#: libparted/fs/fat/bootsector.c:58 libparted/fs/r/fat/bootsector.c:57
+msgid "File system has an invalid sector size for a FAT file system."
+msgstr "FAT 파일 시스템의 섹터 크기가 잘못되었습니다."
+
+#: libparted/fs/fat/bootsector.c:65 libparted/fs/r/fat/bootsector.c:64
+msgid "File system has an invalid cluster size for a FAT file system."
+msgstr "FAT 파일 시스템의 클러스터 크기가 잘못되었습니다."
+
+#: libparted/fs/fat/bootsector.c:72 libparted/fs/r/fat/bootsector.c:71
+msgid ""
+"File system has an invalid number of reserved sectors for a FAT file system."
+msgstr "FAT 파일 시스템의 예약 섹터 수가 잘못되었습니다."
+
+#: libparted/fs/fat/bootsector.c:79 libparted/fs/r/fat/bootsector.c:78
+msgid "File system has an invalid number of FATs."
+msgstr "FAT 갯수가 잘못되었습니다."
+
+#: libparted/fs/fat/bootsector.c:162
+#, c-format
+msgid ""
+"The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
+"partition table's CHS geometry is (%d, %d, %d)."
+msgstr ""
+"파일 시스템의 실린더, 헤드, 섹터 크기(%d, %d, %d)가 잘못되었습니다.  분할 영"
+"역 테이블의 실린더, 헤드, 섹터 크기는(%d, %d, %d) 입니다."
+
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
+msgid "FAT boot sector says logical sector size is 0.  This is weird. "
+msgstr "FAT 부트 섹터의 논리 섹터 크기가 0입니다.  이상한 값입니다."
+
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
+msgid "FAT boot sector says there are no FAT tables.  This is weird. "
+msgstr "FAT 부트 섹터에 FAT 테이블이 없습니다.  이상한 값입니다. "
+
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
+msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
+msgstr "FAT 부트 섹터의 클러스터 섹터 수가 0 입니다.  이상한 값입니다. "
+
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
+msgid "File system is FAT12, which is unsupported."
+msgstr "지원하지 않는 FAT12 파일 시스템입니다."
+
+#: libparted/fs/linux_swap/linux_swap.c:231
+#, c-format
+msgid "Unrecognised old style linux swap signature '%10s'."
+msgstr "인식할 수 없는 예전 방식의 리눅스 스왑 서명 '%10s' 입니다."
+
+#: libparted/fs/linux_swap/linux_swap.c:269
+#, c-format
+msgid "Unrecognised new style linux swap signature '%10s'."
+msgstr "인식할 수 없는 새 방식의 리눅스 스왑 서명 '%10s' 입니다."
+
+#: libparted/fs/linux_swap/linux_swap.c:309
+#, c-format
+msgid "Unrecognised swsusp linux swap signature '%9s'."
+msgstr "인식할 수 없는 swsusp 리눅스 스왑 서명 '%9s' 입니다."
+
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
+#, c-format
+msgid ""
+"Parted can't use HFS file systems on disks with a sector size not equal to "
+"%d bytes."
+msgstr ""
+"Parted에서 섹터 크기가 %d 바이트가 아닌 HFS 파일 시스템 디스크를 사용할 수 없"
+"습니다."
+
+#: libparted/fs/r/fat/bootsector.c:145
+#, c-format
+msgid ""
+"The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
+"partition table's CHS geometry is (%d, %d, %d).  If you select Ignore, the "
+"file system's CHS geometry will be left unchanged.  If you select Fix, the "
+"file system's CHS geometry will be set to match the partition table's CHS "
+"geometry."
+msgstr ""
+"파일 시스템의 실린더, 헤드, 섹터(%d, %d, %d) 크기가 잘못되었습니다. 분할 영"
+"역 테이블의 실린더, 헤드, 섹터 크기는(%d, %d, %d) 입니다. 무시를 선택하면 파"
+"일 시스템의 실린더, 헤드, 섹터 크기를 바꾸지 않습니다. 수정을 선택하면, 실린"
+"더, 헤드, 섹터 크기를 분할 영역 테이블의 실린더, 헤드, 섹터 크기에 맞춥니다."
+
+#: libparted/fs/r/fat/bootsector.c:399
+#, c-format
+msgid ""
+"The information sector has the wrong signature (%x).  Select cancel for now, "
+"and send in a bug report.  If you're desperate, it's probably safe to ignore."
+msgstr ""
+"섹터 정보에 잘못된 서명 정보(%x)가 있습니다.  지금 취소를 선택한 후 버그 보고"
+"서를 보내십시오.  자포자기 상태라면 무시해도 안전합니다."
+
+#: libparted/fs/r/fat/calc.c:134
+#, c-format
+msgid ""
+"You need %s of free disk space to shrink this partition to this size.  "
+"Currently, only %s is free."
+msgstr ""
+"이 분할 영역을 지정 크기로 줄이려면 남은 공간을 %s 만큼 확보해야합니다. 현"
+"재, %s 만큼만 남아있습니다."
+
+#: libparted/fs/r/fat/context.c:56
+#, c-format
+msgid ""
+"Cluster start delta = %d, which is not a multiple of the cluster size %d."
+msgstr "클러스터 시작 델타 값 = %d은(는) 클러스터 크기 %d의 배수가 아닙니다."
+
+#: libparted/fs/r/fat/count.c:144
+#, c-format
+msgid "Bad directory entry for %s: first cluster is the end of file marker."
+msgstr "%s의 잘못된 디렉터리 항목: 첫번째 클러스터는 파일 마커의 끝입니다."
+
+#: libparted/fs/r/fat/count.c:157
+#, c-format
+msgid ""
+"Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
+msgstr ""
+"잘못된 FAT: %s에 끝나지 않은 체인이 있습니다.  dosfsck 또는 scandisk를 실행하"
+"십시오."
+
+#: libparted/fs/r/fat/count.c:166
+#, c-format
+msgid ""
+"Bad FAT: cluster %d outside file system in chain for %s.  You should run "
+"dosfsck or scandisk."
+msgstr ""
+"잘못된 FAT: %d번 클러스터가 %s 체인의 파일 시스템 바깥 영역에 있습니다. "
+"dosfsck 또는 scandisk를 실행하십시오."
+
+#: libparted/fs/r/fat/count.c:176
+#, c-format
+msgid ""
+"Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
+"scandisk."
+msgstr ""
+"잘못된 FAT: %d번 클러스터가 %s와(과) 교차 연결 상태입니다. dosfsck 또는 "
+"scandisk를 실행하십시오."
+
+#: libparted/fs/r/fat/count.c:195
+#, c-format
+msgid "%s is %dk, but it has %d clusters (%dk)."
+msgstr "%s은(는) %dk지만, 클러스터 %d개가 있습니다(%dk)."
+
+#: libparted/fs/r/fat/count.c:258
+#, c-format
+msgid ""
+"The file %s is marked as a system file.  This means moving it could cause "
+"some programs to stop working."
+msgstr ""
+"%s 파일은 시스템 파일입니다. 이 파일을 옮기면 일부 프로그램의 동작이 멈춥니"
+"다."
+
+#: libparted/fs/r/fat/fat.c:243
+#, c-format
+msgid "Partition too big/small for a %s file system."
+msgstr "%s 파일 시스템의 분할 영역이 너무 크거나 작습니다."
+
+#: libparted/fs/r/fat/fat.c:409
+msgid ""
+"The FATs don't match.  If you don't know what this means, then select "
+"cancel, run scandisk on the file system, and then come back."
+msgstr ""
+"FAT 정보가 일치하지 않습니다.  무슨 의미인지 모르겠다면, 취소를 선택하고 파"
+"일 시스템에서 scandisk를 실행한 후 다시 돌아오십시오."
+
+#: libparted/fs/r/fat/fat.c:449
+msgid "There are no possible configurations for this FAT type."
+msgstr "이 FAT 형식에 가능한 설정이 없습니다."
+
+#: libparted/fs/r/fat/fat.c:461
+#, c-format
+msgid ""
+"File system doesn't have expected sizes for Windows to like it.  Cluster "
+"size is %dk (%dk expected); number of clusters is %d (%d expected); size of "
+"FATs is %d sectors (%d expected)."
+msgstr ""
+"파일 시스템이 윈도우에서 기대하는 크기가 아닙니다. 클러스터 크기는(%2$dk여야 "
+"하지만) %1$dk 입니다. 또한 클러스트 갯수는(%4$dk여야 하지만) %3$dk개 입니다. "
+"FAT의 섹터 갯수는(%6$d개여야 하지만) %5$d개입니다."
+
+#: libparted/fs/r/fat/fat.c:484
+#, c-format
+msgid ""
+"File system is reporting the free space as %d clusters, not %d clusters."
+msgstr ""
+"파일 시스템 여분 공간 클러스터 갯수가 %2$d개가 아닌 %1$d개로 나타납니다."
+
+#: libparted/fs/r/fat/resize.c:158
+msgid ""
+"There's not enough room in the root directory for all of the files.  Either "
+"cancel, or ignore to lose the files."
+msgstr ""
+"모든 파일에 대한 루트 디렉터리 공간이 충분하지 않습니다.  취소를 누르십시오. "
+"또는 무시를 누르시면 파일이 없어집니다."
+
+#: libparted/fs/r/fat/resize.c:302
+msgid "Error writing to the root directory."
+msgstr "루트 디렉터리 기록 중 오류."
+
+#: libparted/fs/r/fat/resize.c:495
+msgid "If you leave your file system as FAT16, then you will have no problems."
+msgstr "FAT16 파일 시스템으로 두면, 문제가 나타나지 않습니다."
+
+#: libparted/fs/r/fat/resize.c:498
+msgid ""
+"If you convert to FAT16, and MS Windows is installed on this partition, then "
+"you must re-install the MS Windows boot loader.  If you want to do this, you "
+"should consult the Parted manual (or your distribution's manual)."
+msgstr ""
+"FAT16으로 변환하고 MS 윈도우를 설치하면 MS 윈도우 부트로더도 다시 설치해야합"
+"니다.  이렇게 하려면 Parted 설명서(또는 배포판 설명서)를 참고하십시오."
+
+#: libparted/fs/r/fat/resize.c:506
+msgid ""
+"If you leave your file system as FAT32, then you will not introduce any new "
+"problems."
+msgstr "파일 시스템을 FAT32로 두면, 새 문제가 나타나지 않습니다."
+
+#: libparted/fs/r/fat/resize.c:510
+msgid ""
+"If you convert to FAT32, and MS Windows is installed on this partition, then "
+"you must re-install the MS Windows boot loader.  If you want to do this, you "
+"should consult the Parted manual (or your distribution's manual).  Also, "
+"converting to FAT32 will make the file system unreadable by MS DOS, MS "
+"Windows 95a, and MS Windows NT."
+msgstr ""
+"FAT32로 변환하고 MS 윈도우를 이 분할 영역에 설치하면 MS 윈도우 부트 로더를 다"
+"시 설치해야합니다. 지침대로 수행하려면 Parted 설명서(또는 배포판 설명서)를 참"
+"고하십시오. 또한 FAT32로 변환하면 MS DOS, MS 윈도우, MS 윈도우 NT에서 파일 시"
+"스템을 인식할 수 없습니다."
+
+#: libparted/fs/r/fat/resize.c:524
+#, c-format
+msgid "%s  %s  %s"
+msgstr "%s  %s  %s"
+
+#: libparted/fs/r/fat/resize.c:525
+msgid "Would you like to use FAT32?"
+msgstr "FAT32를 사용하시겠습니까?"
+
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
+#, c-format
+msgid "%s  %s"
+msgstr "%s  %s"
+
+#: libparted/fs/r/fat/resize.c:557
+msgid ""
+"The file system can only be resized to this size by converting to FAT16."
+msgstr "FAT16으로 변환해야 파일 시스템 크기를 조절할 수 있습니다."
+
+#: libparted/fs/r/fat/resize.c:573
+msgid ""
+"The file system can only be resized to this size by converting to FAT32."
+msgstr "FAT32로 변환해야 파일 시스템 크기를 조절할 수 있습니다."
+
+#: libparted/fs/r/fat/resize.c:586
+msgid ""
+"GNU Parted cannot resize this partition to this size.  We're working on it!"
+msgstr ""
+"GNU Parted에서 분할 영역을 이 크기로 조절할 수 없습니다.  이 문제를 처리중입"
+"니다!"
+
+#: libparted/fs/r/fat/table.c:136
+#, c-format
+msgid ""
+"FAT %d media %x doesn't match the boot sector's media %x.  You should "
+"probably run scandisk."
+msgstr ""
+"%d FAT의 %x 미디어는 부트 섹터의 %x 미디어와 일치하지 않습니다. scandisk를 실"
+"행하십시오."
+
+#: libparted/fs/r/fat/table.c:268
+#, c-format
+msgid "fat_table_set: cluster %ld outside file system"
+msgstr "fat_table_set: %ld 클러스터는 파일 시스템 밖에 있습니다"
+
+#: libparted/fs/r/fat/table.c:300
+#, c-format
+msgid "fat_table_get: cluster %ld outside file system"
+msgstr "fat_table_get: %ld 클러스터는 파일 시스템 밖에 있습니다"
+
+#: libparted/fs/r/fat/table.c:342
+msgid "fat_table_alloc_cluster: no free clusters"
+msgstr "fat_table_alloc_cluster: 여분의 클러스터가 없습니다"
+
+#: libparted/fs/r/filesys.c:151
+msgid "Could not detect file system."
+msgstr "파일 시스템을 발견할 수 없습니다."
+
+#: libparted/fs/r/filesys.c:158 libparted/fs/r/filesys.c:285
+#, c-format
+msgid "resizing %s file systems is not supported"
+msgstr "%s 파일 시스템 크기 조절 기능을 지원하지 않습니다"
+
+#: libparted/fs/r/filesys.c:170
+msgid "The file system is bigger than its volume!"
+msgstr "파일 시스템은 이 볼륨보다 커야합니다!"
+
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
+msgid "The file system contains errors."
+msgstr "파일 시스템에 오류가 있습니다."
+
+#: libparted/fs/r/hfs/advfs_plus.c:285
+msgid "Bad blocks could not be read."
+msgstr "불량 블록을 읽을 수 없습니다."
+
+#: libparted/fs/r/hfs/cache.c:137
+#, c-format
+msgid ""
+"Trying to register an extent starting at block 0x%X, but another one already "
+"exists at this position.  You should check the file system!"
+msgstr ""
+"0x%X 블록에서 시작하는 범위 정보를 등록하려 했지만, 이미 이 위치에 다른 정보"
+"가 있습니다.  파일 시스템을 검사하십시오!"
+
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
+msgid ""
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
+"already exists at this position.  This should not happen!"
+msgstr ""
+"Ox%X번 블록에서 Ox%X번 블록으로 범위 정보 이동을 시도했지만, 현재 위치에 다"
+"른 범위 정보가 있습니다.  이 동작을 시도하면 안됩니다!"
+
+#: libparted/fs/r/hfs/file.c:143
+#, c-format
+msgid "Could not update the extent cache for HFS file with CNID %X."
+msgstr "%X CNID로 HFS 파일의 범위 정보 캐시를 업데이트할 수 없습니다."
+
+#: libparted/fs/r/hfs/file.c:180
+#, c-format
+msgid "Trying to read HFS file with CNID %X behind EOF."
+msgstr "EOF 이전의 %X CNID로 HFS 파일을 읽으려 합니다."
+
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
+#, c-format
+msgid "Could not find sector %lli of HFS file with CNID %X."
+msgstr "%2$X CNID로 HFS 파일의 %1$lli 섹터를 찾을 수 없습니다."
+
+#: libparted/fs/r/hfs/file.c:210
+#, c-format
+msgid "Trying to write HFS file with CNID %X behind EOF."
+msgstr "EOF 이전의 %X CNID로 HFS 파일을 기록하려 합니다."
+
+#: libparted/fs/r/hfs/file_plus.c:157
+#, c-format
+msgid "Could not update the extent cache for HFS+ file with CNID %X."
+msgstr "%X CNID로 HFS+ 파일의 범위 정보 캐시를 업데이트할 수 없습니다."
+
+#: libparted/fs/r/hfs/file_plus.c:202
+#, c-format
+msgid "Trying to read HFS+ file with CNID %X behind EOF."
+msgstr "EOF 이전의 %X CNID로 HFS+ 파일을 읽으려 합니다."
+
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
+#, c-format
+msgid "Could not find sector %lli of HFS+ file with CNID %X."
+msgstr "%2$X CNID로 HFS+ 파일의 %1$lli 섹터를 찾을 수 없습니다."
+
+#: libparted/fs/r/hfs/file_plus.c:245
+#, c-format
+msgid "Trying to write HFS+ file with CNID %X behind EOF."
+msgstr "EOF 이전의 %X CNID로 HFS+ 파일에 기록하려 합니다."
+
+#: libparted/fs/r/hfs/hfs.c:232
+msgid "Sorry, HFS cannot be resized that way yet."
+msgstr "죄송하지만, HFS 크기를 이 방식으로 조절할 수 없습니다."
+
+#: libparted/fs/r/hfs/hfs.c:250 libparted/fs/r/hfs/hfs.c:629
+msgid "shrinking"
+msgstr "크기 줄이는 중"
+
+#: libparted/fs/r/hfs/hfs.c:262 libparted/fs/r/hfs/hfs.c:641
+msgid "Data relocation has failed."
+msgstr "데이터 재배치에 실패했습니다."
+
+#: libparted/fs/r/hfs/hfs.c:281
+msgid "Data relocation left some data in the end of the volume."
+msgstr "데이터 재배치 중 볼륨 마지막 부분에 일부 데이터가 남았습니다."
+
+#: libparted/fs/r/hfs/hfs.c:320
+msgid "writing HFS Master Directory Block"
+msgstr "HFS 마스터 디렉터리 블록 기록 중"
+
+#: libparted/fs/r/hfs/hfs.c:468
+msgid "No valid HFS[+X] signature has been found while opening."
+msgstr "여는 중 유효한 HFS[+X] 서명을 찾지 못했습니다."
+
+#: libparted/fs/r/hfs/hfs.c:478
+#, c-format
+msgid "Version %d of HFS+ isn't supported."
+msgstr "HFS+ %d 버전은 지원하지 않습니다."
+
+#: libparted/fs/r/hfs/hfs.c:489
+#, c-format
+msgid "Version %d of HFSX isn't supported."
+msgstr "HFSX %d 버전은 지원하지 않습니다."
+
+#: libparted/fs/r/hfs/hfs.c:672
+msgid "Data relocation left some data at the end of the volume."
+msgstr "데이터 재배치 중 볼륨 마지막 부분에 일부 데이터가 남았습니다."
+
+#: libparted/fs/r/hfs/hfs.c:720
+msgid "Error while writing the allocation file."
+msgstr "할당 파일을 기록하는 중 오류가 발생했습니다."
+
+#: libparted/fs/r/hfs/hfs.c:735
+msgid "Error while writing the compatibility part of the allocation file."
+msgstr "할당 파일의 호환성 부분을 기록하는 중 오류가 발생했습니다."
+
+#: libparted/fs/r/hfs/hfs.c:750
+msgid "writing HFS+ Volume Header"
+msgstr "HFS+ 볼륨 헤더 기록 중"
+
+#: libparted/fs/r/hfs/hfs.c:850
+msgid "An error occurred while looking for the mandatory bad blocks file."
+msgstr "필수 불량 블록 파일을 찾는 중 오류가 발생했습니다."
+
+#: libparted/fs/r/hfs/hfs.c:904
+msgid ""
+"It seems there is an error in the HFS wrapper: the bad blocks file doesn't "
+"contain the embedded HFS+ volume."
+msgstr ""
+"HFS 래퍼에 오류가 있는 것 같습니다. 불량 블록 파일에 내장 HFS+ 볼륨 정보가 없"
+"습니다."
+
+#: libparted/fs/r/hfs/hfs.c:940
+msgid "Sorry, HFS+ cannot be resized that way yet."
+msgstr "죄송하지만, HFS+ 크기를 이 방식으로 조절할 수 없습니다."
+
+#: libparted/fs/r/hfs/hfs.c:975
+msgid "shrinking embedded HFS+ volume"
+msgstr "내장 HFS+ 볼륨 크기 줄이는 중"
+
+#: libparted/fs/r/hfs/hfs.c:992
+msgid "Resizing the HFS+ volume has failed."
+msgstr "HFS+ 볼륨 크기 조절에 실패했습니다."
+
+#: libparted/fs/r/hfs/hfs.c:999
+msgid "shrinking HFS wrapper"
+msgstr "HFS 래퍼 크기 줄이는 중"
+
+#: libparted/fs/r/hfs/hfs.c:1008
+msgid "Updating the HFS wrapper has failed."
+msgstr "HFS 래퍼 업데이트에 실패했습니다."
+
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
+#, c-format
+msgid ""
+"This is not a real %s check.  This is going to extract special low level "
+"files for debugging purposes."
+msgstr ""
+"실제로  %s 검사를 진행하지 않습니다.  디버깅 목적으로 저 수준 파일을 추출합니"
+"다."
+
+#: libparted/fs/r/hfs/journal.c:155
+msgid "Bad block list header checksum."
+msgstr "불량 블록 목록 헤더의 검사합입니다."
+
+#: libparted/fs/r/hfs/journal.c:168
+#, c-format
+msgid ""
+"Invalid size of a transaction block while replaying the journal (%i bytes)."
+msgstr ""
+"저널을 재현하는 동안 트랜잭션 블록 크기가 잘못됨을 발견했습니다(%i바이트)."
+
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
+msgid ""
+"Journal stored outside of the volume are not supported.  Try to deactivate "
+"the journal and run Parted again."
+msgstr ""
+"볼륨 외에 있는 저널을 지원하지 않습니다. 저널을 비활성화한 후 Parted를 다시 "
+"실행하십시오."
+
+#: libparted/fs/r/hfs/journal.c:271
+msgid "Journal offset or size is not multiple of the sector size."
+msgstr "저널 오프셋 또는 크기가 섹터 크기의 배수가 아닙니다."
+
+#: libparted/fs/r/hfs/journal.c:292
+msgid "Incorrect magic values in the journal header."
+msgstr "저널 헤더의 매직 값이 잘못되었습니다."
+
+#: libparted/fs/r/hfs/journal.c:302
+msgid "Journal size mismatch between journal info block and journal header."
+msgstr "저널 정보 블록 및 저널 헤더간 저널 크기 값이 일치하지 않습니다."
+
+#: libparted/fs/r/hfs/journal.c:314
+msgid "Some header fields are not multiple of the sector size."
+msgstr "일부 헤더 필드 값은 섹터 크기의 배수가 아닙니다."
+
+#: libparted/fs/r/hfs/journal.c:323
+msgid ""
+"The sector size stored in the journal is not 512 bytes.  Parted only "
+"supports 512 bytes length sectors."
+msgstr ""
+"저널에 저장한 섹터 크기가 512 바이트가 아닙니다. Parted에서는 512 바이트 길"
+"이 섹터만 지원합니다."
+
+#: libparted/fs/r/hfs/journal.c:335
+msgid "Bad journal checksum."
+msgstr "잘못된 저널 검사합."
+
+#: libparted/fs/r/hfs/journal.c:353
+msgid ""
+"The journal is not empty.  Parted must replay the transactions before "
+"opening the file system.  This will modify the file system."
+msgstr ""
+"저널이 비어있지 않습니다. Parted에서는 파일 시스템을 열기 전에 트랜잭션을 다"
+"시 수행해야합니다. 이 동작으로 파일 시스템을 수정합니다."
+
+#: libparted/fs/r/hfs/journal.c:381
+msgid ""
+"The volume header or the master directory block has changed while replaying "
+"the journal.  You should restart Parted."
+msgstr ""
+"저널을 재현하는 동안 볼륨 헤더 또는 주 디렉터리 블록을 바꾸었습니다. Parted"
+"를 다시 시작해야합니다."
+
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
+msgid "An extent has not been relocated."
+msgstr "범위 정보를 다시 배치하지 않았습니다."
+
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
+msgid ""
+"A reference to an extent comes from a place it should not.  You should check "
+"the file system!"
+msgstr ""
+"범위 정보 참조를 두지 말아야 할 곳에 두었습니다.  파일 시스템을 검사하십시오!"
+
+#: libparted/fs/r/hfs/reloc.c:380
+msgid "This HFS volume has no catalog file.  This is very unusual!"
+msgstr "HFS  볼륨에 카탈로그 파일이 없습니다. 상당히 드문 일입니다!"
+
+#: libparted/fs/r/hfs/reloc.c:474
+msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
+msgstr "HFS 볼륨에 범위 정보 오버플로우 파일이 없습니다. 상당히 드문 일입니다!"
+
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
+msgid ""
+"The extents overflow file should not contain its own extents!  You should "
+"check the file system."
+msgstr ""
+"자체 범위 정보에 범위 정보 오버플로우 파일이 들어있으면 안됩니다! 파일 시스템"
+"을 검사하십시오."
+
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
+msgid "Could not cache the file system in memory."
+msgstr "메모리에 파일 시스템을 캐싱할 수 없습니다."
+
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
+msgid "Bad blocks list could not be loaded."
+msgstr "불량 블록 목록을 불러올 수 없습니다."
+
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
+msgid "An error occurred during extent relocation."
+msgstr "범위 정보 재배치를 수행하는 동안 오류가 발생했습니다."
+
+#: libparted/fs/r/hfs/reloc_plus.c:494
+msgid "This HFS+ volume has no catalog file.  This is very unusual!"
+msgstr "HFS+ 볼륨에 카탈로그 파일이 없습니다. 상당히 드문 일입니다!"
+
+#: libparted/fs/r/hfs/reloc_plus.c:617
+msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
+msgstr ""
+"HFS+ 볼륨에 범위 정보 오버플로우 파일이 없습니다. 상당히 드문 일입니다!"
+
+#: parted/parted.c:125
+msgid "displays this help message"
+msgstr "도움말 메시지를 나타냅니다"
+
+#: parted/parted.c:126
+msgid "lists partition layout on all block devices"
+msgstr "모든 블록 장치의 분할 영역 배치를 나타냅니다"
+
+#: parted/parted.c:127
+msgid "displays machine parseable output"
+msgstr "기계 해석 가능한 출력을 나타냅니다"
+
+#: parted/parted.c:128
+msgid "never prompts for user intervention"
+msgstr "사용자 개입 여부를 묻지 않음"
+
+#: parted/parted.c:129
+msgid "displays the version"
+msgstr "버전 정보를 나타냅니다"
+
+#: parted/parted.c:130
+msgid "alignment for new partitions"
+msgstr "새 분할 영역의 정렬 방식"
+
+#: parted/parted.c:142
+msgid ""
+"NUMBER is the partition number used by Linux.  On MS-DOS disk labels, the "
+"primary partitions number from 1 to 4, logical partitions from 5 onwards.\n"
+msgstr ""
+"<번호>는 리눅스에서 사용하는 분할 영역 번호입니다. MS-DOS 디스크 레이블에서, "
+"주 분할 영역 번호는 1부터 4까지, 논리 분할 영역은 5 이후입니다.\n"
+
+#: parted/parted.c:145
+msgid "LABEL-TYPE is one of: "
+msgstr "<레이블 형식>은 다음 중 하나입니다:"
+
+#: parted/parted.c:146 parted/parted.c:147
+msgid "FLAG is one of: "
+msgstr "<플래그>는 다음 중 하나입니다:"
+
+#: parted/parted.c:148
+msgid "UNIT is one of: "
+msgstr "<단위>는 다음 중 하나입니다:"
+
+#: parted/parted.c:149
+msgid "desired alignment: minimum or optimal"
+msgstr "적절한 정렬값: minimum 또는 optimal"
+
+#: parted/parted.c:150
+msgid "PART-TYPE is one of: primary, logical, extended\n"
+msgstr "<분할 영역 형식>은 다음 중 하나입니다: primary, logical, extended\n"
+
+#: parted/parted.c:152
+msgid "FS-TYPE is one of: "
+msgstr "<파일 시스템 형식> 은 다음 중 하나입니다:"
+
+#: parted/parted.c:153
+msgid ""
+"START and END are disk locations, such as 4GB or 10%.  Negative values count "
+"from the end of the disk.  For example, -1s specifies exactly the last "
+"sector.\n"
+msgstr ""
+"<시작>과 <끝>은 4GB 또는 10% 같은 디스크 위치입니다. 음수 값은 디스크 뒷부분"
+"부터 계산한 값입니다.  예를 들면, -1은 정확히 마지막 섹터를 가리킵니다.\n"
+
+#: parted/parted.c:156
+msgid ""
+"END is disk location, such as 4GB or 10%.  Negative value counts from the "
+"end of the disk.  For example, -1s specifies exactly the last sector.\n"
+msgstr ""
+"<끝>은 4GB 또는 10% 같은 디스크 위치입니다. 음수 값은 디스크 뒷부분부터 계산"
+"한 값입니다.  예를 들면, -1은 정확히 마지막 섹터를 가리킵니다.\n"
+
+#: parted/parted.c:159
+msgid "STATE is one of: on, off\n"
+msgstr "<상태>는 on, off 둘 중 하나입니다\n"
+
+#: parted/parted.c:160
+msgid "DEVICE is usually /dev/hda or /dev/sda\n"
+msgstr "<장치>는 보통 /dev/hda 또는 /dev/sda입니다\n"
+
+#: parted/parted.c:161
+msgid "NAME is any word you want\n"
+msgstr "<이름>은 원하는 어떤 단어든 들어갑니다\n"
+
+#: parted/parted.c:164
+msgid ""
+"Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n"
+"This program is free software, covered by the GNU General Public License.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+msgstr ""
+"Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n"
+"This program is free software, covered by the GNU General Public License.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+
+#: parted/parted.c:212
+#, c-format
+msgid "%0.f%%\t(time left %.2d:%.2d)"
+msgstr "%0.f%%\t(남은 시간: %.2d:%.2d)"
+
+#: parted/parted.c:231
+#, c-format
+msgid "Partition %s is being used. Are you sure you want to continue?"
+msgstr "%s 분할 영역을 사용중입니다. 정말 계속하시겠습니까?"
+
+#: parted/parted.c:252
+#, c-format
+msgid "Partition(s) on %s are being used."
+msgstr "%s의 분할 공간을 사용 중입니다."
+
+#: parted/parted.c:264
+#, c-format
+msgid ""
+"The existing disk label on %s will be destroyed and all data on this disk "
+"will be lost. Do you want to continue?"
+msgstr ""
+"%s의 기존 디스크 레이블을 없애며 디스크의 모든 데이터가 사라집니다. 계속하시"
+"겠습니까?"
+
+#: parted/parted.c:525
+msgid "New disk label type?"
+msgstr "새 디스크 레이블 형식?"
+
+#: parted/parted.c:662
+msgid "Partition type?"
+msgstr "분할 영역 형식?"
+
+#: parted/parted.c:680 parted/parted.c:884
+msgid "Partition name?"
+msgstr "분할 영역 이름?"
+
+#: parted/parted.c:690
+msgid "File system type?"
+msgstr "파일 시스템 형식?"
+
+#: parted/parted.c:695 parted/parted.c:1498
+msgid "Start?"
+msgstr "시작점?"
+
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
+msgid "End?"
+msgstr "끝점?"
+
+#: parted/parted.c:766
+#, c-format
+msgid ""
+"You requested a partition from %s to %s (sectors %llu..%llu).\n"
+"The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
+msgstr ""
+"%s부터 %s까지(%llu..%llu 섹터) 영역 분할을 요청했습니다.\n"
+"관리할 수 있는 가까운 위치는 %s부터 %s까지(%llu..%llu 섹터)입니다.%s"
+
+#: parted/parted.c:775
+msgid ""
+"\n"
+"Is this still acceptable to you?"
+msgstr ""
+"\n"
+"여전히 만족합니까?"
+
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+"최적 성능을 목적으로 분할 영역 배치 과정에서 제대로 정렬하지 않았습니다."
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s 디스크 레이블은 확장 분할 영역을 지원하지 않습니다."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
+msgid "Partition number?"
+msgstr "분할 영역 번호?"
+
+#: parted/parted.c:975
+#, c-format
+msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
+msgstr "BIOS 실린더,헤드,섹터 크기: %d,%d,%d.  각 실린더는 %s 입니다.\n"
+
+#: parted/parted.c:1017
+#, c-format
+msgid "Model: %s (%s)\n"
+msgstr "모델: %s (%s)\n"
+
+#: parted/parted.c:1019
+#, c-format
+msgid "Disk %s: %s\n"
+msgstr "%s 디스크: %s\n"
+
+#: parted/parted.c:1020
+#, c-format
+msgid "Sector size (logical/physical): %lldB/%lldB\n"
+msgstr "섹터 크기(논리/실제): %lld/B%lldB\n"
+
+#: parted/parted.c:1032
+#, c-format
+msgid "Partition Table: %s\n"
+msgstr "분할 영역 테이블: %s\n"
+
+#: parted/parted.c:1033
+#, c-format
+msgid "Disk Flags: %s\n"
+msgstr "디스크 플래그: %s\n"
+
+#: parted/parted.c:1153 parted/parted.c:1156
+msgid "Number"
+msgstr "번호"
+
+#: parted/parted.c:1153 parted/parted.c:1156
+msgid "Start"
+msgstr "시작"
+
+#: parted/parted.c:1154 parted/parted.c:1157
+msgid "End"
+msgstr "끝"
+
+#: parted/parted.c:1157
+msgid "Size"
+msgstr "크기"
+
+#: parted/parted.c:1161
+msgid "Type"
+msgstr "형식"
+
+#: parted/parted.c:1163
+msgid "File system"
+msgstr "파일 시스템"
+
+#: parted/parted.c:1166
+msgid "Name"
+msgstr "이름"
+
+#: parted/parted.c:1168
+msgid "Flags"
+msgstr "플래그"
+
+#: parted/parted.c:1225
+msgid "Free Space"
+msgstr "여분 공간"
+
+#: parted/parted.c:1385
+#, c-format
+msgid ""
+"A %s %s partition was found at %s -> %s.  Do you want to add it to the "
+"partition table?"
+msgstr ""
+"%s %s 분할 영역을 %s->%s에서 찾았습니다. 이 분할 영역을 분할 영역 테이블에 추"
+"가하시겠습니까?"
+
+#: parted/parted.c:1428
+msgid "searching for file systems"
+msgstr "파일 시스템 검색 중"
+
+#: parted/parted.c:1535
+msgid "The resize command has been removed in parted 3.0"
+msgstr "Parted 3.0에서 resize 명령을 제거했습니다"
+
+#: parted/parted.c:1583
+msgid ""
+"Shrinking a partition can cause data loss, are you sure you want to continue?"
+msgstr ""
+"분할 영역 공간을 줄이면 데이터를 잃을 수 있습니다. 정말로 계속하시겠습니까?"
+
+#: parted/parted.c:1636
+msgid "New device?"
+msgstr "새 장치?"
+
+#: parted/parted.c:1704
+msgid "alignment type(min/opt)"
+msgstr "정렬 형식(min/opt)"
+
+#: parted/parted.c:1719
+#, c-format
+msgid "%d aligned\n"
+msgstr "분할 영역 %d은(는) 정렬 상태임\n"
+
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
+msgstr "분할 영역 %d은(는) 정렬 상태 아님\n"
+
+#: parted/parted.c:1746 parted/parted.c:1783
+msgid "Flag to Invert?"
+msgstr "반전할 플래그?"
+
+#: parted/parted.c:1751 parted/parted.c:1788
+msgid "New state?"
+msgstr "새 상태?"
+
+#: parted/parted.c:1834
+msgid "Unit?"
+msgstr "단위?"
+
+#: parted/parted.c:1969
+msgid "align-check"
+msgstr "align-check"
+
+#: parted/parted.c:1972
+#, fuzzy
+msgid ""
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
+msgstr ""
+"align-check <형식> <번호>                        <번호> 분할 영역의 지정 <형"
+"식>(min|opt) 정렬 상태를 검사합니다"
+
+#: parted/parted.c:1980
+msgid "help"
+msgstr "help"
+
+#: parted/parted.c:1983
+msgid ""
+"help [COMMAND]                           print general help, or help on "
+"COMMAND"
+msgstr ""
+"help [<명령>]                           일반 도움말 또는 <명령> 도움말을 출력"
+"합니다"
+
+#: parted/parted.c:1989
+msgid "mklabel"
+msgstr "mklabel"
+
+#: parted/parted.c:1989
+msgid "mktable"
+msgstr "mktable"
+
+#: parted/parted.c:1992
+msgid ""
+"mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
+"table)"
+msgstr ""
+"mklabel,mktable <레이블 형식>              새 디스크 레이블(분할 영역 테이블)"
+"을 만듭니다"
+
+#: parted/parted.c:1998
+msgid "mkpart"
+msgstr "mkpart"
+
+#: parted/parted.c:2001
+msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
+msgstr ""
+"mkpart <분할 영역 형식> [<파일 시스템 형식>] <시작> <끝>     분할 영역을 만듭"
+"니다"
+
+#: parted/parted.c:2007
+msgid ""
+"'mkpart' makes a partition without creating a new file system on the "
+"partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
+msgstr ""
+"‘mkpart’는 분할 영역에 새 파일 시스템을 만들지 않고 분할 영역을 만듭니다. <파"
+"일 시스템 형식>에 적당한 분할 영역 ID를 설정해야 합니다.\n"
+
+#: parted/parted.c:2012
+msgid "name"
+msgstr "name"
+
+#: parted/parted.c:2015
+msgid "name NUMBER NAME                         name partition NUMBER as NAME"
+msgstr ""
+"name <번호> <이름>                         <번호> 분할 영역의 이름을 <이름>으"
+"로 지정합니다"
+
+#: parted/parted.c:2020
+msgid "print"
+msgstr "print"
+
+#: parted/parted.c:2023
+msgid ""
+"print [devices|free|list,all|NUMBER]     display the partition table, "
+"available devices, free space, all found partitions, or a particular "
+"partition"
+msgstr ""
+"print [devices|free|list,all|<번호>]     분할 영역 테이블, 존재 장치, 여분 공"
+"간, 발견한 모든 분할 영역 또는 지정 분할 영역을 나타냅니다"
+
+#: parted/parted.c:2028
+msgid ""
+"Without arguments, 'print' displays the entire partition table. However with "
+"the following arguments it performs various other actions.\n"
+msgstr ""
+"‘print’ 명령에 인자를 빼면 전체 분할 영역 테이블을 나타냅니다. 하지만 다음 인"
+"자 값을 넣으면 다양한 다른 동작을 수행합니다.\n"
+
+#: parted/parted.c:2030
+msgid "  devices   : display all active block devices\n"
+msgstr "  devices   : 모든 활성 블록 장치를 나타냅니다\n"
+
+#: parted/parted.c:2031
+msgid ""
+"  free      : display information about free unpartitioned space on the "
+"current block device\n"
+msgstr ""
+"  free      : 현재 블록 장치에서 분할 영역으로 지정하지 않은 여분의 공간 정보"
+"를 나타냅니다\n"
+
+#: parted/parted.c:2033
+msgid ""
+"  list, all : display the partition tables of all active block devices\n"
+msgstr "  list, all : 모든 활성 블록 장치의 분할 영역 테이블을 나타냅니다\n"
+
+#: parted/parted.c:2034
+msgid ""
+"  NUMBER    : display more detailed information about this particular "
+"partition\n"
+msgstr "  <번호>    : 이 분할 영역의 자세한 정보를 나타냅니다\n"
+
+#: parted/parted.c:2039
+msgid "quit"
+msgstr "quit"
+
+#: parted/parted.c:2042
+msgid "quit                                     exit program"
+msgstr "quit                                     프로그램을 빠져 나갑니다"
+
+#: parted/parted.c:2047
+msgid "rescue"
+msgstr "rescue"
+
+#: parted/parted.c:2050
+msgid ""
+"rescue START END                         rescue a lost partition near START "
+"and END"
+msgstr ""
+"rescue <시작> <끝>                         <시작> 및 <끝> 영역 주변의 소실 분"
+"할 영역을 복원합니다"
+
+#: parted/parted.c:2056
+msgid "resize"
+msgstr "resize"
+
+#: parted/parted.c:2059
+msgid "The resize command was removed in parted 3.0\n"
+msgstr "Parted 3.0에서 resize 명령을 제거했습니다\n"
+
+#: parted/parted.c:2062
+msgid "resizepart"
+msgstr "resizepart"
+
+#: parted/parted.c:2065
+msgid "resizepart NUMBER END                    resize partition NUMBER"
+msgstr ""
+"resizepart <번호> <끝>                    <번호> 분할 영역의 크기를 조절합니"
+"다"
+
+#: parted/parted.c:2070
+msgid "rm"
+msgstr "rm"
+
+#: parted/parted.c:2073
+msgid "rm NUMBER                                delete partition NUMBER"
+msgstr "rm <번호>                                <번호> 분할 영역을 삭제합니다"
+
+#: parted/parted.c:2078
+msgid "select"
+msgstr "select"
+
+#: parted/parted.c:2081
+msgid "select DEVICE                            choose the device to edit"
+msgstr "select <장치>                            편집할 장치를 선택합니다"
+
+#: parted/parted.c:2086
+msgid "disk_set"
+msgstr "disk_set"
+
+#: parted/parted.c:2089
+msgid ""
+"disk_set FLAG STATE                      change the FLAG on selected device"
+msgstr ""
+"disk_set <플래그> <상태>                      선택한 장치의 <플래그> 값을 바"
+"꿉니다"
+
+#: parted/parted.c:2094
+msgid "disk_toggle"
+msgstr "disk_toggle"
+
+#: parted/parted.c:2097
+msgid ""
+"disk_toggle [FLAG]                       toggle the state of FLAG on "
+"selected device"
+msgstr ""
+"disk_toggle [<플래그>]                       선택한 장치의 <플래그> 상태를 전"
+"환합니다"
+
+#: parted/parted.c:2103
+msgid "set"
+msgstr "set"
+
+#: parted/parted.c:2106
+msgid ""
+"set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
+msgstr ""
+"set <번호> <플래그> <상태>                    <번호> 분할 영역의 <플래그> 값"
+"을 바꿉니다"
+
+#: parted/parted.c:2112
+msgid "toggle"
+msgstr "toggle"
+
+#: parted/parted.c:2115
+msgid ""
+"toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
+"partition NUMBER"
+msgstr ""
+"toggle [<번호> [<플래그>]]                   <번호> 분할 영역의 <플래그> 상태"
+"를 전환합니다"
+
+#: parted/parted.c:2121
+msgid "unit"
+msgstr "unit"
+
+#: parted/parted.c:2124
+msgid "unit UNIT                                set the default unit to UNIT"
+msgstr ""
+"unit <단위>                                기본 단위를 <단위> 값으로 설정합니"
+"다"
+
+#: parted/parted.c:2129
+msgid "version"
+msgstr "version"
+
+#: parted/parted.c:2132
+msgid ""
+"version                                  display the version number and "
+"copyright information of GNU Parted"
+msgstr ""
+"version                                  GNU Parted의 버전 번호와 저작 정보"
+"를 나타냅니다"
+
+#: parted/parted.c:2136
+msgid ""
+"'version' displays copyright and version information corresponding to this "
+"copy of GNU Parted\n"
+msgstr ""
+"‘version’ 명령은 GNU Parted 사본과 관련된 저작 정보와 버전 정보를 나타냅니"
+"다\n"
+
+#: parted/parted.c:2204
+#, c-format
+msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
+msgstr "사용법: %s [-hlmsv] [-a<정렬방식>] [<장치> [<명령> [<매개변수>]]...]\n"
+
+#: parted/parted.c:2248
+msgid "No device found"
+msgstr "장치가 없습니다"
+
+#: parted/parted.c:2285
+msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
+msgstr "경고: 관리자가 아닙니다. 권한을 확인하십시오.\n"
+
+#: parted/parted.c:2325
+msgid "You may need to update /etc/fstab.\n"
+msgstr "/etc/fstab 정보를 업데이트해야 합니다.\n"
+
+#: parted/ui.c:164
+msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
+msgstr ""
+"GNU Parted 사용을 환영합니다! 명령 목록을 보려면 ‘help’를 입력하십시오.\n"
+
+#: parted/ui.c:167
+msgid ""
+"Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
+"Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
+"in\n"
+"interactive mode.\n"
+msgstr ""
+"사용법: parted [<옵션>]... [<장치> [<명령> [<매개변수>]...]...]\n"
+"<매개변수>를 붙인 <명령>을 <장치>에 적용합니다.  <명령>이 없으면\n"
+"대화식 모드로 실행합니다.\n"
+
+#: parted/ui.c:172
+#, c-format
+msgid ""
+"\n"
+"\n"
+"You found a bug in GNU Parted! Here's what you have to do:\n"
+"\n"
+"Don't panic! The bug has most likely not affected any of your data.\n"
+"Help us to fix this bug by doing the following:\n"
+"\n"
+"Check whether the bug has already been fixed by checking\n"
+"the last version of GNU Parted that you can find at:\n"
+"\n"
+"\thttp://ftp.gnu.org/gnu/parted/\n"
+"\n"
+"Please check this version prior to bug reporting.\n"
+"\n"
+"If this has not been fixed yet or if you don't know how to check,\n"
+"please visit the GNU Parted website:\n"
+"\n"
+"\thttp://www.gnu.org/software/parted\n"
+"\n"
+"for further information.\n"
+"\n"
+"Your report should contain the version of this release (%s)\n"
+"along with the error message below, the output of\n"
+"\n"
+"\tparted DEVICE unit co print unit s print\n"
+"\n"
+"and the following history of commands you entered.\n"
+"Also include any additional information about your setup you\n"
+"consider important.\n"
+msgstr ""
+"\n"
+"\n"
+"GNU Parted의 버그를 찾았습니다! 해야 할 일이 있습니다:\n"
+"\n"
+"절망하지 마십시오! 대부분은 어떤 데이터에도 영향을 주지 않는 버그입니다.\n"
+"다음 절차를 따라 버그 수정을 도와주십시오:\n"
+"\n"
+"다음 주소에서 GNU Parted 최신 버전을 받아 이미 버그를 고쳤는지 \n"
+"확인하십시오:\n"
+"\n"
+"\thttp://ftp.gnu.org/gnu/parted/\n"
+"\n"
+"버그를 보고하기 전 이 버전을 확인하십시오.\n"
+"\n"
+"아직 수정하지 않았거나 확인 방법을 모르신다면, GNU Parted 웹 \n"
+"사이트에 방문하십시오:\n"
+"\n"
+"\thttp://www.gnu.org/software/parted\n"
+"\n"
+"여기서 자세한 정보를 찾아보십시오.\n"
+"\n"
+"보고서에는 이 릴리스 버전(%s)과 하단의 오류 메시지 출력\n"
+"내용을 함께 넣으셔야합니다\n"
+"\n"
+"\tparted DEVICE unit co print unit s print\n"
+"\n"
+"그리고 여러분이 입력한 다음 명령 기록을 넣으십시오.\n"
+"또한 중요하다고 생각하는 추가 설정 정보도 넣으십시오.\n"
+
+#: parted/ui.c:293
+msgid ""
+"\n"
+"Command History:\n"
+msgstr ""
+"\n"
+"명령 기록:\n"
+
+#: parted/ui.c:356
+msgid ""
+"\n"
+"Error: SEGV_MAPERR (Address not mapped to object)\n"
+msgstr ""
+"\n"
+"오류: SEGV_MAPERR (객체에 주소를 매핑하지 않음)\n"
+
+#: parted/ui.c:362
+msgid ""
+"\n"
+"Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
+msgstr ""
+"\n"
+"오류: SEGV_ACCERR (매핑할 오브젝트에 접근할 권한 없음)\n"
+
+#: parted/ui.c:367
+msgid ""
+"\n"
+"Error: A general SIGSEGV signal was encountered.\n"
+msgstr ""
+"\n"
+"오류: 일반 SIGSEGV 시그널이 발생했습니다.\n"
+
+#: parted/ui.c:391
+msgid ""
+"\n"
+"Error: FPE_INTDIV (Integer: divide by zero)"
+msgstr ""
+"\n"
+"오류: FPE_INTDIV (정수: 0 나누기 오류)"
+
+#: parted/ui.c:396
+msgid ""
+"\n"
+"Error: FPE_INTOVF (Integer: overflow)"
+msgstr ""
+"\n"
+"오류: FPE_INTOVF (정수: 오버플로우)"
+
+#: parted/ui.c:401
+msgid ""
+"\n"
+"Error: FPE_FLTDIV (Float: divide by zero)"
+msgstr ""
+"\n"
+"오류: FPE_FLTDIV (실수: 0 나누기 오류)"
+
+#: parted/ui.c:406
+msgid ""
+"\n"
+"Error: FPE_FLTOVF (Float: overflow)"
+msgstr ""
+"\n"
+"오류: FPE_FLTOVF (실수: 오버플로우)"
+
+#: parted/ui.c:411
+msgid ""
+"\n"
+"Error: FPE_FLTUND (Float: underflow)"
+msgstr ""
+"\n"
+"오류: FPE_FLTUND (실수: 언더플로우)"
+
+#: parted/ui.c:416
+msgid ""
+"\n"
+"Error: FPE_FLTRES (Float: inexact result)"
+msgstr ""
+"\n"
+"오류: FPE_FLTRES (실수: 부정확한 결과)"
+
+#: parted/ui.c:421
+msgid ""
+"\n"
+"Error: FPE_FLTINV (Float: invalid operation)"
+msgstr ""
+"\n"
+"오류: FPE_FLTINV (실수: 잘못된 연산)"
+
+#: parted/ui.c:426
+msgid ""
+"\n"
+"Error: FPE_FLTSUB (Float: subscript out of range)"
+msgstr ""
+"\n"
+"오류: FPE_FLTSUB (실수: 아래 첨자 범위 벗어남)"
+
+#: parted/ui.c:431
+msgid ""
+"\n"
+"Error: A general SIGFPE signal was encountered."
+msgstr ""
+"\n"
+"오류: 일반 SIGFPE 시그널이 발생했습니다."
+
+#: parted/ui.c:455
+msgid ""
+"\n"
+"Error: ILL_ILLOPC (Illegal Opcode)"
+msgstr ""
+"\n"
+"오류: ILL_ILLOPC (잘못된 기계어 코드)"
+
+#: parted/ui.c:460
+msgid ""
+"\n"
+"Error: ILL_ILLOPN (Illegal Operand)"
+msgstr ""
+"\n"
+"오류: ILL_ILLOPN (잘못된 기계어 인자)"
+
+#: parted/ui.c:465
+msgid ""
+"\n"
+"Error: ILL_ILLADR (Illegal addressing mode)"
+msgstr ""
+"\n"
+"오류: ILL_ILLADR (잘못된 주소 모드)"
+
+#: parted/ui.c:470
+msgid ""
+"\n"
+"Error: ILL_ILLTRP (Illegal Trap)"
+msgstr ""
+"\n"
+"오류: ILL_ILLTRP (잘못된 트랩 처리)"
+
+#: parted/ui.c:475
+msgid ""
+"\n"
+"Error: ILL_PRVOPC (Privileged Opcode)"
+msgstr ""
+"\n"
+"오류: ILL_PRVOPC (권한이 필요한 기계어 코드)"
+
+#: parted/ui.c:480
+msgid ""
+"\n"
+"Error: ILL_PRVREG (Privileged Register)"
+msgstr ""
+"\n"
+"오류: ILL_PRVREG (권한이 필요한 레지스터 접근)"
+
+#: parted/ui.c:485
+msgid ""
+"\n"
+"Error: ILL_COPROC (Coprocessor Error)"
+msgstr ""
+"\n"
+"오류: ILL_COPROC (코프로세서 오류)"
+
+#: parted/ui.c:490
+msgid ""
+"\n"
+"Error: ILL_BADSTK (Internal Stack Error)"
+msgstr ""
+"\n"
+"오류: ILL_BADSTK (내부 스택 오류)"
+
+#: parted/ui.c:495
+msgid ""
+"\n"
+"Error: A general SIGILL signal was encountered."
+msgstr ""
+"\n"
+"오류: 일반 SIGILL 시그널이 발생했습니다."
+
+#: parted/ui.c:888
+#, c-format
+msgid "invalid token: %s"
+msgstr "잘못된 토큰: %s"
+
+#: parted/ui.c:1069
+msgid "Expecting a partition number."
+msgstr "분할 영역 번호가 필요합니다."
+
+#: parted/ui.c:1078
+msgid "Partition doesn't exist."
+msgstr "분할 영역이 없습니다."
+
+#: parted/ui.c:1098
+msgid "Expecting a file system type."
+msgstr "파일 시스템 형식이 필요합니다."
+
+#: parted/ui.c:1105
+#, c-format
+msgid "Unknown file system type \"%s\"."
+msgstr "알 수 없는 파일 시스템 형식 “%s”."
+
+#: parted/ui.c:1126
+msgid "Expecting a disk label type."
+msgstr "디스크 레이블 형식이 필요합니다."
+
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
+msgid "Can't create any more partitions."
+msgstr "더 이상의 분할 영역을 만들 수 없습니다."
+
+#: parted/ui.c:1277
+msgid "Expecting a partition type."
+msgstr "분할 영역 형식이 필요합니다."
+
+#: parted/ui.c:1426
+msgid "on"
+msgstr "on"
+
+#: parted/ui.c:1427
+msgid "off"
+msgstr "off"
+
+#: parted/ui.c:1444
+msgid "optimal"
+msgstr "optimal"
+
+#: parted/ui.c:1445
+msgid "minimal"
+msgstr "minimal"
+
+#: parted/ui.c:1578
+msgid "OPTIONs:"
+msgstr "옵션:"
+
+#: parted/ui.c:1583
+msgid "COMMANDs:"
+msgstr "명령:"
+
+#: parted/ui.c:1586
+#, c-format
+msgid ""
+"\n"
+"Report bugs to %s\n"
+msgstr ""
+"\n"
+"%s에 버그를 보고하십시오\n"
+
+#: parted/ui.c:1593
+#, c-format
+msgid "Using %s\n"
+msgstr "%s 사용법\n"
+
+#: parted/ui.c:1673
+msgid "This command does not make sense in non-interactive mode.\n"
+msgstr "이 명령은 비 대화식 모드에서 동작하지 않습니다.\n"
+
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: ‘--%s’ 옵션은 인자를 허용하지 않습니다\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: 인식할 수 없는 ’--%s’ 옵션\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: ‘-W %s’ 옵션은 인자를 허용하지 않습니다\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: ‘-W %s’ 옵션은 인자가 필요합니다\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "%s 홈페이지: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "이 파일 시스템의 논리 섹터 크기가 %d 바이트 입니다. GNU Parted에서는 섹터 "
+#~ "크기가 512 바이트 이상인 경우 제대로 동작하지 않습니다."
index eee8da5fc875dd802a80cb61b46f1635a3517809..4b459837d717ceb1f22cce9ed59d13cf9c75f699 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index fb2e996e03cc24fc71e09df3f4d4a143be0802ca..a66521faa5bf82686fba73301843935955cebc60 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2014-07-03 21:51+0200\n"
 "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -19,86 +19,67 @@ msgstr ""
 "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"
 "X-Generator: Lokalize 1.0\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "ongeldig argument %s van %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argument %s van %s is niet eenduidig"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Geldige argumenten zijn:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "schrijffout"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Onbekende systeemfout"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: optie '-W %s' is niet eenduidig\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: optie '%s' is niet eenduidig; mogelijkheden zijn:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: optie '--%s' staat geen argument toe\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: onbekende optie '%c%s'\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: optie '%c%s' staat geen argument toe\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: optie '--%s' vereist een argument\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: onbekende optie '--%s'\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: onbekende optie '%c%s'\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: ongeldige optie -- '%c'\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: optie vereist een argument -- '%c'\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: optie '-W %s' is niet eenduidig\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: optie '-W %s' staat geen argument toe\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: optie '-W %s' vereist een argument\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -118,85 +99,86 @@ msgstr "%s: optie '-W %s' vereist een argument\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "‘"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "’"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Gelukt"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Geen overeenkomsten"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Ongeldige reguliere expressie"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Ongeldig samengesteld teken"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Ongeldige tekenklassenaam"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Backslash aan het eind"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Ongeldige terugverwijzing"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Ongepaarde [ of [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Ongepaarde ( of \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Ongepaarde \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Ongeldige inhoud van \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Ongeldig bereikeinde"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Onvoldoende geheugen beschikbaar"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Ongeldige voorafgaande reguliere expressie"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Voortijdig einde van reguliere expressie"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Reguliere expressie is te groot"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Ongepaarde ) of \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Geen eerdere reguliere expressie"
 
@@ -220,12 +202,12 @@ msgstr "^[jJyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "In pakketvorm gebracht door %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "In pakketvorm gebracht door %s\n"
@@ -233,18 +215,17 @@ msgstr "In pakketvorm gebracht door %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden.\n"
@@ -254,19 +235,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Geschreven door %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Geschreven door %s en %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Geschreven door %s, %s en %s.\n"
@@ -274,7 +255,7 @@ msgstr "Geschreven door %s, %s en %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -286,7 +267,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -298,7 +279,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -310,7 +291,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -322,7 +303,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,7 +317,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -350,7 +331,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -365,35 +346,29 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Rapporteer gebreken in het programma aan <%s>;\n"
 "meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 "Rapporteer gebreken in het programma '%s' aan <%s>;\n"
 "meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Webpagina van %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Webpagina van %s: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 "Algemene hulp bij gebruik van GNU-software: <http://www.gnu.org/gethelp/>\n"
 
@@ -421,60 +396,60 @@ msgid "Disk Image"
 msgstr "Schijfimage"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Fout tijdens openen van %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Kan %s niet openen voor lezen-en-schrijven (%s);  %s is geopend voor alleen-"
 "lezen."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s tijdens een 'seek' bij het lezen van %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s tijdens lezen van %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Kan niet naar %s schrijven, omdat het geopend is voor alleen-lezen."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s tijdens een 'seek' bij het schrijven naar %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s tijdens schrijven naar %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Typ '%s --help' voor meer informatie.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Gebruik:  %s [OPTIE] [APPARAAT]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -490,7 +465,7 @@ msgstr ""
 "  -h, --help       deze hulptekst tonen en stoppen\n"
 "  -v, --version    programmaversie tonen en stoppen\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -498,7 +473,7 @@ msgstr ""
 "\n"
 "Zonder APPARAAT worden alle beschikbare apparaten onderzocht.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -545,7 +520,7 @@ msgstr ""
 "de Hurd geen weet heeft van de veranderingen die u net hebt gemaakt.  U "
 "dient uw computer te herstarten alvorens iets met %s te doen."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -558,17 +533,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s: bezig met synchroniseren van %s naar schijf"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Kan de status van apparaat '%s' niet opvragen -- %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Kan het apparaattype van '%s' niet achterhalen."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -577,7 +552,7 @@ msgstr ""
 "Kan de sectorgrootte van %s niet achterhalen: %s.\n"
 "De standaard sectorgrootte (%lld) wordt gebruikt."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -586,21 +561,21 @@ msgstr ""
 "Kan de fysieke sectorgrootte van %s niet achterhalen.\n"
 "De logische sectorgrootte (%lld) wordt gebruikt."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Kan de grootte van %s niet achterhalen -- %s."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Gewone IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Kan de identiteit van apparaat %s niet achterhalen -- %s."
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Gewone IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -614,12 +589,12 @@ msgstr ""
 "schijflabel en bestandssysteem, bijvoorbeeld GPT met ext2/3.\n"
 "Zie de website van Parted voor de laatste informatie."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Fout tijdens initialiseren van SCSI-apparaat %s -- %s."
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -628,7 +603,7 @@ msgstr ""
 "Apparaat %s is zo klein dat het onmogelijk een bestandssysteem of\n"
 "partitietabel kan bevatten.  Hebt u misschien een verkeerd apparaat gekozen?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -637,87 +612,100 @@ msgstr ""
 "Kan de logische opbouw van het apparaat %s niet achterhalen.\n"
 "U kunt Parted beter niet gebruiken tenzij u ECHT weet wat u doet!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Algemeen SD/MMC-geheugenkaart"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Nieuw apparaat?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "DAC960 RAID-stuurapparaat"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Promise SX8 SATA-apparaat"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "ATA-over-Ethernet-apparaat"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "IBM S390 DASD-schijf"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries virtuele DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array-stuurapparaat"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "ATARAID-stuurapparaat"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "I2O-stuurapparaat"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "User-Mode Linux-blokapparaat (UBD)"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Lus-apparaat"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linux device-mapper (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Xen virtueel blokapparaat"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "(onbekend)"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Virtio-blokapparaat"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Linux-Software-RAID-array"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "Apparaattype wordt niet ondersteund."
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Fout tijdens fsyncing/sluiten van %s: %s"
 
 # Dit is een maffe manier (%0.0s) om de eerste parameter te negeren.
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%0.0sbestandseinde tijdens lezen van %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -730,12 +718,12 @@ msgstr ""
 "herstart -- u dient deze partitie dus niet aan te koppelen of op enigerlei "
 "wijze te gebruiken alvorens te herstarten."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Kan begin en lengte van %s niet achterhalen."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -748,38 +736,38 @@ msgstr ""
 "worden.  De oude partities zullen zodoende actief blijven.  U dient uw "
 "computer nu te herstarten alvorens verdere veranderingen aan te brengen."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr ""
 "Het einde kan niet vóór het begin liggen! (startsector=%jd, lengte=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr ""
 "Poging tot het schrijven van sectoren %ld-%ld buiten de partitie op %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "bezig met zoeken naar slechte blokken"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "De backtrace heeft %d aanroepen op de stack:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "*** assertion (%s) at %s:%d in function %s() failed ***"
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: onbekend schijflabel"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -788,39 +776,39 @@ msgstr ""
 "Deze libparted kan niet naar %s schrijven.  Mogelijk werd libparted voor "
 "alleen-lezen gecompileerd."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Partitie %d is %s, maar het bestandssysteem is %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "cilinderuitlijning"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "PMBR_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Onbekende schijfvlag %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "%s-schijflabels kennen geen uitgebreide partities."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "%s-schijflabels kennen geen logische of uitgebreide partities."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Te veel primaire partities."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -828,125 +816,125 @@ msgstr ""
 "Kan geen logische partitie aan %s toevoegen, omdat er geen uitgebreide "
 "partitie is."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Kan niet meer dan één uitgebreide partitie maken op %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Kan geen logische partitie buiten de uitgebreide partitie maken."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "Kan geen logische partitie buiten de uitgebreide partitie op %s maken."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Kan geen primaire partitie binnen een uitgebreide partitie maken."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Kan geen partitie maken buiten de schijf!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Partities mogen elkaar niet overlappen."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metagegevens"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "vrij"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "uitgebreid"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logisch"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primair"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "opstart"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "hoofdmap"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "verborgen"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr "irst"
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 msgid "esp"
 msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Onbekende partitievlag %d."
@@ -1018,27 +1006,27 @@ msgstr ""
 "Stuur een foutrapportage (naar %s) die in elk geval\n"
 "het versienummer (%s) noemt en de volgende boodschap:  "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "Het lezen van AIX-schijflabels is nog niet geïmplementeerd."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "Het schrijven van AIX-schijflabels is nog niet geïmplementeerd."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "Het toevoegen van partities aan AIX-schijflabels is nog niet geïmplementeerd."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Het klonen van partities in AIX-schijflabels is nog niet geïmplementeerd."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1046,74 +1034,182 @@ msgstr ""
 "Het instellen van het systeemtype in AIX-schijflabels is nog niet "
 "geïmplementeerd."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "Het zetten van vlaggen in AIX-schijflabels is nog niet geïmplementeerd."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted kan geen HFS-bestandssystemen bewerken op schijven met een andere "
+"sectorgrootte dan %d bytes."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Kan een uitgebreide partitie niet kopiëren."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Kan niet aan alle voorwaarden voor deze partitie voldoen."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Geen partitienummer meer beschikbaar."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Kan in het BSD-schijflabel geen plekje meer reserveren."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Kan in het DASD-schijflabel geen plekje meer reserveren."
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Ongeldige partitietabel op %s -- onjuiste vingerafdruk %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Ongeldige partitietabel -- recursieve partitie op %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr ""
 "Uitgebreide partities kunnen op MSDOS-schijflabels niet verborgen zijn."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr ""
+"Uitgebreide partities kunnen op MSDOS-schijflabels niet verborgen zijn."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted kan partitities beheerd door Windows Dynamic Disk niet van grootte "
 "veranderen."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "kan geen nieuwe partities meer maken"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s bevat geen uitgebreide partitie (volumenkop-partitie)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "Onjuiste controlesom: de partitietabel is beschadigd."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Alleen een primaire partitie kan rootpartitie zijn."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Alleen een primaire partitie kan swappartitie zijn."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Alleen een logische partitie kan een opstartbestand zijn."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1122,87 +1218,91 @@ msgstr ""
 "Het instellen van '%s' als dvh-partitienaam is mislukt:\n"
 "alleen logische partities (opstartbestanden) hebben een naam."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Te veel primaire partities."
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "openfout"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "'seek'-fout"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "leesfout"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "ioctl()-fout"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "API-versies passen niet bij elkaar"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Schijftype wordt niet ondersteund"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Schijfindeling wordt niet ondersteund"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Schijf is in gebruik"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Syntaxfout in configuratiebestand"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Volumenlabel is beschadigd"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Naam van een dataset is beschadigd"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Onvoldoende geheugen beschikbaar"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Apparaatcontrole is mislukt"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Het opgegeven apparaat is geen geldig DASD-apparaat"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Fatale fout"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Geen ruimte voor een volumenlabel."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Geen ruimte voor partitie-informatie."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Ongeldige VTOC."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Kan de API-versie niet verkrijgen."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
@@ -1210,23 +1310,28 @@ msgstr ""
 "Huidige API-versie '%d' past niet bij API-versie '%d' van het DASD-"
 "stuurprogramma!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Kan geen schijfinformatie verkrijgen."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Kan informatie over schijfopbouw niet verkrijgen."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Kan blokgrootte niet verkrijgen."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Kan geen schijfinformatie verkrijgen."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr "Het apparaat is te klein voor GPT."
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1235,7 +1340,7 @@ msgstr ""
 "De indeling van de GPT-partitietabel is van versie %x.  Dit is nieuwer dan "
 "wat deze versie van Parted kent.  Rapporteer dit alstublieft aan ons."
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1246,7 +1351,7 @@ msgstr ""
 "De GPT bijwerken om alle ruimte te gebruiken (%llu extra blokken),\n"
 "of doorgaan en deze extra ruimte negeren? "
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
@@ -1256,7 +1361,7 @@ msgstr ""
 "naar het einde te verplaatsen (en de oude reservekopie te verwijderen).  "
 "Reparatie uitvoeren?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1265,7 +1370,7 @@ msgstr ""
 "een nieuw schijflabel aan, en probeer dan met de 'red'-opdracht de "
 "kwijtgeraakte partities te herstellen."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1273,7 +1378,7 @@ msgstr ""
 "De reservekopie van de GPT-tabel is beschadigd, maar de primaire tabel lijkt "
 "goed.  Deze laatste zal worden gebruikt."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1281,55 +1386,55 @@ msgstr ""
 "De primaire GPT-tabel is beschadigd, maar de reservekopie lijkt goed.  Deze "
 "laatste zal worden gebruikt."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "CRC-verschil in hoofdpartitietabel-array"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
 msgstr "vertalen van partitienaam is mislukt"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Ongeldige vingerafdruk %x voor een Mac-schijflabel."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Partitietabel bevat geen partitietabelitem!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s is te klein voor een Mac-schijflabel!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Partitie %d heeft een ongeldige vingerafdruk %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Partitie %d heeft een ongeldige lengte van 0 bytes!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Het gegevensgebied begint niet bij het begin van de partitie."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Het opstartgebied begint niet bij het begin van de partitie."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Het opstartgebied beslaat niet de gehele partitie."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Het gegevensgebied beslaat niet de gehele partitie."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1337,7 +1442,7 @@ msgstr ""
 "Vreemde blokgrootte in apparaatbeschrijving: %d bytes is niet deelbaar door "
 "512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1346,11 +1451,11 @@ msgstr ""
 "De beschrijving van het stuurprogramma zegt dat de fysieke blokgrootte %d "
 "bytes is, maar Linux zegt dat het %d bytes is."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Geen geldige partitietabel gevonden."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1359,11 +1464,11 @@ msgstr ""
 "Tegenstrijdige groottes van partitietabelitems!\n"
 "Item 1 zegt dat het %d is, maar item %d zegt dat het %d is!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Vreemd: twee partitietabelitems!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1371,7 +1476,7 @@ msgstr ""
 "Het veranderen van de naam van een root- of swappartitie zal verhinderen dat "
 "Linux deze als zodanig herkent."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
 "Kan geen nieuwe primaire partitie toevoegen: de partitietabel is te klein!"
@@ -1394,7 +1499,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Kan niet nog een partitie toevoegen."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1403,7 +1508,7 @@ msgstr ""
 "partitielengte van %jd-sectoren overschrijdt het %s-partitietabelverplicht "
 "maximum van %jd"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1412,60 +1517,56 @@ msgstr ""
 "startsectornummer, %jd overschrijdt het %s-partitietabelverplicht maximum "
 "van %jd"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Onjuiste controlesom op blok %llu van type %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : Geen 'rdb'-blok gevonden -- zou nooit mogen gebeuren."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : Lus gedetecteerd bij blok %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : De %s-lijst lijkt verkeerd te zijn bij blok %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Invullen van slechte blokken is mislukt."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Invullen van partitieblokken is mislukt."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Invullen van bestandssysteemblokken is mislukt."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Invullen van opstartblokken is mislukt."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Schrijven van partitieblok %d is mislukt."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Geen partitienummer meer beschikbaar."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Beschadigd Sun-schijflabel gevonden."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1474,17 +1575,17 @@ msgstr ""
 "De logische schijfopbouw (%d,%d,%d) gerapporteerd door het besturingssysteem "
 "komt niet overeen met de opbouw (%d,%d,%d) opgeslagen in het schijflabel."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Het schijflabel beschrijft een schijf groter dan %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "De schijf heeft %d cilinders, wat groter is dan het maximum van 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1496,7 +1597,7 @@ msgstr ""
 "mogelijk niet zonder deze partitie starten, en SILO (de Sparc-opstartlader) "
 "waardeert de aanwezigheid ervan ook."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Sun-schijflabel is vol."
 
@@ -1516,60 +1617,60 @@ msgstr "schrijven naar apparaat is mislukt"
 msgid "reading from device failed"
 msgstr "lezen van apparaat is mislukt"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Kan volumenlabel niet lezen."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Kan volumenlabel niet schrijven."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Kan VTOC-labels niet lezen."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Kan een FMT1 DSCB niet lezen."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Kan een FMT4 DSCB niet lezen."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Kan een FMT5 DSCB niet lezen."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Kan een FMT7 DSCB niet lezen."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Kan VTOC-labels niet schrijven."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Kan een FMT1 DSCB niet schrijven."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Kan een FMT4 DSCB niet schrijven."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Kan een FMT5 DSCB niet schrijven."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Kan een FMT7 DSCB niet schrijven."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Kan een FMT9 DSCB niet schrijven."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Onvoldoende geheugen beschikbaar."
 
@@ -1592,73 +1693,73 @@ msgstr "De maximum waarde voor de kop is %d."
 msgid "The maximum sector value is %d."
 msgstr "De maximum waarde voor de sector is %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Locatie %s ligt buiten het apparaat %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Ongeldig nummer."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "Gebruik een kleinere eenheid in plaats van een waarde kleiner dan 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Geheugen reserveren voor partitieblok is mislukt\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Geheugen reserveren voor blok is mislukt\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Kan opstartblok %llu niet lezen\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Kan hoofdblok %llu niet lezen\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : Geheugen reserveren voor ID-lijstelement is mislukt\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Kan blok %llu niet lezen\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Onjuiste controlesom op blok %llu van type %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Kan blok %d niet schrijven\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s : Geheugen reserveren voor schijfspecifiek 'rdb'-blok is mislukt\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : Geen 'rdb'-blok gevonden -- zou nooit mogen gebeuren\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Kan partitieblok %llu niet lezen\n"
@@ -1704,44 +1805,44 @@ msgstr ""
 "ongeldig.  De opbouw opgeslagen in het schijflabel is (%d,%d,%d) (cilinders,"
 "koppen,sectoren)."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "De FAT-opstartsector zegt dat de logische sectorgrootte 0 is.  Dit is heel "
 "vreemd.  "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 "De FAT-opstartsector zegt dat er geen FAT-tabellen zijn.  Dit is heel "
 "vreemd.  "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "De FAT-opstartsector zegt dat een cluster nul sectoren heeft.  Dit is heel "
 "vreemd.  "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Het bestandssysteem is FAT12.  Dit wordt niet ondersteund."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Onbekende vingerafdruk '%10s' voor oudestijl-Linux-swappartitie."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Onbekende vingerafdruk '%10s' voor nieuwestijl-Linux-swappartitie."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Onbekende vingerafdruk '%10s' voor swsusp-Linux-swappartitie."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1750,16 +1851,7 @@ msgstr ""
 "Parted kan geen HFS-bestandssystemen bewerken op schijven met een andere "
 "sectorgrootte dan %d bytes."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Dit bestandssysteem heeft een logische sectorgrootte van %d.  GNU Parted "
-"werkt niet goed met sectorgroottes anders dan 512 bytes."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1774,7 +1866,7 @@ msgstr ""
 "bestandssysteem onveranderd gelaten.  Als u 'Repareren' kiest, wordt deze "
 "opbouw gelijkgemaakt aan die in de partitietabel."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1794,20 +1886,20 @@ msgstr ""
 "U hebt minstens %s vrije schijfruimte nodig om deze partitie naar die "
 "grootte te kunnen verkleinen (u hebt nu slechts %s beschikbaar)."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr ""
 "Clusterbegin-delta = %d, en dat is geen veelvoud van de clustergrootte %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Foutief mapitem voor %s: de eerste cluster is een bestandseinde-markering."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1815,7 +1907,7 @@ msgstr ""
 "Onjuiste FAT: onbeëindigde keten voor %s.  Voer eerst 'dosfsck' of "
 "'scandisk' uit."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1824,7 +1916,7 @@ msgstr ""
 "Onjuiste FAT: cluster %d in de keten voor %s ligt buiten het "
 "bestandssysteem.  Voer eerst 'dosfsck' of 'scandisk' uit."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1833,12 +1925,12 @@ msgstr ""
 "Onjuiste FAT: cluster %d is voor %s kruiselings gekoppeld.  Voer eerst "
 "'dosfsck' of 'scandisk' uit."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s is %dk, maar heeft %d clusters (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1892,16 +1984,16 @@ msgstr ""
 "Er is niet genoeg ruimte in de hoofdmap voor alle bestanden.  Kies 'Negeren' "
 "om de overtallige bestanden te verwijderen."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Fout tijdens schrijven naar de hoofdmap."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 "Als u het bestandssysteem als FAT16 laat, zult u geen problemen hebben."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1912,7 +2004,7 @@ msgstr ""
 "installeren.  Als u dit wilt doen, raadpleeg dan de Parted-documentatie (of "
 "de documentatie van uw distributie)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1920,7 +2012,7 @@ msgstr ""
 "Als u het bestandssysteem als FAT32 laat, zult u geen nieuwe problemen "
 "introduceren."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1934,35 +2026,35 @@ msgstr ""
 "de documentatie van uw distributie).  Maar bedenk: converteren naar FAT32 "
 "maakt het bestandssysteem onleesbaar voor MSDOS, Windows 95a en Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Wilt u FAT32 gebruiken?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Het bestandssysteem kan alleen naar deze grootte veranderd worden door te "
 "converteren naar FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Het bestandssysteem kan alleen naar deze grootte veranderd worden door te "
 "converteren naar FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -2006,18 +2098,18 @@ msgstr ""
 msgid "The file system is bigger than its volume!"
 msgstr "Het bestandssysteem is groter dan de partitie!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Het bestandssysteem bevat fouten."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Slechte blokken konden niet gelezen worden."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -2027,54 +2119,54 @@ msgstr ""
 "bestaat al een 'extent' op die positie.  Voer een bestandssysteemcontrole "
 "uit!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Poging tot het verplaatsen van een 'extent' van blok 0x%X naar blok Ox%X, "
 "maar er bestaat al een 'extent' op die positie.  Dit hoort nooit te gebeuren!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr "Kan 'extent'-cache voor HFS-bestand met CNID %X niet bijwerken."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
 "Poging tot lezen van HFS-bestand met CNID %X voorbij einde-van-bestand."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Kan sector %lli van HFS-bestand met CNID %X niet vinden."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
 "Poging tot schrijven van HFS-bestand met CNID %X voorbij einde-van-bestand."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr "Kan 'extent'-cache voor HFS+-bestand met CNID %X niet bijwerken."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 "Poging tot lezen van HFS+-bestand met CNID %X voorbij einde-van-bestand."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Kan sector %lli van HFS+-bestand met CNID %X niet vinden."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
@@ -2156,19 +2248,19 @@ msgstr "Sorry, HFS+ kan nog niet op deze manier van grootte veranderd worden."
 msgid "shrinking embedded HFS+ volume"
 msgstr "bezig met verkleinen van een ingebed HFS+-volumen"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Het van grootte veranderen van het HFS+-volumen is mislukt."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "bezig met verkleinen van HFS-wikkel"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "Het bijwerken van de HFS-wikkel is mislukt."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2177,11 +2269,11 @@ msgstr ""
 "Dit is geen echte %s-controle.  Het extraheert slechts enkele speciale "
 "bestanden om bij de foutopsporing te helpen."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Onjuiste controlesom van kop van blokkenlijst."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
@@ -2189,34 +2281,35 @@ msgstr ""
 "Ongeldige grootte (%i bytes) van een transactieblok tijdens herafspelen van "
 "het journal."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Een journal opgeslagen buiten het volumen wordt niet ondersteund.  Probeer "
 "het journal uit te schakelen en voer dan Parted opnieuw uit."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 "Grootte of offset van het journal is geen veelvoud van de sectorgrootte."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Onjuiste magische getallen in de journalkop."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "Journalgrootte is verschillend aangegeven in journal-infoblok en journalkop."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr ""
 "Sommige velden in de journalkop zijn geen veelvoud van de sectorgrootte."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2224,11 +2317,11 @@ msgstr ""
 "De sectorgrootte is volgens het journal niet 512 bytes.  Parted ondersteunt "
 "alleen sectoren van 512 bytes."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Onjuiste controlesom van journal."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2236,7 +2329,7 @@ msgstr ""
 "Het journal is niet leeg.  Parted moet de transacties herafspelen alvorens "
 "het bestandssysteem te openen.  Dit zal het bestandssysteem veranderen."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2244,11 +2337,11 @@ msgstr ""
 "De volumenkop of het hoofdmappenblok is veranderd tijdens het herafspelen "
 "van het journal.  U dient Parted te herstarten."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Een 'extent' is niet verplaatst."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2256,18 +2349,18 @@ msgstr ""
 "Er wordt gerefereerd aan een 'extent' vanuit een onmogelijke plaats.  Voer "
 "een bestandssyteemcontrole uit!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 "Dit HFS-volumen heeft geen catalogusbestand.  Dit is zeer ongebruikelijk!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Dit HFS-volumen heeft geen 'extents-overflow'-bestand.  Dit is zeer "
 "ongebruikelijk!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2275,24 +2368,24 @@ msgstr ""
 "Het 'extents-overflow'-bestand hoort niet zijn eigen 'extents' te bevatten.  "
 "Voer een bestandssyteemcontrole uit!"
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Kan het bestandssysteem niet tijdelijk opslaan in het geheugen."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "De lijst met slechte blokken kan niet geladen worden."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Er is een fout opgetreden tijdens het verplaatsen van een 'extent'."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 "Dit HFS+-volumen heeft geen catalogusbestand.  Dit is zeer ongebruikelijk!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Dit HFS+-volumen heeft geen 'extents-overflow'-bestand.  Dit is zeer "
@@ -2406,22 +2499,22 @@ msgstr ""
 "van VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL.\n"
 "Zie de GNU General Public License voor meer details.\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(resterende tijd: %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr "Partitie %s is in gebruik.  Weet u zeker dat u verder wilt gaan?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Partitie(s) op %s zijn in gebruik."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2430,31 +2523,31 @@ msgstr ""
 "Het bestaande label op %s zal worden vernietigd en alle gegevens op deze "
 "schijf zullen verloren gaan.  Wilt u doorgaan?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Type van nieuw schijflabel?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Partitietype?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Naam van partitie?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Bestandssysteemsoort?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Begin?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Einde?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2463,7 +2556,7 @@ msgstr ""
 "U verzocht om een partitie van %s tot %s (sectoren %llu..%llu).\n"
 "De dichtstbijzijnde mogelijkheid is van %s tot %s (sectoren %llu..%llu).%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2471,85 +2564,96 @@ msgstr ""
 "\n"
 "Is dit nog acceptabel?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
 "De resulterende partitie is niet correct uitgelijnd voor optimale prestaties."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s-schijflabels kennen geen uitgebreide partities."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Nummer van partitie?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "Logische schijfopbouw volgens BIOS: %d,%d,%d (cilinders,koppen,sectoren).  "
 "Elke cilinder is %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Model: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Schijf %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Sectorgrootte (logisch/fysiek): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Partitietabel: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Schijfvlaggen: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Nummer"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Begin"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Einde"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Grootte"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Type"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Bestandssysteem"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Naam"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Vlaggen"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Vrije ruimte"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2558,98 +2662,99 @@ msgstr ""
 "Er is een %s %s-partitie gevonden van %s tot %s.  Wilt u deze aan de "
 "partitietabel toevoegen?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "bezig met zoeken naar bestandssystemen"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr "De 'grootte'-opdracht is verwijderd in Parted 3.0."
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 "Het krimpen van een partitie kan gegevensverlies veroorzaken.\n"
 "Weet u zeker dat u verder wilt gaan?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Nieuw apparaat?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "uitlijningssoort (min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d is uitgelijnd\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d is niet uitgelijnd\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Om te zetten vlag?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Nieuwe toestand?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Eenheid?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "uitlijncontrole"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "uitlijncontrole SOORT N     partitie N controleren op SOORT(min|opt)-"
 "uitlijning"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "hulp"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr ""
 "help [OPDRACHT]             enige algemene hulp geven (of hulp bij OPDRACHT)"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "maaklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "maaktabel"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
 msgstr ""
 "maaklabel LABEL-TYPE        nieuw schijflabel maken (met lege partitietabel)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "maakpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "maakpart PART-TYPE [BS-SOORT] BEGIN EINDE   een partitie aanmaken"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2658,19 +2763,19 @@ msgstr ""
 "maken.  BS-SOORT mag gebruikt worden om het een geschikt partitiekenmerk te "
 "geven.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "noem"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "noem NUMMER NAAM            partitie NUMMER deze NAAM geven"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "toon"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2680,7 +2785,7 @@ msgstr ""
 "beschikbare apparaten, of vrije ruimte, of tabellen van alle apparaten, of "
 "een specifieke partitie)"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2688,42 +2793,42 @@ msgstr ""
 "Zonder argumenten toont 'toon' de volledige partitietabel, maar met\n"
 "de volgende argumenten wordt meer specifieke informatie getoond:\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   :  alle actieve blokapparaten tonen\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
 "  free      :  informatie over vrije ruimte op huidige blokapparaat tonen\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all :  de partitietabellen van alle actieve blokapparaten tonen\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr "  NUMMER    :  meer details over partitie NUMMER tonen\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "einde"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "einde                       programma afsluiten"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "red"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2731,101 +2836,101 @@ msgstr ""
 "red BEGIN EINDE             een verloren partitie (met geschat begin en "
 "einde) proberen te herstellen"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "grootte"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr "De 'grootte'-opdracht is verwijderd in Parted 3.0.\n"
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
 msgstr "rekoptot"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr ""
 "rekoptot NUMMER EINDE       partitie NUMMER krimpen/oprekken tot nieuw EINDE"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "verwijder"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "verwijder NUMMER            partitie NUMMER verwijderen"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "kies"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "kies APPARAAT               dit APPARAAT kiezen om te bewerken"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "schijf_zet"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 "schijf_zet VLAG TOESTAND    op gekozen apparaat deze VLAG in TOESTAND zetten"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "schijf_zetom"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
 "schijf_zetom [VLAG]         op gekozen apparaat de toestand van VLAG omzetten"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "zet"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 "zet NUMMER VLAG TOESTAND    op partitie NUMMER deze VLAG in TOESTAND zetten"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "zetom"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
 "zetom [NUMMER [VLAG]]       op partitie NUMMER de toestand van VLAG omzetten"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "eenheid"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr "eenheid EENHEID             standaard deze EENHEID gebruiken"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "versie"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
 "versie                      versienummer en copyright van deze Parted tonen"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2833,31 +2938,31 @@ msgstr ""
 "'versie' toont informatie over het auteursrecht en de versie van deze GNU "
 "Parted\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 "Gebruik:  %s [-hlmsv] [-aUITLIJNING] [APPARAAT [OPDRACHT [PARAMETERS]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Geen apparaat gevonden"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 "WAARSCHUWING: u bent niet root.\n"
 "Houd rekening met ontbrekende toegangsrechten.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Het kan nodig zijn /etc/fstab bij te werken.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr "Welkom bij GNU Parted!  Typ 'help' voor een opdrachtenoverzicht.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2869,7 +2974,7 @@ msgstr ""
 "Dit voert OPDRACHT met ARGUMENTEN uit op APPARAAT.\n"
 "Als er geen OPDRACHT gegeven is, wordt interactieve modus gestart.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2930,7 +3035,7 @@ msgstr ""
 "en de hierna volgende opdrachtengeschiedenis, plus verdere\n"
 "relevante informatie over de configuratie van uw systeem.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2938,7 +3043,7 @@ msgstr ""
 "\n"
 "Opdrachtengeschiedenis:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2946,7 +3051,7 @@ msgstr ""
 "\n"
 "Fout: SEGV_MAPERR (Adres niet verbonden met object)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2954,7 +3059,7 @@ msgstr ""
 "\n"
 "Fout: SEGV_ACCERR (Ongeldige toegangsrechten voor object)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2962,7 +3067,7 @@ msgstr ""
 "\n"
 "Fout: een niet-specifiek SIGSEGV-signaal werd ontvangen.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2970,7 +3075,7 @@ msgstr ""
 "\n"
 "Fout: FPE_INTDIV (Deling door nul)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2978,7 +3083,7 @@ msgstr ""
 "\n"
 "Fout: FPE_INTOVF (Overloop)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2986,7 +3091,7 @@ msgstr ""
 "\n"
 "Fout: FPE_FLTDIV (Deling door nul)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2994,7 +3099,7 @@ msgstr ""
 "\n"
 "Fout: FPE_FLTOVF (Overloop)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -3002,7 +3107,7 @@ msgstr ""
 "\n"
 "Fout: FPE_FLTUND (Onderloop)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -3010,7 +3115,7 @@ msgstr ""
 "\n"
 "Fout: FPE_FLTRES (Inexact resultaat)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -3018,7 +3123,7 @@ msgstr ""
 "\n"
 "Fout: FPE_FLTINV (Ongeldige operatie)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -3026,7 +3131,7 @@ msgstr ""
 "\n"
 "Fout: FPE_FLTSUB (Index buiten bereik)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -3034,7 +3139,7 @@ msgstr ""
 "\n"
 "Fout: een niet-specifiek SIGFPE-signaal werd ontvangen."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -3042,7 +3147,7 @@ msgstr ""
 "\n"
 "Fout: ILL_ILLOPC (Ongeldige opcode)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3050,7 +3155,7 @@ msgstr ""
 "\n"
 "Fout: ILL_ILLOPN (Ongeldige parameter)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3058,7 +3163,7 @@ msgstr ""
 "\n"
 "Fout: ILL_ILLADR (Ongeldige adresseringsmodus)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3066,7 +3171,7 @@ msgstr ""
 "\n"
 "Fout: ILL_ILLTRP (Ongeldige 'trap'-instructie)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3074,7 +3179,7 @@ msgstr ""
 "\n"
 "Fout: ILL_PRVOPC (Instructie alleen toegankelijk voor geprivilegieerden)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3082,7 +3187,7 @@ msgstr ""
 "\n"
 "Fout: ILL_PRVREG (Register alleen toegankelijk voor geprivilegieerden)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3090,7 +3195,7 @@ msgstr ""
 "\n"
 "Fout: ILL_COPROC (Coprocessorfout)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3098,7 +3203,7 @@ msgstr ""
 "\n"
 "Fout: ILL_BADSTK (Interne stack-fout)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3106,65 +3211,69 @@ msgstr ""
 "\n"
 "Fout: een niet-specifiek SIGILL-signaal werd ontvangen."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "ongeldig symbool: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Een partitienummer wordt verwacht."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Partitie bestaat niet."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Een bestandssysteemsoort wordt verwacht."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Onbekende bestandssysteemsoort '%s'."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Een schijflabeltype wordt verwacht."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Kan geen nieuwe partities meer maken."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Een partitietype wordt verwacht."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "aan"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "uit"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "optimaal"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "minimaal"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "OPTIEs:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "OPDRACHTen:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3174,15 +3283,37 @@ msgstr ""
 "Rapporteer gebreken in het programma aan <%s>;\n"
 "meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Apparaat %s wordt gebruikt.\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Deze opdracht is zonder betekenis in niet-interactieve modus.\n"
 
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: optie '--%s' staat geen argument toe\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: onbekende optie '--%s'\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: optie '-W %s' staat geen argument toe\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: optie '-W %s' vereist een argument\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Webpagina van %s: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Dit bestandssysteem heeft een logische sectorgrootte van %d.  GNU Parted "
+#~ "werkt niet goed met sectorgroottes anders dan 512 bytes."
+
 #~ msgid "Failed to add partition %d (%s)"
 #~ msgstr "Toevoegen van partitie %d is mislukt (%s)"
 
@@ -3497,9 +3628,6 @@ msgstr "Deze opdracht is zonder betekenis in niet-interactieve modus.\n"
 #~ msgid "Source partition number?"
 #~ msgstr "Nummer van bronpartitie?"
 
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "Kan een uitgebreide partitie niet kopiëren."
-
 #~ msgid "Destination partition number?"
 #~ msgstr "Nummer van doelpartitie?"
 
index 74491021629f7ff37faf4bbb47d13917cd67fc80..0aa90dc042f8e6bfef9f8c77988f852f72ff08a3 100644 (file)
Binary files a/po/nn.gmo and b/po/nn.gmo differ
index 2146ba8e4a334f81bc57c8c76622dc7f24848bc7..a498363775448b5aa607568c00d2d7c685644f0a 100644 (file)
--- a/po/nn.po
+++ b/po/nn.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU parted 1.6.6-pre2\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2003-07-04 19:03+0200\n"
 "Last-Translator: Kjetil Torgrim Homme <kjetilho@ifi.uio.no>\n"
 "Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
@@ -14,85 +14,66 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr ""
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr ""
 
-#: lib/error.c:188
+#: lib/error.c:195
 #, fuzzy
 msgid "Unknown system error"
 msgstr "Filsystemtypen «%s» er ukjend."
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr ""
-
-#: lib/getopt.c:624 lib/getopt.c:628
+#: lib/getopt.c:278
 #, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous\n"
 msgstr ""
 
-#: lib/getopt.c:637 lib/getopt.c:642
+#: lib/getopt.c:284
 #, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr ""
 
-#: lib/getopt.c:685 lib/getopt.c:704
+#: lib/getopt.c:319
 #, c-format
-msgid "%s: option '--%s' requires an argument\n"
+msgid "%s: unrecognized option '%s%s'\n"
 msgstr ""
 
-#: lib/getopt.c:742 lib/getopt.c:745
+#: lib/getopt.c:345
 #, c-format
-msgid "%s: unrecognized option '--%s'\n"
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr ""
 
-#: lib/getopt.c:753 lib/getopt.c:756
+#: lib/getopt.c:360
 #, c-format
-msgid "%s: unrecognized option '%c%s'\n"
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr ""
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr ""
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr ""
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr ""
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -112,85 +93,85 @@ msgstr ""
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr ""
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr ""
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr ""
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr ""
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr ""
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr ""
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr ""
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr ""
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr ""
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr ""
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr ""
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr ""
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr ""
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr ""
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr ""
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr ""
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr ""
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr ""
 
@@ -214,12 +195,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -227,34 +208,33 @@ msgstr ""
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -262,7 +242,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -272,7 +252,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -282,7 +262,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -292,7 +272,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -302,7 +282,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -313,7 +293,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -324,7 +304,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,30 +316,24 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
+#: lib/version-etc.c:249
 #, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+msgid "Report bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: lib/version-etc.c:253
+#: lib/version-etc.c:260
 #, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 
 #: lib/xalloc-die.c:34
@@ -386,60 +360,60 @@ msgid "Disk Image"
 msgstr ""
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Feil ved opning av %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Kunne ikkje opna %s for både lesing og skriving (%s).  %s er berre opna for "
 "lesing."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s under posisjonering før lesing av %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s under lesing av %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Kan ikkje skriva til %s, sidan han berre er opna for lesing."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s under posisjonering før skriving til %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s under skriving til %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr ""
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -449,13 +423,13 @@ msgid ""
 "  -v, --version    output version information and exit\n"
 msgstr ""
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -499,7 +473,7 @@ msgstr ""
 "endringar du har gjort.  Datamaskinen må startast på nytt før du gjer noko "
 "med %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -512,45 +486,45 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "Fekk feilmeldinga «%s» ved forsøk på å synkronisera %s til disk"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Kunne ikkje undersøkja eininga %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, fuzzy, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Klarte ikkje å finna storleiken til %s (%s)"
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
 "Using the default sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
 "Using the logical sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, fuzzy, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Klarte ikkje å finna storleiken til %s (%s)"
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr ""
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Kunne ikkje finna identiteten til eininga %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr ""
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -559,12 +533,12 @@ msgid ""
 "Please consult the web site for up-to-date information."
 msgstr ""
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Initialisering av SCSI-eininga %s gav feil - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, fuzzy, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -573,7 +547,7 @@ msgstr ""
 "Eininga %s har storleik null, og kan umogleg innehalda eit filsystem eller "
 "ein partisjonstabell.  Kanskje du valte feil eining?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, fuzzy, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -582,87 +556,100 @@ msgstr ""
 "Klarte ikkje å finna geometrien til fila/eininga.  Du bør ikkje bruka Parted "
 "med mindre du VERKELEG veit kva du gjer!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr ""
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Ny eining?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "DAC960 RAID-kontroller"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr ""
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr ""
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "ATARAID-kontroller"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "I2O-kontroller"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr ""
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 #, fuzzy
 msgid "Loopback device"
 msgstr "Kva eining skal vera kjelda?"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr ""
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Ukjent"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Einingstypen er ikkje støtta"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, fuzzy, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Feil ved opning av %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr ""
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, fuzzy, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -674,12 +661,12 @@ msgstr ""
 "omstart av maskinen, så du må ikkje montera han eller bruka han på nokon "
 "måte før omstart."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, fuzzy, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Klarte ikkje å finna storleiken til %s (%s)"
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -688,36 +675,36 @@ msgid ""
 "making further changes."
 msgstr ""
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, fuzzy, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "Kan ikkje ha slutten før starten!"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, fuzzy, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Prøvde å skriva sektorane %ld-%ld utanfor partisjonen på %s"
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "ser etter dårlege blokker"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr ""
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr ""
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, fuzzy, c-format
 msgid "%s: unrecognised disk label"
 msgstr "Kunne ikkje opna %s - ukjend disklabel."
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -726,41 +713,41 @@ msgstr ""
 "Dette libparted-biblioteket har ikkje støtte for skriving til %s.  Kanskje "
 "vart det kompilert for kun lesing."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, fuzzy, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Partisjonen %d er %.3f MiB, men filsystemet er %.3f MiB."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr ""
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 #, fuzzy
 msgid "pmbr_boot"
 msgstr "boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, fuzzy, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Ukjent partisjonsflagg, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Ein %s-disklabel støttar ikkje utvidingspartisjonar."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "%s-disklablar støttar ikkje logiske eller utvidingspartisjonar."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 #, fuzzy
 msgid "Too many primary partitions."
 msgstr "For mange primærpartisjonar"
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -768,129 +755,129 @@ msgstr ""
 "Kan ikkje leggja ein logisk partisjon til %s, sidan der ikkje er nokon "
 "utvidingspartisjon."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, fuzzy, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Kan ikkje ha meir enn éin utvidingspartisjon på %s"
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Kan ikkje ha logiske partisjonar utanfor utvidingspartisjonen."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr ""
 "Ein logisk partisjon kan ikkje liggja utanfor utvidingspartisjonen på %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Ein primærpartisjon kan ikkje liggja inne i ein utvidingspartisjon."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Kan ikkje ha ein partisjon utanfor disken!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 #, fuzzy
 msgid "Can't have overlapping partitions."
 msgstr "Partisjonar kan ikkje overlappa kvarandre."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadata"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "ledig"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "utviding"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logisk"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primær"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "boot"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr ""
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "rot"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "skjult"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr ""
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr ""
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr ""
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 #, fuzzy
 msgid "msftdata"
 msgstr "metadata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr ""
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr ""
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr ""
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 #, fuzzy
 msgid "esp"
 msgstr "Ja"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, fuzzy, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Ukjent partisjonsflagg, %d."
@@ -956,222 +943,337 @@ msgid ""
 "containing at least the version (%s) and the following message:  "
 msgstr ""
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 #, fuzzy
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 #, fuzzy
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 #, fuzzy
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 #, fuzzy
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 #, fuzzy
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
 msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 #, fuzzy
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Kan ikkje kopiera utvidingspartisjonar."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Kunne ikkje oppfylla alle dei tekniske krava til partisjonen."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+#, fuzzy
+msgid "Unable to allocate a partition number."
+msgstr "Forventa eit partisjonsnummer."
+
+#: libparted/labels/bsd.c:592
 #, fuzzy
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Kunne ikkje tilordna plass i BSD-disklabel."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 #, fuzzy
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Kunne ikkje tilordna plass i BSD-disklabel."
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, fuzzy, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Ugyldig partisjonstabell på %s - feil signatur %x"
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Ugyldig partisjonstabell - rekursiv partisjon på %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr ""
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Ugyldig partisjonstabell - rekursiv partisjon på %s."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 #, fuzzy
 msgid "cannot create any more partitions"
 msgstr "Kan ikkje laga fleire partisjonar."
 
 # checkit
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, fuzzy, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr ""
 "%s har ingen utvidingspartisjon (volume header-partisjon).  Om du overser "
 "denne meldinga, vil eventuelle bootvolum verta sletta."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "Sjekksummen er feil, og det tyder på at partisjonstabellen er korrupt."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Berre primærpartisjonar kan vera rotpartisjonar."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Berre primærpartisjonar kan vera swap-partisjonar."
 
 # checkit
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Berre logiske partisjonar kan vera ei bootfil."
 
 # checkit
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, fuzzy, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
 "Only logical partitions (boot files) have a name."
 msgstr "Berre logiske partisjonar (bootfiler) kan ha namn."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "For mange primærpartisjonar"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr ""
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 #, fuzzy
 msgid "Unsupported disk type"
 msgstr "ped_device_new()  Einingstypen er ikkje støtta"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr ""
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr ""
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr ""
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr ""
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 #, fuzzy
 msgid "Fatal error"
 msgstr "Kritisk"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr ""
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 #, fuzzy
 msgid "No room for partition info."
 msgstr "Fann ikkje noko gyldig partisjonskart."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr ""
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr ""
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Kan ikkje kjenna igjen noko filsystem."
+
+#: libparted/labels/fdasd.c:1029
 #, fuzzy
 msgid "Could not retrieve disk geometry information."
 msgstr "Kunne ikkje lesa geometrien til %s - %s."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr ""
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
 msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 #, fuzzy
 msgid "device is too small for GPT"
 msgstr "Filsystemet er for lite for ext2."
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, fuzzy, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1181,7 +1283,7 @@ msgstr ""
 "Parted kan kjenna att.  Ver venleg å seia i frå med ein epost til <bug-"
 "parted@gnu.org> (skriv helst på engelsk)"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1189,7 +1291,7 @@ msgid ""
 "setting? "
 msgstr ""
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 #, fuzzy
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
@@ -1200,7 +1302,7 @@ msgstr ""
 "dette rettast ved å flytta kopien til slutten av disken (og sletta den gamle "
 "kopien)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 #, fuzzy
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
@@ -1209,7 +1311,7 @@ msgstr ""
 "Både originalen og kopien av GPT-tabellen er korrupt.  Prøv å laga ein ny "
 "tom tabell, og bruk Parteds redningsmodus til å finna partisjonane."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 #, fuzzy
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
@@ -1218,7 +1320,7 @@ msgstr ""
 "GPT-tabellen er korrupt, men sikringskopien ser frisk ut, så kopien vert "
 "brukt."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 #, fuzzy
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
@@ -1227,58 +1329,58 @@ msgstr ""
 "GPT-tabellen er korrupt, men sikringskopien ser frisk ut, så kopien vert "
 "brukt."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr ""
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "Kva partisjonsnummer er målet?"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Ugyldig signatur %x for ein Mac-disklabel."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Partisjonskartet inneheld ingen oppføringar!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s er for liten for ein Mac-disklabel!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Partisjon %d har ein ugyldig signatur %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Partisjon %d har ei ugyldig lengde på 0 oktettar!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 #, fuzzy
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Dataregionen startar ikkje på starten av partisjonen"
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 #, fuzzy
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Bootregionen startar ikkje på starten av partisjonen"
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Bootregionen fyller ikkje heile partisjonen."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Dataregionen fyller ikkje heile partisjonen."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1286,7 +1388,7 @@ msgstr ""
 "Merkeleg blokkstorleik på einingsdeskriptor: %d oktettar er ikkje deleleg på "
 "512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1295,11 +1397,11 @@ msgstr ""
 "Drivardeskriptoren seier at den fysiske blokkstorleiken er %d oktettar, men "
 "Linux seier at han er %d oktettar."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Fann ikkje noko gyldig partisjonskart."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, fuzzy, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1308,12 +1410,12 @@ msgstr ""
 "Motstridande storleikar i partisjonskartet!  Oppføring 1 seier at han er %d, "
 "men oppføring %d seier at han er %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 #, fuzzy
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Merkeleg - to partisjonskartoppføringar!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1321,7 +1423,7 @@ msgstr ""
 "Endrar du namnet på ein rot- eller swap-partisjon, vil ikkje Linux lenger "
 "kjenna han igjen."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 #, fuzzy
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Kan ikkje leggja til ein partisjon til - partisjonskartet er for lite!"
@@ -1344,75 +1446,70 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Kan ikkje leggja til ein partisjon til."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
 msgstr ""
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
 msgstr ""
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr ""
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr ""
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr ""
 
-#: libparted/labels/rdb.c:1080
-#, fuzzy
-msgid "Unable to allocate a partition number."
-msgstr "Forventa eit partisjonsnummer."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Øydelagd Sun-disklabel funne."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, fuzzy, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1421,17 +1518,17 @@ msgstr ""
 "Geometrien til disken (C=%d,H=%d,S=%d) stemmer ikkje med geometrien i "
 "disklabelen (C=%d,H=%d,S=%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Disklabelen skildrar ein disk større enn %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr ""
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1443,7 +1540,7 @@ msgstr ""
 "Solaris klarer kanskje ikkje å starta utan han, og SILO (boot-lastar for "
 "SPARC) likar det heller ikkje."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Sun-disklabel er full."
 
@@ -1463,62 +1560,62 @@ msgstr ""
 msgid "reading from device failed"
 msgstr ""
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 #, fuzzy
 msgid "Could not read volume label."
 msgstr "Kunne ikkje lesa geometrien til %s - %s."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 #, fuzzy
 msgid "Could not write volume label."
 msgstr "Kan ikkje kjenna igjen noko filsystem."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr ""
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Tom for minne."
 
@@ -1541,73 +1638,73 @@ msgstr ""
 msgid "The maximum sector value is %d."
 msgstr ""
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr ""
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr ""
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, fuzzy, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s under skriving til %s"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr ""
@@ -1656,58 +1753,49 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "Bootsektoren i FAT seier at logisk sektorstorleik er 0.  Det var rart. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 "Bootsektoren i FAT seier at der ikkje er nokon FAT-tabellar.  Det var rart. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "Bootsektoren i FAT seier at allokeringseininga er 0 sektorar.  Det var rart. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 #, fuzzy
 msgid "File system is FAT12, which is unsupported."
 msgstr "Filsystemet er FAT12, som er ustøtta."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, fuzzy, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Ukjent swap-signatur for Linux '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, fuzzy, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Ukjent swap-signatur for Linux '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, fuzzy, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Ukjent swap-signatur for Linux '%10s'."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Dette filsystemet har ein logisk sektorstorleik på %d.  GNU Parted fungerer "
-"berre skikkeleg når sektorstorleiken er 512 oktettar."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1717,7 +1805,7 @@ msgid ""
 "geometry."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1736,7 +1824,7 @@ msgstr ""
 "Du treng %d MiB med ledig diskplass for å krympa partisjonen til denne "
 "storleiken (du har for tida berre %d MiB ledig)"
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
@@ -1744,21 +1832,21 @@ msgstr ""
 "Allokeringseininga sitt startdelta er %d, og det er ikkje eit multiplum av "
 "storleiken %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Feil i katalogoppføringa for %s: første allokeringseininga markerer slutt på "
 "fila."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
 msgstr ""
 "Feil på FAT: endelaus kjede for %s.  Du bør køyre dosfsck eller scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, fuzzy, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1767,7 +1855,7 @@ msgstr ""
 "Feil på FAT: allokeringseining %d er utanfor filsystemet i kjeda for %s.  Du "
 "bør køyra dosfsck eller scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1776,12 +1864,12 @@ msgstr ""
 "Feil på FAT: allokeringseining %d er krysslenka for %s.  Du bør køyre "
 "dosfsck eller scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s er %d KiB, men har %d allokeringseiningar (%d KiB)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1834,16 +1922,16 @@ msgstr ""
 "Der er ikkje plass i toppkatalogen til alle filene.  Vel anten avbryt, eller "
 "oversjå feilen for å misse alle filene."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Feil ved skriving til toppkatalogen."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 #, fuzzy
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "Viss du let filsystemet vera FAT16, vil du ikkje ha nokon problem."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1854,13 +1942,13 @@ msgstr ""
 "du vil gjera dette, bør du lesa Parted-manualen (eller manualen som høyrer "
 "til distribusjonen din)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr "Viss du let filsystemet vera FAT32, vil du ikkje få nokon nye problem."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1874,31 +1962,31 @@ msgstr ""
 "til distribusjonen din).  FAT32 er også uleseleg for MS-DOS, MS Windows 95a "
 "og NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Ønskjer du å bruka FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr "Filsystemet kan kun få denne storleiken ved å konvertera til FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr "Filsystemet kan kun få denne storleiken ved å konvertera til FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 #, fuzzy
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
@@ -1942,67 +2030,67 @@ msgstr "St
 msgid "The file system is bigger than its volume!"
 msgstr "Filsystemet er større enn volumet det ligg på!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr ""
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:213
+#: libparted/fs/r/hfs/cache.c:214
 #, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
@@ -2077,128 +2165,128 @@ msgstr ""
 msgid "shrinking embedded HFS+ volume"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 #, fuzzy
 msgid "shrinking HFS wrapper"
 msgstr "krympar"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 #, fuzzy
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 "Allokeringseininga sitt startdelta er %d, og det er ikkje eit multiplum av "
 "storleiken %d."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 #, fuzzy
 msgid "Some header fields are not multiple of the sector size."
 msgstr ""
 "Allokeringseininga sitt startdelta er %d, og det er ikkje eit multiplum av "
 "storleiken %d."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 #, fuzzy
 msgid "Could not cache the file system in memory."
 msgstr "Kan ikkje kjenna igjen noko filsystem."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
@@ -2312,144 +2400,155 @@ msgstr ""
 "eller BRUK TIL NOKO FORMÅL.  Sjå GNU General Public License for detaljar.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(tid att %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, fuzzy, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr "Partisjonen %s er i bruk.  Endringar no kan føre til alvorleg datatap."
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Partisjon(ane) på %s er i bruk."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
 "will be lost. Do you want to continue?"
 msgstr ""
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Ny disklabel-type?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Partisjonstype?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Partisjonsnamn?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Filsystemtype?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Start?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Slutt?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
 "The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
 msgstr ""
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
 msgstr ""
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Ein %s-disklabel støttar ikkje utvidingspartisjonar."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Partisjonsnummer?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr ""
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, fuzzy, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disklabel-type: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr ""
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, fuzzy, c-format
 msgid "Partition Table: %s\n"
 msgstr "Partisjonsnamn?"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, fuzzy, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Disklabel-type: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr ""
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 #, fuzzy
 msgid "Start"
 msgstr "Start?"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 #, fuzzy
 msgid "End"
 msgstr "Slutt?"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr ""
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr ""
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 #, fuzzy
 msgid "File system"
 msgstr "Filsystem?"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr ""
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Flagg"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr ""
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, fuzzy, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2458,66 +2557,66 @@ msgstr ""
 "Ein %s %s-partisjon vart funnen på %.3f MiB -> %.3f MiB.  Ønskjer du å "
 "leggja han til i partisjonstabellen?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "leitar etter filsystem"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Ny eining?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1721
 #, c-format
-msgid "%d not aligned\n"
+msgid "%d not aligned: %s\n"
 msgstr ""
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 #, fuzzy
 msgid "Flag to Invert?"
 msgstr "Flagg som skal endrast?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Ny status?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr ""
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 #, fuzzy
 msgid "align-check"
 msgstr "check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 #, fuzzy
 msgid ""
 "help [COMMAND]                           print general help, or help on "
@@ -2525,31 +2624,31 @@ msgid ""
 msgstr ""
 "help [KOMMANDO]               gjev generell hjelp, eller hjelp om KOMMANDO"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr ""
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 #, fuzzy
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
 msgstr "mklabel LABEL-TYPE            lag ny disklabel (partisjonstabell)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 #, fuzzy
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart PART-TYPE [FS-TYPE] START SLUTT    lag ein partisjon"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 #, fuzzy
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
@@ -2558,27 +2657,27 @@ msgstr ""
 "mkpart lagar ein partisjon utan å laga eit nytt filsystem der.  Du kan "
 "spesifisera FS-TYPE for å setja ein passande partisjons-id.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 #, fuzzy
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "name NR NAMN                  gje partisjonen NR namnet NAMN"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 #, fuzzy
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
@@ -2588,41 +2687,41 @@ msgstr ""
 "partisjonsnummer er oppgjeve, vil meir detaljert informasjon om\n"
 "partisjonen verta vist.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 #, fuzzy
 msgid "quit                                     exit program"
 msgstr "quit                          avslutt programmet"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 #, fuzzy
 msgid ""
 "rescue START END                         rescue a lost partition near START "
@@ -2630,129 +2729,129 @@ msgid ""
 msgstr ""
 "rescue START SLUTT            redd tapte partisjonar nær START og SLUTT"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 #, fuzzy
 msgid "resizepart"
 msgstr "resize"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "rm NR                         slett partisjonen NR"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 #, fuzzy
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm NR                         slett partisjonen NR"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 #, fuzzy
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select EINING                 vel eininga du vil gjera endringar på"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr ""
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr ""
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 #, fuzzy
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set NR FLAGG STATUS           endra eit flagg på partisjonen NR"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr ""
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr ""
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 #, fuzzy
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr "quit                          avslutt programmet"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr ""
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Ingen diskar funne"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 #, fuzzy
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Gløym ikkje å oppdatera /etc/fstab, om naudsynt.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 #, fuzzy
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
@@ -2764,7 +2863,7 @@ msgstr ""
 "Utfør KOMMANDO med PARAMETER på EINING.  Dersom ingen KOMMANDO er gjeven,\n"
 "køyrer GNU Parted i interaktiv modus.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2798,209 +2897,213 @@ msgid ""
 "consider important.\n"
 msgstr ""
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
 msgstr ""
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
 msgstr ""
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
 msgstr ""
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
 msgstr ""
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
 msgstr ""
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
 msgstr ""
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
 msgstr ""
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
 msgstr ""
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
 msgstr ""
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
 msgstr ""
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
 msgstr ""
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
 msgstr ""
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
 msgstr ""
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
 msgstr ""
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 msgstr ""
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
 msgstr ""
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
 msgstr ""
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
 msgstr ""
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
 msgstr ""
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
 msgstr ""
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, fuzzy, c-format
 msgid "invalid token: %s"
 msgstr "Ugyldig partisjonstabell på %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Forventa eit partisjonsnummer."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Partisjonen finst ikkje."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Forventa ei filsystemtype."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Filsystemtypen «%s» er ukjend."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Forventa ein disklabel-type."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Kan ikkje laga fleire partisjonar."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Forventa ein partisjonstype."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "på"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "av"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr ""
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr ""
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "FLAGG:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "KOMMANDOar:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
 "Report bugs to %s\n"
 msgstr ""
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Brukar %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr ""
 
@@ -3239,6 +3342,13 @@ msgstr ""
 #~ msgid "File system has an invalid signature for a FAT file systems."
 #~ msgstr "Filsystemet har ein ugyldig signatur til å vera eit FAT-filsystem."
 
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Dette filsystemet har ein logisk sektorstorleik på %d.  GNU Parted "
+#~ "fungerer berre skikkeleg når sektorstorleiken er 512 oktettar."
+
 #~ msgid "Too many bad pages."
 #~ msgstr "For mange dårlege sider."
 
index b151525edc320ba11b4bb95352e7901312bfc35e..3983597c31491c9f90b15559fe0c131c5b3582e9 100644 (file)
@@ -1,14 +1,14 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the GNU parted package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU parted 3.2\n"
+"Project-Id-Version: GNU parted 3.3\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\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"
@@ -17,83 +17,63 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr ""
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr ""
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr ""
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr ""
-
-#: lib/getopt.c:624 lib/getopt.c:628
+#: lib/getopt.c:278
 #, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous\n"
 msgstr ""
 
-#: lib/getopt.c:637 lib/getopt.c:642
+#: lib/getopt.c:284
 #, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr ""
 
-#: lib/getopt.c:685 lib/getopt.c:704
+#: lib/getopt.c:319
 #, c-format
-msgid "%s: option '--%s' requires an argument\n"
+msgid "%s: unrecognized option '%s%s'\n"
 msgstr ""
 
-#: lib/getopt.c:742 lib/getopt.c:745
+#: lib/getopt.c:345
 #, c-format
-msgid "%s: unrecognized option '--%s'\n"
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr ""
 
-#: lib/getopt.c:753 lib/getopt.c:756
+#: lib/getopt.c:360
 #, c-format
-msgid "%s: unrecognized option '%c%s'\n"
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr ""
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr ""
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr ""
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr ""
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -113,85 +93,85 @@ msgstr ""
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr ""
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr ""
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr ""
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr ""
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr ""
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr ""
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr ""
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr ""
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr ""
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr ""
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr ""
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr ""
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr ""
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr ""
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr ""
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr ""
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr ""
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr ""
 
@@ -215,12 +195,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -228,34 +208,33 @@ msgstr ""
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -263,7 +242,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -273,7 +252,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -283,7 +262,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -293,7 +272,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -303,7 +282,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -314,7 +293,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -325,7 +304,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -337,30 +316,24 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
+#: lib/version-etc.c:249
 #, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+msgid "Report bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: lib/version-etc.c:253
+#: lib/version-etc.c:260
 #, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 
 #: lib/xalloc-die.c:34
@@ -387,58 +360,58 @@ msgid "Disk Image"
 msgstr ""
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr ""
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr ""
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr ""
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr ""
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr ""
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr ""
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr ""
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -448,13 +421,13 @@ msgid ""
 "  -v, --version    output version information and exit\n"
 msgstr ""
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -488,7 +461,7 @@ msgid ""
 "before doing anything with %s."
 msgstr ""
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -499,45 +472,45 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr ""
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr ""
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr ""
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
 "Using the default sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
 "Using the logical sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr ""
 
-#: libparted/arch/linux.c:920
-#, c-format
-msgid "Could not get identity of device %s - %s"
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
 msgstr ""
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
+#: libparted/arch/linux.c:963
+#, c-format
+msgid "Could not get identity of device %s - %s"
 msgstr ""
 
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -546,105 +519,117 @@ msgid ""
 "Please consult the web site for up-to-date information."
 msgstr ""
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr ""
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
 "partition table.  Perhaps you selected the wrong device?"
 msgstr ""
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
 "unless you REALLY know what you're doing!"
 msgstr ""
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr ""
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+msgid "NVMe Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr ""
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr ""
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr ""
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr ""
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr ""
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr ""
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr ""
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr ""
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr ""
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr ""
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr ""
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr ""
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -652,12 +637,12 @@ msgid ""
 "so you shouldn't mount it or use it in any way before rebooting."
 msgstr ""
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr ""
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -666,199 +651,199 @@ msgid ""
 "making further changes."
 msgstr ""
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr ""
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr ""
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr ""
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr ""
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr ""
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr ""
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
 "read-only."
 msgstr ""
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr ""
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr ""
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr ""
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr ""
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr ""
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr ""
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr ""
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
 msgstr ""
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr ""
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr ""
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr ""
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr ""
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr ""
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr ""
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr ""
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr ""
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr ""
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr ""
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr ""
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr ""
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr ""
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr ""
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr ""
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr ""
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr ""
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr ""
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr ""
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr ""
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr ""
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr ""
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr ""
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr ""
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr ""
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr ""
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr ""
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 msgid "esp"
 msgstr ""
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr ""
@@ -924,210 +909,321 @@ msgid ""
 "containing at least the version (%s) and the following message:  "
 msgstr ""
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
 msgstr ""
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr ""
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr ""
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr ""
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr ""
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr ""
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr ""
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr ""
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr ""
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr ""
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr ""
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr ""
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr ""
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr ""
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
 "Only logical partitions (boot files) have a name."
 msgstr ""
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr ""
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr ""
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr ""
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr ""
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr ""
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr ""
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr ""
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr ""
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr ""
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr ""
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr ""
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+msgid "Could not retrieve disk size."
+msgstr ""
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr ""
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr ""
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
 msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr ""
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
 "what Parted can recognise.  Please report this!"
 msgstr ""
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1135,113 +1231,113 @@ msgid ""
 "setting? "
 msgstr ""
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
 msgstr ""
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
 msgstr ""
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
 msgstr ""
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
 msgstr ""
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr ""
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
 msgstr ""
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr ""
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr ""
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr ""
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr ""
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr ""
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr ""
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr ""
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr ""
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr ""
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr ""
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
 "says it is %d bytes."
 msgstr ""
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr ""
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
 "says it is %d!"
 msgstr ""
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr ""
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
 msgstr ""
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
 
@@ -1261,91 +1357,87 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr ""
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
 msgstr ""
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
 msgstr ""
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr ""
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr ""
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr ""
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr ""
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr ""
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
 "match the geometry stored on the disk label (%d,%d,%d)."
 msgstr ""
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr ""
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr ""
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1353,7 +1445,7 @@ msgid ""
 "it as well."
 msgstr ""
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr ""
 
@@ -1373,60 +1465,60 @@ msgstr ""
 msgid "reading from device failed"
 msgstr ""
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr ""
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr ""
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr ""
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr ""
 
@@ -1449,73 +1541,73 @@ msgstr ""
 msgid "The maximum sector value is %d."
 msgstr ""
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr ""
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr ""
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr ""
@@ -1554,52 +1646,45 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr ""
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr ""
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr ""
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr ""
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1609,7 +1694,7 @@ msgid ""
 "geometry."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1623,43 +1708,43 @@ msgid ""
 "Currently, only %s is free."
 msgstr ""
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
 "dosfsck or scandisk."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
 "scandisk."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1701,28 +1786,28 @@ msgid ""
 "cancel, or ignore to lose the files."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
 "should consult the Parted manual (or your distribution's manual)."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1731,31 +1816,31 @@ msgid ""
 "Windows 95a, and MS Windows NT."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1794,67 +1879,67 @@ msgstr ""
 msgid "The file system is bigger than its volume!"
 msgstr ""
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr ""
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:213
+#: libparted/fs/r/hfs/cache.c:214
 #, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
@@ -1927,120 +2012,120 @@ msgstr ""
 msgid "shrinking embedded HFS+ volume"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
@@ -2135,418 +2220,429 @@ msgid ""
 "\n"
 msgstr ""
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr ""
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr ""
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
 "will be lost. Do you want to continue?"
 msgstr ""
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr ""
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr ""
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr ""
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr ""
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr ""
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr ""
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
 "The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
 msgstr ""
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
 msgstr ""
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, c-format
+msgid "%s disk labels do not support partition name."
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr ""
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr ""
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr ""
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr ""
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr ""
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr ""
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr ""
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr ""
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr ""
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr ""
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr ""
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr ""
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr ""
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr ""
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr ""
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
 "partition table?"
 msgstr ""
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr ""
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr ""
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1721
 #, c-format
-msgid "%d not aligned\n"
+msgid "%d not aligned: %s\n"
 msgstr ""
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr ""
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr ""
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr ""
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr ""
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr ""
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr ""
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr ""
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr ""
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
 msgstr ""
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr ""
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr ""
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
 msgstr ""
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr ""
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr ""
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
 msgstr ""
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr ""
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr ""
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr ""
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
 msgstr ""
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr ""
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
 msgstr ""
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr ""
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr ""
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr ""
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr ""
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr ""
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr ""
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr ""
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr ""
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr ""
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr ""
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr ""
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr ""
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr ""
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2554,7 +2650,7 @@ msgid ""
 "interactive mode.\n"
 msgstr ""
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2588,208 +2684,212 @@ msgid ""
 "consider important.\n"
 msgstr ""
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
 msgstr ""
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
 msgstr ""
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
 msgstr ""
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
 msgstr ""
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
 msgstr ""
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
 msgstr ""
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
 msgstr ""
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
 msgstr ""
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
 msgstr ""
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
 msgstr ""
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
 msgstr ""
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
 msgstr ""
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
 msgstr ""
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
 msgstr ""
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 msgstr ""
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
 msgstr ""
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
 msgstr ""
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
 msgstr ""
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
 msgstr ""
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
 msgstr ""
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr ""
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr ""
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr ""
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr ""
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr ""
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr ""
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr ""
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr ""
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr ""
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr ""
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr ""
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr ""
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr ""
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr ""
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
 "Report bugs to %s\n"
 msgstr ""
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr ""
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr ""
index 86b0c6ee69249133fb3dc1edf7724914e968440c..655777568335193f4e7ea119364fd4bb3a4f48b7 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index 8b0fc50fae0fbce2932e5608bd12e905aa413270..7e50dfe38d620dae532fc984837858a001d9fa2c 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2014-07-03 21:29+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -16,86 +16,67 @@ msgstr ""
 "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=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2);\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "nieprawidłowy argument %s opcji %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "niejednoznaczny argument %s opcji %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Prawidłowe argumenty to:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "błąd zapisu"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Nieznany błąd systemowy"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: opcja '-W %s' jest niejednoznaczna\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: opcja '%s' jest niejednoznaczna; możliwości:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: opcja '--%s' nie może mieć argumentów\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: nieznana opcja '%c%s'\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: opcja '%c%s' nie może mieć argumentów\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: opcja '--%s' musi mieć argument\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: nieznana opcja '--%s'\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: nieznana opcja '%c%s'\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: błędna opcja -- '%c'\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: opcja musi mieć argument -- '%c'\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: opcja '-W %s' jest niejednoznaczna\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: opcja '-W %s' nie może mieć argumentów\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: opcja '-W %s' musi mieć argument\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -115,85 +96,86 @@ msgstr "%s: opcja '-W %s' musi mieć argument\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "`"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "'"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Sukces"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Nic nie pasuje"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Błędne wyrażenie regularne"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Błędny znak sortowany"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Błędna nazwa klasy znaku"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Kończący znak `\\'"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Błędne odniesienie wstecz"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Niesparowane [ lub [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Niesparowane ( lub \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Niesparowane \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Błędna zawartość \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Błędny koniec zakresu"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Pamięć wyczerpana"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Błędne poprzedzające wyrażenie regularne"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Przedwczesny koniec wyrażenia regularnego"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Wyrażenie regularne zbyt duże"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Niesparowane ) lub \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Brak poprzedniego wyrażenia regularnego"
 
@@ -217,12 +199,12 @@ msgstr "^[yYtT]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pakietujący: %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pakietujący: %s\n"
@@ -230,18 +212,17 @@ msgstr "Pakietujący: %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Licencja GPLv3+: GNU GPL w wersji 3 lub późniejszej:\n"
@@ -251,19 +232,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Autor: %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Autorzy: %s i %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Autorzy: %s, %s i %s.\n"
@@ -271,7 +252,7 @@ msgstr "Autorzy: %s, %s i %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -283,7 +264,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -295,7 +276,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -307,7 +288,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -319,7 +300,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -333,7 +314,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -347,7 +328,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -362,34 +343,28 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Prosimy zgłaszać błędy na adres <%s>.\n"
 "Błędy w tłumaczeniu prosimy zgłaszać na adres: <translation-team-pl@lists."
 "sourceforge.net>.\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Prosimy zgłaszać błędy w %s na adres <%s>.\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Strona domowa projektu %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Strona domowa projektu %s: <http://www.gnu.org/software/%s/>.\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 "Ogólna pomoc przy używaniu oprogramowania GNU: <http://www.gnu.org/gethelp/"
 ">.\n"
@@ -418,60 +393,60 @@ msgid "Disk Image"
 msgstr "Obraz dysku"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Błąd podczas otwierania %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Nie można otworzyć %s jednocześnie w trybie do odczytu i zapisu (%s). %s "
 "został otwarty tylko w trybie do odczytu."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s podczas ustawiania do odczytu na %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s podczas czytania %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Nie można zapisać do %s, ponieważ otwarte jest tylko do czytania."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s podczas ustawiania do zapisu na %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s podczas zapisu %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Polecenie `%s --help' pozwoli uzyskać więcej informacji.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Składnia: %s [OPCJA] [URZĄDZENIE]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -487,7 +462,7 @@ msgstr ""
 "  -h, --help       wyświetlenie tego opisu i zakończenie\n"
 "  -v, --version    wyświetlenie informacji o wersji i zakończenie\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -495,7 +470,7 @@ msgstr ""
 "\n"
 "Jeśli nie podano URZĄDZENIA, sprawdzane są wszystkie partycje.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -544,7 +519,7 @@ msgstr ""
 "nie wie o żadnych zmianach jakie zostały wprowadzone. Należy ponownie "
 "uruchomić komputer zanim wykonasz jakąkolwiek operację na %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -558,17 +533,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "Błąd synchronizacji %s do dysku %s"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Nie można sprawdzić urządzenia %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Nie można określić typu dm %s."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -577,7 +552,7 @@ msgstr ""
 "Nie udało się określić rozmiaru sektora dla %s: %s.\n"
 "Użyto domyślnego rozmiaru sektora (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -586,21 +561,21 @@ msgstr ""
 "Nie udało się określić rozmiaru sektora fizycznego dla %s.\n"
 "Użyto rozmiaru sektora logicznego (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Nie można ustalić rozmiaru %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Ogólne IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Nie można uzyskać tożsamości urządzenia %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Ogólne IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -614,12 +589,12 @@ msgstr ""
 "etykiet dysków i systemów plików, np. GPT i ext2/3.\n"
 "Aktualne informacje znajdują się na stronie WWW."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Błąd podczas inicjalizacji urządzenia SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -629,7 +604,7 @@ msgstr ""
 "plików lub tablicy partycji. Być może dokonano niewłaściwego wyboru "
 "urządzenia?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -638,86 +613,99 @@ msgstr ""
 "Nie można ustalić geometrii pliku/urządzenia %s. W tym przypadku nie jest "
 "zalecane używanie Parteda, chyba że NAPRAWDĘ wiesz co robisz!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Karta pamięci SD/MMC"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Nowe urządzenie?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Kontroler DAC960 RAID"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Urządzenie Promise SX8 SATA"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "Urządzenie ATA over Ethernet"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "Dysk DASD IBM S390"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "Wirtualny dysk DASD IBM iSeries"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Kontroler ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Kontroler I2O"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "UBD z User-Mode Linuksa"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Urządzenie loopback"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linuksowy device-mapper (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Wirtualne urządzenie blokowe Xena"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Nieznane"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Urządzenie blokowe Virtio"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Linuksowa programowa macierz RAID"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Ten typ urządzenia nie jest wspierany"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Błąd podczas synchronizacji/zamykania %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%0.0skoniec pliku w trakcie odczytu %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -729,12 +717,12 @@ msgstr ""
 "systemu - więc nie będzie można zamontować tej partycji ani użyć jej w inny "
 "sposób przed restartem."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Nie można ustalić początku i długości %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -747,36 +735,36 @@ msgstr ""
 "użyciu pozostaną stare partycje; przed dalszymi zmianami trzeba zrestartować "
 "system."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "Nie można mieć końca przed początkiem! (sektor pocz.=%jd długość=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Próba zapisania sektorów %ld-%ld poza partycją na %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "sprawdzam czy istnieją uszkodzone bloki"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Backtrace zawiera %d wywołań na stosie:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Zapewnienie (%s) w %s:%d w funkcji %s() nie powiodło się."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: nierozpoznana etykieta dysku"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -785,39 +773,39 @@ msgstr ""
 "Biblioteka libparted nie posiada obsługi zapisu dla %s. Być może została ona "
 "zbudowana z obsługą tylko-do-odczytu."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Partycja %d jest %s, lecz system plików jest %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "wyrównanie_cylindra"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Nieznana flaga dysku: %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Etykiety dysku %s nie wspierają rozszerzonych partycji."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "Etykiety dysku %s nie wspierają logicznych lub rozszerzonych partycji."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Zbyt dużo partycji głównych."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -825,125 +813,125 @@ msgstr ""
 "Nie można dodać logicznej partycji do %s, ponieważ nie istnieje rozszerzona "
 "partycja."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Nie można mieć więcej niż jedną rozszerzoną partycję na %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Nie można mieć logicznych partycji poza rozszerzoną partycją."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "%s nie może mieć logicznej partycji poza rozszerzoną partycją."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Nie można mieć głównej partycji wewnątrz rozszerzonej partycji."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Nie można mieć partycji poza dyskiem!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Nie można mieć nakładających się partycji."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadane"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "wolna"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "rozszerzona"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logiczna"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "główna"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "ładowalna"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "root"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "wymiany"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "ukryta"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "usługa-hp"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr "irst"
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 msgid "esp"
 msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Nieznana flaga partycji: %d."
@@ -1013,31 +1001,31 @@ msgstr ""
 "zgłaszania błędów. Proszę wysłać raport na temat błędu na adres %s, "
 "dołączając przynajmniej numer wersji (%s) oraz następujący komunikat:  "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
 "Obsługa odczytu etykiet dyskowych AIX jeszcze nie została zaimplementowana."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
 "Obsługa zapisu etykiet dyskowych AIX jeszcze nie została zaimplementowana."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "Obsługa dodawania partycji do etykiet dyskowych AIX jeszcze nie została "
 "zaimplementowana."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Obsługa powielania partycji na etykietach dyskowych AIX jeszcze nie została "
 "zaimplementowana."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1045,76 +1033,182 @@ msgstr ""
 "Obsługa ustawiania rodzaju systemu partycji na etykietach dyskowych AIX "
 "jeszcze nie została zaimplementowana."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "Obsługa ustawiania flag na etykietach dyskowych AIX jeszcze nie została "
 "zaimplementowana."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted nie może używać systemów plików HFS na dyskach z rozmiarem sektora "
+"innym niż %d bajtów."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Nie można zaspokoić wszystkich ograniczeń na partycji."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Nie można przydzielić numeru partycji."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Nie można przydzielić miejsca na etykietę dysku bsd."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Nie można przydzielić miejsca na etykiecie dysku dasd."
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Nieprawidłowa tablica partycji na %s -- błędna sygnatura %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Nieprawidłowa tablica partycji - partycja rekursywna na %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Rozszerzone partycje nie mogą być ukryte dla etykieta dysków msdos."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Rozszerzone partycje nie mogą być ukryte dla etykieta dysków msdos."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted nie może zmienić rozmiaru partycji zarządzanych przez Windows Dynamic "
 "Disk."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "nie można utworzyć więcej partycji"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr ""
 "%s nie posiada żadnych rozszerzonych partycji (partycji nagłówka wolumenu)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 "Suma kontrolna jest błędna i oznacza to, że tablica partycji jest uszkodzona."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Tylko główne partycje mogą być typu root."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Tylko główne partycje mogą być partycjami wymiany."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Tylko logiczne partycje mogą być plikami ładowalnymi (boot)."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1123,110 +1217,119 @@ msgstr ""
 "nie udało się ustawić nazwy partycji dvh na %s:\n"
 "Tylko logiczne partycje (ładowalne pliki) mają nazwy."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Zbyt dużo partycji głównych"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "błąd otwierania"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "błąd seek"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "błąd odczytu"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "błąd ioctl()"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "niezgodność wersji API"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Nieobsługiwany typ dysku"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Nieobsługiwany format dysku"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Dysk jest w użyciu"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Błąd składni w pliku konfiguracyjnym"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Uszkodzona etykieta wolumenu"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Uszkodzona nazwa zbioru danych"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Przydzielanie pamięci powiodło się"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Weryfikacja urządzenia nie powiodło się"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Podane urządzenie nie jest poprawnym urządzeniem DASD"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Błąd krytyczny"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Brak miejsca na etykietę wolumenu."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Brak miejsca na informację o partycji."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Nieprawidłowe dane VTOC."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Nie udało się odczytać wersji API."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 "Aktualna wersja API '%d' nie zgadza się z wersją API sterownika dasd '%d'!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Nie udało się odczytać informacji o dysku."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Nie udało się odczytać informacji o geometrii dysku."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Nie udało się odczytać informacji o rozmiarze bloku."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Nie udało się odczytać informacji o dysku."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr "urządzenie jest zbyt małe na GPT"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1235,7 +1338,7 @@ msgstr ""
 "Format tablicy partycji GPT (wersja %x) jest nowszy niż program Parted jest "
 "w stanie rozpoznać. Poinformuj nas o tym!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1246,7 +1349,7 @@ msgstr ""
 "użyte zostało całe miejsce (dodatkowe %llu bloków) czy kontynuować przy "
 "aktualnych ustawieniach? "
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
@@ -1255,7 +1358,7 @@ msgstr ""
 "naprawić to poprzez przesunięcie kopii zapasowej na koniec (i usunięcie "
 "starej kopii)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1263,7 +1366,7 @@ msgstr ""
 "Obie tablice GPT, główna i jej kopia zapasowa, są uszkodzone. Spróbuj "
 "utworzyć nową tablicę oraz użyj opcję 'rescue', aby odzyskać partycje."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1271,7 +1374,7 @@ msgstr ""
 "Zapasowa tablica GPT jest uszkodzona, ale główna wydaje się być w porządku i "
 "zostanie ona użyta."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1279,55 +1382,55 @@ msgstr ""
 "Główna tablica GPT jest uszkodzona, ale jej kopia zapasowa wydaje się być w "
 "porządku i zostanie ona użyta."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "niezgodność sumy CRC głównej tablicy partycji"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
 msgstr "nie udało się przetłumaczyć nazwy partycji"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Nieprawidłowy podpis %x dla etykiet dysków Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Mapa partycji nie posiada wpisu mapy partycji!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s jest zbyt mały dla etykiety dysku Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Partycja %d posiada nieprawidłowy podpis %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Partycja %d posiada nieprawidłową długość 0 bajtów!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Obszar danych nie rozpoczyna się na początku partycji."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Obszar rozruchowy nie zaczyna się na początku partycji."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Obszar rozruchowy partycji nie okupuje całej partycji."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Obszar danych partycji nie okupuje całej partycji."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1335,7 +1438,7 @@ msgstr ""
 "Dziwny rozmiar bloku w deskryptorze urządzenia: %d bajtów nie jest podzielne "
 "przez 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1344,11 +1447,11 @@ msgstr ""
 "Deskryptor napędu mówi, że fizyczny rozmiar bloku wynosi %d bajtów, ale "
 "Linux mówi, że wynosi %d bajtów."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Nie znaleziono prawidłowej mapy partycji."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1357,18 +1460,18 @@ msgstr ""
 "Wystąpił konflikt między rozmiarami wpisów mapy partycji!  Wpis 1 mówi, że "
 "jest %d, ale wpis %d mówi, że jest %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Dziwne!  Istnieją 2 wpisy map partycji!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
 msgstr ""
 "Zmiana nazwy partycji root lub wymiany spowoduje, że Linux jej nie rozpozna."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Nie można dodać kolejnej partycji -- mapa partycji jest zbyt mała!"
 
@@ -1390,7 +1493,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Nie można dodać kolejnej partycji."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1399,7 +1502,7 @@ msgstr ""
 "długość partycji %jd sektorów przekracza maksimum tablicy partycji %s "
 "wynoszące %jd"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1408,60 +1511,56 @@ msgstr ""
 "początkowy numer sektora %jd przekracza maksimum tablicy partycji %s "
 "wynoszące %jd"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Nieprawidłowa suma kontrolna bloku %llu typu %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : Nie znaleziono bloku rdb, co nie powinno się zdarzyć."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : Wykryto pętlę na bloku %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : Lista %s wydaje się być uszkodzona na bloku %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Nie powiodło się wypisanie uszkodzonych bloków."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Wypisanie bloków partycji nie powiodło się."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Wypisanie bloków systemu plików nie powiodło się."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Nie powiodło się wypisanie bloków rozruchowych."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Nie powiódł się zapis bloku partycji na %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Nie można przydzielić numeru partycji."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Wykryto uszkodzoną etykietę dysku Sun."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1470,18 +1569,18 @@ msgstr ""
 "Geometria dysku CHS (%d,%d,%d), zgłoszona przez system operacyjny, nie "
 "pasuje do geometrii przechowywanej w etykiecie dysku (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Etykieta dysku opisuje dysk większy niż %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr ""
 "Dysk posiada %d cylindrów, co stanowi więcej niż dopuszczalny limit 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1492,7 +1591,7 @@ msgstr ""
 "dobry pomysł, aby ją nadpisać inną, prawdziwą. System Solaris może się bez "
 "niej nie uruchomić, zaś SILO (program ładujący SPARC) również ją doceni."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Etykieta dysku Sun jest pełna."
 
@@ -1512,60 +1611,60 @@ msgstr "zapis na urządzeniu nie powiódł się"
 msgid "reading from device failed"
 msgstr "odczyt z urządzenia nie powiódł się"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Nie udało się odczytać etykiety wolumenu."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Nie udało się zapisać etykiety wolumenu."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Nie udało się odczytać etykiet VTOC."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Nie udało się odczytać VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Nie udało się odczytać VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Nie udało się odczytać VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Nie udało się odczytać VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Nie udało się zapisać etykiet VTOC."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Nie udało się zapisać VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Nie udało się zapisać VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Nie udało się zapisać VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Nie udało się zapisać VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Nie udało się zapisać VTOC FMT9 DSCB."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Brak pamięci."
 
@@ -1589,73 +1688,73 @@ msgstr "Maksymalna wartość głowicy wynosi %d."
 msgid "The maximum sector value is %d."
 msgstr "Maksymalna wartość sektora wynosi %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Lokacja %s jest poza urządzeniem %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Nieprawidłowy numer."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "Użycie mniejszej jednostki zamiast wartości < 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Nie powiodło się przydzielanie bloku partycji\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Nie powiodło się przydzielanie bloku\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Nie udało się odczytać bloku startowego %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Nie udało się odczytać bloku głównego %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : Nie powiodło się przydzielanie elementu id listy\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Nie udało się odczytać bloku %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Nieprawidłowa suma kontrolna bloku %llu typu %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Nie udało się zapisać bloku %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s : Nie powiodło się przydzielanie bloku rdb disk_specific\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : Nie znaleziono bloku rdb, co nie powinno się zdarzyć\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Nie powiódł się odczyt bloku partycji %llu\n"
@@ -1702,39 +1801,39 @@ msgstr ""
 "Geometria CHS systemu plików to (%d, %d, %d), co jest błędne. Geometria CHS "
 "tablicy partycji to (%d, %d, %d)."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "Sektor rozruchowy FAT mówi, że rozmiar sektora logicznego jest 0. Dziwne."
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr "Sektor rozruchowy FAT mówi, że nie ma żadnych tablic FAT. Dziwne."
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr "Sektor rozruchowy FAT mówi, że klastry zajmują 0 sektorów. Dziwne."
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Systemem plików jest FAT12, który nie jest wspierany."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Nierozpoznany podpis linuksowej partycji wymiany starego typu '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Nierozpoznany podpis linuksowej partycji wymiany nowego typu '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Nierozpoznany podpis linuksowej partycji wymiany swsusp '%9s'."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1743,16 +1842,7 @@ msgstr ""
 "Parted nie może używać systemów plików HFS na dyskach z rozmiarem sektora "
 "innym niż %d bajtów."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Ten system plików posiada rozmiar logicznego sektora %d. GNU Parted nie "
-"współpracuje prawidłowo z rozmiarami sektorów innymi niż 512 bajtów."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1767,7 +1857,7 @@ msgstr ""
 "naprawić, geometria CHS systemu plików zostanie dopasowana do geometrii CHS "
 "tablicy partycji."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1786,7 +1876,7 @@ msgstr ""
 "Potrzeba %s wolnego miejsca, aby zmniejszyć tę partycję do tego rozmiaru. "
 "Teraz wolne jest tylko %s."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
@@ -1794,13 +1884,13 @@ msgstr ""
 "Różnica początku klastra = %d, co nie jest wielokrotnością rozmiaru klastra "
 "%d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Błędny wpis katalogu dla %s: pierwszy klaster jest znacznikiem końca pliku."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1808,7 +1898,7 @@ msgstr ""
 "Błędny FAT: nie zakończony łańcuch dla pliku %s. Należy uruchomić program "
 "dosfsck lub scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1817,7 +1907,7 @@ msgstr ""
 "Błędny FAT: klaster %d poza systemem plików w łańcuchu dla pliku %s. Należy "
 "uruchomić program dosfsck lub scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1826,12 +1916,12 @@ msgstr ""
 "Błędny FAT: klaster %d dla pliku %s pokrywa się z innym plikiem. Należy "
 "uruchomić program dosfsck lub scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s ma %dk, ale ma klastrów: %d (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1883,15 +1973,15 @@ msgstr ""
 "Za mało miejsca w głównym katalogu na wszystkie pliki. Można anulować lub "
 "zignorować, co spowoduje utratę plików."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Błąd zapisu w katalogu głównym."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "Jeżeli system plików pozostanie jako FAT16, nie będzie problemów."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1901,14 +1991,14 @@ msgstr ""
 "Windows, trzeba przeinstalować rekord startowy MS Windows. W tym celu należy "
 "zasięgnąć rady w podręczniku Parteda (lub swojej dystrybucji)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr ""
 "Jeżeli system plików pozostanie jako FAT32, nie powstaną żadne nowe problemy."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1922,35 +2012,35 @@ msgstr ""
 "konwersja do FAT32 uczyni system plików nieczytelnym dla systemów MS DOS, MS "
 "Windows 95a i MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Czy użyć FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "System plików można powiększyć do tego rozmiaru tylko konwertując go do "
 "FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "System plików można powiększyć do tego rozmiaru tylko konwertując go do "
 "FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1993,18 +2083,18 @@ msgstr "zmiana rozmiaru systemów plików %s nie jest obsługiwana"
 msgid "The file system is bigger than its volume!"
 msgstr "System plików jest większy niż jego wolumen!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "System plików zawiera błędy."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Nie można odczytać wadliwych bloków."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -2013,55 +2103,55 @@ msgstr ""
 "Próba zarejestrowania ekstentu zaczynającego się od bloku 0x%X, ale inny już "
 "istnieje w tym miejscu. Proszę sprawdzić system plików!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Próba przeniesienia ekstentu z bloku 0x%X do bloku 0x%X, ale inny już "
 "istnieje w tym miejscu. To się nie powinno zdarzyć!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 "Nie udało się uaktualnić pamięci podręcznej ekstentów dla pliku HFS o CNID "
 "%X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "Próba odczytu pliku HFS o CNID %X za końcem pliku."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Nie udało się odnaleźć sektora %lli pliku HFS o CNID %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "Próba zapisu pliku HFS o CNID %X za końcem pliku."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 "Nie udało się uaktualnić pamięci podręcznej ekstentów dla pliku HFS+ o CNID "
 "%X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "Próba odczytu pliku HFS+ o CNID %X za końcem pliku."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Nie udało się odnaleźć sektora %lli pliku HFS+ o CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "Próba zapisu pliku HFS+ o CNID %X za końcem pliku."
@@ -2138,19 +2228,19 @@ msgstr ""
 msgid "shrinking embedded HFS+ volume"
 msgstr "zmniejszanie osadzonego wolumenu HFS+"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Zmiana rozmiaru wolumenu HFS+ nie powiodła się."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "zmniejszanie obudowania HFS"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "Uaktualnianie obudowania HFS nie powiodło się."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2159,45 +2249,46 @@ msgstr ""
 "To nie jest prawdziwe sprawdzenie systemu plików %s, a jedynie wydobycie "
 "specjalnych plików niskopoziomowych do celów diagnostycznych."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Błędna suma kontrolna nagłówka listy bloków."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 "Błędny rozmiar bloku transakcji w trakcie odtwarzania kroniki (bajtów: %i)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Kronika przechowywana poza wolumenem nie jest obsługiwana. Proszę spróbować "
 "wyłączyć kronikę i uruchomić ponownie Parteda."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 "Położenie lub rozmiar kroniki nie jest wielokrotnością rozmiaru sektora."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Nieprawidłowe wartości magiczne w nagłówku kroniki."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "Niezgodność rozmiaru kroniki między blokiem informacyjnym kroniki a "
 "nagłówkiem kroniki."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Niektóre pola nagłówka nie są wielokrotnością rozmiaru sektora."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2205,11 +2296,11 @@ msgstr ""
 "Rozmiar sektora zapisany w kronice jest inny niż 512 bajtów. Parted "
 "obsługuje tylko sektory o długości 512 bajtów."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Błędna suma kontrolna kroniki."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2217,7 +2308,7 @@ msgstr ""
 "Kronika nie jest pusta. Parted musi odtworzyć transakcje przed otworzeniem "
 "systemu plików - system plików zostanie zmodyfikowany."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2225,11 +2316,11 @@ msgstr ""
 "Nagłówek wolumenu w bloku głównego katalogu zmienił się przy odtwarzaniu "
 "kroniki. Należy uruchomić ponownie Parteda."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Ekstent nie został zrelokowany."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2237,15 +2328,15 @@ msgstr ""
 "Odwołanie do ekstentu pochodzi z niewłaściwego miejsca. Proszę sprawdzić "
 "system plików!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr "Ten wolumen HFS nie ma pliku katalogu. To bardzo niezwykłe!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr "Ten wolumen HFS nie ma pliku przepełnień ekstenów. To dość niezwykłe!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2253,23 +2344,23 @@ msgstr ""
 "Plik przepełnień ekstentów nie powinien zawierać własnych ekstentów! Proszę "
 "sprawdzić system plików."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Nie udało się zbuforować systemu plików w pamięci."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Nie udało się wczytać listy wadliwych bloków."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Wystąpił błąd w trakcie relokacji ekstentów."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr "Ten wolumen HFS+ nie zawiera pliku katalogu. To bardzo niezwykłe!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Ten wolumen HFS+ nie zawiera pliku przepełnień ekstentów. To dość niezwykłe!"
@@ -2384,22 +2475,22 @@ msgstr ""
 "w Powszechnej Licencji Publicznej GNU.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(czas do końca %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr "Partycja %s jest używana. Czy na pewno kontynuować?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Partycja (partycje) na %s są używane."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2408,31 +2499,31 @@ msgstr ""
 "Istniejąca etykieta dysku na %s zostanie zniszczona, a wszystkie dane na tym "
 "dysku zostaną utracone. Kontynuować?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Nowy typ etykiety dysku?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Typ partycji?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Nazwa partycji?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Typ systemu plików?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Początek?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Koniec?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2442,7 +2533,7 @@ msgstr ""
 "Najbliższa z jaką Parted może sobie poradzić jest od %s do %s (sektorów: "
 "%llu..%llu).%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2450,84 +2541,95 @@ msgstr ""
 "\n"
 "Czy jest to do przyjęcia?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
 "Partycja wynikowa nie jest wyrównana właściwie dla najlepszej wydajności."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Etykiety dysku %s nie wspierają rozszerzonych partycji."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Numer partycji?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "Geometria BIOS cylinder,głowica,sektor: %d,%d,%d. Każdy cylinder ma %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Model: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Dysk %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Rozmiar sektora (logiczny/fizyczny): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Tablica partycji: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Flagi dysku: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Numer"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Początek"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Koniec"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Rozmiar"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Typ"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "System plików"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Nazwa"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Flaga"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Wolne miejsce"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2536,98 +2638,99 @@ msgstr ""
 "Partycja %s %s została znaleziona na %s -> %s. Czy chcesz ją dodać do "
 "tablicy partycji?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "szukam systemów plików"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr "Polecenie zmiany rozmiaru zostało usunięte w partedzie 3.0"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 "Zmniejszenie rozmiaru partycji może spowodować utratę danych, czy na pewno "
 "kontynuować?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Nowe urządzenie?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "rodzaj wyrównania(min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d wyrównana\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d niewyrównana\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Flaga do przestawienia?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Nowy stan?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Jednostka?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "sprawdź-wyrównanie"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "sprawdź-wyrównanie TYP N                  sprawdzenie wyrównania TYP(min|"
 "opt) partycji N"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "pomoc"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr ""
 "pomoc [POLECENIE]             wyświetla pomoc ogólną lub dotyczącą POLECENIA"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
 msgstr ""
 "mklabel,mktable TYP-ETYKIETY  tworzy nową etykietę dysku (tablicę partycji)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart TYP-PARTYCJI [SYSTEM-PLIKÓW] POCZĄTEK KONIEC   tworzy partycję"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2636,19 +2739,19 @@ msgstr ""
 "tej partycji. Opcjonalny SYSTEM-PLIKÓW może zostać podany do określenia "
 "właściwego identyfikatora partycji.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "nazwa"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "name NUMER NAZWA              nadaje NAZWĘ partycji NUMER"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "drukuj"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2657,7 +2760,7 @@ msgstr ""
 "print [devices|free|list,all|NUMER]   wyświetla tablicę partycji, dostępne "
 "urządzenia, wolne miejsce, znalezione partycje lub określoną partycję"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2665,11 +2768,11 @@ msgstr ""
 "Bez argumentów 'print' wyświetla całą tablicę partycji. Jednak z "
 "następującymi parametrami wykonuje różne inne akcje:\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : wyświetla wszystkie aktywne urządzenia blokowe\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2677,14 +2780,14 @@ msgstr ""
 "  free      : wyświetla informacje o wolnym, niespartycjonowanym miejscu na "
 "aktualnym urządzeniu blokowym\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : wyświetla tablice partycji wszystkich aktywnych urządzeń "
 "blokowych\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
@@ -2692,19 +2795,19 @@ msgstr ""
 "  NUMER     : wyświetla bardziej szczegółowe informacje o określonej "
 "partycji\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "koniec"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                          kończy pracę programu"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "uratuj"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2712,90 +2815,90 @@ msgstr ""
 "rescue POCZĄTEK KONIEC        odzyskuje utraconą partycję blisko POCZĄTKU i "
 "KOŃCA"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "zmień-rozmiar"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr "Polecenie zmiany rozmiaru zostało usunięte w partedzie 3.0\n"
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
 msgstr "resizepart"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "resizepart NUMER KONIEC       zmienia rozmiar partycji NUMER"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "usuń"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm NUMER                      usuwa partycję NUMER"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "wybierz"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select URZĄDZENIE             wybiera urządzenie do edycji"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "ustaw_dysk"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr "disk_set FLAGA STAN           zmienia flagę na wybranym urządzeniu"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "przełącz_dysk"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
 "disk_toggle [FLAGA]           przestawia stan FLAGI na wybranym urządzeniu"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "ustaw"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set NUMER FLAGA STAN          zmienia flagę na partycji NUMER"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "przestaw"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr "toggle [NUMER [FLAGA]]        przestawia stan FLAGI na partycji NUMER"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "jednostka"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr "unit JEDNOSTKA                ustawia domyślną jednostkę"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "wersja"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2803,7 +2906,7 @@ msgstr ""
 "version                       wyświetla numer wersji GNU Parteda i "
 "informacje o prawach autorskich"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2811,31 +2914,31 @@ msgstr ""
 "'version' wyświetla informacje o prawach autorskich i wersji dla tej kopii "
 "GNU Parteda\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 "Składnia: %s [-hlmsv] [-a<wyrównanie>] [URZĄDZENIE [POLECENIE "
 "[PARAMETRY]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Nie znaleziono urządzenia"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr "UWAGA: Nie jesteś superużytkownikiem. Uważaj na uprawnienia.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Może wystąpić potrzeba aktualizacji /etc/fstab.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 "Witamy w GNU Partedzie! Listę poleceń można zobaczyć po napisaniu 'help'.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2846,7 +2949,7 @@ msgstr ""
 "Wykonuje POLECENIA z PARAMETRAMI dla URZĄDZENIA. Jeśli nie podano POLECEŃ,\n"
 "program zostanie uruchomiony w trybie interaktywnym.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2910,7 +3013,7 @@ msgstr ""
 "Dołącz także dodatkowe informacje o konfiguracji, które uważasz\n"
 "za istotne.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2918,7 +3021,7 @@ msgstr ""
 "\n"
 "Historia poleceń:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2926,7 +3029,7 @@ msgstr ""
 "\n"
 "Błąd: SEGV_MAPERR (Adres nie odwzorowany na obiekcie)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2934,7 +3037,7 @@ msgstr ""
 "\n"
 "Błąd: SEGV_ACCERR (Nieprawidłowe uprawnienia dla odwzorowanego obiektu)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2942,7 +3045,7 @@ msgstr ""
 "\n"
 "Błąd: Wystąpił ogólny sygnał SIGSEGV.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2950,7 +3053,7 @@ msgstr ""
 "\n"
 "Błąd: FPE_INTDIV (dzielenie przez zero na liczbach całkowitych)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2958,7 +3061,7 @@ msgstr ""
 "\n"
 "Błąd: FPE_INTOVF (przepełnienie dla liczby całkowitej)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2966,7 +3069,7 @@ msgstr ""
 "\n"
 "Błąd: FPE_FLTDIV (dzielenie przez zero na liczbach zmiennoprzecinkowych)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2974,7 +3077,7 @@ msgstr ""
 "\n"
 "Błąd: FPE_FLTOVF (przepełnienie dla liczby zmiennoprzecinkowej)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2982,7 +3085,7 @@ msgstr ""
 "\n"
 "Błąd: FPE_FLTUND (niedopełnienie dla liczby zmiennoprzecinkowej)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2990,7 +3093,7 @@ msgstr ""
 "\n"
 "Błąd: FPE_FLTRES (niedokładny wynik dla liczb zmiennoprzecinkowych)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2998,7 +3101,7 @@ msgstr ""
 "\n"
 "Błąd: FPE_FLTINV (nieprawidłowa operacja dla liczb zmiennoprzecinkowych)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -3006,7 +3109,7 @@ msgstr ""
 "\n"
 "Błąd: FPE_FLTSUB (indeks spoza zakresu dla liczb zmiennoprzecinkowych)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -3014,7 +3117,7 @@ msgstr ""
 "\n"
 "Błąd: Wystąpił ogólny sygnał SIGFPE."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -3022,7 +3125,7 @@ msgstr ""
 "\n"
 "Błąd: ILL_ILLOPC (niedozwolony kod instrukcji)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3030,7 +3133,7 @@ msgstr ""
 "\n"
 "Błąd: ILL_ILLOPN (niedozwolony operand)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3038,7 +3141,7 @@ msgstr ""
 "\n"
 "Błąd: ILL_ILLADR (niedozwolony tryb adresowania)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3046,7 +3149,7 @@ msgstr ""
 "\n"
 "Błąd: ILL_ILLTRP (niedozwolona pułapka)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3054,7 +3157,7 @@ msgstr ""
 "\n"
 "Błąd: ILL_PRVOPC (uprzywilejowany kod instrukcji)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3062,7 +3165,7 @@ msgstr ""
 "\n"
 "Błąd: ILL_PRVREG (uprzywilejowany rejestr)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3070,7 +3173,7 @@ msgstr ""
 "\n"
 "Błąd: ILL_COPROC (błąd koprocesora)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3078,7 +3181,7 @@ msgstr ""
 "\n"
 "Błąd: ILL_BADSTK (wewnętrzny błąd stosu)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3086,65 +3189,69 @@ msgstr ""
 "\n"
 "Błąd: Wystąpił ogólny sygnał SIGILL."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "nieprawidłowy token: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Oczekiwany był numer partycji."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Partycja nie istnieje."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Oczekiwany był typ systemu plików."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Nieznany typ systemu plików \"%s\"."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Oczekiwany był typ etykiety dysku."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Nie można utworzyć więcej partycji."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Oczekiwany był typ partycji."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "włączone"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "wyłączone"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "optymalne"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "minimalne"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "OPCJE:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "POLECENIA:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3155,11 +3262,33 @@ msgstr ""
 "Błędy w tłumaczeniu prosimy zgłaszać na adres: <translation-team-pl@lists."
 "sourceforge.net>.\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Użycie %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "To polecenie nie ma sensu w trybie nieinteraktywnym.\n"
+
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: opcja '--%s' nie może mieć argumentów\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: nieznana opcja '--%s'\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: opcja '-W %s' nie może mieć argumentów\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: opcja '-W %s' musi mieć argument\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Strona domowa projektu %s: <http://www.gnu.org/software/%s/>.\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Ten system plików posiada rozmiar logicznego sektora %d. GNU Parted nie "
+#~ "współpracuje prawidłowo z rozmiarami sektorów innymi niż 512 bajtów."
index a9b1df72d3398cfaf2805fc0a64af3d66e1375b3..e0ddaa830545be22b755c03f95e0fec530069362 100644 (file)
Binary files a/po/pt.gmo and b/po/pt.gmo differ
index a6a5c9598a45a8114188cb582d9ea61966d26db6..b8d9326ff9cd7ac09bc36bd1a64b7a673ee2ee7e 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 1.4.20\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2001-10-16 20:16+02:00\n"
 "Last-Translator: Gonçalo Silva <goncalo.silva@caixamagica.org>\n"
 "Language-Team: Portuguese <pt@li.org>\n"
@@ -15,85 +15,66 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr ""
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr ""
 
-#: lib/error.c:188
+#: lib/error.c:195
 #, fuzzy
 msgid "Unknown system error"
 msgstr "Tipo de sistema de ficheiros desconhecido."
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr ""
-
-#: lib/getopt.c:624 lib/getopt.c:628
+#: lib/getopt.c:278
 #, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous\n"
 msgstr ""
 
-#: lib/getopt.c:637 lib/getopt.c:642
+#: lib/getopt.c:284
 #, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr ""
 
-#: lib/getopt.c:685 lib/getopt.c:704
+#: lib/getopt.c:319
 #, c-format
-msgid "%s: option '--%s' requires an argument\n"
+msgid "%s: unrecognized option '%s%s'\n"
 msgstr ""
 
-#: lib/getopt.c:742 lib/getopt.c:745
+#: lib/getopt.c:345
 #, c-format
-msgid "%s: unrecognized option '--%s'\n"
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr ""
 
-#: lib/getopt.c:753 lib/getopt.c:756
+#: lib/getopt.c:360
 #, c-format
-msgid "%s: unrecognized option '%c%s'\n"
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr ""
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr ""
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr ""
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr ""
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -113,85 +94,85 @@ msgstr ""
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr ""
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr ""
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr ""
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr ""
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr ""
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr ""
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr ""
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr ""
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr ""
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr ""
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr ""
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr ""
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr ""
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr ""
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr ""
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr ""
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr ""
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr ""
 
@@ -215,12 +196,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -228,34 +209,33 @@ msgstr ""
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -263,7 +243,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -273,7 +253,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -283,7 +263,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -293,7 +273,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -303,7 +283,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -314,7 +294,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -325,7 +305,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -337,30 +317,24 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
+#: lib/version-etc.c:249
 #, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+msgid "Report bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: lib/version-etc.c:253
+#: lib/version-etc.c:260
 #, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 
 #: lib/xalloc-die.c:34
@@ -387,59 +361,59 @@ msgid "Disk Image"
 msgstr ""
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Erro abrindo %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Não posso abrir %s para gravação (%s). %s foi aberto somente para leitura."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s durante procura para leitura em %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s durante leitura em %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Não posso gravar em %s, pois ela foi aberta como somente para leitura."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s durante procura para escrita em %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s durante escrita em %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr ""
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -449,13 +423,13 @@ msgid ""
 "  -v, --version    output version information and exit\n"
 msgstr ""
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -500,7 +474,7 @@ msgstr ""
 "significa que o Linux não sabe nada sobre as modificações que fez. Deverá "
 "reinicializar seu computador antes de fazer qualquer uso de %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -513,45 +487,45 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr ""
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Não foi possível inicializar o dispositivo %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, fuzzy, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Impossível determinar tamanho de %s (%s)"
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
 "Using the default sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
 "Using the logical sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, fuzzy, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Impossível determinar tamanho de %s (%s)"
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr ""
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Não foi possível obter a identificação do dispositivo %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr ""
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -560,19 +534,19 @@ msgid ""
 "Please consult the web site for up-to-date information."
 msgstr ""
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Erro inicializando dispositivo SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
 "partition table.  Perhaps you selected the wrong device?"
 msgstr ""
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, fuzzy, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -581,86 +555,98 @@ msgstr ""
 "Impossível determinar a geometria do ficheiro/dispositivo. Não deve utilizar "
 "o Parted a não ser que REALMENTE saiba o que está a fazer!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr ""
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+msgid "NVMe Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Controlador RAID DAC960"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr ""
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr ""
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Controlador ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Controlador I20"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr ""
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr ""
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr ""
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Desconhecido"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Tipo de dispositivo não suportado"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, fuzzy, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Erro abrindo %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr ""
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -668,12 +654,12 @@ msgid ""
 "so you shouldn't mount it or use it in any way before rebooting."
 msgstr ""
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, fuzzy, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Impossível determinar tamanho de %s (%s)"
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -682,77 +668,77 @@ msgid ""
 "making further changes."
 msgstr ""
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, fuzzy, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "Não pode ter o fim da partição antes do início."
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, fuzzy, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Tentativa de escrever sectores %ld-%ld fora da partição em %s"
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr ""
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr ""
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr ""
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, fuzzy, c-format
 msgid "%s: unrecognised disk label"
 msgstr "Impossível abrir %s - rótulo de disco desconhecido."
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, fuzzy, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
 "read-only."
 msgstr "Não posso gravar em %s, pois ela foi aberta como somente para leitura."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, fuzzy, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "A partição é muito pequena para um sistema de ficheiros FAT"
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr ""
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 #, fuzzy
 msgid "pmbr_boot"
 msgstr "boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, fuzzy, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Sinalizador de partição desconhecido, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Rótulos de disco %s não suportam partições extendidas."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "Rótulos de disco %s não suportam partições lógicas ou extendidas."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 #, fuzzy
 msgid "Too many primary partitions."
 msgstr "Muitas páginas inválidas."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -760,131 +746,131 @@ msgstr ""
 "Não posso adicionar uma partição lógica em %s, pois não há uma partição "
 "extendida."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, fuzzy, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Não se pode haver mais de uma partição extendida em %s"
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 #, fuzzy
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr ""
 "Não posso adicionar uma partição lógica fora da partição extendida em %s."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, fuzzy, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr ""
 "Não posso adicionar uma partição lógica fora da partição extendida em %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 #, fuzzy
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Não posso adicionar uma partição primária dentro de uma extendida."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Não pode ter uma partição fora do disco!."
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 #, fuzzy
 msgid "Can't have overlapping partitions."
 msgstr "Não posso copiar para uma partição sobreposta."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr ""
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "livre"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "extendida"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "lógica"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primária"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "boot"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr ""
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "root"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "escondida"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr ""
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr ""
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr ""
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr ""
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr ""
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr ""
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr ""
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr ""
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 #, fuzzy
 msgid "esp"
 msgstr "Sim"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, fuzzy, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Sinalizador de partição desconhecido, %d."
@@ -950,33 +936,33 @@ msgid ""
 "containing at least the version (%s) and the following message:  "
 msgstr ""
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 #, fuzzy
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
 "O suporte para criar sistema de ficheiros %s não foi implementado ainda."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 #, fuzzy
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
 "O suporte para criar sistema de ficheiros %s não foi implementado ainda."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 #, fuzzy
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "O suporte para criar sistema de ficheiros %s não foi implementado ainda."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 #, fuzzy
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "O suporte para criar sistema de ficheiros %s não foi implementado ainda."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 #, fuzzy
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
@@ -984,202 +970,317 @@ msgid ""
 msgstr ""
 "O suporte para criar sistema de ficheiros %s não foi implementado ainda."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 #, fuzzy
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "O suporte para criar sistema de ficheiros %s não foi implementado ainda."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Não posso copiar partições extendidas."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 #, fuzzy
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Impossível alinhar a partição."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+#, fuzzy
+msgid "Unable to allocate a partition number."
+msgstr "Impossível alinhar a partição."
+
+#: libparted/labels/bsd.c:592
 #, fuzzy
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Impossível localizar um rotulo de disco bsd"
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 #, fuzzy
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Impossível localizar um rotulo de disco bsd"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, fuzzy, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Tabela de partições inválida em %s - assinatura errada %x"
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Tabela de partições inválida - partição recursiva em %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 #, fuzzy
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Partições ext2 não podem ser escondidas em rótulos de disco msdos."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Partições ext2 não podem ser escondidas em rótulos de disco msdos."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 #, fuzzy
 msgid "cannot create any more partitions"
 msgstr "Não posso copiar partições extendidas."
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, fuzzy, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr ""
 "Não posso redimensionar uma partição extendida, sem excluir uma partição "
 "lógica."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 #, fuzzy
 msgid "Only primary partitions can be root partitions."
 msgstr "Não posso adicionar uma partição primária dentro de uma extendida."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 #, fuzzy
 msgid "Only primary partitions can be swap partitions."
 msgstr "Não posso adicionar uma partição primária dentro de uma extendida."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr ""
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
 "Only logical partitions (boot files) have a name."
 msgstr ""
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 #, fuzzy
 msgid "Too many primary partitions"
 msgstr "Muitas páginas inválidas."
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr ""
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 #, fuzzy
 msgid "Unsupported disk type"
 msgstr "ped_device_new()  Tipo de dispositivo não suportado"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr ""
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr ""
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr ""
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr ""
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 #, fuzzy
 msgid "Fatal error"
 msgstr "Fatal"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr ""
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 #, fuzzy
 msgid "No room for partition info."
 msgstr "Nenhum mapa de partições válido foi encontrado."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr ""
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr ""
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Não foi possível detectar o sistema de Ficheiros."
+
+#: libparted/labels/fdasd.c:1029
 #, fuzzy
 msgid "Could not retrieve disk geometry information."
 msgstr "Não foi possível ler a geometria de %s - %s"
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr ""
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
 msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr ""
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
 "what Parted can recognise.  Please report this!"
 msgstr ""
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1187,82 +1288,82 @@ msgid ""
 "setting? "
 msgstr ""
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
 msgstr ""
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
 msgstr ""
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
 msgstr ""
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
 msgstr ""
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr ""
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "Impossível alinhar a partição."
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Assinatura inválida %x para rótulos de disco Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Mapa de partições não tem nenhuma entrada!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s é muito pequeno para um rótulo de disco Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "A partição %d tem uma assinatura inválida %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "A partição %d tem um tamanho inválido de 0 bytes!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 #, fuzzy
 msgid "The data region doesn't start at the start of the partition."
 msgstr "A região de dados não começa no início da partição"
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 #, fuzzy
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "A região de inicialização não começa no início da partição"
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "A região de inicialização da partição não a ocupa inteiramente."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "A região de dados da partição não a ocupa inteiramente."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1270,7 +1371,7 @@ msgstr ""
 "tamanho de bloco estranho no descritor de dispositivo: %d bytes não são "
 "divisíveis por 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1279,11 +1380,11 @@ msgstr ""
 "O descritor do driver informa que o tamanho físico de bloco é %d bytes, mas "
 "o Linux informa que é %d bytes."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Nenhum mapa de partições válido foi encontrado."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, fuzzy, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1292,12 +1393,12 @@ msgstr ""
 "Conflito nos tamanhos de mapa de partição! Entrada 1 informa que é %d, mas "
 "entrada %d informa que é %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 #, fuzzy
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Estranho - 2 entradas no mapa de partição"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1305,7 +1406,7 @@ msgstr ""
 "Mudar o nome de uma partição root ou swap irá impedir o Linux de reconhecê-"
 "la como tal."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 #, fuzzy
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
@@ -1329,92 +1430,87 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Não posso adicionar outra partição."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
 msgstr ""
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
 msgstr ""
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr ""
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr ""
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, fuzzy, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "Impossível alinhar a partição."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, fuzzy, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Impossível determinar se a partição está montada."
 
-#: libparted/labels/rdb.c:1080
-#, fuzzy
-msgid "Unable to allocate a partition number."
-msgstr "Impossível alinhar a partição."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr ""
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
 "match the geometry stored on the disk label (%d,%d,%d)."
 msgstr ""
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "O rotulo do disco afirma que o disco é maior que %s"
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr ""
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1422,7 +1518,7 @@ msgid ""
 "it as well."
 msgstr ""
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr ""
 
@@ -1442,62 +1538,62 @@ msgstr ""
 msgid "reading from device failed"
 msgstr ""
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 #, fuzzy
 msgid "Could not read volume label."
 msgstr "Não foi possível ler a geometria de %s - %s"
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 #, fuzzy
 msgid "Could not write volume label."
 msgstr "Não foi possível detectar o sistema de Ficheiros."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr ""
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Não há memória."
 
@@ -1520,73 +1616,73 @@ msgstr ""
 msgid "The maximum sector value is %d."
 msgstr ""
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, fuzzy, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Impossível criar partição fora do dispositivo."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr ""
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, fuzzy, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s durante escrita em %s"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr ""
@@ -1633,56 +1729,46 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr "Sector de boot FAT diz que o tamanho lógico do sector é 0. Estranho. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr "Sector de boot FAT diz que não há tabelas FAT. Estranho. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr "Sector de boot FAT diz que os clusters têm 0 setores. Estranho. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 #, fuzzy
 msgid "File system is FAT12, which is unsupported."
 msgstr "O sistema de ficheiros é FAT12, que não é suportado."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, fuzzy, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Assinatura linux swap não reconhecida '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, fuzzy, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Assinatura linux swap não reconhecida '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, fuzzy, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Assinatura linux swap não reconhecida '%10s'."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Este sistema de ficheiros tem um tamanho de sector lógico de %d. O GNU "
-"Parted é conhecido por não funcionar corretamente com sectores diferentes de "
-"512 bytes."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1692,7 +1778,7 @@ msgid ""
 "geometry."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1711,7 +1797,7 @@ msgstr ""
 "Você precisa de %dM de espaço livre para diminuir esta partição para este "
 "tamanho (você tem somente %dM livres)"
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
@@ -1719,14 +1805,14 @@ msgstr ""
 "O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster "
 "%d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Entrada de diretório inválida para %s: o primeiro cluster é o fim do "
 "marcador de ficheiro."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1734,7 +1820,7 @@ msgstr ""
 "FAT estragada: cadeia não terminada para %s. Você deveria correr o dosfsck "
 "ou o scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, fuzzy, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1743,7 +1829,7 @@ msgstr ""
 "FAT estragada: cluster %d fora do sistema de ficheiros na cadeia para %s. "
 "Você deveria correr o dosfsck ou o scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1752,12 +1838,12 @@ msgstr ""
 "FAT estragada: o cluster %d tem uma referência cruzada para %s. Você deveria "
 "correr o dosfsck ou o scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, fuzzy, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s é %dk, mas tem %d clusters (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1809,16 +1895,16 @@ msgstr ""
 "Não há espaço suficiente no diretório raiz para todos os ficheiros. Cancele, "
 "ou ignore para perder os ficheiros."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Erro escrevendo no diretório raiz."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 #, fuzzy
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "Se deixar seu sistema de ficheiros como FAT16, não haverá problemas."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1828,7 +1914,7 @@ msgstr ""
 "deverá reinstalar o gestor de boot do MS Windows. Se quiser fazer isso, "
 "consulte o manual do Parted (ou o manual de sua distribuição)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1836,7 +1922,7 @@ msgstr ""
 "Se deixar seu sistema de ficheiros como FAT32, você não terá mais nenhum "
 "problema novo."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1850,35 +1936,35 @@ msgstr ""
 "convertendo para FAT32 fará com que o sistema de ficheiros não seja mais "
 "reconhecido pelo MS DOS, Windows 95a, e MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Você gostaria de usar FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "O sistema de ficheiros só pode ser redimensionado para esse tamanho se "
 "convertido para FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "O sistema de ficheiros só pode ser redimensionado para esse tamanho se "
 "convertido para FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 #, fuzzy
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
@@ -1924,67 +2010,67 @@ msgstr ""
 msgid "The file system is bigger than its volume!"
 msgstr "O rotulo do disco afirma que o disco é maior que %s"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr ""
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:213
+#: libparted/fs/r/hfs/cache.c:214
 #, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
@@ -2059,127 +2145,127 @@ msgstr ""
 msgid "shrinking embedded HFS+ volume"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 #, fuzzy
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 "O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster "
 "%d."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 #, fuzzy
 msgid "Some header fields are not multiple of the sector size."
 msgstr ""
 "O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster "
 "%d."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 #, fuzzy
 msgid "Could not cache the file system in memory."
 msgstr "Não foi possível detectar o sistema de Ficheiros."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
@@ -2279,229 +2365,240 @@ msgid ""
 "\n"
 msgstr ""
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr ""
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Partição(ões) em %s está(ão) a ser utilizada(s)."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
 "will be lost. Do you want to continue?"
 msgstr ""
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 #, fuzzy
 msgid "New disk label type?"
 msgstr "Tipo de rótulo de disco: %s\n"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 #, fuzzy
 msgid "Partition type?"
 msgstr "A partição não existe."
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 #, fuzzy
 msgid "Partition name?"
 msgstr "A partição não existe."
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 #, fuzzy
 msgid "File system type?"
 msgstr "SistemaFich "
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr ""
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr ""
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
 "The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
 msgstr ""
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
 msgstr ""
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Rótulos de disco %s não suportam partições extendidas."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 #, fuzzy
 msgid "Partition number?"
 msgstr "A partição está a ser utilizada."
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr ""
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, fuzzy, c-format
 msgid "Disk %s: %s\n"
 msgstr "Tipo de rótulo de disco: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr ""
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, fuzzy, c-format
 msgid "Partition Table: %s\n"
 msgstr "Tabela de partições inválida em %s"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, fuzzy, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Tipo de rótulo de disco: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr ""
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr ""
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr ""
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr ""
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr ""
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 #, fuzzy
 msgid "File system"
 msgstr "SistemaFich "
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr ""
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Sinalizador"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr ""
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
 "partition table?"
 msgstr ""
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr ""
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 #, fuzzy
 msgid "New device?"
 msgstr "Nenhum dispositivo encontrado"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1721
 #, c-format
-msgid "%d not aligned\n"
+msgid "%d not aligned: %s\n"
 msgstr ""
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr ""
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr ""
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr ""
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 #, fuzzy
 msgid "align-check"
 msgstr "check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
 #, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr "print                         mostra a tabela de partições"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 #, fuzzy
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr "help [COMANDO]                mostra ajuda geral, ou ajuda a COMANDO"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr ""
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 #, fuzzy
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
@@ -2509,16 +2606,16 @@ msgid ""
 msgstr ""
 "mklabel TIPO-ROTULO           cria um novo rótulo (na tabela de partição)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 #, fuzzy
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart TIPO-PART [FS-TYPE] INICIO FIM     cria uma partição"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 #, fuzzy
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
@@ -2529,196 +2626,196 @@ msgstr ""
 "partição extendida). Este comando é útil se apagou acidentalmente uma "
 "partição.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 #, fuzzy
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "name MINOR NAME               renomeia a partição MINOR para NAME"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
 msgstr ""
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 #, fuzzy
 msgid "quit                                     exit program"
 msgstr "quit                          sair do programa"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr ""
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 #, fuzzy
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
 msgstr "print                         mostra a tabela de partições"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 #, fuzzy
 msgid "resizepart"
 msgstr "resize"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "rm MINOR                      apaga a partição MINOR"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 #, fuzzy
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm MINOR                      apaga a partição MINOR"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 #, fuzzy
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select DEVICE                 selecciona o dispositivo a editar"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr ""
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr ""
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 #, fuzzy
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set MINOR FLAG ESTADO         muda o sinalizador na partição MINOR"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr ""
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr ""
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 #, fuzzy
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr "print                         mostra a tabela de partições"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr ""
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 #, fuzzy
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr "print                         mostra a tabela de partições"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Nenhum dispositivo encontrado"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr ""
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 #, fuzzy
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
@@ -2730,7 +2827,7 @@ msgstr ""
 "Aplica COMANDO com os PARAMETROS no DISPOSITIVO. Se não for dado nenhum\n"
 "COMANDO, executa em modo interactivo.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2764,215 +2861,219 @@ msgid ""
 "consider important.\n"
 msgstr ""
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
 msgstr ""
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
 msgstr ""
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
 msgstr ""
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
 msgstr ""
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
 msgstr ""
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
 msgstr ""
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
 msgstr ""
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
 msgstr ""
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
 msgstr ""
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
 msgstr ""
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
 msgstr ""
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
 msgstr ""
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
 msgstr ""
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
 msgstr ""
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 msgstr ""
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
 msgstr ""
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
 msgstr ""
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
 msgstr ""
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
 msgstr ""
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
 msgstr ""
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, fuzzy, c-format
 msgid "invalid token: %s"
 msgstr "Tabela de partições inválida em %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 #, fuzzy
 msgid "Expecting a partition number."
 msgstr "A partição destino está a ser utilizada."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "A partição não existe."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 #, fuzzy
 msgid "Expecting a file system type."
 msgstr "Tipo de sistema de ficheiros desconhecido."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, fuzzy, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Tipo de sistema de ficheiros desconhecido."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr ""
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 #, fuzzy
 msgid "Can't create any more partitions."
 msgstr "Não posso adicionar outra partição."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 #, fuzzy
 msgid "Expecting a partition type."
 msgstr "A partição destino não existe."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "on"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr ""
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr ""
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr ""
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "OPÇÕES:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "COMANDOs:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
 "Report bugs to %s\n"
 msgstr ""
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, fuzzy, c-format
 msgid "Using %s\n"
 msgstr ""
 "\n"
 "Usando %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr ""
 
@@ -3239,6 +3340,14 @@ msgstr ""
 #~ msgid "File system has an invalid signature for a FAT file systems."
 #~ msgstr "Sistema de ficheiros tem uma assinatura inválida para um FAT."
 
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Este sistema de ficheiros tem um tamanho de sector lógico de %d. O GNU "
+#~ "Parted é conhecido por não funcionar corretamente com sectores diferentes "
+#~ "de 512 bytes."
+
 #~ msgid ""
 #~ "Partition size (%ld sectors) and filesystem size (%ld sectors) do not "
 #~ "match."
index fff54d4b3e0b1720832a0a9795db874701d62db8..409028e3d2381c665b37022e26aa82f4dc360d42 100644 (file)
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
index 36932ac69639245ea8c2e400581ce3a7f9461158..4244ab0b59f8de2a3258246d60315b46d400f4a0 100644 (file)
-# Brazilian Portuguese messages for GNU parted.
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Brazilian Portuguese translations for parted package
+# Traduções em português brasileiro para o pacote parted
+# Copyright (C) 2019 Free Software Foundation, Inc.
 # This file is distributed under the same license as the parted package.
 # Eliphas Levy Theodoro <eliphas@conectiva.com>, 1999.
 # Enrico Nicoletto <liverig@gmail.com>, 2013.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2014.
-#
+# Rafael Fontenelle <rafaelff@gnome.org>, 2014, 2017, 2019.
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU parted 3.1.90\n"
+"Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
-"PO-Revision-Date: 2014-07-26 01:09-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
+"PO-Revision-Date: 2019-08-28 15:29-0300\n"
+"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
 "net>\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.6.5\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Virtaal 1.0.0-beta1\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
-msgstr "argumento %s é inválido para %s"
+msgstr "argumento inválido %s para %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
-msgstr "argumento %s é ambíguo para %s"
+msgstr "argumento ambíguo %s para %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Argumentos válidos são:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "erro de escrita"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
-msgstr "Erro desconhecido do sistema"
+msgstr "Erro desconhecido de sistema"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: a opção '%s' é ambígua; possibilidades:"
-
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: a opção '--%s' não permite um argumento\n"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: a opção \"-W %s\" é ambígua\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: a opção '%c%s' não permite um argumento\n"
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s: a opção \"%s\" é ambígua; possibilidades:"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: a opção '--%s' necessita de um argumento\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: opção desconhecido \"%c%s\"\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: opção irreconhecível '--%s'\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
+msgstr "%s: a opção \"%c%s\" não permite um argumento\n"
 
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: opção irreconhecível '%c%s'\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
+msgstr "%s: a opção \"--%s\" exige de um argumento\n"
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: opção inválida -- '%c'\n"
+msgstr "%s: opção inválida -- \"%c\"\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: a opção necessita de um argumento -- '%c'\n"
-
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: a opção '-W %s' é ambígua\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: a opção '-W %s' não permite um argumento\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: a opção '-W %s' necessita de um argumento\n"
+msgstr "%s: a opção exige um argumento -- \"%c\"\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
@@ -117,85 +98,86 @@ msgstr "%s: a opção '-W %s' necessita de um argumento\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
-msgstr "'"
+msgstr ""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
-msgstr "'"
+msgstr ""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
-msgstr "Com sucesso"
+msgstr "Sucesso"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
-msgstr "Nenhuma coincidência"
+msgstr "Nenhuma ocorrência do padrão"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Expressão regular inválida"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
-msgstr "Agrupamento de caractere inválido"
+msgstr "Caractere de combinação inválido"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
-msgstr "Nome de classe de caractere inválido"
+msgstr "Nome inválido de categoria de caracteres"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
-msgstr "Barra invertida à direita"
+msgstr "Barra invertida no final"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
-msgstr "Referência inversa inválida"
+msgstr "Retrorreferência inválida"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
-msgstr "'[' incompatível ou [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
+msgstr "[ ou [^ sem correspondente"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
-msgstr "'(' incompatível ou \\("
+msgstr "( ou \\( sem correspondente"
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
-msgstr "\\{ incompatível"
+msgstr "\\{ sem correspondente"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Conteúdo inválido de \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
-msgstr "Final de intervalo inválido"
+msgstr "Fim de intervalo inválido"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Memória esgotada"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
-msgstr "Expressão regular anterior inválida"
+msgstr "A expressão regular precedente é inválida"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Fim prematuro da expressão regular"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
-msgstr "Expressão regular muito grande"
+msgstr "Expressão regular grande demais"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
-msgstr "')' incompatível ou \\)"
+msgstr ") ou \\) sem correspondente"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Nenhuma expressão regular anterior"
 
@@ -207,7 +189,7 @@ msgstr "Nenhuma expressão regular anterior"
 #. locale -k LC_MESSAGES | grep '^yesexpr='
 #: lib/rpmatch.c:150
 msgid "^[yY]"
-msgstr "^[SsYy]"
+msgstr "^[+1SsyY]"
 
 #. TRANSLATORS: A regular expression testing for a negative answer
 #. (english: "no").  Testing the first character may be sufficient.
@@ -217,14 +199,14 @@ msgstr "^[SsYy]"
 #. locale -k LC_MESSAGES | grep '^noexpr='
 #: lib/rpmatch.c:163
 msgid "^[nN]"
-msgstr "^[Nn]"
+msgstr "^[-0nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Empacotado por %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Empacotado por %s\n"
@@ -232,40 +214,39 @@ msgstr "Empacotado por %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
-msgstr "©"
+msgstr "(C)"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl."
-"html>.\n"
-"Este é um software livre: você é livre para alterá-lo ou redistribuí-lo.\n"
-"Não há NENHUMA GARANTIA, até o limite permitido pela lei.\n"
+"html>\n"
+"Este é um software livre: você é livre para alterá-lo e redistribuí-lo.\n"
+"NÃ\83O HÃ\81 QUALQUER GARANTIA, na máxima extensão permitida em lei.\n"
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Escrito por %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Escrito por %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Escrito por %s, %s, e %s.\n"
@@ -273,7 +254,7 @@ msgstr "Escrito por %s, %s, e %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -285,7 +266,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -297,7 +278,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -309,7 +290,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -321,7 +302,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -335,7 +316,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -349,7 +330,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -364,33 +345,29 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
-"Informe erros para: %s\n"
+"Relate erros para: %s\n"
+"Relate erros de tradução para <https://translationproject.org/team/pt_BR."
+"html>\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
-msgstr "Informe %s erros para: %s\n"
+msgstr "Relate erros do %s para: %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
-msgstr "%s página principal: <%s>\n"
+msgstr "Página do %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "%s página principal: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr "Ajuda geral usando software GNU: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
+msgstr "Ajuda geral no uso de softwares GNU: <http://www.gnu.org/gethelp/>\n"
 
 #: lib/xalloc-die.c:34
 msgid "memory exhausted"
@@ -399,76 +376,77 @@ msgstr "memória esgotada"
 #: lib/xstrtol-error.c:63
 #, c-format
 msgid "invalid %s%s argument '%s'"
-msgstr "é inválido %s%s argumento '%s'"
+msgstr "argumento inválido para %s%s: \"%s\""
 
 #: lib/xstrtol-error.c:68
 #, c-format
 msgid "invalid suffix in %s%s argument '%s'"
-msgstr "sufixo inválido em %s%s argumento '%s'"
+msgstr "sufixo inválido no argumento para %s%s: \"%s\""
 
 #: lib/xstrtol-error.c:72
 #, c-format
 msgid "%s%s argument '%s' too large"
-msgstr "%s%s argumento '%s' muito comprido"
+msgstr "argumento grande demais para %s%s: \"%s\""
 
 #: libparted/arch/beos.c:245
 msgid "Disk Image"
 msgstr "Imagem de disco"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
-msgstr "Erro abrindo %s: %s"
+msgstr "Erro ao abrir %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
-"Não posso abrir %s para leitura-gravação (%s). %s foi aberto somente-leitura."
+"Não foi possível abrir %s para leitura e escrita (%s). %s foi aberto somente-"
+"leitura."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s durante busca para leitura em %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s durante leitura em %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
-msgstr "Não posso gravar em %s, pois ela foi aberta como somente-leitura."
+msgstr "Não é possível escrever em %s, pois foi aberto como somente-leitura."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s durante busca para escrita em %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s durante escrita em %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr "Tente `%s --help' para maiores informações.\n"
+msgstr "Tente \"%s --help\" para mais informações.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
-msgstr "Utilização: %s [OPÇÃO] [DISPOSITIVO]...\n"
+msgstr "Uso: %s [OPÇÃO] [DISPOSITIVO]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -477,34 +455,34 @@ msgid ""
 "  -h, --help       display this help and exit\n"
 "  -v, --version    output version information and exit\n"
 msgstr ""
-"Informa o sistema operacional sobre alterações na tabela de partição.\n"
+"Informa ao sistema operacional sobre alterações na tabela de partição.\n"
 "\n"
-"  -d, --dry-run    atualmente não informa o sistema operacional \n"
+"  -d, --dry-run    não chega a informar o sistema operacional\n"
 "  -s, --summary    exibe um resumo do conteúdo\n"
 "  -h, --help       exibe esta ajuda e sai\n"
 "  -v, --version    mostra informações da versão e sai\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
 "\n"
-"Quando nenhum DISPOSITIVO é informado, investigar todas as partições.\n"
+"Quando nenhum DISPOSITIVO é informado, investiga todas as partições.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
 "Report bugs to <%s>.\n"
 msgstr ""
 "\n"
-"Informe erros para <%s>.\n"
+"Relate erros para <%s>.\n"
 
 #: libparted/arch/gnu.c:110
 #, c-format
 msgid "Unable to open %s."
-msgstr "Não é possível abrir %s."
+msgstr "Não foi possível abrir %s."
 
 #: libparted/arch/gnu.c:130
 msgid "Unable to probe store."
@@ -519,11 +497,11 @@ msgid ""
 "and reinstall your boot loader from the rescue disk.  Read section 4 of the "
 "Parted User documentation for more information."
 msgstr ""
-"A tabela de partições não pde ser lida novamente.  Isto significa que você "
-"precisa reiniciar antes de montar qualquer partição modificada.  Você também "
-"precisará reinstalar seu gerenciador de boot antes de reinicializar (o que "
-"pode requerer a montagem das partições modificadas).  É impossível fazer as "
-"duas coisas!  Então você irá precisar inicializar por um disco de resgate, e "
+"A tabela de partições não pde ser lida novamente. Isto significa que você "
+"precisa reiniciar antes de montar qualquer partição modificada. Você também "
+"precisa reinstalar seu carregador de inicialização antes de reinicializar (o "
+"que pode exigir a montagem das partições modificadas). É impossível fazer as "
+"duas coisas! Então você irá precisar inicializar por um disco de resgate, e "
 "reinstalar seu gerenciador de boot a partir deste disco.  Leia a seção 4 da "
 "documentação do usuário do Parted para maiores informações."
 
@@ -535,33 +513,33 @@ msgid ""
 "before doing anything with %s."
 msgstr ""
 "A tabela de partições em %s não pode ser lida novamente (%s).  Isto "
-"significa que o GNU Hurd não sabe nada sobre as modificações que você fez.  "
+"significa que o GNU Hurd não sabe nada sobre as modificações que você fez. "
 "Você deve reinicializar seu computador antes de fazer qualquer coisa em %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
 msgstr ""
-"Você deve reinstalar seu gerenciador de boot antes de reinicializar. Leia a "
-"seção 4 da documentação do usuário do Parted para mais informações."
+"Você deve reinstalar seu carregador de inicialização antes de reinicializar. "
+"Leia a seção 4 da documentação do usuário do Parted para mais informações."
 
 #: libparted/arch/gnu.c:788
 #, c-format
 msgid "%s trying to sync %s to disk"
 msgstr "%s tentando sincronizar %s ao disco"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
-msgstr "Não foi possível obter status do dispositivo %s - %s."
+msgstr "Não foi possível obter estado do dispositivo %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Não foi possível determinar o tipo dm de %s."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -570,7 +548,7 @@ msgstr ""
 "Não foi possível determinar o tamanho do setor para %s: %s.\n"
 "Utilizando tamanho padrão do setor (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -579,21 +557,21 @@ msgstr ""
 "Não foi possível determinar o tamanho do setor físico para %s.\n"
 "Utilizando tamanho do setor lógico (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Não foi possível determinar tamanho de %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "IDE genérico"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Não foi possível obter a identificação do dispositivo %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "IDE genérico"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -606,128 +584,141 @@ msgstr ""
 "combinações de sistema de arquivos especiais, ex.: GPT e ext2/3.\n"
 "Por gentileza, consulte o site para informações atualizadas."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
-msgstr "Erro inicializando dispositivo SCSI %s - %s"
+msgstr "Erro ao inicializar dispositivo SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
 "partition table.  Perhaps you selected the wrong device?"
 msgstr ""
 "O dispositivo %s é tão pequeno que possivelmente não pode armazenar um "
-"sistema de arquivos ou tabela de partições.  Talvez você selecionou o "
+"sistema de arquivos ou tabela de partições. Talvez você selecionou o "
 "dispositivo errado?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
 "unless you REALLY know what you're doing!"
 msgstr ""
-"Não foi possível determinar a geometria do arquivo/dispositivo %s.  Você não "
+"Não foi possível determinar a geometria do arquivo/dispositivo %s. Você não "
 "deveria utilizar o Parted a menos que você REALMENTE saiba o que está "
 "fazendo!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Cartão de armazenamento genérico SD/MMC"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Novo dispositivo?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Controlador RAID DAC960"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Dispositivo Promise SX8 SATA"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "ATA através de dispositivo Ethernet"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "Unidade DASD IBM S390"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "DASD Virtual IBM iSeries"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Controlador ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Controlador I2O"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "Linux UBD modo usuário"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Dispositivo loopback"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Mapeador de dispositivo Linux (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Dispositivo de bloco virtual Xen"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Desconhecido"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Dispositivo de bloco Virtio"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Conjunto RAID por software Linux"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Tipo de dispositivo não suportado"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Erro ao chamar fsync/fechar %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%0.0s fim de arquivo enquanto lê %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
 "means Linux won't know about any changes you made to %s until you reboot -- "
 "so you shouldn't mount it or use it in any way before rebooting."
 msgstr ""
-"Erro ao informar o kernel sobre alterações na partição %s -- %s.  Isto "
+"Erro ao informar ao kernel sobre alterações na partição %s -- %s. Isto "
 "significa que o Linux não saberá de qualquer alteração que você tenha feito "
 "em %s até que o computador seja reiniciado -- logo você não deve montá-lo ou "
 "usá-lo de maneira alguma antes de reiniciar."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Não foi possível determinar o início e comprimento de %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -740,38 +731,38 @@ msgstr ""
 "resultado, a(s) partição(ões) antiga(s) permanecerá(ão) em uso.  Você deve "
 "reinicializar agora antes de realizar alterações posteriores."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr ""
 "Não é possível possuir o fim antes do início! (setor inicial=%jd comprimento="
 "%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Tentativa de escrever setores %ld-%ld fora da partição em %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "verificando por blocos ruins"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Backtrace possui %d chamadas na pilha:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "A declaração (%s) em %s:%d na função %s() falhou."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: rótulo de disco irreconhecível"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -780,39 +771,39 @@ msgstr ""
 "O libparted não possui suporte para escrita em %s.  Talvez isto tenha sido "
 "compilado como somente-leitura."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "A partição %d é %s, mas o sistema de arquivos é %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "cylinder_alignment"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Opção desconhecida de partição, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Rótulos de disco %s não suportam partições estendidas."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "Rótulos de disco %s não suportam partições lógicas ou estendidas."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Há partições primárias demais."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -820,126 +811,126 @@ msgstr ""
 "Não posso adicionar uma partição lógica em %s, pois não há uma partição "
 "estendida."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Não pode existir mais de uma partição estendida em %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Partições lógicas não podem existir fora da partição estendida."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "Uma partição lógica não pode existir fora da partição estendida em %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr ""
 "Não é possível ter uma partição primária dentro de uma partição estendida."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Não é possível ter uma partição para fora do disco!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
-msgstr "Não é possível ter partições que se sobrepoem."
+msgstr "Não é possível ter partições que se sobrepõem."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
-msgstr "metadado"
+msgstr "metadados"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "livre"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "estendida"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "lógica"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primária"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "boot"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "root"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "escondida"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr "irst"
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 msgid "esp"
 msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Opção de partição desconhecida, %d."
@@ -950,7 +941,7 @@ msgstr "Informação"
 
 #: libparted/exception.c:79
 msgid "Warning"
-msgstr "Alerta"
+msgstr "Atenção"
 
 #: libparted/exception.c:80
 msgid "Error"
@@ -1005,35 +996,36 @@ msgid ""
 "containing at least the version (%s) and the following message:  "
 msgstr ""
 "Um erro foi detectado no GNU parted.  Visite o site do parted: http://www."
-"gnu.org/software/parted/parted.html para maiores informações sobre o que "
-"pode ser útil na hora de submeter um erro. Por favor, envie um relatório de "
-"erro para %s contendo ao menos a versão (%s) e a seguinte mensagem:  "
+"gnu.org/software/parted/parted.html para mais informações sobre o que pode "
+"ser útil na hora de submeter um relatório de erro. Por favor, envie um "
+"relatório de erro para %s contendo ao menos a versão (%s) e a seguinte "
+"mensagem:  "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
 "Suporte para leitura de rótulos de disco AIX não foi implementado ainda."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
 "Suporte para escrita de rótulos de disco AIX não foi implementado ainda."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "Suporte para adicionar partições em rótulos de disco AIX não foi "
 "implementado ainda."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Suporte para duplicar partições em rótulos de disco AIX não foi implementado "
 "ainda."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1041,78 +1033,186 @@ msgstr ""
 "Suporte para ajustar o tipo de sistema de partições em rótulos de disco AIX "
 "não foi implementado ainda."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "O suporte para definir opções em rótulos de disco AIX não foi implementado "
 "ainda."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"O Parted não pode utilizar sistemas de arquivos HFS em discos com um tamanho "
+"de setor diferente de %d bytes."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Não posso mover partições extendidas."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
-msgstr "Não é possível satisfazer todos as restrições na partição."
+msgstr "Não foi possível satisfazer todos as restrições na partição."
+
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Não é possível alocar um número de partição."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
-msgstr "Não é possível alocar uma posição para rótulo de disco bsd."
+msgstr "Não foi possível alocar uma posição para rótulo de disco bsd."
+
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
 
 # Ponto final acrescentado para seguir as demais frases em volta desta
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
-msgstr "Não é possível alocar uma posição para rótulo de disco dasd."
+msgstr "Não foi possível alocar uma posição para rótulo de disco dasd."
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Tabela de partições inválida em %s -- assinatura errada %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Tabela de partições inválida - partição recursiva em %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr ""
 "Partições estendidas não podem ser escondidas em rótulos de disco msdos."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr ""
+"Partições estendidas não podem ser escondidas em rótulos de disco msdos."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "O Parted não pode redimensionar partições gerenciadas com o Disco Dinâmico "
 "do Windows."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "não é possível criar mais nenhuma partição"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s não possui partições estendidas (cabeçalho de volume da partição)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 "A soma de verificação está errada, indicando que a tabela de partições está "
 "corrompida."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Apenas partições primárias podem ser partições root."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Apenas partições primárias podem ser partições de troca (swap)."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Apenas partições lógicas podem ser um arquivo de inicialização."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1121,120 +1221,129 @@ msgstr ""
 "falha ao definir nome de partição dvh para %s:\n"
 "Apenas partições lógicas (arquivos de inicialização) possuem um nome."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Há partições primárias demais"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "erro de abertura"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "erro de busca"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "erro de leitura"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "erro em ioctl()"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "Versão da API não coincide"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
-msgstr "Tipo de disco não suportado"
+msgstr "Tipo de disco sem suporte"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
-msgstr "Formato de disco não suportado"
+msgstr "Formato de disco sem suporte"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "O disco está em uso"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Erro de sintaxe no arquivo de configuração"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "O rótulo do volume está corrompido"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Um nome de conjunto de dados está corrompido"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Falha em alocação de memória"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Falha em verificação de dispositivo"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "O dispositivo especificado não é um dispositivo DASD válido"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Erro fatal"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Nenhum espaço para rótulo de volume."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Nenhum espaço para informações de partição."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "VTOC inválido."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
-msgstr "Não foi possível recuperar versão API ."
+msgstr "Não foi possível recuperar versão API."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 "A versão \"%d\" da API atual não coincide com a versão \"%d\" da API da "
-"controladora dasd."
+"controladora dasd!"
+
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Não foi possível recuperar informações de disco."
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Não foi possível recuperar informações sobre a geometria do disco."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Não foi possível recuperar informações de tamanho do bloco."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Não foi possível recuperar informações de disco."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr "dispositivo é muito pequeno para GPT"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
 "what Parted can recognise.  Please report this!"
 msgstr ""
 "A versão do formato da tabela de partição GPT é %x, que é mais recente do "
-"que o Parted pode reconhecer.  Por favor, informe-nos sobre isso!"
+"que o Parted pode reconhecer. Por favor, nos relate isso!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1245,24 +1354,24 @@ msgstr ""
 "corrigir a GPT para usar todo seu espaço (uns %llu blocos adicionais) ou "
 "continuar com a configuração atual? "
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
 msgstr ""
-"A cópia da tabela GPT não está no fim do disco, como deveria estar.  "
-"Corrija, movendo a cópia para o fim do disco (e removendo a cópia antiga)?"
+"A cópia da tabela GPT não está no fim do disco, como deveria estar. Corrija-"
+"a, movendo a cópia para o fim do disco (e removendo a cópia antiga)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
 msgstr ""
-"Tanto a tabela GPT primária quanto a sua cópia estão corrompidas.  Tente "
+"Tanto a tabela GPT primária quanto a sua cópia estão corrompidas. Tente "
 "fazer uma nova tabela, usando os recursos de recuperação do Parted para "
 "recuperar partições."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1270,7 +1379,7 @@ msgstr ""
 "A cópia da tabela GPT está corrompida, mas a tabela primária aparece estar "
 "OK, então esta será usada."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1278,55 +1387,55 @@ msgstr ""
 "A tabela GPT primária está corrompida, mas a cópia da tabela aparece estar "
 "OK, então esta será usada."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "CRC do conjunto de tabela de partição primária não coincide"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
 msgstr "falha ao traduzir nome de partição"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Assinatura inválida %x para rótulos de disco Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Mapa de partições não tem nenhuma entrada!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s é muito pequeno para um rótulo de disco Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "A partição %d tem uma assinatura inválida %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "A partição %d tem um tamanho inválido de 0 bytes!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "A região de dados não começa no início da partição."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "A região de inicialização não começa no início da partição."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "A região de inicialização da partição não a ocupa inteiramente."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "A região de dados da partição não a ocupa inteiramente."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1334,7 +1443,7 @@ msgstr ""
 "tamanho de bloco estranho no descritor de dispositivo: %d bytes não são "
 "divisíveis por 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1343,11 +1452,11 @@ msgstr ""
 "O descritor da controladora (driver) informa que o tamanho físico de bloco é "
 "%d bytes, mas o Linux informa que é %d bytes."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Nenhum mapa de partições válido foi encontrado."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1356,11 +1465,11 @@ msgstr ""
 "Conflito nos tamanhos de entrada do mapa de partições!  A entrada 1 diz que "
 "é %d, mas a entrada %d diz que é %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Que estranho! Há 2 entradas no mapa de partições!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1368,7 +1477,7 @@ msgstr ""
 "Mudar o nome de uma partição root ou swap irá impedir o Linux de reconhecê-"
 "la como tal."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
 "Não é possível adicionar outra partição -- o mapa de partições é muito "
@@ -1392,7 +1501,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Não posso adicionar outra partição."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1401,7 +1510,7 @@ msgstr ""
 "tamanho de partição de %1$jd setores excede o máximo de %3$jd do imposto "
 "pela tabela de partições %2$s"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1410,60 +1519,56 @@ msgstr ""
 "número do setor inicial %1$jd excede o máximo de %3$jd do imposto pela "
 "tabela de partições %2$s"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Soma de verificação ruim no bloco %llu do tipo %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s: Bloco rdb não encontrado, isto nunca deveria acontecer."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : Loop detectado no bloco %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : A lista %s parece ruim no bloco %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Falha ao listar blocos ruins."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Falha ao listar blocos de partições."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Falha ao listar blocos de sistemas de arquivo."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Falha ao listar blocos de inicialização."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Falha ao escrever bloco de partição em %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Não é possível alocar um número de partição."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Um rótulo de disco Sun corrompido foi detectado."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1472,17 +1577,17 @@ msgstr ""
 "A geometria CHS do disco (%d,%d,%d) informada pelo sistema operacional não "
 "coincide com a geometria gravada no rótulo de disco (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "O rótulo de disco descreve um disco maior que %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "O disco possui %d cilindros, número que é maior que o máximo de 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1494,7 +1599,7 @@ msgstr ""
 "ser capaz de inicializar sem isto, e o SILO (o carregador de inicialização "
 "sparc) utiliza também."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "O rótulo de disco Sun está cheio."
 
@@ -1514,62 +1619,62 @@ msgstr "falha ao escrever em dispositivo"
 msgid "reading from device failed"
 msgstr "falha ao ler de dispositivo"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Não foi possível ler o rótulo do volume."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Não foi possível escrever o rótulo do volume."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Não foi possível ler rótulos VTOC."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Não foi possível ler VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Não foi possível ler VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Não foi possível ler VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Não foi possível ler VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Não foi possível escrever rótulos VTOC."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Não foi possível escrever VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Não foi possível escrever VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Não foi possível escrever VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Não foi possível escrever VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Não foi possível escrever VTOC FMT9 DSCB."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
-msgstr "Não há memória."
+msgstr "Memória insuficiente."
 
 #: libparted/unit.c:139
 msgid "Cannot get unit size for special unit 'COMPACT'."
@@ -1592,73 +1697,73 @@ msgstr "O valor máximo do cabeçalho é %d."
 msgid "The maximum sector value is %d."
 msgstr "O valor máximo do setor é %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "A localização %s está para fora do dispositivo %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Número inválido."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "Use uma unidade menor ao invés de usar um valor < 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Falha ao alocar bloco de partição\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Falha ao alocar bloco\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Não foi possível ler o bloco de inicialização %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Não foi possível ler o bloco root %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : Falha ao alocar id de elemento de lista\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Não foi possível ler o bloco %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Soma de verificação ruim no bloco %llu do tipo %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Não foi possível escrever bloco %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s : Falha ao alocar bloco rdb de disco_específico\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : Não foi encontrado bloco rdb, isto nunca deveria acontecer\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Falha ao ler bloco de partição %llu\n"
@@ -1701,41 +1806,41 @@ msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
-"A geometria CHS do sistema de arquivos é (%d, %d, %d), que é inválida.  A "
+"A geometria CHS do sistema de arquivos é (%d, %d, %d), que é inválida. A "
 "geometria CHS da tabela de partições é (%d, %d, %d)."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr "Setor de boot FAT diz que o tamanho lógico do setor é 0. Estranho. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr "Setor de boot FAT diz que não há tabelas FAT. Estranho. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr "Setor de boot FAT diz que os clusters têm 0 setores. Estranho. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
-msgstr "O sistema de arquivos é FAT12, que não é suportado."
+msgstr "O sistema de arquivos é FAT12, ao que não há suporte."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Assinatura linux swap estilo antigo não reconhecido '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Assinatura linux swap estilo novo não reconhecido '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Assinatura linux swap swsusp não reconhecido '%9s'."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1744,17 +1849,7 @@ msgstr ""
 "O Parted não pode utilizar sistemas de arquivos HFS em discos com um tamanho "
 "de setor diferente de %d bytes."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Este sistema de arquivos tem um tamanho de setor lógico de %d. O GNU Parted "
-"é conhecido por não funcionar corretamente com setores diferentes de 512 "
-"bytes."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1769,15 +1864,15 @@ msgstr ""
 "você selecionar Arrumar, a geometria CHS do sistema de arquivos será "
 "definida para coincidir com a geometria CHS da tabela de partições."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
 "and send in a bug report.  If you're desperate, it's probably safe to ignore."
 msgstr ""
 "O setor de informações tem uma assinatura inválida (%x). Selecione cancelar "
-"agora, e mande um relatório de bug. Se você está desesperado, é provável que "
-"seja seguro ignorar."
+"agora, e mande um relatório de erro. Se você está desesperado, é provável "
+"que seja seguro ignorar."
 
 #: libparted/fs/r/fat/calc.c:134
 #, c-format
@@ -1788,7 +1883,7 @@ msgstr ""
 "Você precisa de %s de espaço livre em disco para diminuir esta partição a "
 "este tamanho. Atualmente, apenas %s estão livres."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
@@ -1796,14 +1891,14 @@ msgstr ""
 "O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster "
 "%d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Entrada de diretório inválida para %s: o primeiro cluster é o fim do "
 "marcador de arquivo."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1811,7 +1906,7 @@ msgstr ""
 "FAT ruim: cadeia não terminada para %s. Você deveria rodar o dosfsck ou o "
 "scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1820,7 +1915,7 @@ msgstr ""
 "FAT ruim: cluster %d fora do sistema de arquivos na cadeia para %s.  Você "
 "deveria rodar o dosfsck ou o scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1829,12 +1924,12 @@ msgstr ""
 "FAT ruim: o cluster %d tem uma referência cruzada para %s. Você deveria "
 "rodar o dosfsck ou o scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s é %dk, mas ele tem %d clusters (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1887,17 +1982,17 @@ msgstr ""
 "Não há espaço suficiente no diretório raiz para todos os arquivos.  Cancele, "
 "ou ignore para perder os arquivos."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
-msgstr "Erro escrevendo no diretório raiz."
+msgstr "Erro ao escrever no diretório raiz."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 "Se você deixar seu sistema de arquivos como FAT16, não haverá nenhum "
 "problema."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1907,7 +2002,7 @@ msgstr ""
 "você deverá reinstalar o gerenciador de boot do MS Windows. Se quiser fazer "
 "isso, consulte o manual do Parted (ou o manual de sua distribuição)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1915,7 +2010,7 @@ msgstr ""
 "Se deixar seu sistema de arquivos como FAT32, você não criará mais nenhum "
 "problema novo."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1929,35 +2024,35 @@ msgstr ""
 "convertendo para FAT32 fará com que o sistema de arquivos não seja mais "
 "reconhecido pelo MS DOS, Windows 95a, e MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Você gostaria de usar FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "O sistema de arquivos só pode ser redimensionado para este tamanho sendo "
 "convertido para FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "O sistema de arquivos só pode ser redimensionado para este tamanho sendo "
 "convertido para FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -2000,18 +2095,18 @@ msgstr "não é suportado redimensionar sistemas de arquivos %s"
 msgid "The file system is bigger than its volume!"
 msgstr "O sistema de arquivos é maior que seu volume!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "O sistema de arquivos contém erros."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Blocos ruins não podem ser lidos."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -2020,53 +2115,53 @@ msgstr ""
 "Tentando registar uma extensão que inicia no bloco 0x%X, mas uma outra já "
 "existe nesta posição.  Você deve verificar o sistema de arquivos!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Tentando mover uma extensão do bloco Ox%X para o bloco Ox%X, mas uma outra "
 "já existe nesta posição.  Isto não deveria acontecer!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 "Não foi possível atualizar o cache de extensão de arquivo HFS com CNID %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "Tentando ler arquivo HFS com CNID %X atrás do fim do arquivo."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Não foi possível encontrar setor %lli de arquivo HFS com CNID %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "Tentando escrever arquivo HFS com CNID %X atrás do fim do arquivo."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 "Não foi possível atualizar o cache do arquivo de extensão HFS+ com CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "Tentando ler arquivo HFS+ com CNID %X atrás do fim do arquivo."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Não foi possível encontrar setor %lli de arquivo HFS+ com CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "Tentando escrever arquivo HFS+ com CNID %X atrás do fim do arquivo."
@@ -2142,19 +2237,19 @@ msgstr "Desculpe, HFS+ não pode ser redimensionada deste modo ainda."
 msgid "shrinking embedded HFS+ volume"
 msgstr "encolhendo volume HFS+ embutido"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Redimensionamento de volume HFS+ falhou."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "reduzindo empacotador HFS"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "Falha na atualização do empacotador HFS."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2163,45 +2258,46 @@ msgstr ""
 "Isto não é uma verificação %s real.  Isto vai extrair arquivos especiais de "
 "baixo nível para propósitos de depuração."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Soma de verificação do cabeçalho de lista de blocos ruins."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 "Tamanho inválido de um bloco de transação ao reproduzir o journal (%i bytes)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Journals armazenados fora do volume não são suportados.  Tente desabilitar o "
 "journal e execute o Parted novamente."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 "O deslocamento ou tamanho de Journal não é um múltiplo do tamanho do cluster."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Valores mágicos incorretos no cabeçalho journal."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "Tamanho do Journal não coincide com o bloco de informações e cabeçalho do "
 "journal."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Alguns campos de cabeçalho não são múltiplos do tamanho do setor."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2209,11 +2305,11 @@ msgstr ""
 "O tamanho de setor armazenado no journal não é 512 bytes.  O Parted suporta "
 "apenas setores com 512 bytes de comprimento."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Soma de verificação de journal ruim."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2221,7 +2317,7 @@ msgstr ""
 "O jornal não está vazio.  O Parted deve repetir as transações antes de abrir "
 "o sistema de arquivos.  Isto irá modificá-lo."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2229,11 +2325,11 @@ msgstr ""
 "O cabeçalho do volume ou o bloco de diretório mestre foi modificado quando "
 "repetindo o journal.  Você deve reiniciar o Parted."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Uma extensão não foi realocada."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2241,17 +2337,17 @@ msgstr ""
 "Uma referência para uma extensão vem de um local indevido.  Você deve "
 "verificar o sistema de arquivos!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr "Este volume HFS não possui arquivo de catálogo.  Isto é muito incomum!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Este volume HFS não possui nenhum arquivo de estouro de extensão.  Isto é "
 "bastante incomum!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2259,25 +2355,25 @@ msgstr ""
 "O arquivo de estouro de extensões não deve conter suas próprias extensões!  "
 "Você deve verificar o sistema de arquivos."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Não foi possível armazenar em cache o sistema de arquivos em memória."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "A lista de blocos ruins não pôde ser carregada."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Ocorreu um erro durante a realocação da extensão."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 "Este volume HFS+ não possui nenhum arquivo de catálogo.  Isto é muito "
 "incomum!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Este volume HFS+ não possui nenhum arquivo de estouro de extensões.  Isto é "
@@ -2384,28 +2480,29 @@ msgstr ""
 "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n"
 "Este programa é um software livre, coberto pela Licença Pública Geral GNU.\n"
 "\n"
-"Este programa é distribuído na expectativa de que seja útil,\n"
-"mas SEM NENHUMA GARANTIA; sem mesmo implicar garantias de\n"
-"COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM FIM ESPECÍFICO. Veja a\n"
-"Licença Pública Geral GNU (GPL) para mais detalhes.\n"
+"Este programa é distribuído na expectativa de ser útil, mas\n"
+"SEM QUALQUER GARANTIA; sem mesmo a garantia implícita de\n"
+"COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM\n"
+"PARTICULAR. Consulte a Licença Pública Geral GNU para obter\n"
+"mais detalhes.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(tempo restante %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr "A partição %s está em uso. Você tem certeza que deseja continuar?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Partição(ões) em %s está(ão) sendo utilizada(s)."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2414,31 +2511,31 @@ msgstr ""
 "O rótulo de disco existente em %s será destruído e todos os dados neste "
 "disco serão perdidos. Você deseja continuar?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Novo tipo de rótulo de disco?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Tipo da partição?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Nome da partição?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Tipo do sistema de arquivos?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Iniciar?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Terminar?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2448,7 +2545,7 @@ msgstr ""
 "A localização mais próxima que podemos gerenciar é de %s até %s (setores "
 "%llu..%llu).%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2456,85 +2553,96 @@ msgstr ""
 "\n"
 "Isto é ainda aceitável para você?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
 "A partição resultante não é propriamente alinhada para melhor performance."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Rótulos de disco %s não suportam partições estendidas."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Número da partição?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "cilindro pela BIOS,cabeça,geometria do setor: %d,%d,%d.  Cada cilindro é "
 "%s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Modelo: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disco %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Tamanho do setor (lógico/físico): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Tabela de partições: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Opções de disco: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Número"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Início"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Fim"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Tamanho"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Tipo"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Sistema de arquivos"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Nome"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Opções"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Espaço livre"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2543,68 +2651,69 @@ msgstr ""
 "Uma partição %s %s foi encontrada em %s -> %s.  Você deseja adicioná-la a "
 "tabela de partições?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "pesquisando por sistemas de arquivo"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr "O comando resize foi removido no parted 3.0"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 "Reduzir uma partição pode causar perda de dados, você tem certeza que deseja "
 "continuar?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Novo dispositivo?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "tipo de alinhamento(min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d alinhado(s)\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d não alinhado(s)\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Opção para inverter?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Novo estado?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Unidade?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "align-check TIPO N                        verifica a partição N para "
 "alinhamento de TIPO(mínimo|ideal)"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2612,15 +2721,15 @@ msgstr ""
 "help [COMANDO]                            exibe a ajuda geral, ou ajuda para "
 "o COMANDO"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2628,15 +2737,15 @@ msgstr ""
 "mklabel,mktable TIPO-RÓTULO               cria um novo rótulo de disco (na "
 "tabela de partição)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart TIPO-PART [TIPO-SISTARQ] INÍCIO FIM     cria uma partição"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2646,21 +2755,21 @@ msgstr ""
 "partição estendida). Este comando é útil se você apagou acidentalmente uma "
 "partição.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
 "name NÚMERO NOME                          renomeia a partição NÚMERO para "
 "NOME"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2670,7 +2779,7 @@ msgstr ""
 "dispositivos disponíveis, espaço livre, todas as partições encontradas ou "
 "uma partição específica"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2678,11 +2787,11 @@ msgstr ""
 "Sem argumentos, \"print\" exibe a tabela de partições inteira. Entretanto, "
 "com os argumentos a seguir, ele executa várias outras ações.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : exibe todos os dispositivos de bloco ativos\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2690,14 +2799,14 @@ msgstr ""
 "  free      : exibe informações sobre espaço livre não particionado no "
 "dispositivo de bloco atual\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : exibe as tabelas de partições de todos os dispositivos de "
 "bloco ativos\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
@@ -2705,19 +2814,19 @@ msgstr ""
 "  NÚMERO    : exibe informações mais detalhadas sobre esta partição "
 "específica\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     sai do programa"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2725,56 +2834,56 @@ msgstr ""
 "rescue INÍCIO FIM                        recupera uma partição perdida "
 "próxima do INÍCIO e FIM"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr "O comando resize foi removido no parted 3.0\n"
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
 msgstr "resizepart"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr ""
 "resizepart NÚMERO FIM                    redimensiona a partição NÚMERO"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm NÚMERO                                apaga a partição NÚMERO"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr ""
 "select DISPOSITIVO                       escolhe o dispositivo para editar"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "disk_set"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 "disk_set OPÇÃO ESTADO                    muda o estado de OPÇÃO no "
 "dispositivo selecionado"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
@@ -2782,21 +2891,21 @@ msgstr ""
 "disk_toggle [OPÇÃO]                      alterna o estado de OPÇÃO no "
 "dispositivo selecionado"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 "set NÚMERO OPÇÃO ESTADO                  muda a OPÇÃO na partição NÚMERO"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
@@ -2804,20 +2913,20 @@ msgstr ""
 "toggle [NÚMERO [OPÇÃO]]                  alterna o estado de OPÇÃO no NÚMERO "
 "da partição"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "unit UNIDADE                             define como unidade padrão UNIDADE"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2825,7 +2934,7 @@ msgstr ""
 "version                                  exibe o número da versão e "
 "informações de direitos autorais do GNU Parted"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2833,41 +2942,41 @@ msgstr ""
 "'version' exibe informações de versão e direitos autorais correspondentes a "
 "esta cópia do GNU Parted\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 "Uso: %s [-hlmsv] [-a<alinhamento>] [DISPOSITIVO [COMANDO [PARÂMETROS]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Nenhum dispositivo encontrado"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr "ATENÇÃO: Você não é super usuário.  Tome cuidado com permissões.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Você pode precisar atualizar /etc/fstab.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 "Bem vindo ao GNU Parted! Digite 'help' para ver uma lista de comandos.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
 "in\n"
 "interactive mode.\n"
 msgstr ""
-"Uso: parted [OPCOES]... [DISPOSITIVO [COMANDO [PARAMETROS]...]...]\n"
+"Uso: parted [OPCOES]... [DISPOSITIVO [COMANDO [PARÂMETROS]...]...]\n"
 "Aplica COMANDOs com PARÂMETROS para DISPOSITIVO. Se nenhum COMANDO(s) forem\n"
 "informados, executa-se em modo interativo.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2930,7 +3039,7 @@ msgstr ""
 "Isto também inclui quaisquer informações adicionais sobre seu sistema\n"
 "que você considerar relevantes.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2938,7 +3047,7 @@ msgstr ""
 "\n"
 "Histórico de comandos:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2946,7 +3055,7 @@ msgstr ""
 "\n"
 "Erro: SEGV_MAPERR (Endereço não mapeado ao objeto)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2954,7 +3063,7 @@ msgstr ""
 "\n"
 "Erro: SEGV_ACCERR (Permissões inválidas para o objeto mapeado)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2962,7 +3071,7 @@ msgstr ""
 "\n"
 "Erro: Um sinal geral SIGSEGV foi encontrado.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2970,7 +3079,7 @@ msgstr ""
 "\n"
 "Error: FPE_INTDIV (Inteiro: divisão por zero)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2978,7 +3087,7 @@ msgstr ""
 "\n"
 "Erro: FPE_INTOVF (Inteiro: estouro)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2986,7 +3095,7 @@ msgstr ""
 "\n"
 "Erro: FPE_FLTDIV (Real: divisão por zero)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2994,7 +3103,7 @@ msgstr ""
 "\n"
 "Erro: FPE_FLTOVF (Real: estouro)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -3002,7 +3111,7 @@ msgstr ""
 "\n"
 "Erro: FPE_FLTUND (Real: estouro negativo)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -3010,7 +3119,7 @@ msgstr ""
 "\n"
 "Erro: FPE_FLTRES (Real: resultado não exato)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -3018,7 +3127,7 @@ msgstr ""
 "\n"
 "Erro: FPE_FLTINV (Real: operação inválida)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -3026,7 +3135,7 @@ msgstr ""
 "\n"
 "Erro: FPE_FLTSUB (Real: subscrito fora de alcance)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -3034,7 +3143,7 @@ msgstr ""
 "\n"
 "Erro: Um sinal geral SIGFPE foi encontrado."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -3042,7 +3151,7 @@ msgstr ""
 "\n"
 "Erro: ILL_ILLOPC (Código de operação privilegiado)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3050,7 +3159,7 @@ msgstr ""
 "\n"
 "Erro: ILL_ILLOPN (Operando ilegal)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3058,15 +3167,15 @@ msgstr ""
 "\n"
 "Erro: ILL_ILLADR (Modo de endereçamento ilegal)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 msgstr ""
 "\n"
-"Erro: ILL_ILLTRP (Interupção ilegal)"
+"Erro: ILL_ILLTRP (Interrupção ilegal)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3074,7 +3183,7 @@ msgstr ""
 "\n"
 "Erro: ILL_PRVOPC (Código de operação privilegiado)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3082,7 +3191,7 @@ msgstr ""
 "\n"
 "Erro: ILL_PRVREG (Registrador privilegiado)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3090,7 +3199,7 @@ msgstr ""
 "\n"
 "Erro: ILL_COPROC (Erro do coprocessador)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3098,7 +3207,7 @@ msgstr ""
 "\n"
 "Erro: ILL_BADSTK (Erro interno da pilha)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3106,65 +3215,69 @@ msgstr ""
 "\n"
 "Erro: Um sinal geral SIGILL foi encontrado."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "token inválido: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Espera-se um número de partição."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "A partição não existe."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Espera-se um tipo de sistema de arquivos."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Tipo de sistema de arquivos \"%s\" desconhecido."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Espera-se um tipo de rótulo de disco."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Não é possível criar mais nenhuma partição."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Espera-se um tipo de partição."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "ligado"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "desligado"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "ideal"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "mínimo"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "OPÇÕEs:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "COMANDOs:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3173,15 +3286,38 @@ msgstr ""
 "\n"
 "Informe erros para %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Usando %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Este comando não faz sentido em modo não interativo.\n"
 
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: a opção \"--%s\" não permite um argumento\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: opção desconhecido \"--%s\"\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: a opção \"-W %s\" não permite um argumento\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: a opção \"-W %s\" exige um argumento\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Página do %s: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Este sistema de arquivos tem um tamanho de setor lógico de %d. O GNU "
+#~ "Parted é conhecido por não funcionar corretamente com setores diferentes "
+#~ "de 512 bytes."
+
 #~ msgid "Failed to add partition %d (%s)"
 #~ msgstr "Ocorreu falha ao adicionar partição %d (%s)"
 
@@ -3606,9 +3742,6 @@ msgstr "Este comando não faz sentido em modo não interativo.\n"
 #~ "Você comandou a criação de uma partição em %.3f-%.3fMb. O mais perto que "
 #~ "o Parted pode chegar é %.3f-%.3fMb."
 
-#~ msgid "Can't move extended partitions."
-#~ msgstr "Não posso mover partições extendidas."
-
 #~ msgid "Can't move a partition onto itself.  Try using resize, perhaps?"
 #~ msgstr ""
 #~ "Não posso mover a partição sobre ela mesma. Talvez queira redimensionar?"
index 0bed0ad0a402f48e545279b3aef6993dd9fb7f5c..175be08f525f8732013198aebe96abc8e10d3b31 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index 2d0eda9581a6df5a3b461d136a36e8cd6dcf8075..16b250fde4f015b9e06c6fe27dcf1c08bda4ff2a 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 1.6.23\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2005-08-08 12:00-05\n"
 "Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -14,86 +14,67 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr ""
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr ""
 
-#: lib/error.c:188
+#: lib/error.c:195
 #, fuzzy
 msgid "Unknown system error"
 msgstr "Tip de sistem de fiºiere necunoscut \"%s\"."
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr ""
-
-#: lib/getopt.c:624 lib/getopt.c:628
+#: lib/getopt.c:278
 #, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous\n"
 msgstr ""
 
-#: lib/getopt.c:637 lib/getopt.c:642
+#: lib/getopt.c:284
 #, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr ""
 
-#: lib/getopt.c:685 lib/getopt.c:704
+#: lib/getopt.c:319
 #, c-format
-msgid "%s: option '--%s' requires an argument\n"
+msgid "%s: unrecognized option '%s%s'\n"
 msgstr ""
 
-#: lib/getopt.c:742 lib/getopt.c:745
+#: lib/getopt.c:345
 #, c-format
-msgid "%s: unrecognized option '--%s'\n"
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr ""
 
-#: lib/getopt.c:753 lib/getopt.c:756
+#: lib/getopt.c:360
 #, c-format
-msgid "%s: unrecognized option '%c%s'\n"
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr ""
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr ""
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr ""
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr ""
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -113,85 +94,85 @@ msgstr ""
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr ""
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr ""
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr ""
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr ""
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr ""
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr ""
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr ""
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr ""
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr ""
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr ""
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr ""
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr ""
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr ""
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr ""
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr ""
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr ""
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr ""
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr ""
 
@@ -215,12 +196,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -228,34 +209,33 @@ msgstr ""
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -263,7 +243,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -273,7 +253,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -283,7 +263,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -293,7 +273,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -303,7 +283,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -314,7 +294,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -325,7 +305,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -337,30 +317,24 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
+#: lib/version-etc.c:249
 #, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+msgid "Report bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: lib/version-etc.c:253
+#: lib/version-etc.c:260
 #, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 
 #: lib/xalloc-die.c:34
@@ -387,59 +361,59 @@ msgid "Disk Image"
 msgstr ""
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Eroare la deschiderea %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Nu pot deschide %s citire-scriere (%s). %s a fost deschis numai-citire."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s în timpul cãutãrii pentru citire pe %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s în timpul citirii pe %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Nu pot scrie pe %s, pentru cã este deschis numai-citire."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s în timpul cãutãrii pentru scriere pe %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s în timpul scrierii pe %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr ""
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -449,13 +423,13 @@ msgid ""
 "  -v, --version    output version information and exit\n"
 msgstr ""
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -500,7 +474,7 @@ msgstr ""
 "Hurd nu ºtie nimic despre nici o modificare pe care aþi fãcut-o.  Ar trebui "
 "sã reboot-aþi computerul înainte de a face ceva cu %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -514,45 +488,45 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s încearcã sã sincronizeze %s pe disc"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Nu am putut afla date despre dispozitivul %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, fuzzy, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Nu pot determina dimensiunea lui %s (%s)."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
 "Using the default sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
 "Using the logical sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Nu pot determina dimensiunea lui %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr ""
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Nu am putut identifica dispozitivul %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr ""
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -561,12 +535,12 @@ msgid ""
 "Please consult the web site for up-to-date information."
 msgstr ""
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Eroare la iniþializarea dispozitivului SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, fuzzy, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -576,7 +550,7 @@ msgstr ""
 "fiºiere sau o tabelã de partiþii. Aþi selectat din greºealã un alt "
 "dispozitiv?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, fuzzy, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -585,86 +559,98 @@ msgstr ""
 "Nu pot determina geometria fiºierului/dispozitivului. N-ar trebui sã "
 "folosiþi Parted decât dacã ºtiþi cu ADEVÃRAT ce faceþi!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr ""
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+msgid "NVMe Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Controller RAID DAC960"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr ""
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr ""
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Controller ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Controller I2O"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr ""
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr ""
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr ""
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Necunoscut"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new() Tip de dispozitiv nesuportat"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, fuzzy, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Eroare la deschiderea %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr ""
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -676,12 +662,12 @@ msgstr ""
 "aþi fãcut lui %s pânã când nu reboot-aþi -- aºa cã n-ar trebui sã îl montaþi "
 "sau folosiþi în vreun fel înainte de a reboot-a."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, fuzzy, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Nu pot determina dimensiunea lui %s (%s)."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -690,36 +676,36 @@ msgid ""
 "making further changes."
 msgstr ""
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr ""
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr ""
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr ""
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr ""
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr ""
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, fuzzy, c-format
 msgid "%s: unrecognised disk label"
 msgstr "Nu pot deschide %s - etichetã de disc nerecunoscutã."
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -728,40 +714,40 @@ msgstr ""
 "Aceast libparted nu are suport pentru %s. Probabil cã a fost compilat numai-"
 "citire."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Partiþia %d este %s, dar sistemul de fiºiere este %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr ""
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 #, fuzzy
 msgid "pmbr_boot"
 msgstr "boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, fuzzy, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Flag de partiþie necunoscut, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Etichetele de disc %s nu suportã partiþii extinse."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "Etichetele de disc %s nu suportã partiþii logice sau extinse."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Prea multe partiþii primare."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -769,126 +755,126 @@ msgstr ""
 "Nu pot adãuga o partiþie logicã lui %s pentru cã aceasta nu este o partiþie "
 "extinsã."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Nu puteþi avea mai mult de o partiþie extinsã pe %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Nu puteþi avea partiþii logice în afara partiþiei extinse."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "Nu puteþi avea o partiþie logicã în afara partiþiei extinse pe %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Nu puteþi avea o partiþie primarã într-o partiþie extinsã."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr ""
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Nu puteþi avea partiþii care se suprapun."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadata"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "liber"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "extinsã"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logicã"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primarã"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "boot"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr ""
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "root"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "ascunsã"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr ""
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr ""
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr ""
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 #, fuzzy
 msgid "msftdata"
 msgstr "metadata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr ""
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr ""
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr ""
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 msgid "esp"
 msgstr ""
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Flag de partiþie necunoscut, %d."
@@ -954,208 +940,322 @@ msgid ""
 "containing at least the version (%s) and the following message:  "
 msgstr ""
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr ""
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr ""
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
 msgstr ""
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Nu puteþi copia o partiþie extinsã."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Nu pot satisface toate constrângerile pe partiþie."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Nu pot aloca un numãr de partiþie."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Nu pot aloca loc pentru eticheta de disc bsd."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 #, fuzzy
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Nu pot aloca loc pentru eticheta de disc bsd."
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Tabela de partiþii invalidã pe %s -- semnãturã greºitã %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Tabela de partiþii invalidã - partiþie recursivã pe %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr ""
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Tabela de partiþii invalidã - partiþie recursivã pe %s."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 #, fuzzy
 msgid "cannot create any more partitions"
 msgstr "Nu mai pot crea nici o partiþie"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr ""
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr ""
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr ""
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr ""
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
 "Only logical partitions (boot files) have a name."
 msgstr ""
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr ""
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr ""
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 #, fuzzy
 msgid "Unsupported disk type"
 msgstr "ped_device_new() Tip de dispozitiv nesuportat"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr ""
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr ""
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr ""
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr ""
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 #, fuzzy
 msgid "Fatal error"
 msgstr "Fatalã"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr ""
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 #, fuzzy
 msgid "No room for partition info."
 msgstr "Nu a fost gãsitã nici o hartã de partiþie validã."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr ""
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr ""
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Nu am putut afla date despre dispozitivul %s - %s."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr ""
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr ""
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
 msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr ""
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, fuzzy, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1164,7 +1264,7 @@ msgstr ""
 "Formatul tabelei de partiþii GPT este versiunea %x, care este mai nou decât "
 "ceea ce Parted poate recunoaºte.  Vã rugãm spuneþi-ne!  bug-parted@gnu.org"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1172,7 +1272,7 @@ msgid ""
 "setting? "
 msgstr ""
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 #, fuzzy
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
@@ -1183,7 +1283,7 @@ msgstr ""
 "mai mic.  Reparã, mutând rezerva (backup) la sfârºit (ºi ºterge vechea "
 "rezervã?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1192,7 +1292,7 @@ msgstr ""
 "o tabelã nouã ºi sã folosiþi capabilitatea de salvare lui Parted pentru a "
 "recupera partiþiile."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 #, fuzzy
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
@@ -1201,7 +1301,7 @@ msgstr ""
 "Tabela primarã GPT este coruptã, dar rezerva pare OK, aºa cã va fi folositã "
 "rezerva."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1209,56 +1309,56 @@ msgstr ""
 "Tabela primarã GPT este coruptã, dar rezerva pare OK, aºa cã va fi folositã "
 "rezerva."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr ""
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "Nu pot aloca un numãr de partiþie."
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Semnãturã invalidã %x pentru etichetele de disc pentru Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Harta de partiþii nu are nici o intrare!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s este prea mic pentr o etichetã de disc pentru Mac."
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Partiþia %d are o semnãturã invalidã %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Partiþia %d are o lungime invalidã de 0 octeþi!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Regiunea de date nu începe la începutul partiþiei."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Regiunea de boot nu începe la începutul partiþiei."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Regiunea de boot a partiþiei nu ocupã întreaga partiþie."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Regiunea de date a partiþiei nu ocupã întreaga partiþie."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1266,7 +1366,7 @@ msgstr ""
 "Dimensiune de bloc ciudatã pe descriptorul dispozitivului: %d octeþi nu este "
 "divizibil cu 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1275,28 +1375,28 @@ msgstr ""
 "Descriptorul de driver spune cã dimensiunea fizicã a blocului este %d octeþi "
 "dar Linux spune cã este %d octeþi."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Nu a fost gãsitã nici o hartã de partiþie validã."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
 "says it is %d!"
 msgstr ""
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Ciudat!  Existã 2 intrãri în harta partiþiei"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
 msgstr ""
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
 
@@ -1316,91 +1416,87 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr ""
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
 msgstr ""
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
 msgstr ""
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr ""
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr ""
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr ""
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Nu pot aloca un numãr de partiþie."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr ""
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
 "match the geometry stored on the disk label (%d,%d,%d)."
 msgstr ""
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr ""
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr ""
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1408,7 +1504,7 @@ msgid ""
 "it as well."
 msgstr ""
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr ""
 
@@ -1428,60 +1524,60 @@ msgstr ""
 msgid "reading from device failed"
 msgstr ""
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr ""
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr ""
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr ""
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr ""
 
@@ -1504,73 +1600,73 @@ msgstr ""
 msgid "The maximum sector value is %d."
 msgstr ""
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr ""
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr ""
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, fuzzy, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "Nu pot aloca un numãr de partiþie."
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, fuzzy, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s în timpul scrierii pe %s"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr ""
@@ -1609,52 +1705,45 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr ""
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr ""
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr ""
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr ""
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1664,7 +1753,7 @@ msgid ""
 "geometry."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1678,43 +1767,43 @@ msgid ""
 "Currently, only %s is free."
 msgstr ""
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
 "dosfsck or scandisk."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
 "scandisk."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr ""
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1756,28 +1845,28 @@ msgid ""
 "cancel, or ignore to lose the files."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
 "should consult the Parted manual (or your distribution's manual)."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1786,31 +1875,31 @@ msgid ""
 "Windows 95a, and MS Windows NT."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1849,67 +1938,67 @@ msgstr "A
 msgid "The file system is bigger than its volume!"
 msgstr ""
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr ""
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:213
+#: libparted/fs/r/hfs/cache.c:214
 #, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
@@ -1982,120 +2071,120 @@ msgstr ""
 msgid "shrinking embedded HFS+ volume"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
@@ -2199,205 +2288,216 @@ msgstr ""
 "PENTRU UN SCOP ANUME.  Vedeþi Licenþa Publicã Generalã GNU (GNU GPL) pentru\n"
 "detalii suplimentare.\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr ""
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr ""
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
 "will be lost. Do you want to continue?"
 msgstr ""
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Tip de etichetã pentru discul nou?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr ""
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr ""
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr ""
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr ""
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr ""
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
 "The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
 msgstr ""
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
 msgstr ""
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Etichetele de disc %s nu suportã partiþii extinse."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr ""
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr ""
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr ""
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr ""
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, fuzzy, c-format
 msgid "Partition Table: %s\n"
 msgstr "Tabela de partiþii invalidã pe %s."
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr ""
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Numãr"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Start"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Sfârºit"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Dimensiune"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Tip"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Sistem de fiºiere"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Nume"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr ""
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr ""
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
 "partition table?"
 msgstr ""
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr ""
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr ""
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1721
 #, c-format
-msgid "%d not aligned\n"
+msgid "%d not aligned: %s\n"
 msgstr ""
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr ""
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr ""
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr ""
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr ""
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 #, fuzzy
 msgid ""
 "help [COMMAND]                           print general help, or help on "
@@ -2406,15 +2506,15 @@ msgstr ""
 "help [COMANDA]                afiºeazã informaþii generale, sau\n"
 "                                depre COMANDA"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr ""
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 #, fuzzy
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
@@ -2423,15 +2523,15 @@ msgstr ""
 "mklabel TIP_ETICHETA          creazã o nouã etichetã de disc\n"
 "                                       (tabela de partiþii)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart TIP-PART [TIP-SF] START SFÂRªIT    creazã o partiþie"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 #, fuzzy
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
@@ -2441,27 +2541,27 @@ msgstr ""
 "partiþie. TIP-SF poate fi specificat pentru a seta un anumit ID de "
 "partiþie.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 #, fuzzy
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "name NUMÃR NUME               numeºte patiþia NUMÃR ca NUME"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 #, fuzzy
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
@@ -2471,41 +2571,41 @@ msgstr ""
 "un numãr de partiþie, atunci este afiºatã informaþii detaliate despre acea\n"
 "partiþie.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 #, fuzzy
 msgid "quit                                     exit program"
 msgstr "quit                          ieºire din program"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 #, fuzzy
 msgid ""
 "rescue START END                         rescue a lost partition near START "
@@ -2514,130 +2614,130 @@ msgstr ""
 "rescue START SFARSIT           salveazã o partiþie pierdutã lingã START ºi\n"
 "                                 SFARSIT"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 #, fuzzy
 msgid "resizepart"
 msgstr "resize"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "rm NUMÃR                      ºterge partiþia NUMÃR"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 #, fuzzy
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm NUMÃR                      ºterge partiþia NUMÃR"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 #, fuzzy
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select UNITATE                 alege unitatea de editat"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr ""
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr ""
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 #, fuzzy
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set NUMÃR FLAG STARE          schimbã un flag pe partiþia NUMÃR"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr ""
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 #, fuzzy
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr "rm NUMÃR                      ºterge partiþia NUMÃR"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unitate"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 #, fuzzy
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr "quit UNITATE                  seteazã unitatea implicitã ca UNITATE"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr ""
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Nu a fost gãsitã nici o unitate"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 #, fuzzy
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Nu uitaþi sã actualizaþi /etc/fstab, dacã e necesar.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 #, fuzzy
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
@@ -2649,7 +2749,7 @@ msgstr ""
 "Aplicã COMANDA cu PARAMETII la UNITATE.  Dacã nu este datã nici o COMANDÃ,\n"
 "ruleazã în mod interactiv.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2683,209 +2783,213 @@ msgid ""
 "consider important.\n"
 msgstr ""
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
 msgstr ""
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
 msgstr ""
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
 msgstr ""
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
 msgstr ""
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
 msgstr ""
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
 msgstr ""
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
 msgstr ""
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
 msgstr ""
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
 msgstr ""
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
 msgstr ""
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
 msgstr ""
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
 msgstr ""
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
 msgstr ""
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
 msgstr ""
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 msgstr ""
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
 msgstr ""
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
 msgstr ""
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
 msgstr ""
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
 msgstr ""
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
 msgstr ""
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr ""
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Aºtept un numãr de partiþie."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Partiþia nu existã."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Aºtept un tip de sistem de fiºiere."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Tip de sistem de fiºiere necunoscut \"%s\"."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Aºtept un tip de etichetã de disc."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Nu mai pot crea nici o partiþie"
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Aºtept un tip de partiþie."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "pornit"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "oprit"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr ""
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr ""
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "OPÞIUNI:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "COMMENZI:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
 "Report bugs to %s\n"
 msgstr ""
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Folosesc %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr ""
 
@@ -2924,9 +3028,6 @@ msgstr ""
 #~ "partiþii GPT.  Sau probabil cã aþi ºters tabela GPT ºi folosiþi acum o "
 #~ "tabelã de partiþii msdos.  Este aceasta o tabelã de partiþii GPT?"
 
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "Nu puteþi copia o partiþie extinsã."
-
 #~ msgid "Destination partition number?"
 #~ msgstr "Numãrul partiþiei destinaþie?"
 
index 3857200849677e00af3b453cc92d122c98cd047f..53de101607562ed2181add459d7adb4e6abd2383 100644 (file)
Binary files a/po/ru.gmo and b/po/ru.gmo differ
index e1c0d3c652f09c3171b5e02f7bf10e5027ae5370..b39a68cdfe72751a7c2ab8ed2303fc07ede750ff 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
 # Dmitry S. Sivachenko <dima@Chg.RU>, 1999.
 # Dimitriy Ryazantcev <DJm00n@mail.ru>, 2007, 2008.
 # Pavel Maryanov <acid@jack.kiev.ua>, 2014.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2018.
+# Galina Anikina <merilaga@yandex.ru>, 2018.
 msgid ""
 msgstr ""
 "Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
-"PO-Revision-Date: 2014-07-05 12:52+0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
+"PO-Revision-Date: 2018-11-10 11:53+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
-"Language-Team: Russian <gnu@mx.ru>\n"
+"Language-Team: Russian <gnu@d07.ru>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Lokalize 2.0\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "недопустимый аргумент %s для %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "неоднозначный аргумент %s для %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Допустимые аргументы:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "ошибка записи"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Неизвестная системная ошибка"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: неоднозначный параметр «-W %s»\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: неоднозначный параметр '%s'; возможные значения:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: Ð¿Ð°Ñ\80амеÑ\82Ñ\80 '--%s' Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð¸Ð¼ÐµÑ\82Ñ\8c Ð°Ñ\80гÑ\83менÑ\82Ñ\8b\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: Ð½ÐµÑ\80аÑ\81познаннÑ\8bй Ð¿Ð°Ñ\80амеÑ\82Ñ\80 '%c%s'\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: параметр '%c%s' не может иметь аргументы\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: для параметра «--%s» требуется аргумент\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: нераспознанный параметр '--%s'\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: нераспознанный параметр '%c%s'\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: недопустимый параметр — '%c'\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: для параметра нужен аргумент — «%c»\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: неоднозначный параметр «-W %s»\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: параметр «-W %s» не должен иметь аргументы\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: для параметра «-W %s» нужны аргументы\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -118,85 +100,86 @@ msgstr "%s: для параметра «-W %s» нужны аргументы\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "«"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "»"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Успешно"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Нет соответствия"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Неправильное регулярное выражение"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Неправильный символ сопоставления"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Неправильное название класса символа"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Завершающая обратная косая черта"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Неправильная обратная ссылка"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Нет соответствия [ или [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Нет соответствия ( или \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Нет соответствия \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Неправильное содержимое \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Неправильный конец области"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Закончилась память"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Неправильное предыдущее регулярное выражение"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Неожиданный конец регулярного выражения"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Слишком большое регулярное выражение"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Нет соответствия ) или \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Нет предыдущего регулярного выражения"
 
@@ -220,12 +203,12 @@ msgstr "^[yYдД]"
 msgid "^[nN]"
 msgstr "^[nNнН]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Упаковщик: %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Упаковщик: %s\n"
@@ -233,18 +216,17 @@ msgstr "Упаковщик: %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Лицензия GPLv3+: GNU GPL версии 3 или новее <http://gnu.org/licenses/gpl."
@@ -254,19 +236,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Автор программы — %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Авторы программы — %s и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Авторы программы — %s, %s и %s.\n"
@@ -274,7 +256,7 @@ msgstr "Авторы программы — %s, %s и %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -286,7 +268,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -298,7 +280,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -310,7 +292,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -322,7 +304,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,7 +318,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -350,7 +332,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -365,32 +347,26 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу: %s.\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Об ошибках %s сообщайте по адресу: %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Домашняя страница %s: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 "Общая справка по программному обеспечению GNU: <http://www.gnu.org/gethelp/"
 ">\n"
@@ -419,59 +395,59 @@ msgid "Disk Image"
 msgstr "Образ диска"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Ошибка открытия %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Не удалось открыть %s на чтение-запись (%s).  %s открыт только для чтения."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s во время позиционирования для чтения на %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s во время чтения на %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Нельзя записать на %s, так как он открыт только для чтения."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s во время позиционирования для записи на %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s во время записи на %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Попробуйте `%s --help' для дополнительной информации.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Использование: %s [ПАРАМЕТР] [УСТРОЙСТВО]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -487,15 +463,15 @@ msgstr ""
 "  -h, --help       отобразить справку и выйти\n"
 "  -v, --version    вывести информацию о версии и выйти\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
 "\n"
-"Ð\9aогда Ð£Ð¡Ð¢Ð Ð\9eÐ\99СТÐ\92Ð\9e Ð²Ñ\8b указано, проверять все разделы.\n"
+"Ð\95Ñ\81ли Ð£Ð¡Ð¢Ð Ð\9eÐ\99СТÐ\92Ð\9e Ð½Ðµ указано, проверять все разделы.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -511,7 +487,7 @@ msgstr "Не удалось открыть %s."
 
 #: libparted/arch/gnu.c:130
 msgid "Unable to probe store."
-msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ð¿Ñ\80овеÑ\80иÑ\82Ñ\8c Ñ\85Ñ\80анение."
+msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ð¾Ð±Ñ\81ледоваÑ\82Ñ\8c Ñ\85Ñ\80анилиÑ\89е."
 
 #: libparted/arch/gnu.c:368
 msgid ""
@@ -522,13 +498,13 @@ msgid ""
 "and reinstall your boot loader from the rescue disk.  Read section 4 of the "
 "Parted User documentation for more information."
 msgstr ""
-"ТаблиÑ\86а Ñ\80азделов Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¿ÐµÑ\80еÑ\87иÑ\82ана. Ð­Ñ\82о Ð¾Ð·Ð½Ð°Ñ\87аеÑ\82, Ñ\87Ñ\82о Ð²Ð°Ð¼ Ð½Ñ\83жно "
-"пеÑ\80езагÑ\80Ñ\83зиÑ\82Ñ\8c ÐºÐ¾Ð¼Ð¿Ñ\8cÑ\8eÑ\82еÑ\80 Ð¿ÐµÑ\80ед Ð¼Ð¾Ð½Ñ\82иÑ\80ованием Ð»Ð¾Ð±Ð¾Ð³Ð¾ Ð¸Ð· Ð¸Ð·Ð¼ÐµÐ½Ñ\91ннÑ\8bÑ\85 Ñ\80азделов. "
-"Также Ð²Ð°Ð¼ Ð½Ñ\83жно Ð¿ÐµÑ\80еÑ\83Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð³Ñ\80Ñ\83зÑ\87ик Ð¿ÐµÑ\80ед Ð¿ÐµÑ\80езагÑ\80Ñ\83зкой (на что может "
+"Ð\9dевозможно Ð¿ÐµÑ\80еÑ\87иÑ\82аÑ\82Ñ\8c Ñ\82аблиÑ\86Ñ\83 Ñ\80азделов. Ð­Ñ\82о Ð¾Ð·Ð½Ð°Ñ\87аеÑ\82, Ñ\87Ñ\82о Ð´Ð»Ñ\8f Ð¼Ð¾Ð½Ñ\82иÑ\80ованиÑ\8f "
+"лÑ\8eбого Ð¸Ð· Ð¸Ð·Ð¼ÐµÐ½Ñ\91ннÑ\8bÑ\85 Ñ\80азделов Ñ\82Ñ\80ебÑ\83еÑ\82Ñ\81Ñ\8f Ð¿ÐµÑ\80езагÑ\80Ñ\83зка ÐºÐ¾Ð¼Ð¿Ñ\8cÑ\8eÑ\82еÑ\80а. Ð\9dо Ð´Ð¾ "
+"пеÑ\80езагÑ\80Ñ\83зки ÐµÑ\89Ñ\91 Ñ\82Ñ\80ебÑ\83еÑ\82Ñ\81Ñ\8f Ð¿ÐµÑ\80еÑ\83Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð³Ñ\80Ñ\83зÑ\87ик (на что может "
 "потребоваться монтирование изменённых разделов). Обе эти вещи невозможно "
-"сделать одновременно! Поэтому требуется загрузиться с диска восстановления и "
-"пеÑ\80еÑ\83Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð³Ñ\80Ñ\83зÑ\87ик Ñ\81 ÐµÐ³Ð¾ Ð¿Ð¾Ð¼Ð¾Ñ\89Ñ\8cÑ\8e. Ð\9fÑ\80оÑ\87Ñ\82иÑ\82е Ñ\80аздел 4 Ð Ñ\83ководÑ\81Ñ\82ва "
-"полÑ\8cзоваÑ\82елÑ\8f Parted Ð´Ð»Ñ\8f Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ\82елÑ\8cной Ð¸Ð½Ñ\84оÑ\80маÑ\86ии."
+"сделать одновременно! Поэтому необходимо загрузиться с диска восстановления "
+"и Ð¿ÐµÑ\80еÑ\83Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð³Ñ\80Ñ\83зÑ\87ик Ñ\81 ÐµÐ³Ð¾ Ð¿Ð¾Ð¼Ð¾Ñ\89Ñ\8cÑ\8e. Ð\94ополниÑ\82елÑ\8cнÑ\83Ñ\8e Ð¸Ð½Ñ\84оÑ\80маÑ\86иÑ\8e Ð¼Ð¾Ð¶Ð½Ð¾ "
+"найÑ\82и Ð² Ñ\80азделе 4 Ð¸Ð· Ñ\80Ñ\83ководÑ\81Ñ\82ва Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f Parted."
 
 #: libparted/arch/gnu.c:385
 #, c-format
@@ -537,11 +513,11 @@ msgid ""
 "nothing about any modifications you made.  You should reboot your computer "
 "before doing anything with %s."
 msgstr ""
-"Таблица разделов на %s не может быть перечитана (%s).  Это означает, что "
-"Ñ\81деланнÑ\8bе Ð²Ð°Ð¼Ð¸ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f Ð½ÐµÐ´Ð¾Ñ\81Ñ\82Ñ\83пнÑ\8b Ð´Ð»Ñ\8f Ñ\8fдÑ\80а.  Ð\92Ñ\8b Ð´Ð¾Ð»Ð¶Ð½Ñ\8b Ð¿ÐµÑ\80езагÑ\80Ñ\83зиÑ\82Ñ\8c Ð²Ð°Ñ\88 "
-"компÑ\8cÑ\8eÑ\82еÑ\80 Ð´Ð¾ Ñ\82ого, как что-либо делать с %s."
+"Таблица разделов %s не может быть перечитана (%s). Это означает, что "
+"Ñ\81деланнÑ\8bе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f Ð¿Ð¾ÐºÐ° Ð½ÐµÐ´Ð¾Ñ\81Ñ\82Ñ\83пнÑ\8b Ð´Ð»Ñ\8f Hurd. Ð¢Ñ\80ебÑ\83еÑ\82Ñ\81Ñ\8f Ð¿ÐµÑ\80езагÑ\80Ñ\83зиÑ\82Ñ\8c "
+"компÑ\8cÑ\8eÑ\82еÑ\80 Ð¿ÐµÑ\80ед Ñ\82ем, как что-либо делать с %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -554,17 +530,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s пытается записать %s на диск"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Не удаётся получить статус устройства %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Не удаётся определить тип dm для %s."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -573,7 +549,7 @@ msgstr ""
 "Не удалось определить размер сектора для %s: %s.\n"
 "Использую стандартный размер сектора (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -582,21 +558,21 @@ msgstr ""
 "Не удалось определить физический размер сектора для %s.\n"
 "Будет использоваться стандартный размер сектора (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Не удаётся определить размер %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Обычный IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Не удаётся получить идентификатор устройства %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Обычный IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -610,12 +586,12 @@ msgstr ""
 "комбинаций меток/файловых систем, например GPT и ext2/3.\n"
 "За дополнительной информацией обращайтесь на сайт программы."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Ошибка инициализации SCSI-устройства %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -624,7 +600,7 @@ msgstr ""
 "Устройство %s слишком мало и поэтому не может содержать файловую систему или "
 "таблицу разделов. Возможно вы выбрали неправильное устройство?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -633,102 +609,115 @@ msgstr ""
 "Не удаётся определить геометрию файла/устройства %s. Вы не должны "
 "использовать Parted, если вы не знаете НАВЕРНЯКА, что делаете!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Универсальная карта памяти SD/MMC"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Новое устройство?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "DAC960 RAID контроллер"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "SATA устройство Promise SX8"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "Устройство ATA over Ethernet"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "IBM S390 DASD привод"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries Virtual DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "ATARAID Контроллер"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "I2O Контроллер"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "User-Mode Linux UBD"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Устройство типа loopback"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linux device-mapper (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Виртуальное блочное устройство Xen"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Неизвестный"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Блочное устройство Virtio"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Программный RAID-массив Linux"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Не поддерживаемый тип устройства"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Ошибка синхронизации или закрытия файлов %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%0.0sконец файла при чтении %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
 "means Linux won't know about any changes you made to %s until you reboot -- "
 "so you shouldn't mount it or use it in any way before rebooting."
 msgstr ""
-"Не удалось сообщить ядру об изменениях раздела %s -- %s.  Это означает, что "
-"Linux не узнает об изменениях %s до перезагрузки -- поэтому не пытайтесь "
-"примонтировать или как либо использовать его до перезагрузки."
+"Не удалось сообщить ядру об изменениях раздела %s: %s.  В этом случае Linux "
+"не узнает об изменениях %s до перезагрузки, поэтому не пытайтесь "
+"примонтировать или каким либо образом использовать его до перезагрузки."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Не удаётся определить начало и длину %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -741,38 +730,38 @@ msgstr ""
 "старый раздел всё ещё используется. Чтобы выполнить дальнейшие изменения вам "
 "нужно перезагрузить систему."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr ""
 "Невозможно переместить конец раздела за начало! (начальный сектор =%jd длина="
 "%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Попытка записи секторов %ld-%ld за пределы раздела на %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "проверка на плохие блоки"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Backtrace имеет %d вызовов из стека:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Проверка условия (%s) на %s:%d в функции %s() не удалась."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: метка диска не определена"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -781,40 +770,40 @@ msgstr ""
 "Эта библиотеке libparted не содержит поддержки записи для %s.  Наверное "
 "скомпилирована только для чтения."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Раздел %d содержит %s, но файловая система %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "cylinder_alignment"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Неизвестный флаг диска, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Подписи к дискам %s не поддерживают расширенные разделы."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr ""
 "Подписи к дискам %s не поддерживают логические или расширенные разделы."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Слишком много основных разделов."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -822,126 +811,126 @@ msgstr ""
 "Невозможно добавить логический раздел на %s, потому что нет расширенного "
 "раздела."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Невозможно создать больше одного расширенного раздела на %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Невозможно создать логический раздел больше расширенного раздела."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr ""
 "Невозможно создать логический раздел больше расширенного раздела на %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Невозможно создать основной раздел внутри расширенного."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Невозможно создать раздел за пределами устройства!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Невозможно создавать пересекающиеся разделы."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "метаданные"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "свободно"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "расширенный"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "логический"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "основной"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "загрузочный"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "корневой"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "подкачка"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "скрытый"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr "irst"
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 msgid "esp"
 msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Неизвестный флаг раздела, %d."
@@ -1011,97 +1000,203 @@ msgstr ""
 "информацией относительно отправки сообщение об ошибке! Пошлите по адресу %s "
 "сообщение об ошибке, содержащее хотя бы версию (%s) и следующую информацию:"
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "Поддержка чтения меток диска AIX пока не реализована."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "Поддержка записи меток диска AIX пока не реализована."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr "Поддержка добавления разделов к меткам диска AIX пока не реализована."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Поддержка дублирования разделов в метках диска AIX пока не реализована."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
 msgstr ""
 "Поддержка задания типа системы на метках диска AIX пока не реализована."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr "Поддержка записи флагов на метках диска AIX пока не реализована."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted не может работать с файловыми системами HFS, на дисках с размером "
+"сектора не равным %d байт."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Не удалось удовлетворить все ограничения целостности раздела."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Не удалось назначить номер раздела."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Не удалось назначить слот подписи к диску bsd."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Не удалось назначить слот подписи к диску dasd"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
-msgstr "Ð\9dевеÑ\80наÑ\8f Ñ\82аблиÑ\86а Ñ\80азделов Ð½Ð° %s -- Ð½ÐµÐ¿Ñ\80авилÑ\8cнаÑ\8f Ñ\81игнаÑ\82Ñ\83Ñ\80а %x."
+msgstr "Ð\9dекоÑ\80Ñ\80екÑ\82наÑ\8f Ñ\82аблиÑ\86а Ñ\80азделов Ð½Ð° %s: Ð½ÐµÐ¿Ñ\80авилÑ\8cнÑ\8bй Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80 %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Неверная таблица разделов - рекурсивный раздел на %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Расширенные разделы не могут быть скрыты при msdos метках диска."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Расширенные разделы не могут быть скрыты при msdos метках диска."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted не может изменять размер разделов управляемых Windows Dynamic Disk."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "не удаётся создать дополнительные разделы"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s не содержит расширенного раздела (заголовка расширенного раздела)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "Неправильная контрольная сумма, значит таблица разделов испорчена."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Только основные разделы могут быть root разделами."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Только основные разделы могут быть swap разделами."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Только логические разделы могут быть загрузочными файлами."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1110,110 +1205,119 @@ msgstr ""
 "ошибка при задании имени %s для раздела dvh:\n"
 "Только логические разделы (загрузочные файлы) могут иметь имя."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Слишком много основных разделов"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "ошибка открытия"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "ошибка при поиске дорожки"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "ошибка чтения"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "ошибка ioctl()"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "Несоответствие версий API"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Не поддерживаемый тип диска"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Не поддерживаемый формат диска"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Диск используется"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Ошибка синтаксиса конфигурационного файла"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Метка тома повреждена"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Имя набора данных повреждено"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Ошибка выделения памяти"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Ошибка проверки устройства"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Указанное устройство не является правильным DASD устройством"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Критическая ошибка"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
-msgstr "Ð\9dеÑ\82 ÐºÐ¾Ð¼Ð½Ð°Ñ\82Ñ\8b для метки тома."
+msgstr "Ð\9dеÑ\82 Ð¼ÐµÑ\81Ñ\82а для метки тома."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
-msgstr "Ð\9dеÑ\82 ÐºÐ¾Ð¼Ð½Ð°Ñ\82Ñ\8b для информации о разделе."
+msgstr "Ð\9dеÑ\82 Ð¼ÐµÑ\81Ñ\82а для информации о разделе."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Неправильный VTOC."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Не удалось получить версию API."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 "Текущая версия API '%d' не соответствует версии API dasd драйвера '%d'!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Не удалось получить информацию о диске."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Не удалось получить информацию о геометрии диска."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Не удалось получить информацию о размере блока."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Не удалось получить информацию о диске."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr "устройство слишком маленькое для GPT"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1222,7 +1326,7 @@ msgstr ""
 "Формат таблицы разделов GPT версии %x новее, чем Parted может распознать. "
 "Сообщите об этом!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1233,7 +1337,7 @@ msgstr ""
 "таблицу GPT для использования всего места (дополнительно %llu блоков) или "
 "продолжить с текущими настройками? "
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
@@ -1241,7 +1345,7 @@ msgstr ""
 "Резервная копия таблицы GPT находится не в конце диска, как должно быть. "
 "Исправить это, передвинув резервную копию в конец диска (и удалив старую)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1249,7 +1353,7 @@ msgstr ""
 "Обе — и главная, и резервная таблицы GPT — повреждены. Попробуйте создать "
 "новую и используя Parted для восстановления разделов."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1257,7 +1361,7 @@ msgstr ""
 "Резервная таблица GPT повреждена, но главная кажется корректной, поэтому она "
 "и будет использоваться."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1265,61 +1369,61 @@ msgstr ""
 "Главная таблица GPT повреждена, но резервная копия кажется корректной, "
 "поэтому она и будет использоваться."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "ошибка CRC массива таблицы основных разделов"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
 msgstr "ошибка при трансляции имени раздела"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
-msgstr "Неправильная сигнатура %x для меток дисков Mac."
+msgstr "Неправильный идентификатор %x для дисковых меток Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
-msgstr "Карта разделов не содержит элемента карты!"
+msgstr "Карта разделов не содержит записи карты раздела!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s слишком меленький для метки диска Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
-msgstr "Раздел %d Ñ\81одеÑ\80жиÑ\82 Ð½ÐµÐ¿Ñ\80авилÑ\8cнÑ\83Ñ\8e Ñ\81игнаÑ\82Ñ\83Ñ\80Ñ\83 %x."
+msgstr "Раздел %d Ñ\81одеÑ\80жиÑ\82 Ð½ÐµÐ¿Ñ\80авилÑ\8cнÑ\8bй Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80 %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Раздел %d имеет неправильную длину 0 байт!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Область данных не начинается в начале раздела."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Область загрузки не начинается в начале раздела."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
-msgstr "Область загрузки не покрывает весь раздел."
+msgstr "Область загрузки раздела занимает не целый раздел."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
-msgstr "Область данных не покрывает весь раздел."
+msgstr "Область данных раздела занимает не целый раздел."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr "Неправильный размер блока на устройстве: %d байт не делится на 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1328,31 +1432,32 @@ msgstr ""
 "Драйвер говорит,что размер физического блока равен %d байт, но Linux "
 "говорит, что он %d байт."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Не найдено правильной карты разделов."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
 "says it is %d!"
 msgstr ""
-"Конфликт размеров элементов карты разделов!  Элемент 1 говорит %d, но %d "
-"говорит %d!"
+"Конфликт размеров записей карты разделов! В записи 1 указан %d, но в %d "
+"указано %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
-msgstr "Ужас!  Содержится 2 элемента таблицы разделов!"
+msgstr "Ужас! Существует 2 записи таблицы разделов!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
 msgstr ""
-"Изменив имя root или swap раздела заставит Linux перестать понимать их."
+"Изменение имени корневого раздела или раздела подкачки создаст проблемы с их "
+"распознаванием в Linux."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Не удалось создать другой раздел -- слишком маленькая карта разделов!"
 
@@ -1372,78 +1477,74 @@ msgstr "Раздел %d не выровнен к краю цилиндра.  Э
 msgid "Can't add another partition."
 msgstr "Невозможно добавить другой раздел."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
 msgstr ""
-"длина раздела в %jd секторов превышает максимальное значение %s-налагаемую-"
-"на-таблицы-разделов для %jd"
+"длина раздела в %jd секторов превышает максимальное значение, налагаемое "
+"типом таблицы разделов %s (%jd)"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
 msgstr ""
-"номер начального сектора %jd превышает максимальное значение %s-налагаемую-"
-"на-таблицы-разделов для %jd"
+"номер начального сектора %jd превышает максимальный, налагаемый типом "
+"таблицы разделов %s (%jd)"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Неправильная контрольная сумма %llu типа %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : Не найден rdb блок, такого не должно было случиться."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
-msgstr "%s : Ð\9eбнаÑ\80Ñ\83жено ÐºÐ¾Ð»Ñ\8cÑ\86о на блоке %d."
+msgstr "%s : Ð\9eбнаÑ\80Ñ\83жена Ð·Ð°ÐºÐ¾Ð»Ñ\8cÑ\86овка на блоке %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
-msgstr "%s : Ð¡Ð¿Ð¸Ñ\81ок %s Ð¿Ð¾Ñ\85ож Ð½Ð° Ð¿Ð»Ð¾Ñ\85ой на блоке %s."
+msgstr "%s : Ð\92еÑ\80оÑ\8fÑ\82но, Ð½ÐµÐºÐ¾Ñ\80Ñ\80екÑ\82нÑ\8bй Ñ\81пиÑ\81ок %s на блоке %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Не удалось вывести список плохих блоков."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Не удалось вывести список блоков раздела."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
-msgstr "%s : Не удалось вывести блоков файловой системы."
+msgstr "%s : Не удалось вывести список блоков файловой системы."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Не удалось вывести список загрузочных блоков."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Не удалось записать блок раздела на %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Не удалось назначить номер раздела."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Обнаружена повреждённая метка диска Sun."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1452,17 +1553,17 @@ msgstr ""
 "CHS геометрия диска (%d,%d,%d) предоставленная операционной системой не "
 "совпадает с геометрией, которая содержится в метке диска (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Метка диска указывает на диск больший чем %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "Диск содержит %d цилиндров, что больше максимума 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1473,7 +1574,7 @@ msgstr ""
 "переписывать этот раздел реальным.  Solaris, возможно, может не загрузиться "
 "без него и SILO (загрузчик sparc) оценивает это также."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Метка диска Sun переполнена."
 
@@ -1483,7 +1584,7 @@ msgstr "не удалось открыть устройство"
 
 #: libparted/labels/vtoc.c:168
 msgid "seeking on device failed"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð½Ð°Ð¹Ñ\82и Ð´Ð¾Ñ\80ожку"
+msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¿ÐµÑ\80емеÑ\81Ñ\82иÑ\82Ñ\8cÑ\81Ñ\8f Ð¿Ð¾ Ñ\83Ñ\81Ñ\82Ñ\80ойÑ\81Ñ\82ву"
 
 #: libparted/labels/vtoc.c:172
 msgid "writing to device failed"
@@ -1493,60 +1594,60 @@ msgstr "не удалось записать на устройство"
 msgid "reading from device failed"
 msgstr "не удалось прочесть с устройства"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Не удалось прочесть метку тома."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Не удалось записать метку тома."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Не удалось прочесть VTOC метки."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Не удалось прочесть VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Не удалось прочесть VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Не удалось прочесть VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Не удалось прочесть VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Не удалось записать VTOC метки."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Не удалось записать VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Не удалось записать VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Не удалось записать VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Не удалось записать VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Не удалось записать VTOC FMT9 DSCB."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Недостаточно памяти."
 
@@ -1569,73 +1670,73 @@ msgstr "Максимальное количество головок %d."
 msgid "The maximum sector value is %d."
 msgstr "Максимальное количество секторов %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Расположение %s вне устройства %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Неправильный номер."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "Используйте меньшую единицу измерения вместо значений < 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Не удалось выделить блок раздела\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Не удалось выделить блок\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Не удалось прочесть загрузочный блок %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Не удалось прочесть корневой блок %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : Не удалось выделить элемент списка идентификаторов\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Не удалось прочесть блок %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Неправильная контрольная сумма блока %llu типа %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Не удалось записать блок %d.\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s : Не удалось выделить специфичный_для_диска блок rdb\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : Не найден rdb блок, такого не должно было случиться\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Не удалось прочесть блок раздела %llu\n"
@@ -1650,7 +1751,7 @@ msgstr ""
 
 #: libparted/fs/fat/bootsector.c:50 libparted/fs/r/fat/bootsector.c:49
 msgid "File system has an invalid signature for a FAT file system."
-msgstr "ФайловаÑ\8f Ñ\81иÑ\81Ñ\82ема Ð¸Ð¼ÐµÐµÑ\82 Ð½ÐµÐ²ÐµÑ\80нÑ\83Ñ\8e Ð´Ð»Ñ\8f FAT Ñ\81игнаÑ\82Ñ\83Ñ\80Ñ\83."
+msgstr "ФайловаÑ\8f Ñ\81иÑ\81Ñ\82ема Ð¸Ð¼ÐµÐµÑ\82 Ð½ÐµÐ²ÐµÑ\80нÑ\8bй Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80 Ð´Ð»Ñ\8f FAT."
 
 #: libparted/fs/fat/bootsector.c:58 libparted/fs/r/fat/bootsector.c:57
 msgid "File system has an invalid sector size for a FAT file system."
@@ -1679,44 +1780,44 @@ msgstr ""
 "CHS геометрия файловой системы (%d, %d, %d) некорректна. CHS геометрия "
 "таблицы разделов — (%d, %d, %d)."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "Загрузочный сектор FAT содержит размер логического сектора, равный 0.  Это "
 "странно. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 "В загрузочном секторе FAT не содержится информации о таблицах FAT.  Это "
 "странно. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "В соответствии с загрузочным сектором FAT, кластер содержит 0 секторов.  Это "
 "странно. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Файловая система FAT12, не поддерживается."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
-msgstr "Нераспознанная устаревшая сигнатура linux swap '%10s'."
+msgstr "Нераспознанный идентификатор подкачки linux «%10s» в старом формате."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
-msgstr "Нераспознанная новая сигнатура linux swap '%10s'."
+msgstr "Нераспознанный идентификатор подкачки linux «%10s» в новом формате."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
-msgstr "Нераспознанная сигнатура swsusp linux swap '%9s'."
+msgstr "Нераспознанный идентификатор подкачки swsusp linux «%9s»."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1725,17 +1826,7 @@ msgstr ""
 "Parted не может работать с файловыми системами HFS, на дисках с размером "
 "сектора не равным %d байт."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Эта файловая система имеет размер логического сектора %d.  Считается, что "
-"GNU Parted работает неправильно с секторами, размер которых отличен от 512 "
-"байт."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1750,15 +1841,15 @@ msgstr ""
 "Исправить, CHS геометрия файловой системы будет изменена для согласования с "
 "CHS геометрией таблицы раздела."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
 "and send in a bug report.  If you're desperate, it's probably safe to ignore."
 msgstr ""
-"Информационный сектор имеет неверную сигнатуру (%x).  Выберите отмену, и "
-"поÑ\88лиÑ\82е Ñ\81ообÑ\89ение Ð¾Ð± Ð¾Ñ\88ибке.  Ð\95Ñ\81ли Ð²Ñ\8b Ñ\83же Ð¾Ñ\82Ñ\87аÑ\8fлиÑ\81Ñ\8c, Ñ\82о, Ð²ÐµÑ\80оÑ\8fÑ\82но, Ð¼Ð¾Ð¶Ð½о "
-"проигнорировать."
+"Информационный сектор содержит некорректный идентификатор (%x). Выберите "
+"оÑ\82менÑ\83, Ð¸ Ð¿Ð¾Ñ\88лиÑ\82е Ñ\81ообÑ\89ение Ð¾Ð± Ð¾Ñ\88ибке. Ð\95Ñ\81ли Ð²Ñ\8b Ð´Ð¾Ð²ÐµÐ´ÐµÐ½Ñ\8b Ð´Ð¾ Ð¾Ñ\82Ñ\87аÑ\8fнÑ\8cÑ\8f, Ñ\82о "
+"веÑ\80оÑ\8fÑ\82но Ñ\80азÑ\83мнее Ð±Ñ\83деÑ\82 Ð¿Ñ\80оигноÑ\80иÑ\80оваÑ\82Ñ\8c."
 
 #: libparted/fs/r/fat/calc.c:134
 #, c-format
@@ -1769,7 +1860,7 @@ msgstr ""
 "Вам требуется %s свободного пространства, чтобы уменьшить данный раздел до "
 "такого размера.  Сейчас свободно только %s."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
@@ -1777,13 +1868,13 @@ msgstr ""
 "Кластер начинается со смещением %d, что не является целым числом кластеров "
 "размера %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Плохой элемент каталога для %s: первый кластер является концом маркера файла."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1791,7 +1882,7 @@ msgstr ""
 "Ошибка в FAT: незавершённая цепочка для %s.  Вы должны запустить dosfsck или "
 "scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1800,7 +1891,7 @@ msgstr ""
 "Ошибка в FAT: кластер %d находится вне файловой системы в цепочке для %s.  "
 "Вы должны запустить dosfsck или scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1809,12 +1900,12 @@ msgstr ""
 "Ошибка в FAT: кластер %d имеет ссылку на %s.  Вы должны запустить dosfsck "
 "или scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s является %dk, но он содержит %d кластеров (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1865,36 +1956,36 @@ msgid ""
 "There's not enough room in the root directory for all of the files.  Either "
 "cancel, or ignore to lose the files."
 msgstr ""
-"Для всех файлов не хватает места в корневом каталоге.  Либо отмените, либо "
-"игноÑ\80иÑ\80Ñ\83йÑ\82е Ð´Ð»Ñ\8f Ð¿Ð¾Ñ\82еÑ\80и Ñ\84айлов."
+"Для всех файлов не хватает места в корневом каталоге. Либо отмените, либо "
+"игноÑ\80иÑ\80Ñ\83йÑ\82е Ð¸ Ð¿Ð¾Ñ\82еÑ\80Ñ\8fеÑ\82е Ñ\84айлÑ\8b."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Ошибка записи в корневой каталог."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "Если вы оставите файловую систему как FAT16, проблем не будет."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
 "should consult the Parted manual (or your distribution's manual)."
 msgstr ""
-"Если вы конвертируете в FAT16 и MS Windows установлен на этом разделе, нужно "
-"бÑ\83деÑ\82 Ð¿ÐµÑ\80еÑ\83Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð³Ñ\80Ñ\83зÑ\87ик MS Windows.  Если вы хотите это сделать, "
-"обÑ\80аÑ\82иÑ\82еÑ\81Ñ\8c Ð² Ñ\80Ñ\83ководÑ\81Ñ\82во Parted (или Ñ\80Ñ\83ководÑ\81Ñ\82во вашего дистрибутива)."
+"Если вы конвертируете в FAT16, и на этом разделе установлена MS Windows, то "
+"нÑ\83жно Ð±Ñ\83деÑ\82 Ð¿ÐµÑ\80еÑ\83Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð³Ñ\80Ñ\83зÑ\87ик MS Windows. Если вы хотите это сделать, "
+"обÑ\80аÑ\82иÑ\82еÑ\81Ñ\8c Ðº Ñ\80Ñ\83ководÑ\81Ñ\82вÑ\83 Parted (или Ñ\80Ñ\83ководÑ\81Ñ\82вÑ\83 вашего дистрибутива)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr ""
-"Если вы оставите файловую систему как FAT32, никаких новых проблем вы не "
-"замеÑ\82иÑ\82е."
+"Если вы оставите файловую систему как FAT32, то никаких новых проблем не "
+"возникнеÑ\82."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1902,41 +1993,41 @@ msgid ""
 "converting to FAT32 will make the file system unreadable by MS DOS, MS "
 "Windows 95a, and MS Windows NT."
 msgstr ""
-"Если вы конвертируете в FAT16 и MS Windows установлен на этом разделе, нужно "
-"бÑ\83деÑ\82 Ð¿ÐµÑ\80еÑ\83Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð³Ñ\80Ñ\83зÑ\87ик MS Windows.  Если вы хотите это сделать, "
-"обÑ\80аÑ\82иÑ\82еÑ\81Ñ\8c Ð² Ñ\80Ñ\83ководÑ\81Ñ\82во Parted (или Ñ\80Ñ\83ководÑ\81Ñ\82во Ð²Ð°Ñ\88его Ð´Ð¸Ñ\81Ñ\82Ñ\80ибÑ\83Ñ\82ива).  "
-"Также, Ð¿Ñ\80еобÑ\80азование Ð² FAT32 Ñ\81делаеÑ\82 Ñ\81иÑ\81Ñ\82емÑ\83 Ð½Ðµ Ñ\87иÑ\82аемой Ð´Ð»Ñ\8f MS DOS, MS "
-"Windows 95a и MS Windows NT."
+"Если вы конвертируете в FAT32, и на этом разделе установлена MS Windows, то "
+"нÑ\83жно Ð±Ñ\83деÑ\82 Ð¿ÐµÑ\80еÑ\83Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð³Ñ\80Ñ\83зÑ\87ик MS Windows. Если вы хотите это сделать, "
+"обÑ\80аÑ\82иÑ\82еÑ\81Ñ\8c Ðº Ñ\80Ñ\83ководÑ\81Ñ\82вÑ\83 Parted (или Ñ\80Ñ\83ководÑ\81Ñ\82вÑ\83 Ð²Ð°Ñ\88его Ð´Ð¸Ñ\81Ñ\82Ñ\80ибÑ\83Ñ\82ива). "
+"Также, Ð¿Ñ\80еобÑ\80азование Ð² FAT32 Ñ\81делаеÑ\82 Ñ\84айловÑ\83Ñ\8e Ñ\81иÑ\81Ñ\82емÑ\83 Ð½ÐµÑ\87иÑ\82аемой Ð¸Ð· MS DOS, "
+"MS Windows 95a и MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Вы хотите использовать FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Изменение размера файловой системы до этого размера возможно только после "
-"преобразования в FAT16."
+"пÑ\80еобÑ\80азованиÑ\8f ÐµÑ\91 Ð² FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Изменение размера файловой системы до этого размера возможно только после "
-"преобразования в FAT32."
+"пÑ\80еобÑ\80азованиÑ\8f ÐµÑ\91 Ð² FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1977,84 +2068,86 @@ msgstr "изменение размера файловой системы %s н
 
 #: libparted/fs/r/filesys.c:170
 msgid "The file system is bigger than its volume!"
-msgstr "Файловая система больше её раздела!"
+msgstr "Файловая система больше раздела, на котором расположена!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Файловая система содержит ошибки."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Плохие блоки не могут быть прочитаны."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
 "При попытке зарегистрировать extent, начинающийся с блока 0x%X, обнаружен "
-"другой блок в этой позиции.  Вам нужно проверить файловую систему на ошибки!"
+"другой блок в этой позиции. Проверьте файловую систему на ошибки!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "При попытке переместить extent из блока Ox%X в блок Ox%X, обнаружен другой "
-"блок в этой позиции. Это не должно было случиться!"
+"блок в этой позиции. Этого не должно было случиться!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
-msgstr "Не удалось обновить кэш расширений для HFS файла с CNID %X."
+msgstr "Не удалось обновить кэш extent для HFS файла с CNID %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
-msgstr "Ð\9fÑ\8bÑ\82аÑ\8eÑ\81Ñ\8c Ð¿Ñ\80оÑ\87еÑ\81Ñ\82Ñ\8c HFS Ñ\84айл с CNID %X за EOF."
+msgstr "Ð\92Ñ\8bполнÑ\8fеÑ\82Ñ\81Ñ\8f Ð¿Ð¾Ð¿Ñ\8bÑ\82ка Ñ\87Ñ\82ениÑ\8f HFS Ñ\84айла с CNID %X за EOF."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Не удалось найти сектор %lli для HFS файла с CNID %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
-msgstr "Ð\9fÑ\8bÑ\82аÑ\8eÑ\81Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81аÑ\82Ñ\8c HFS Ñ\84айл с CNID %X за EOF."
+msgstr "Ð\92Ñ\8bполнÑ\8fеÑ\82Ñ\81Ñ\8f Ð¿Ð¾Ð¿Ñ\8bÑ\82ка Ð·Ð°Ð¿Ð¸Ñ\81и HFS Ñ\84айла с CNID %X за EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
-msgstr "Не удалось обновить кэш расширений для HFS+ файла с CNID %X."
+msgstr "Не удалось обновить кэш extent для HFS+ файла с CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
-msgstr "Ð\9fÑ\8bÑ\82аÑ\8eÑ\81Ñ\8c Ð¿Ñ\80оÑ\87еÑ\81Ñ\82Ñ\8c HFS+ Ñ\84айл с CNID %X за EOF."
+msgstr "Ð\92Ñ\8bполнÑ\8fеÑ\82Ñ\81Ñ\8f Ð¿Ð¾Ð¿Ñ\8bÑ\82ка Ñ\87Ñ\82ениÑ\8f HFS+ Ñ\84айла с CNID %X за EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Не удалось найти сектор %lli для HFS+ файла с CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
-msgstr "Ð\9fÑ\8bÑ\82аÑ\8eÑ\81Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81аÑ\82Ñ\8c HFS+ Ñ\84айл с CNID %X за EOF."
+msgstr "Ð\92Ñ\8bполнÑ\8fеÑ\82Ñ\81Ñ\8f Ð¿Ð¾Ð¿Ñ\8bÑ\82ка Ð·Ð°Ð¿Ð¸Ñ\81и HFS+ Ñ\84айла с CNID %X за EOF."
 
 #: libparted/fs/r/hfs/hfs.c:232
 msgid "Sorry, HFS cannot be resized that way yet."
-msgstr "Простите, размер HFS не может быть изменён таким образом пока что."
+msgstr ""
+"Извините, но в настоящее время размер HFS не может быть изменён таким "
+"образом."
 
 #: libparted/fs/r/hfs/hfs.c:250 libparted/fs/r/hfs/hfs.c:629
 msgid "shrinking"
-msgstr "Ñ\81Ñ\83жение"
+msgstr "Ñ\83менÑ\8cÑ\88ение"
 
 #: libparted/fs/r/hfs/hfs.c:262 libparted/fs/r/hfs/hfs.c:641
 msgid "Data relocation has failed."
@@ -2062,41 +2155,43 @@ msgstr "Ошибка перераспределения данных."
 
 #: libparted/fs/r/hfs/hfs.c:281
 msgid "Data relocation left some data in the end of the volume."
-msgstr "Перераспределение данных оставило некоторые данные в конце раздела."
+msgstr ""
+"При перераспределении данных некоторые данные остались в конце раздела."
 
 #: libparted/fs/r/hfs/hfs.c:320
 msgid "writing HFS Master Directory Block"
-msgstr "запиÑ\81Ñ\8c HFS Master Directory Block (Ð\93лавный блок каталога)"
+msgstr "запиÑ\81Ñ\8c HFS Master Directory Block (главный блок каталога)"
 
 #: libparted/fs/r/hfs/hfs.c:468
 msgid "No valid HFS[+X] signature has been found while opening."
-msgstr "Ð\9dе Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ð¿Ñ\80авилÑ\8cной HFS[+X] Ñ\81игнаÑ\82Ñ\83Ñ\80Ñ\8b Ð¿Ñ\80и Ð¾Ñ\82кÑ\80Ñ\8bÑ\82ии."
+msgstr "Ð\9fÑ\80и Ð¾Ñ\82кÑ\80Ñ\8bÑ\82ии Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ð¿Ñ\80авилÑ\8cнÑ\8bй Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80 HFS[+X]."
 
 #: libparted/fs/r/hfs/hfs.c:478
 #, c-format
 msgid "Version %d of HFS+ isn't supported."
-msgstr "Ð\92еÑ\80Ñ\81иÑ\8f %d Ñ\84айловой Ñ\81иÑ\81Ñ\82емÑ\8b HFS+ не поддерживается."
+msgstr "ФайловаÑ\8f Ñ\81иÑ\81Ñ\82ема HFS+ Ð²ÐµÑ\80Ñ\81ии %d не поддерживается."
 
 #: libparted/fs/r/hfs/hfs.c:489
 #, c-format
 msgid "Version %d of HFSX isn't supported."
-msgstr "Ð\92еÑ\80Ñ\81иÑ\8f %d Ñ\84айловой Ñ\81иÑ\81Ñ\82емÑ\8b HFSX не поддерживается."
+msgstr "ФайловаÑ\8f Ñ\81иÑ\81Ñ\82ема HFSX Ð²ÐµÑ\80Ñ\81ии %d не поддерживается."
 
 #: libparted/fs/r/hfs/hfs.c:672
 msgid "Data relocation left some data at the end of the volume."
-msgstr "Перераспределение данных оставило некоторые данные в конце раздела."
+msgstr ""
+"При перераспределении данных некоторые данные остались у конца раздела."
 
 #: libparted/fs/r/hfs/hfs.c:720
 msgid "Error while writing the allocation file."
-msgstr "Ошибка записи файла распределения."
+msgstr "Ошибка записи в выделенный файл."
 
 #: libparted/fs/r/hfs/hfs.c:735
 msgid "Error while writing the compatibility part of the allocation file."
-msgstr "Ошибка записи совместимой части файла распределения."
+msgstr "Ошибка записи совместимой части в выделенный файл."
 
 #: libparted/fs/r/hfs/hfs.c:750
 msgid "writing HFS+ Volume Header"
-msgstr "запиÑ\81Ñ\8c HFS+ Volume Header (Ð\97аголовка раздела)"
+msgstr "запиÑ\81Ñ\8c HFS+ Volume Header (заголовок раздела)"
 
 #: libparted/fs/r/hfs/hfs.c:850
 msgid "An error occurred while looking for the mandatory bad blocks file."
@@ -2107,151 +2202,154 @@ msgid ""
 "It seems there is an error in the HFS wrapper: the bad blocks file doesn't "
 "contain the embedded HFS+ volume."
 msgstr ""
-"Похоже ошибка в оболочке HFS: файл плохих блоков не содержит встроенный HFS+ "
-"раздел."
+"Похоже, ошибка в оболочке HFS: файл плохих блоков не содержит встроенный HFS"
+"раздел."
 
 #: libparted/fs/r/hfs/hfs.c:940
 msgid "Sorry, HFS+ cannot be resized that way yet."
-msgstr "Простите, размер HFS+ не может быть изменён таким образом пока что."
+msgstr ""
+"Извините, но в настоящее время размер HFS+ не может быть изменён таким "
+"образом."
 
 #: libparted/fs/r/hfs/hfs.c:975
 msgid "shrinking embedded HFS+ volume"
-msgstr "уменьшаю размер встроенного HFS+ раздела"
+msgstr "выполняется уменьшение размера встроенного HFS+ раздела"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
-msgstr "Ð\9eÑ\88ибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f размера раздела HFS+."
+msgstr "Ð\9eÑ\88ибка Ð¿Ñ\80и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¸ размера раздела HFS+."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
-msgstr "уменьшаю размер оболочки HFS"
+msgstr "выполняется уменьшение размера оболочки HFS"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
-msgstr "Ð\9eÑ\88ибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ\8f оболочки HFS+."
+msgstr "Ð\9eÑ\88ибка Ð¿Ñ\80и Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¸ оболочки HFS+."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
-"Это не настоящая %s проверка.  Это делается для извлечения специальных "
+"Это не настоящая проверка %s. Это делается для извлечения специальных "
 "низкоуровневых файлов для отладки."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Неправильная контрольная сумма заголовка списка блоков."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
-msgstr "Неправильный размер блока транзакций при повторении журнала (%i байт)."
+msgstr ""
+"Неправильный размер блока транзакций при проигрывании журнала (%i байт)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
-"Ð\96Ñ\83Ñ\80нал, Ñ\85Ñ\80анÑ\8fÑ\89ийÑ\81Ñ\8f Ð²Ð½Ðµ Ñ\80аздела Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ\80живаеÑ\82Ñ\81Ñ\8f.  Ð\9fопÑ\80обÑ\83йÑ\82е Ð¾Ñ\82клÑ\8eÑ\87иÑ\82Ñ\8c "
-"жÑ\83Ñ\80нал Ð¸ Ð·Ð°Ð¿Ñ\83Ñ\81Ñ\82иÑ\82Ñ\8c Parted Ñ\81нова."
+"Ð¥Ñ\80анение Ð¶Ñ\83Ñ\80нала Ð²Ð½Ðµ Ñ\80аздела Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ\80живаеÑ\82Ñ\81Ñ\8f. Ð\9fопÑ\80обÑ\83йÑ\82е Ð¾Ñ\82клÑ\8eÑ\87иÑ\82Ñ\8c Ð¶Ñ\83Ñ\80нал "
+"и запустить Parted снова."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
-msgstr "СмеÑ\89ение Ð¶Ñ\83Ñ\80нала Ð¸Ð»Ð¸ ÐµÐ³Ð¾ Ñ\80азмеÑ\80 Ð½Ðµ Ð´ÐµÐ»Ð¸Ñ\82Ñ\81Ñ\8f Ð½Ð° Ñ\80азмеÑ\80 сектора."
+msgstr "СмеÑ\89ение Ð¶Ñ\83Ñ\80нала Ð¸Ð»Ð¸ ÐµÐ³Ð¾ Ñ\80азмеÑ\80 Ð½Ðµ ÐºÑ\80аÑ\82ен Ñ\80азмеÑ\80Ñ\83 сектора."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
-msgstr "Неправильный заголовок журнала."
+msgstr "Неправильное значение идентификатора в заголовке журнала."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
-"Не найден размер журнала между блоком информации журнала и заголовком "
-"журнала."
+"Несовпадение размера журнала в блоке информации журнала и заголовке журнала."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
-msgstr "Ð\9dекоÑ\82оÑ\80Ñ\8bе Ð¿Ð¾Ð»Ñ\8f Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð½Ðµ Ð´ÐµÐ»Ñ\8fÑ\82Ñ\81Ñ\8f Ð½Ð° Ñ\80азмеÑ\80 сектора."
+msgstr "Ð\9dекоÑ\82оÑ\80Ñ\8bе Ð¿Ð¾Ð»Ñ\8f Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð½Ðµ ÐºÑ\80аÑ\82нÑ\8b Ñ\80азмеÑ\80Ñ\83 сектора."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
-"РазмеÑ\80 Ñ\81екÑ\82оÑ\80а, Ñ\85Ñ\80анÑ\8fÑ\89ийÑ\81Ñ\8f Ð² Ð¶Ñ\83Ñ\80нале Ð½Ðµ 512 Ð±Ð°Ð¹Ñ\82.  Parted Ð¼Ð¾Ð¶ÐµÑ\82 Ñ\80абоÑ\82аÑ\82Ñ\8c "
-"только с секторами размером 512 байт."
+"РазмеÑ\80 Ñ\85Ñ\80анÑ\8fÑ\89иÑ\85Ñ\81Ñ\8f Ð² Ð¶Ñ\83Ñ\80нале Ñ\81екÑ\82оÑ\80ов Ð½Ðµ Ñ\80авен 512 Ð±Ð°Ð¹Ñ\82ам. Parted Ð¼Ð¾Ð¶ÐµÑ\82 "
+"Ñ\80абоÑ\82аÑ\82Ñ\8c Ñ\82олÑ\8cко Ñ\81 Ñ\81екÑ\82оÑ\80ами Ñ\80азмеÑ\80ом 512 Ð±Ð°Ð¹Ñ\82."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Неправильная контрольная сумма журнала."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
-"Журнал не пустой.  Parted должен повторить транзакции перед открытие "
-"Ñ\80аздела.  Это изменит файловую систему."
+"Журнал не пуст. Parted должен повторить транзакции перед открытием файловой "
+"Ñ\81иÑ\81Ñ\82емÑ\8b. Это изменит файловую систему."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
-"Заголовок раздела или блок главного каталога был изменён при повторении "
-"журнала.  Вы должны перезапустить Parted."
+"Заголовок раздела или блок главного каталога был изменён при проигрывании "
+"журнала. Перезапустите Parted."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
-msgstr "Расширение не было перемещено."
+msgstr "extent не был перемещён."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
-"Ссылка на расширение указывает на место, где оно быть не должно.  Вам "
-"Ñ\81ледÑ\83еÑ\82 Ð¿Ñ\80овеÑ\80иÑ\82Ñ\8c Ñ\84айловÑ\83Ñ\8e Ñ\81иÑ\81Ñ\82емÑ\83!"
+"Ссылка на extent указывает на место, где его быть не должно. Проверьте "
+"файловую систему!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
-msgstr "Этот раздел HFS не содержит файла каталога.  Очень необычно!"
+msgstr "Этот раздел HFS не содержит файла каталога. Очень необычно!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
-"Этот раздел HFS не содержит файла размеров перегрузки.  Достаточно необычно!"
+"Этот раздел HFS не содержит файла размеров перегрузки. Достаточно необычно!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
-"Файл размеров перегрузки не должен содержать свои размеры!  Вам следует "
-"проверить файловую систему."
+"Файл размеров перегрузки не должен содержать свои размеры! Проверьте "
+"файловую систему."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Не удалось кэшировать файловую систему в памяти."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Не удалось загрузить список плохих блоков."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
-msgstr "Ð\9eÑ\88ибка Ð¿Ñ\80и Ð¿ÐµÑ\80еÑ\80аÑ\81пÑ\80еделении Ñ\80азмеÑ\80ов."
+msgstr "Ð\92озникла Ð¾Ñ\88ибка Ð¿Ñ\80и Ð¿ÐµÑ\80емеÑ\89ении extent."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
-msgstr "Этот раздел HFS+ не содержит файла каталога.  Очень необычно!"
+msgstr "Этот раздел HFS+ не содержит файла каталога. Очень необычно!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
-"Этот раздел HFS+ не содержит файла размеров перегрузки.  Достаточно необычно!"
+"Этот раздел HFS+ не содержит файла размеров перегрузки. Достаточно необычно!"
 
 #: parted/parted.c:125
 msgid "displays this help message"
@@ -2259,7 +2357,7 @@ msgstr "отображает это справочное сообщение"
 
 #: parted/parted.c:126
 msgid "lists partition layout on all block devices"
-msgstr "вÑ\8bводиÑ\82 Ñ\81пиÑ\81ок Ñ\80азделов Ð½Ð° Ð²Ñ\81еÑ\85 Ð±Ð»Ð¾Ñ\87нÑ\8bÑ\85 Ñ\83Ñ\81Ñ\82Ñ\80ойÑ\81Ñ\82ваÑ\85"
+msgstr "вÑ\8bводиÑ\82 Ñ\80аÑ\81кладкÑ\83 Ñ\80азделов Ð²Ñ\81еÑ\85 Ð±Ð»Ð¾Ñ\87нÑ\8bÑ\85 Ñ\83Ñ\81Ñ\82Ñ\80ойÑ\81Ñ\82в"
 
 #: parted/parted.c:127
 msgid "displays machine parseable output"
@@ -2282,8 +2380,9 @@ msgid ""
 "NUMBER is the partition number used by Linux.  On MS-DOS disk labels, the "
 "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n"
 msgstr ""
-"НОМЕР - это номер раздела используемый в Linux.  В MS-DOS метки диска, "
-"номера основных разделов от 1 до 4, логических разделов от 5 и далее.\n"
+"НОМЕР — это номер раздела, используемый в Linux. В системе MS-DOS диски "
+"помечаются так: номерами первичных разделов могут быть с 1 по 4, с 5 и далее "
+"следуют номера логических разделов.\n"
 
 #: parted/parted.c:145
 msgid "LABEL-TYPE is one of: "
@@ -2330,7 +2429,7 @@ msgstr ""
 
 #: parted/parted.c:159
 msgid "STATE is one of: on, off\n"
-msgstr "СОСТ. один из: on, off\n"
+msgstr "СОСТОЯНИЕ одно из двух: on, off (активно, неактивно)\n"
 
 #: parted/parted.c:160
 msgid "DEVICE is usually /dev/hda or /dev/sda\n"
@@ -2360,22 +2459,22 @@ msgstr ""
 "или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ.  Для получения более подробной "
 "информации смотрите Универсальную Общественную Лицензию GNU.\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(времени прошло %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
-msgstr "Раздел %s Ð¸Ñ\81полÑ\8cзÑ\83еÑ\82Ñ\81Ñ\8f. Ð\94ейÑ\81Ñ\82виÑ\82елÑ\8cно хотите продолжить?"
+msgstr "Раздел %s Ð¸Ñ\81полÑ\8cзÑ\83еÑ\82Ñ\81Ñ\8f. Ð\92Ñ\8b Ñ\83веÑ\80енÑ\8b Ñ\87Ñ\82о хотите продолжить?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Разделы на %s используются."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2384,31 +2483,31 @@ msgstr ""
 "Существующая метка диска на  %s будет уничтожена и все данные на этом диске "
 "будут потеряны. Действительно продолжить?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Новый тип метки диска?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Тип раздела?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Имя раздела?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Тип файловой системы?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Начало?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Конец?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2418,7 +2517,7 @@ msgstr ""
 "Ближайшие точки, с которыми мы можем работать, от %s до %s (сектора %llu.."
 "%llu).%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2426,152 +2525,164 @@ msgstr ""
 "\n"
 "Это вас устраивает?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
 "Полученный раздел не выровнен для обеспечения лучшей производительности."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Подписи к дискам %s не поддерживают расширенные разделы."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Номер раздела?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "Геометрия цилиндров, головок, секторов BIOS: %d,%d,%d. Каждый цилиндр %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Модель: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Диск %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Размер сектора (логич./физич.): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Таблица разделов: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Флаги диска: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Номер"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Начало"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Конец"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Размер"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Тип"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Файловая система"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Имя"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Флаги"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Свободное место"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
 "partition table?"
 msgstr "Раздел %s %s найден на %s -> %s. Добавить его в таблицу разделов?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "поиск файловых систем"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr "Команда resize была удалена в parted 3.0"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 "Уменьшение раздела может привести к потере данных, вы действительно хотите "
 "продолжить?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Новое устройство?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "тип выравнивания (min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d выровнен\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d не выровнен\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Флаг для инвертации?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Новое состояние?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
-msgstr "Единицы?"
+msgstr "Единица?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "align-check ТИП N                проверить, что раздел N выровнен согласно "
 "ТИПУ(min|opt)"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2579,30 +2690,30 @@ msgstr ""
 "help [КОМАНДА]                   распечатать общую справку или справку по "
 "КОМАНДЕ"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
 msgstr ""
 "mklabel,mktable ТИП_МЕТКИ        создать новую метку диска (таблицу раздела)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart ТИП_РАЗД [ТИП_ФС] НАЧ КОН создать раздел"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2610,19 +2721,19 @@ msgstr ""
 "mkpart делает раздел без создания на нём новой файловой системы. ТИП_ФС "
 "должен быть указан для записи идентификатора раздела\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
-msgstr "name Ð\9dÐ\9eÐ\9cÐ\95Р Ð\98Ð\9cЯ                   Ð½Ð°Ð·Ð½Ð°Ñ\87иÑ\82Ñ\8c Ð¸Ð¼Ñ\8f Ñ\80азделÑ\83 Ð\9dÐ\9eÐ\9cÐ\95Р Ð½Ð° Ð\98Ð\9cЯ"
+msgstr "name Ð\9dÐ\9eÐ\9cÐ\95Р Ð\98Ð\9cЯ                   Ð½Ð°Ð·Ð½Ð°Ñ\87иÑ\82Ñ\8c Ð\98Ð\9cЯ Ñ\80азделÑ\83 Ñ\81 Ð\9dÐ\9eÐ\9cÐ\95Ром"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2632,7 +2743,7 @@ msgstr ""
 "доступные устройства, свободное место, все найденные разделы или "
 "определённый раздел"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2640,45 +2751,45 @@ msgstr ""
 "Без параметров, «print» отображает всю таблицу разделов. Но с параметрами "
 "могут выполняться и некоторые другие действия.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : отобразить все активные блочные устройства\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
-"  free      : Ð¾Ñ\82обÑ\80ажаеÑ\82 Ð¸Ð½Ñ\84оÑ\80маÑ\86иÑ\8e Ð¾ Ñ\81вободное не разбитом пространстве на "
+"  free      : Ð¾Ñ\82обÑ\80ажаеÑ\82 Ð¸Ð½Ñ\84оÑ\80маÑ\86иÑ\8e Ð¾ Ñ\81вободном, не разбитом пространстве на "
 "текущем блочном устройстве\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : отображает таблицы разделов на всех активных блочных "
 "устройствах\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 "  НОМЕР    : отображает более детальную информацию о требуемом разделе\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                             выйти из программы"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "resize"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2686,52 +2797,52 @@ msgstr ""
 "rescue НАЧАЛО КОНЕЦ              восстановить потерянный раздел в промежутке "
 "от НАЧАЛА до КОНЦА"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr "Команда resize была удалена в parted 3.0\n"
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
 msgstr "resizepart"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
-msgstr "resizepart НОМЕР КОН             изменить размер раздела НОМЕР"
+msgstr "resizepart НОМЕР КОНЕЦ           изменить размер раздела НОМЕР"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm НОМЕР                         удалить раздел НОМЕР"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select УСТРОЙСТВО                выбор устройства для редактирования"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "disk_set"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr "disk_set ФЛАГ СОСТОЯНИЕ          изменить ФЛАГ на выбранном устройстве"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
@@ -2739,40 +2850,40 @@ msgstr ""
 "disk_toggle [ФЛАГ]               переключить состояние ФЛАГА на выбранном "
 "устройстве"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set НОМЕР ФЛАГ СОСТОЯНИЕ         изменить ФЛАГ на разделе НОМЕР"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
 "toggle [НОМЕР [ФЛАГ]]            переключить состояние ФЛАГА на разделе НОМЕР"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "unit ЕДИНИЦА                     использовать для измерений данную ЕДИНИЦУ"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2780,37 +2891,37 @@ msgstr ""
 "version                                  отображает текущую версию GNU "
 "Parted и информацию о лицензии"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
 "version отображает информацию о лицензии и версии этой копии GNU Parted\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 "Использование: %s [-hlmsv] [-a<align>] [УСТРОЙСТВО [КОМАНДА [ПАРАМЕТРЫ]]…]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Устройство не найдено"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr "ВНИМАНИЕ: у вас нет прав администратора. Могут возникнуть проблемы.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Не забудьте обновить /etc/fstab.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 "Добро пожаловать в GNU Parted! Наберите 'help' для просмотра списка команд.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2822,7 +2933,7 @@ msgstr ""
 "задано,\n"
 "программа работает в интерактивном режиме.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2862,13 +2973,13 @@ msgstr ""
 "Не паникуйте! Эта ошибка скорее всего не повлияет на ваши данные.\n"
 "Помогите нам исправить эту ошибку делая вот что:\n"
 "\n"
-"Проверьте, не исправлена ли ошибка ещё, загрузив\n"
+"Проверьте, не исправлена ли уже ошибка, загрузив\n"
 "последнюю версию GNU Parted, которую вы\n"
 "можете найти на:\n"
 "\n"
 "\thttp://ftp.gnu.org/gnu/parted/\n"
 "\n"
-"Пожалуйста, проверьте эту версию, перед сообщением об ошибке.\n"
+"Пожалуйста, проверьте новую версию, перед сообщением об ошибке.\n"
 "\n"
 "Если ошибка ещё не исправлена или вы не знаете как\n"
 "это проверить посетите сайт GNU Parted:\n"
@@ -2877,16 +2988,16 @@ msgstr ""
 "\n"
 "за дополнительной информацией.\n"
 "\n"
-"Ваше сообщение должно содержать номер этой версии (%s)\n"
-"также как и сообщение об ошибке ниже и вывод команд\n"
+"Ваше сообщение должно содержать номер версии (%s),\n"
+"а также сообщение об ошибке ниже и вывод команд\n"
 "\n"
 "\tparted УСТРОЙСТВО unit co print unit s print\n"
 "\n"
-"и ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ\8b, ÐºÐ¾Ñ\82оÑ\80Ñ\8bе Ð²Ñ\8b Ð²Ð²Ð¾Ð´Ð¸Ð»и.\n"
+"и ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ\8b, Ð²Ð²Ð¾Ð´Ð¸Ð¼Ñ\8bе Ð²Ð°Ð¼Ð¸ Ñ\80анее, Ð´Ð¾ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ\8f Ð¾Ñ\88ибки.\n"
 "А также любую дополнительную информацию о вашей конфигурации,\n"
 "если вы посчитаете это важным.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2894,7 +3005,7 @@ msgstr ""
 "\n"
 "История команд:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2902,7 +3013,7 @@ msgstr ""
 "\n"
 "Ошибка: SEGV_MAPERR (адрес не назначен объекту)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2910,7 +3021,7 @@ msgstr ""
 "\n"
 "Ошибка: SEGV_ACCERR (недопустимые права для назначенного объекта)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2918,7 +3029,7 @@ msgstr ""
 "\n"
 "Ошибка: получен обычный сигнал SIGSEGV.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2926,7 +3037,7 @@ msgstr ""
 "\n"
 "Ошибка: FPE_INTDIV (Integer: деление на ноль)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2934,7 +3045,7 @@ msgstr ""
 "\n"
 "Ошибка: FPE_INTOVF (Integer: переполнение)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2942,7 +3053,7 @@ msgstr ""
 "\n"
 "Ошибка: FPE_FLTDIV (Float: деление на ноль)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2950,7 +3061,7 @@ msgstr ""
 "\n"
 "Ошибка: FPE_FLTOVF (Float: переполнение)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2958,7 +3069,7 @@ msgstr ""
 "\n"
 "Ошибка: FPE_FLTUND (Float: потеря значимости)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2966,7 +3077,7 @@ msgstr ""
 "\n"
 "Ошибка: FPE_FLTRES (Float: неточный ответ)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2974,7 +3085,7 @@ msgstr ""
 "\n"
 "Ошибка: FPE_FLTINV (Float: неправильная операция)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -2982,7 +3093,7 @@ msgstr ""
 "\n"
 "Ошибка: FPE_FLTSUB (Float: выражение вне области)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -2990,7 +3101,7 @@ msgstr ""
 "\n"
 "Ошибка: получен обычный сигнал SIGFPE."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -2998,7 +3109,7 @@ msgstr ""
 "\n"
 "Ошибка: ILL_ILLOPC (неправильный Opcode)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3006,7 +3117,7 @@ msgstr ""
 "\n"
 "Ошибка: ILL_ILLOPN (неправильный операнд)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3014,7 +3125,7 @@ msgstr ""
 "\n"
 "Ошибка:  ILL_ILLADR (неправильный режим адресации)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3022,7 +3133,7 @@ msgstr ""
 "\n"
 "Ошибка: ILL_ILLTRP (неправильная ловушка)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3030,7 +3141,7 @@ msgstr ""
 "\n"
 "Ошибка: ILL_PRVOPC (привилегированный Opcode)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3038,7 +3149,7 @@ msgstr ""
 "\n"
 "Ошибка: ILL_PRVREG (привилегированный регистр)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3046,7 +3157,7 @@ msgstr ""
 "\n"
 "Ошибка: ILL_COPROC (ошибка сопроцессора)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3054,7 +3165,7 @@ msgstr ""
 "\n"
 "Ошибка: ILL_BADSTK (ошибка внутреннего стека)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3062,65 +3173,69 @@ msgstr ""
 "\n"
 "Ошибка: получен обычный сигнал SIGILL."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "недопустимый ключ: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Ожидается номер раздела."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Раздел не существует."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Ожидается тип файловой системы."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Неизвестный тип файловой системы «%s»."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
-msgstr "Ð\9eжидаеÑ\82Ñ\81Ñ\8f Ñ\82ип Ð¿Ð¾Ð´Ð¿Ð¸Ñ\81и диска."
+msgstr "Ð\9eжидаеÑ\82Ñ\81Ñ\8f Ñ\82ип Ð¼ÐµÑ\82ки диска."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
-msgstr "Ð\9dелÑ\8cзÑ\8f Ñ\81оздаÑ\82Ñ\8c Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ\82елÑ\8cнÑ\8bе Ñ\80азделÑ\8b."
+msgstr "Ð\91олÑ\8cÑ\88е Ñ\80азделов Ñ\81оздаÑ\82Ñ\8c Ð½ÐµÐ»Ñ\8cзÑ\8f."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Ожидается тип раздела."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "вкл"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "выкл"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "оптимальный"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "минимальный"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "КЛЮЧИ:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "КОМАНДЫ:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3129,11 +3244,34 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу: %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Используется %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Эта команда ничего не делает в не-интерактивном режиме.\n"
+
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: параметр '--%s' не может иметь аргументы\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: нераспознанный параметр '--%s'\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: параметр «-W %s» не должен иметь аргументы\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: для параметра «-W %s» нужны аргументы\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Домашняя страница %s: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Эта файловая система имеет размер логического сектора %d.  Считается, что "
+#~ "GNU Parted работает неправильно с секторами, размер которых отличен от "
+#~ "512 байт."
index ec6c88505d646ded2bbca7e4e4d8c8b4d5b66b59..8c801434177676c3c333cdb812bba117790a75f7 100644 (file)
Binary files a/po/rw.gmo and b/po/rw.gmo differ
index 66fc7755b9836996036c388c10f73e59246e8e0c..350615b3e042720d6b9df27b08c0b1ae0d00fc55 100644 (file)
--- a/po/rw.po
+++ b/po/rw.po
@@ -15,7 +15,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 1.6.6\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\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"
@@ -23,85 +23,66 @@ msgstr ""
 "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"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr ""
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr ""
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr ""
 
-#: lib/error.c:188
+#: lib/error.c:195
 #, fuzzy
 msgid "Unknown system error"
 msgstr "IDOSIYE Sisitemu Ubwoko"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr ""
-
-#: lib/getopt.c:624 lib/getopt.c:628
+#: lib/getopt.c:278
 #, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous\n"
 msgstr ""
 
-#: lib/getopt.c:637 lib/getopt.c:642
+#: lib/getopt.c:284
 #, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr ""
 
-#: lib/getopt.c:685 lib/getopt.c:704
+#: lib/getopt.c:319
 #, c-format
-msgid "%s: option '--%s' requires an argument\n"
+msgid "%s: unrecognized option '%s%s'\n"
 msgstr ""
 
-#: lib/getopt.c:742 lib/getopt.c:745
+#: lib/getopt.c:345
 #, c-format
-msgid "%s: unrecognized option '--%s'\n"
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr ""
 
-#: lib/getopt.c:753 lib/getopt.c:756
+#: lib/getopt.c:360
 #, c-format
-msgid "%s: unrecognized option '%c%s'\n"
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr ""
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr ""
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr ""
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr ""
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr ""
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -121,85 +102,85 @@ msgstr ""
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr ""
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr ""
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr ""
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr ""
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr ""
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr ""
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr ""
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr ""
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr ""
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr ""
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr ""
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr ""
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr ""
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr ""
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr ""
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr ""
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr ""
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr ""
 
@@ -223,12 +204,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -236,34 +217,33 @@ msgstr ""
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -271,7 +251,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -281,7 +261,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -291,7 +271,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -301,7 +281,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -311,7 +291,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -322,7 +302,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -333,7 +313,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -345,30 +325,24 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
+#: lib/version-etc.c:249
 #, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+msgid "Report bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: lib/version-etc.c:253
+#: lib/version-etc.c:260
 #, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 
 #: lib/xalloc-die.c:34
@@ -395,58 +369,58 @@ msgid "Disk Image"
 msgstr ""
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, fuzzy, c-format
 msgid "Error opening %s: %s"
 msgstr "Hari ikibazo mu gufungura %s%S"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, fuzzy, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr "Kuri Gufungura Gusoma Kwandika Gusoma"
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, fuzzy, c-format
 msgid "%s during seek for read on %s"
 msgstr "%skugirango Gusoma ku"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, fuzzy, c-format
 msgid "%s during read on %s"
 msgstr "%sGusoma ku"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, fuzzy, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Kwandika Kuri ni Gusoma"
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, fuzzy, c-format
 msgid "%s during seek for write on %s"
 msgstr "%skugirango Kwandika ku"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, fuzzy, c-format
 msgid "%s during write on %s"
 msgstr "%sKwandika ku"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr ""
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -456,13 +430,13 @@ msgid ""
 "  -v, --version    output version information and exit\n"
 msgstr ""
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -501,7 +475,7 @@ msgid ""
 "before doing anything with %s."
 msgstr "imbonerahamwe# ku i Ibyerekeye Mbere Na:"
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 #, fuzzy
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
@@ -513,45 +487,45 @@ msgstr "Mbere Icyiciro 4. Bya i kugirango Birenzeho Ibisobanuro"
 msgid "%s trying to sync %s to disk"
 msgstr "%sKuri Kuri"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, fuzzy, c-format
 msgid "Could not stat device %s - %s."
 msgstr "OYA APAREYE"
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, fuzzy, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Kuri i Ingano Bya"
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
 "Using the default sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
 "Using the logical sector size (%lld)."
 msgstr ""
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, fuzzy, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Kuri i Ingano Bya"
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr ""
+
+#: libparted/arch/linux.c:963
 #, fuzzy, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "OYA Kubona Ikiranga Bya APAREYE"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr ""
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -560,12 +534,12 @@ msgid ""
 "Please consult the web site for up-to-date information."
 msgstr ""
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, fuzzy, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "APAREYE"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, fuzzy, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -574,96 +548,109 @@ msgstr ""
 "APAREYE ni Zeru Uburebure Na a IDOSIYE Sisitemu Cyangwa imbonerahamwe# "
 "Byahiswemo i APAREYE"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, fuzzy, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
 "unless you REALLY know what you're doing!"
 msgstr "Kuri Iyigamashusho Bya IDOSIYE APAREYE OYA Gukoresha"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr ""
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "APAREYE"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr ""
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr ""
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr ""
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr ""
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr ""
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr ""
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 #, fuzzy
 msgid "Loopback device"
 msgstr "APAREYE"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr ""
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr ""
 
 # filter/source\xsltdialog\xmlfilterdialogstrings.src:STR_UNKNOWN_APPLICATION.text
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Kitazwi"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr ""
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 #, fuzzy
 msgid "ped_device_new()  Unsupported device type"
 msgstr "APAREYE Ubwoko"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, fuzzy, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Hari ikibazo mu gufungura %s%S"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr ""
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, fuzzy, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -672,12 +659,12 @@ msgid ""
 msgstr ""
 "i Ibyerekeye Kuri Ibyerekeye Amahinduka Kuri Cyangwa Gukoresha in Mbere"
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, fuzzy, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Kuri i Ingano Bya"
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -686,125 +673,125 @@ msgid ""
 "making further changes."
 msgstr ""
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, fuzzy, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "i Impera Mbere i Gutangira"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, fuzzy, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Kuri Kwandika Hanze Bya ku"
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 #, fuzzy
 msgid "checking for bad blocks"
 msgstr "kugirango"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr ""
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr ""
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, fuzzy, c-format
 msgid "%s: unrecognised disk label"
 msgstr "Kuri Gufungura Akarango"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, fuzzy, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
 "read-only."
 msgstr "Kwandika Gushigikira kugirango Gusoma"
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, fuzzy, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "ni i IDOSIYE Sisitemu ni"
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr ""
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr ""
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, fuzzy, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Ibendera Ibendera"
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, fuzzy, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "%sUturango... OYA Gushigikira Byongerewe..."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, fuzzy, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr ""
 "%sUturango... Gushigikira Bijyanye n'inyurabwenge Cyangwa Byongerewe..."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 #, fuzzy
 msgid "Too many primary partitions."
 msgstr "Amapaji"
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, fuzzy, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
 msgstr "Kongeramo a Bijyanye n'inyurabwenge Kuri ni Oya Byongerewe..."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, fuzzy, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Birenzeho Byongerewe... ku"
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 #, fuzzy
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Bijyanye n'inyurabwenge Hanze Bya i Byongerewe..."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, fuzzy, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "a Bijyanye n'inyurabwenge Hanze Bya i Byongerewe... ku"
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 #, fuzzy
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "a Mo Imbere Byongerewe..."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 #, fuzzy
 msgid "Can't have a partition outside the disk!"
 msgstr "a Hanze i"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 #, fuzzy
 msgid "Can't have overlapping partitions."
 msgstr "iyorosa"
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr ""
 
 # svx/source\dialog\labdlg.src:RID_SVXPAGE_CAPTION.LB_WINKEL.1.text
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 #, fuzzy
 msgid "free"
 msgstr "Kigenga"
 
 # 2175
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 #, fuzzy
 msgid "extended"
 msgstr "cya/ byagutse"
@@ -813,93 +800,93 @@ msgstr "cya/ byagutse"
 # sc/source\ui\formdlg\dwfunctr.src:FID_FUNCTION_BOX.CB_CAT.7.text
 # #-#-#-#-#  sc.pot (PACKAGE VERSION)  #-#-#-#-#
 # sc/source\ui\formdlg\formdlgs.src:RID_SCTAB_FUNCTION.LB_CATEGORY.7.text
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 #, fuzzy
 msgid "logical"
 msgstr "Bijyanye n'inyurabwenge"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr ""
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr ""
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr ""
 
 # 5214
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 #, fuzzy
 msgid "root"
 msgstr "Imizi"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr ""
 
 # sc/source\ui\navipi\navipi.src:RID_SCDLG_NAVIGATOR.STR_HIDDEN.text
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "gihishwe"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr ""
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr ""
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr ""
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 #, fuzzy
 msgid "hp-service"
 msgstr "Serivisi"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr ""
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr ""
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr ""
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr ""
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr ""
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr ""
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr ""
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 #, fuzzy
 msgid "esp"
 msgstr "Yego"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, fuzzy, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Ibendera Ibendera"
@@ -965,227 +952,342 @@ msgid ""
 "containing at least the version (%s) and the following message:  "
 msgstr ""
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 #, fuzzy
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "kugirango IDOSIYE ni OYA"
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 #, fuzzy
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "kugirango IDOSIYE ni OYA"
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 #, fuzzy
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr "kugirango IDOSIYE ni OYA"
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 #, fuzzy
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr "kugirango IDOSIYE ni OYA"
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 #, fuzzy
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
 msgstr "kugirango IDOSIYE ni OYA"
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 #, fuzzy
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr "kugirango IDOSIYE ni OYA"
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Gukoporora Byongerewe..."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 #, fuzzy
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Kuri Byose ku i"
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+#, fuzzy
+msgid "Unable to allocate a partition number."
+msgstr "a Umubare"
+
+#: libparted/labels/bsd.c:592
 #, fuzzy
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Kuri a"
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 #, fuzzy
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Kuri a"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, fuzzy, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "imbonerahamwe# ku Isinya"
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, fuzzy, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "imbonerahamwe# ku"
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr ""
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "imbonerahamwe# ku"
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 #, fuzzy
 msgid "cannot create any more partitions"
 msgstr "Kurema Birenzeho"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, fuzzy, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%sOya Byongerewe... Igice Umutwempangano Kwirengagiza Hanyuma Cyasibwe"
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 #, fuzzy
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "ni i imbonerahamwe# ni"
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 #, fuzzy
 msgid "Only primary partitions can be root partitions."
 msgstr "Imizi"
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr ""
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 #, fuzzy
 msgid "Only logical partitions can be a boot file."
 msgstr "Bijyanye n'inyurabwenge a IDOSIYE"
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, fuzzy, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
 "Only logical partitions (boot files) have a name."
 msgstr "Bijyanye n'inyurabwenge Idosiye a Izina:"
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr ""
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr ""
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 #, fuzzy
 msgid "Unsupported disk type"
 msgstr "APAREYE Ubwoko"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr ""
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr ""
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr ""
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr ""
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr ""
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr ""
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr ""
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr ""
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 #, fuzzy
 msgid "No room for partition info."
 msgstr "Byemewe Byabonetse"
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr ""
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr ""
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "OYA IDOSIYE Sisitemu"
+
+#: libparted/labels/fdasd.c:1029
 #, fuzzy
 msgid "Could not retrieve disk geometry information."
 msgstr "OYA Gusoma Iyigamashusho Bya"
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr ""
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
 msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 #, fuzzy
 msgid "device is too small for GPT"
 msgstr "Idosiye Sisitemu Gitoya kugirango"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, fuzzy, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
 "what Parted can recognise.  Please report this!"
 msgstr "Imiterere Bya i imbonerahamwe# ni Verisiyo ni RW org"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1193,7 +1295,7 @@ msgid ""
 "setting? "
 msgstr ""
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 #, fuzzy
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
@@ -1202,119 +1304,119 @@ msgstr ""
 "Inyibutsa imbonerahamwe# ni OYA ku i Impera Bya i Nka Impuzandengo- Sisitemu "
 "i ni Gitoya ku i Inyibutsa Kuri i Impera Na i ki/ bishaje Inyibutsa"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 #, fuzzy
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
 msgstr "i Na Inyibutsa Imbonerahamwe a imbonerahamwe# Na ikoresha Kuri"
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 #, fuzzy
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
 msgstr "imbonerahamwe# ni i Inyibutsa YEGO"
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 #, fuzzy
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
 msgstr "imbonerahamwe# ni i Inyibutsa YEGO"
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr ""
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "Umubare"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, fuzzy, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Isinya kugirango Uturango..."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 #, fuzzy
 msgid "Partition map has no partition map entry!"
 msgstr "Oya Icyinjijwe"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, fuzzy, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%sni Gitoya kugirango a Akarango"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, fuzzy, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Sibyo Isinya"
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, fuzzy, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Sibyo Uburebure Bya 0 Bayite"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 #, fuzzy
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Ibyatanzwe Gutangira ku i Gutangira Bya i"
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 #, fuzzy
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Gutangira ku i Gutangira Bya i"
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 #, fuzzy
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "i"
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 #, fuzzy
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Ibyatanzwe i"
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, fuzzy, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr "Funga Ingano ku APAREYE Bayite ni OYA ku"
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, fuzzy, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
 "says it is %d bytes."
 msgstr "Musomyi: i Ifatika Funga Ingano ni Bayite ni Bayite"
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 #, fuzzy
 msgid "No valid partition map found."
 msgstr "Byemewe Byabonetse"
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, fuzzy, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
 "says it is %d!"
 msgstr "Icyinjijwe 1. Icyinjijwe"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 #, fuzzy
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "2. Ibyinjijwe"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 #, fuzzy
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
 msgstr "i Izina: Bya a Imizi Cyangwa Bivuye Nka"
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 #, fuzzy
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Kongeramo ni Gitoya"
@@ -1336,93 +1438,88 @@ msgstr "si Kuri Umwiburungushure Kuri Kongeramo Gushigikira kugirango iyi"
 msgid "Can't add another partition."
 msgstr "Kongeramo"
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
 msgstr ""
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
 msgstr ""
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr ""
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr ""
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr ""
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr ""
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr ""
 
-#: libparted/labels/rdb.c:1080
-#, fuzzy
-msgid "Unable to allocate a partition number."
-msgstr "a Umubare"
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 #, fuzzy
 msgid "Corrupted Sun disk label detected."
 msgstr "Akarango"
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, fuzzy, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
 "match the geometry stored on the disk label (%d,%d,%d)."
 msgstr "Iyigamashusho OYA BIHUYE i Iyigamashusho ku i Akarango"
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, fuzzy, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Akarango a"
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr ""
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 #, fuzzy
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
@@ -1433,7 +1530,7 @@ msgstr ""
 "ni i Bihari Ibumoso: ni OYA a Kuri Guhindura iyi Na: a Gicurasi OYA Kuri Na "
 "i Nka"
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 #, fuzzy
 msgid "Sun disk label is full."
 msgstr "Akarango ni"
@@ -1454,62 +1551,62 @@ msgstr ""
 msgid "reading from device failed"
 msgstr ""
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 #, fuzzy
 msgid "Could not read volume label."
 msgstr "OYA Gusoma Iyigamashusho Bya"
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 #, fuzzy
 msgid "Could not write volume label."
 msgstr "OYA IDOSIYE Sisitemu"
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr ""
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr ""
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr ""
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 #, fuzzy
 msgid "Out of memory."
 msgstr "Ububiko bwarenzwe"
@@ -1533,73 +1630,73 @@ msgstr ""
 msgid "The maximum sector value is %d."
 msgstr ""
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr ""
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr ""
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, fuzzy, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%sKwandika ku"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr ""
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr ""
@@ -1644,58 +1741,49 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 #, fuzzy
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr "Bijyanye n'inyurabwenge Ingano ni 0 ni"
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 #, fuzzy
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr "Oya Imbonerahamwe ni"
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 #, fuzzy
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr "0 ni"
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 #, fuzzy
 msgid "File system is FAT12, which is unsupported."
 msgstr "ni ni"
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, fuzzy, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Isinya"
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, fuzzy, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Isinya"
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, fuzzy, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Isinya"
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, fuzzy, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"IDOSIYE Sisitemu a Bijyanye n'inyurabwenge Ingano Bya ni OYA Kuri Akazi Na: "
-"Ikindi Bayite"
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1705,7 +1793,7 @@ msgid ""
 "geometry."
 msgstr ""
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, fuzzy, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1721,43 +1809,43 @@ msgid ""
 "Currently, only %s is free."
 msgstr "Bya Kigenga Umwanya Kuri Kugabanuka iyi Kuri iyi Ingano Kigenga"
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, fuzzy, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr "Gutangira DELTA ni OYA a Igikubo Bya i Ingano"
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, fuzzy, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr "bushyinguro Icyinjijwe kugirango Itangira ni i Impera Bya IDOSIYE"
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, fuzzy, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
 msgstr "kugirango Gukoresha Cyangwa"
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, fuzzy, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
 "dosfsck or scandisk."
 msgstr "Hanze in kugirango Gukoresha Cyangwa"
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, fuzzy, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
 "scandisk."
 msgstr "ni Kwambukiranya kugirango Gukoresha Cyangwa"
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, fuzzy, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%sni"
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, fuzzy, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1809,17 +1897,17 @@ msgstr ""
 "OYA in i Imizi bushyinguro kugirango Byose Bya i Idosiye Kureka Cyangwa "
 "Kwirengagiza Kuri i Idosiye"
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 #, fuzzy
 msgid "Error writing to the root directory."
 msgstr "Kuri i Imizi bushyinguro"
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 #, fuzzy
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "IDOSIYE Sisitemu Nka Hanyuma Oya"
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 #, fuzzy
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
@@ -1829,14 +1917,14 @@ msgstr ""
 "GUHINDURA Kuri Na ni ku iyi Hanyuma Kwinjiza porogaramu i Kuri iyi i Bikorwa "
 "Cyangwa Bikorwa"
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 #, fuzzy
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr "IDOSIYE Sisitemu Nka Hanyuma OYA Gishya"
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 #, fuzzy
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
@@ -1849,12 +1937,12 @@ msgstr ""
 "Cyangwa Bikorwa Guhindura.... Kuri Ubwoko i IDOSIYE Sisitemu ku Na"
 
 # desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, fuzzy, c-format
 msgid "%s  %s  %s"
 msgstr "%s%s%s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 #, fuzzy
 msgid "Would you like to use FAT32?"
 msgstr "nka Kuri Gukoresha"
@@ -1862,24 +1950,24 @@ msgstr "nka Kuri Gukoresha"
 # #-#-#-#-#  dbaccess.pot (PACKAGE VERSION)  #-#-#-#-#
 # #-#-#-#-#  dbaccess.pot (PACKAGE VERSION)  #-#-#-#-#
 # #-#-#-#-#  dbaccess.pot (PACKAGE VERSION)  #-#-#-#-#
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, fuzzy, c-format
 msgid "%s  %s"
 msgstr "%s%s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 #, fuzzy
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr "IDOSIYE Sisitemu Kuri iyi Ingano ku Guhindura.... Kuri"
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 #, fuzzy
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr "IDOSIYE Sisitemu Kuri iyi Ingano ku Guhindura.... Kuri"
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 #, fuzzy
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
@@ -1922,67 +2010,67 @@ msgstr "kugirango IDOSIYE ni OYA"
 msgid "The file system is bigger than its volume!"
 msgstr "IDOSIYE Sisitemu ni Igice"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr ""
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/cache.c:213
+#: libparted/fs/r/hfs/cache.c:214
 #, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr ""
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr ""
@@ -2057,123 +2145,123 @@ msgstr ""
 msgid "shrinking embedded HFS+ volume"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr ""
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 #, fuzzy
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr "Gutangira DELTA ni OYA a Igikubo Bya i Ingano"
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 #, fuzzy
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Gutangira DELTA ni OYA a Igikubo Bya i Ingano"
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 #, fuzzy
 msgid "Could not cache the file system in memory."
 msgstr "OYA IDOSIYE Sisitemu"
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr ""
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 
@@ -2287,7 +2375,7 @@ msgstr ""
 "C Porogaramu ni Kigenga ku i Porogaramu ni in i ATARIIGIHARWE i Bya Cyangwa "
 "A i kugirango Birenzeho Birambuye"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, fuzzy, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr ""
@@ -2300,39 +2388,39 @@ msgstr ""
 "X- Generator: KBabel 1. 0\n"
 ". 2D."
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, fuzzy, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr "ni ni in Gukoresha"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, fuzzy, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "S ku"
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
 "will be lost. Do you want to continue?"
 msgstr ""
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 #, fuzzy
 msgid "New disk label type?"
 msgstr "Akarango Ubwoko"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 #, fuzzy
 msgid "Partition type?"
 msgstr "Ubwoko"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 #, fuzzy
 msgid "Partition name?"
 msgstr "Izina:"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 #, fuzzy
 msgid "File system type?"
 msgstr "Idosiye Sisitemu Ubwoko"
@@ -2345,71 +2433,82 @@ msgstr "Idosiye Sisitemu Ubwoko"
 # sc/source\ui\src\scfuncs.src:RID_SC_FUNCTION_DESCRIPTIONS2.SC_OPCODE_BETA_DIST.8.text
 # #-#-#-#-#  sc.pot (PACKAGE VERSION)  #-#-#-#-#
 # sc/source\ui\src\scfuncs.src:RID_SC_FUNCTION_DESCRIPTIONS2.SC_OPCODE_BETA_INV.8.text
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 #, fuzzy
 msgid "Start?"
 msgstr "Gutangira"
 
 # officecfg/registry\schema\org\openoffice\Office\DataAccess.xcs:....FormSearchOptions.SearchPosition..end-of-field.text
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 #, fuzzy
 msgid "End?"
 msgstr "Impera"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
 "The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
 msgstr ""
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
 msgstr ""
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%sUturango... OYA Gushigikira Byongerewe..."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 #, fuzzy
 msgid "Partition number?"
 msgstr "Umubare"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr ""
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, fuzzy, c-format
 msgid "Disk %s: %s\n"
 msgstr "Akarango Ubwoko"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr ""
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, fuzzy, c-format
 msgid "Partition Table: %s\n"
 msgstr "Izina:"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, fuzzy, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Akarango Ubwoko"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr ""
 
@@ -2421,175 +2520,175 @@ msgstr ""
 # sc/source\ui\src\scfuncs.src:RID_SC_FUNCTION_DESCRIPTIONS2.SC_OPCODE_BETA_DIST.8.text
 # #-#-#-#-#  sc.pot (PACKAGE VERSION)  #-#-#-#-#
 # sc/source\ui\src\scfuncs.src:RID_SC_FUNCTION_DESCRIPTIONS2.SC_OPCODE_BETA_INV.8.text
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 #, fuzzy
 msgid "Start"
 msgstr "Gutangira"
 
 # officecfg/registry\schema\org\openoffice\Office\DataAccess.xcs:....FormSearchOptions.SearchPosition..end-of-field.text
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 #, fuzzy
 msgid "End"
 msgstr "Impera"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr ""
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr ""
 
 # officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Save.URL.FileSystem.text
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 #, fuzzy
 msgid "File system"
 msgstr "Idosiye ya sisitemu"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr ""
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Amabendera"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr ""
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, fuzzy, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
 "partition table?"
 msgstr "A Byabonetse ku Kuri Kongeramo Kuri i imbonerahamwe#"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 #, fuzzy
 msgid "searching for file systems"
 msgstr "Ishakisha kugirango IDOSIYE"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 #, fuzzy
 msgid "New device?"
 msgstr "APAREYE"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr ""
 
-#: parted/parted.c:1666
+#: parted/parted.c:1721
 #, c-format
-msgid "%d not aligned\n"
+msgid "%d not aligned: %s\n"
 msgstr ""
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 #, fuzzy
 msgid "Flag to Invert?"
 msgstr "Kuri Guhindura>>"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 #, fuzzy
 msgid "New state?"
 msgstr "Leta"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr ""
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 #, fuzzy
 msgid "align-check"
 msgstr "genzura"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 #, fuzzy
 msgid "help"
 msgstr "Ifashayobora"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 #, fuzzy
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr "Ifashayobora Rusange Ifashayobora Cyangwa Ifashayobora ku"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr ""
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr ""
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 #, fuzzy
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
 msgstr "Kurema a Gishya imbonerahamwe#"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr ""
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 #, fuzzy
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "Ubwoko a"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 #, fuzzy
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
 msgstr "a a Gishya IDOSIYE Sisitemu ku i Gicurasi Kuri Gushyiraho"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "izina"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 #, fuzzy
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "Izina: Izina:"
 
 # #-#-#-#-#  dbaccess.pot (PACKAGE VERSION)  #-#-#-#-#
 # #-#-#-#-#  dbaccess.pot (PACKAGE VERSION)  #-#-#-#-#
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 #, fuzzy
 msgid "print"
 msgstr "Gucapa"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 #, fuzzy
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
@@ -2597,42 +2696,42 @@ msgid ""
 msgstr ""
 "ingingo Gucapa i imbonerahamwe# Umubare ni Hanyuma Birenzeho Ibisobanuro ni"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 #, fuzzy
 msgid "quit"
 msgstr "Kuvamo"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 #, fuzzy
 msgid "quit                                     exit program"
 msgstr "Kuvamo Gusohoka Porogaramu"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr ""
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 #, fuzzy
 msgid ""
 "rescue START END                         rescue a lost partition near START "
@@ -2640,133 +2739,133 @@ msgid ""
 msgstr "a Na"
 
 # starmath/source\smres.src:RID_TOOLBOXWINDOW.6.RID_SIZEXY.text
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 #, fuzzy
 msgid "resize"
 msgstr "Kuringaniza"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
 # starmath/source\smres.src:RID_TOOLBOXWINDOW.6.RID_SIZEXY.text
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 #, fuzzy
 msgid "resizepart"
 msgstr "Kuringaniza"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "Gusiba"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr ""
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 #, fuzzy
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "Gusiba"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "guhitamo"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 #, fuzzy
 msgid "select DEVICE                            choose the device to edit"
 msgstr "Guhitamo Guhitamo i APAREYE Kuri Guhindura"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr ""
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr ""
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 #, fuzzy
 msgid "set"
 msgstr "Gushyiraho"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 #, fuzzy
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "Gushyiraho Guhindura>> a Ibendera ku"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr ""
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr ""
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 #, fuzzy
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr "Kuvamo Gusohoka Porogaramu"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr ""
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 #, fuzzy
 msgid "No device found"
 msgstr "APAREYE Byabonetse"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 #, fuzzy
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Kuri Kuvugurura NIBA"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 #, fuzzy
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
@@ -2775,7 +2874,7 @@ msgid ""
 "interactive mode.\n"
 msgstr "Na: Kuri Oya S Ubwoko"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2809,178 +2908,182 @@ msgid ""
 "consider important.\n"
 msgstr ""
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
 msgstr ""
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
 msgstr ""
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
 msgstr ""
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
 msgstr ""
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
 msgstr ""
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
 msgstr ""
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
 msgstr ""
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
 msgstr ""
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
 msgstr ""
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
 msgstr ""
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
 msgstr ""
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
 msgstr ""
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
 msgstr ""
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
 msgstr ""
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
 msgstr ""
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 msgstr ""
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
 msgstr ""
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
 msgstr ""
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
 msgstr ""
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
 msgstr ""
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
 msgstr ""
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, fuzzy, c-format
 msgid "invalid token: %s"
 msgstr "imbonerahamwe# ku"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 #, fuzzy
 msgid "Expecting a partition number."
 msgstr "a Umubare"
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr ""
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 #, fuzzy
 msgid "Expecting a file system type."
 msgstr "a IDOSIYE Sisitemu Ubwoko"
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, fuzzy, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "IDOSIYE Sisitemu Ubwoko"
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 #, fuzzy
 msgid "Expecting a disk label type."
 msgstr "a Akarango Ubwoko"
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 #, fuzzy
 msgid "Can't create any more partitions."
 msgstr "Kurema Birenzeho"
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 #, fuzzy
 msgid "Expecting a partition type."
 msgstr "a Ubwoko"
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "kuri"
 
@@ -2988,43 +3091,43 @@ msgstr "kuri"
 # svx/source\svdraw\svdstr.src:STR_ItemValOFF.text
 # #-#-#-#-#  svx.pot (PACKAGE VERSION)  #-#-#-#-#
 # svx/source\svdraw\svdstr.src:STR_ItemValTEXTANI_NONE.text
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "bidakora"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr ""
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr ""
 
 # crashrep/source\all\crashrep.lng:%OPTIONS_BUTTON%.text
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 #, fuzzy
 msgid "OPTIONs:"
 msgstr "Amahitamo..."
 
 # sfx2/source\doc\docvor.src:DLG_ORGANIZE.BTN_EDIT.text
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 #, fuzzy
 msgid "COMMANDs:"
 msgstr "Amabwiriza"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
 "Report bugs to %s\n"
 msgstr ""
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, fuzzy, c-format
 msgid "Using %s\n"
 msgstr "ikoresha"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr ""
 
@@ -3273,6 +3376,14 @@ msgstr ""
 #~ msgid "File system has an invalid signature for a FAT file systems."
 #~ msgstr "Idosiye Sisitemu Sibyo Isinya kugirango a IDOSIYE"
 
+#, fuzzy
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "IDOSIYE Sisitemu a Bijyanye n'inyurabwenge Ingano Bya ni OYA Kuri Akazi "
+#~ "Na: Ikindi Bayite"
+
 #, fuzzy
 #~ msgid "where necessary, prompts for user intervention"
 #~ msgstr "kugirango Ukoresha:"
index c88bd8309aaee35f3cd89f10d84d0bef28c21f10..97dc528f9f5fe884a99c272dd0c747a945d8cddb 100644 (file)
Binary files a/po/sk.gmo and b/po/sk.gmo differ
index 589d69b82235ec736d4c82f6fdf8c8bd137b866c..587b2e64e22dc8a549e69c3cc37f3562a6197319 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 3.0.136\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2012-02-19 16:31+0100\n"
 "Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -15,84 +15,65 @@ msgstr ""
 "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"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "neplatný argument %s pre %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "nejednoznačný argument %s pre %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Platné argumenty sú:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "chyba zápisu"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Neznáma systémová chyba"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: voľba „-W %s“ je nejednoznačná\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: voľba „%s“ je nejednoznačná; možnosti:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: voľba „--%s“ nepovoľuje argument\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: nerozpoznaná voľba „%c%s“\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: voľba „%c%s“ nepovoľuje argument\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: voľba „--%s“ vyžaduje argument\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: nerozpoznaná voľba „--%s“\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: nerozpoznaná voľba „%c%s“\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: neplatná voľba -- %c\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: voľba vyžaduje argument -- %c\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: voľba „-W %s“ je nejednoznačná\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: voľba „-W %s“ nepovoľuje argument\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: voľba „-W %s“ vyžaduje argument\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -112,85 +93,86 @@ msgstr "%s: voľba „-W %s“ vyžaduje argument\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "„"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "“"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Úspešné"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Bez zhody"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Neplatný regulárny výraz"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Neplatný znak triedenia"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Neplatný názov triedy znakov"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Lomka na konci"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Neplatný spätný odkaz"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "[ alebo [^ bez náprotivku"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "( alebo \\( bez náprotivku"
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "\\{ bez náprotivku"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Neplatný obsah \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Neplatné ukončenie rozsahu"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Pamäť bola vyčerpaná"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Neplatný predchádzajúci regulárny výraz"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Predčasný koniec regulárneho výrazu"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Regulárny výraz je príliš veľký"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr ") alebo \\) bez náprotivku"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Žiaden predchádzajúci regulárny výraz"
 
@@ -214,12 +196,12 @@ msgstr "^[aAáÁyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Balík vytvoril %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Balík vytvoril %s\n"
@@ -227,18 +209,17 @@ msgstr "Balík vytvoril %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Licencia GPLv3+: GNU GPL verzie 3 alebo neskoršia <http://gnu.org/licenses/"
@@ -248,19 +229,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Napísal %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Napísal %s a %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Napísal %s, %s a %s.\n"
@@ -268,7 +249,7 @@ msgstr "Napísal %s, %s a %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -280,7 +261,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -292,7 +273,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -304,7 +285,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -316,7 +297,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -330,7 +311,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -344,7 +325,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -359,32 +340,26 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Chyby hláste <%s>.\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Chyby %s hláste %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Domovská stránka %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Domovská stránka %s: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 "Všeobecná pomoc s použitím softvéru GNU: <http://www.gnu.org/gethelp/>\n"
 
@@ -412,59 +387,59 @@ msgid "Disk Image"
 msgstr "Obraz disku"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Chyba pri otváraní %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Nemôžem otvoriť %s na čítanie/zápis (%s). %s bol otvorený len na čítanie."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s pri vyhľadávaní pre čítanie na %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s pri čítaní %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Nemôžem zapisovať na %s, pretože je tvorený len na čítanie."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s pri pri vyhľadávaní pre zápis na %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s pri zápise na %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Viac informácií získate po napísaní „%s --help“.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Použitie: %s [VOĽBA] [ZARIADENIE]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -480,7 +455,7 @@ msgstr ""
 "  -h, --help       zobraziť tento návod a skončiť\n"
 "  -v, --version    vypísať info o verzii a skončiť\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -488,7 +463,7 @@ msgstr ""
 "\n"
 "Bez zadaného ZARIADENIA skúsi všetky oblasti.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -534,7 +509,7 @@ msgstr ""
 "nevie nič o zmenách, ktoré ste vykonali. Než budete čokoľvek robiť s %s, "
 "mali by ste reštartovať svoj počítač."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -547,17 +522,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s pri pokuse o sync %s na disk"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Nemôžem získať stat zariadenia %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Nepodarilo sa určiť typ dm %s"
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -566,7 +541,7 @@ msgstr ""
 "Nebolo možné určiť veľkosť sektora %s: %s.\n"
 "Používam štandardnú veľkosť sektora (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -575,21 +550,21 @@ msgstr ""
 "Nebolo možné určiť veľkosť sektora %s.\n"
 "Použije sa štandardná veľkosť sektora (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Nepodarilo sa určiť veľkosť %s (%s)"
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Všeobecný IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Nemôžem získat identitu zariadenia %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Všeobecný IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -602,12 +577,12 @@ msgstr ""
 "zväzkov/súborových systémov, napr. GPT a ext2/3.\n"
 "Prosím, pozrite si aktuálne informácie na webe."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Chyba pri inicializácii zariadenia SCSI %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -616,7 +591,7 @@ msgstr ""
 "Zariadenie %s je také malé, že nemôže obsahovať systém súborov ani tabuľku "
 "oblastí. Možno ste vybrali chybné zariadenie?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -625,86 +600,99 @@ msgstr ""
 "Nemôžem určiť geometriu súboru/zariadenia %s. Nemali by ste používať Parted, "
 "ak NAOZAJ neviete, čo robíte!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Všeobecná úložná karta SD/MMC"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Nové zariadenie?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "radič RAID DAC960"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Promise SX8 zariadenie SATA"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "Zariadenie ATA over Ethernet"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "jednotka IBM S390 DASD"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries Virtual DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "radič ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "radič I2O"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "User-Mode Linux UBD"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Zariadenie loopback"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "mapovač zariadení Linux (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Virtuálne blokové zariadenie Xen"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Neznámy"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Blokové zariadenie Vistio"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Linuxové softvérové pole RAID"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Nepodporovaný typ zariadenia"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Chyba pri fsync/zatváraní %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%0.0send súboru počas čítania %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -716,12 +704,12 @@ msgstr ""
 "systém - takže by ste ho nemali pripájať ani ho pred reštartom akokoľvek "
 "používať."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Nepodarilo sa určiť začiatok a dĺžku %s"
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -734,36 +722,36 @@ msgstr ""
 "naďalej budú používať staré oblasti. Pred vykonaním ďalších zmien by ste "
 "mali reštartovať systém."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "Nemožno mať koniec pred začiatkom! (počiat. sektor=%jd dĺžka=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Pokus o zápis sektorov %ld-%ld mimo oblasti na %s"
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "hľadám chybné bloky"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Backtrace: %d volaní na zásobníku:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Zlyhal predpoklad (%s) v %s:%d vo funkcii %s()."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: nerozpoznaná menovka disku."
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -772,166 +760,166 @@ msgstr ""
 "Táto libparted nemá podporu pre zápis na %s. Možno bola skompilovaná len na "
 "čítanie."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Oblasť %d má %s, ale systém súborov má %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "cylinder_alignment"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Neznámý príznak disku, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Menovky disku %s nepodporujú rozšírené oblasti."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "Menovky disku %s nepodporujú logické alebo rozšírené oblasti."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Príliš veľa primárnych oblastí."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
 msgstr ""
 "Nemožno pridať logickú oblasť do %s, pretože neexistuje rozšírená oblasť."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Nie je možné mať na %s viac než jednu rozšírenú oblasť."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Logické oblasti nemôžu byť mimo rozšírenej oblasti."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "Logická oblasť nemôže byť mimo rozšírenej oblasti na %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Primárna oblasť nemôže byť vnútri rozšírenej oblasti."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Nemožno mať oblasť mimo disku!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Nie je možné mať prekrývajúce se oblasti."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadáta"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "voľné"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "rozšírený"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logický"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primárny"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "zavádzací"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "koreňový"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "odkladací"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "skrytý"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "RAID"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "LVM"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "LBA"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 #, fuzzy
 msgid "msftdata"
 msgstr "metadáta"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "zastaralé_zavádzanie"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 #, fuzzy
 msgid "esp"
 msgstr "Áno"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Neznámy príznak oblasti, %d."
@@ -1001,27 +989,27 @@ msgstr ""
 "parted.html. Prosím, pošlite emailom hlásenie o chybe na %s obsahujúce "
 "minimálne číslo verzie (%s) a nasledujúcu správu:"
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "Podpora čítania menoviek disku AIX ešte nie je implementovaná."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "Podpora zápisu menoviek disku AIX ešte nie je implementovaná."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "Podpora pridávania oblastí do menoviek disku AIX ešte nie je implementovaná."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Podpora kopírovania oblastí v menovkách disku AIX ešte nie je implementovaná."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1029,73 +1017,180 @@ msgstr ""
 "Podpora nastavovania typu systému oblastí v menovkách disku AIX ešte nie je "
 "implementovaná."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "Podpora nastavovania príznakov v menovkách disku AIX ešte nie je "
 "implementovaná."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted nedokáže používať súborové systémy HFS na diskoch s veľkosťou sektora "
+"inou ako %d bajtov."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Nie je možné kopírovať rozšírené oblasti."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Nemožno splniť všetky obmedzenia na oddiel."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Nepodarilo sa alokovať číslo oblasti."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Nie je možné alokovať položku menovky disku BSD."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Nie je možné alokovať položku menovky disku dasd."
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Neplatná tabuľka oblastí na %s - nesprávny podpis %x"
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Neplatná tabuľka oblastí - rekurzívna oblasť na %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Rozšírené oblasti nie je možné skryť na štítkoch diskov msdos."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Rozšírené oblasti nie je možné skryť na štítkoch diskov msdos."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted nemôže zmeniť veľkosť oblastí, ktoré spravuje Windows Dynamic Disk."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "nie je možné vytvoriť žiadne ďalšie oblasti"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s nemá rozšírenú oblasť (oblasť hlavičky zväzku)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "Kontrolný súčet je zlý, čo indikuje, že tabuľka oblastí je poškodená."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Iba primárne oblasti môžu byť koreňové oblasti."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Iba primárne oblasti môžu byť odkladacie oblasti."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Iba logické oblasti môžu býť zavázací súbor."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1104,110 +1199,119 @@ msgstr ""
 "nepodarilo sa nastaviť názov dvh oblasti na %s:\n"
 "Iba logické oblasti (zavádzacie súbory) majú název."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Príliš veľa primárnych oblastí"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "chyba otvárania"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "chyba hľadania"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "chyba čítania"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "chyba ioctl()"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "nezhoda verzií API"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Nepodporovaný typ disku"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Nepodporovaný formát disku"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Disk sa používa"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Chyba syntaxe v konfiguračnom súbore"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Menovka zväzku je poškodená"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Názov dátovej množiny je poškodený"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Nepodarilo sa alokovať pamäť"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Nepodarilo sa overiť zariadenie"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Uvedené zariadenie nie je platné zariadenie DASD"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Osudová chyba"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Pre menovku oddielu nie je miesto."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Na informácie o oblastiach nie je dostatok miesta."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Neplatný VTOC."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Nebolo možné zistiť informácie o API."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr "Súčasná verzia API „%d“ nezodpovedá API verzii dasd ovládača „%d“!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Nebolo možné zistiť informácie o disku."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Nebolo možné zistiť informácie o geometrii disku."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Nebolo možné zistiť informácie o veľkosti bloku."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Nebolo možné zistiť informácie o disku."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 #, fuzzy
 msgid "device is too small for GPT"
 msgstr "Systém súborov je príliš malý na %lu blokov."
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1216,7 +1320,7 @@ msgstr ""
 "Formát tabuľky oblastí GPT je verzie %x, čo je novší, než ktorý dokáže "
 "rozpoznať Parted. Prosím, pošlite nám o tom hlásenie!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1227,7 +1331,7 @@ msgstr ""
 "aby využívalo všetok dostupný priestor (ďalších %llu blokov) alebo "
 "pokračovať s aktuálnym nastavením? "
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 #, fuzzy
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
@@ -1237,7 +1341,7 @@ msgstr ""
 "znamená, že iný operačný systém si myslí, že disk je menší. Mám to opraviť "
 "presunutím zálohy na koniec (a odstránením starej zálohy)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1245,7 +1349,7 @@ msgstr ""
 "Primárna aj záložná tabuľka GPT je poškodená. Skúste vytvoriť novú tabuľku a "
 "obnoviť oblasti pomocou možnosti Partedu rescue."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1253,7 +1357,7 @@ msgstr ""
 "Záložná tabuľka GPT je poškodená, ale primárna sa zdá byť v poriadku, takže "
 "sa použije primárna."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1261,63 +1365,63 @@ msgstr ""
 "Primárna tabuľka GPT je poškodená, ale záloha sa zdá byť v poriadku, takže "
 "sa použije záloha."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "nezodpovedá CRC poľa primárnej tabuľky oblastí"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "Nepodarilo sa alokovať číslo oblasti."
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Neplatný podpis %x pre menovky disku Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Mapa oblastí nemá žiadnu položku mapy oblastí!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s je príliš malý pro menovku disku Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Oblasť %d má neplatný podpis %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Oblasť %d má neplatnú dĺžku 0 bajtov."
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Dátová časť nezačína na začiatku oblasti."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Štartovacia oblasť nezačína na začiatku oblasti."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Zavádzacia časť diskovej oblasti nezaberá celú oblasť."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Dátová časť oblasti nezaberá celú oblasť."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr ""
 "Čudná veľkosť bloku v deskriptore zariadenia: %d bajtov nie je deliteľné 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1326,11 +1430,11 @@ msgstr ""
 "Deskriptor ovládača vraví, že fyzická veľkosť bloku je %d bajtov, ale Linux "
 "vraví, že je to %d bajtov."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Nebola nájdená platná mapa oblastí."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1339,11 +1443,11 @@ msgstr ""
 "Kolidujúce veľkosti položek mapy oblastí! Položka 1 vraví, že je to %d, ale "
 "položka %d vraví, že je to %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Čudné! 2 položky mapy oblastí!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1351,7 +1455,7 @@ msgstr ""
 "Zmena názvu koreňového alebo odkladacej oblasti zabráni Linuxu v jej "
 "rozpoznaní."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Nemôžem pridať ďalšiu oblasť - mapa oblastí je príliš malá!"
 
@@ -1373,7 +1477,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Nemožno pridať ďalšiu oblasť."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1382,7 +1486,7 @@ msgstr ""
 "dĺžka oblasti of %jd sektorov prekračuje maximum stanovené tabuľkou oblastí "
 "%s v dĺžke %jd"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1391,60 +1495,56 @@ msgstr ""
 "číslo počiatočného sektora, %jd prekračuje prekračuje maximum stanovené "
 "tabuľkou oblastí %s %jd"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Chybný kontrolný súčet na bloku %llu typu %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : Nebol nájdený rdb blok, toto by sa nemalo nikdy stať."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : Na bloku %d bola detekovaná slučka."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : Zoznam %s sa zdá byť chybný na bloku %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Nepodarilo sa vypísať zoznam chybných blokov."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Nepodarilo sa vypísať zoznam blokov oblasti."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Nepodarilo sa vypísať zoznam blokov súborového systému."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Nepodarilo sa vypísať zoznam zavádzacích blokov."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Nepodarilo sa zapísať blok oblasti na %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Nepodarilo sa alokovať číslo oblasti."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Detekovaná poškodená menovka disku Sun."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1453,17 +1553,17 @@ msgstr ""
 "Geometria disku CHS (%d,%d,%d) nezodpovedá geometrii uloženej v menovke "
 "disku (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Menovka disku popisuje disk väčší než %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "Disk má %d cylindrov, čo je viac ako maximálny počet 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1474,7 +1574,7 @@ msgstr ""
 "nápad túto oblasti prepísať skutočnou oblasťou. Bez nej možno nebude možné "
 "zaviesť Solaris a SILO (zavádzač systému pre sparc) ju  tiež ocení."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Menovka disku Sun je plná."
 
@@ -1494,61 +1594,61 @@ msgstr "zápis na zariadenie zlyhal"
 msgid "reading from device failed"
 msgstr "čítanie zo zariadenia zlyhalo"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Nebolo možné prečítať štítok zväzku."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Nebolo možné zapísať štítok zväzku."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Nebolo možné prečítať štítky VTOC."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Nebolo možné prečítať VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Nebolo možné prečítať VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Nebolo možné prečítať VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Nebolo možné prečítať VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Nebolo možné zapísať štítky VTOC."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Nebolo možné zapísať VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Nebolo možné zapísať VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Nebolo možné zapísať VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Nebolo možné zapísať VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 #, fuzzy
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Nebolo možné zapísať VTOC FMT1 DSCB."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Nedostatok pamäte."
 
@@ -1571,73 +1671,73 @@ msgstr "Maximálna hodnota hlavičiek je %d."
 msgid "The maximum sector value is %d."
 msgstr "Maximálna hodnota sektorov je %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Lokácia %s sa nachádza mimo zariadenia %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Neplatné číslo."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "Použiť menšiu jednotku namiesto hodnoty < 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Nepodarilo sa alokovať blok oblasti\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Nepodarilo sa alokovať blok\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Nebolo možné prečítať štartovací blok %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Nebolo možné prečítať koreňový blok %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : nepodarilo sa alokovať prvok zoznamu ID\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Nepodarilo sa prečítať blok %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Chybný kontrolný súčet bloku %llu typu %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Nepodarilo sa zapísať blok %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s : Nepodarilo sa alokovať disk_specific rdb blok\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : Nebol nájdený rdb blok, to by sa nikdy nemalo stať\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Nepodarilo sa načítať blok oblasti %llu\n"
@@ -1682,40 +1782,40 @@ msgstr ""
 "Geometria CHS súborového systému je (%d, %d, %d), čo nie je platná hodnota. "
 "Geometria CHS tabuľky oblastí je (%d, %d, %d)."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "Štartovací sektor FAT vraví, že logická veľkosť sektoru je 0. To je divné. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 "Štartovací sektor FAT vraví, že neexistuje žiadna tabuľka FAT. To je divné. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr "Štartovací sektor FAT vraví, že klaster je 0 sektorov. To je divné. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Súborový systém je FAT12, ktorý nie je podporovaný."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Nerozpoznaný podpis odkladacieho oddielu Linuxu v starom štýle „%10s“."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Nerozpoznaný podpis odkladacieho oddielu Linuxu v novom štýle „%10s“."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Nerozpoznaný podpis odkladacieho oddielu Linuxu swsusp „%10s“."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1724,16 +1824,7 @@ msgstr ""
 "Parted nedokáže používať súborové systémy HFS na diskoch s veľkosťou sektora "
 "inou ako %d bajtov."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Systém súborov má logickú veľkost sektora %d. Je známe, že GNU Parted "
-"nepracuje správne s veľkosťou sektora inou ako 512 bajtov."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1747,7 +1838,7 @@ msgstr ""
 "geometria systému sa nezmení. Ak zvolíte Opraviť, CHS geometria systému sa "
 "zmení na CHS geometriu tabuľky oblastí."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1766,18 +1857,18 @@ msgstr ""
 "Na zmenšenie tejto oblasti na túto veľkosť potrebujete %s voľného miesta "
 "(momentálne máte voľných iba %s)"
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr "Zmena začiatku klastra = %d, čo nie je násobok veľikosti klastra %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr "Chybná položka adresára pre %s: prvý klaster je značka konca súboru."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1785,7 +1876,7 @@ msgstr ""
 "Chybná FAT: neukončený reťazec pre %s. Mali by ste spustiť dosfsck alebo "
 "scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1794,7 +1885,7 @@ msgstr ""
 "Chybná FAT: klaster %d sa nachádza mimo systému súborov v reťezci pro %s. "
 "Mali by ste spustiť dosfsck alebo scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1803,12 +1894,12 @@ msgstr ""
 "Chybná FAT: klaster %d má vymenené odkazy s %s. Mali by ste spustiť dosfsck "
 "alebo scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s je %dk, ale má %d klastrov (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1859,17 +1950,17 @@ msgstr ""
 "V koreňovom adresári nie je dostatok miesta na všetky súbory. Zvoľte buď "
 "Zrušiť, alebo Ignorovať, čím sa tieto súbory stratia."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Chyba pri zapisování do koreňového adresára."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 "Ak ponecháte svoj systém súborov vo formáte FAT16, nespôsobíte žiadné nové "
 "problémy."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1879,7 +1970,7 @@ msgstr ""
 "znova nainštalovať zavádzač systému MS Windows. Ak to chcete urobiť, mali by "
 "ste si prečítať príručku Parted (alebo príručku svojej distribúcie)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1887,7 +1978,7 @@ msgstr ""
 "Ak ponecháte svoj systém súborov vo formáte FAT32, nespôsobíte žiadné nové "
 "problémy."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1901,33 +1992,33 @@ msgstr ""
 "Prevedenie na FAT32 tiež urobí systém súborov nečitateľný pre MS-DOS, MS "
 "Windows 95a a MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Chcete použiť FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Veľkosť systému súborov je možné túto hodnotu zmeniť iba prevodom na FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Veľkosť systému súborov je možné túto hodnotu zmeniť iba prevodom na FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1970,18 +2061,18 @@ msgstr "zmena veľkosti súborových systémov %s nie je podporovaná"
 msgid "The file system is bigger than its volume!"
 msgstr "Systém súborov je väčší než zväzok, na ktorom sa nachádza!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Súborový systém obsahuje chyby."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Nebolo možné prečítať chybné bloky."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -1990,53 +2081,53 @@ msgstr ""
 "Prebieha pokus o registráciu rozsahu počínajúc blokom 0x%X, ale iný už na "
 "tejto pozícii existuje. Mali by ste skontrolovať súborový systém!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Prebieha pokus o presunutie rozsahu z bloku 0x%X na blok 0x%X, ale iný už na "
 "tejto pozícii existuje. Toto by sa nemalo stať!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 "Nebolo možné aktualizovať vyrovnávaciu pamäť rozsahov súboru HFS s CNID %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "Pokus o čítanie súboru HFS s CNID %X za znakom konca súboru."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Nebol nájdený sektor %lli súboru HFS s CNID %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "Pokus o zápis súboru HFS s CNID %X za znakom konca súboru."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 "Nebolo možné aktualizovať vyrovnávaciu pamäť rozsahov súboru HFS+ s CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "Pokus o čítanie súboru HFS+ s CNID %X za znakom konca súboru."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Nebol nájdený sektor %lli súboru HFS+ s CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "Pokus o zápis súboru HFS+ s CNID %X za znakom konca súboru."
@@ -2111,19 +2202,19 @@ msgstr "Prepáčte, veľkosť HFS+ nie je zatiaľ možné týmto spôsobom zmeni
 msgid "shrinking embedded HFS+ volume"
 msgstr "zmenšuje sa vnorený zväzok HFS+"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Zmena veľkosti HFS+ zlyhala."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "zmenšuje sa HPS wrapper"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "Aktualizácia HFS wrappera zlyhala."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2132,43 +2223,44 @@ msgstr ""
 "Toto nie je skutočná kontrola %s. Týmto sa získajú špeciálne nízkoúrovňové "
 "súbory pre účely ladenia."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Chybný kontrolný súčet zoznamu blokov."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 "Neplatná veľkosť bloku transakcií počas prehrávania žurnálu (%i bajtov)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Žurnál uložený mimo zväzku nie je podporovaný. Pokúste sa deaktivovať žurnál "
 "a znova spustiť Parted."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr "Ofset žurnálu nie je násobkom veľkosti sektora."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Neplatné magické hodnoty v hlavičke žurnálu."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "Veľkosť žurnálu sa nezhoduje v info bloku žurnálu a v hlavičke žurnálu."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Niektoré polia hlavičky nie sú násobkom veľkosti sektora."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2176,11 +2268,11 @@ msgstr ""
 "Veľkosť sektora uložená v žurnále nie je 512 bajtov. Parted podporuje iba "
 "sektory s dĺžkou 512 bajtov."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Chybný kontrolný súčet žurnálu."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2188,7 +2280,7 @@ msgstr ""
 "Žurnál nie je prázdny. Parted musí prehrať transakcie pred otvorením "
 "súsborového systému. Týmto sa súborový systém zmení."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2196,11 +2288,11 @@ msgstr ""
 "Hlavička zväazku hlavného bloku adresárov sa v dôsledku prehrania žurnálu "
 "zmenila. Mali by ste znova spustiť Parted."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Rozsah nebol premiestnený."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2208,15 +2300,15 @@ msgstr ""
 "Odkaz na rozsah pochádza z miesta, odkiaľ by nemal. Mali by ste skontrolovať "
 "súborový systém!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr "Tento zväzok HFS nemá katalógový súbor. To je veľmi nezvyčajné!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr "Tento zväzok HFS nemá súbor pretečení rozsahov. To je dosť nezvyčajné!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2224,23 +2316,23 @@ msgstr ""
 "Súbor pretečení rozsahov by nemal obsahovať svoje vlastné rozsahy! Mali by "
 "ste skontrolovať súborový systém!"
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Nebolo možné udržiavať kópiu systému súborov v pamäti."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Zoznam chybných blokov nebolo možné načítať."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Vyskytla sa chyba pri premiestňovaní rozsahov."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr "Tento zväzok HFS+ nemá katalógový súbor. To je veľmi nezvyčajné!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Tento zväzok HFS+ nemá súbor pretečení rozsahov. To je dosť nezvyčajné!"
@@ -2351,24 +2443,24 @@ msgstr ""
 "GNU General Public License.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(zostávajúci čas %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, fuzzy, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
 "Oblasť %s sa používa. Predtým, než vykonáte zmeny pomocou Parted ju musíte "
 "odpojiť."
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Oblasti na %s sa používajú."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2377,31 +2469,31 @@ msgstr ""
 "Existujúca menovka disku na %s sa zničí a všetky dáta na oddiele sa stratia. "
 "Chcete pokračovať?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Typ novej menovky disku?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Typ oblasti?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Názov oblasti?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Typ súborového systému?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Začiatok?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Koniec?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2410,7 +2502,7 @@ msgstr ""
 "Vyžiadali ste oblasť od %s do %s (sektory %llu..%llu).\n"
 "Najbližšie možné miesto je od %s do %s (sektory %llu..%llu).%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2418,84 +2510,95 @@ msgstr ""
 "\n"
 "Je to pre vás ešte prijateľné?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
 "Výsledná oblasť nie je správne zarovnaná, čo sa prejaví zhoršeným výkonom."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Menovky disku %s nepodporujú rozšírené oblasti."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Číslo oblasti?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "BIOS geometria cylinder,hlava,sektor: %d,%d,%d. Každý cylinder má %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Model: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disk %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Veľkosť sektora (logická/fyzická): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Tabuľka oblastí: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Príznaky disku: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Číslo"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Začiatok"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Koniec"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Veľkosť"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Typ"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Súborový systém"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Názov"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Prepínače"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Voľné miesto"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2503,66 +2606,67 @@ msgid ""
 msgstr ""
 "Bola nájdená oblasť %s %s na %s -> %s. Chcete ju pridať do tabuľky oblastí?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "hľadám systémy súborov"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Nové zariadenie?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "typ zarovnania(min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d zarovnané\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d nezarovnané\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Prepínač, který sa má zmeniť?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Nový stav?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Jednotka?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "kontrola-zarovnania"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "align-check TYP N                         skontrolovať zarovnanie TYP(min|"
 "opt) na oblasti N"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2570,15 +2674,15 @@ msgstr ""
 "help [PRÍKAZ]                            vypíše všeobecného pomocníka alebo "
 "pomocníka o PRÍKAZE"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2586,15 +2690,15 @@ msgstr ""
 "mklabel TYP-MENOVKY                      vytvorí novú menovku disku (tabuľku "
 "oblastí)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart TYP-ODDIELU [TYP-FS] ZAČIATOK KONIEC vytvorí oblasť"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2602,19 +2706,19 @@ msgstr ""
 "„mkpart“ vytvorí oblasť bez toho, aby vytvoril nový systém súborov na nej. "
 "TYP-FS môže špecifikovať zodpovedajúci ID oblasti.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "name MINOR NÁZOV                         nazvať oblasť MINOR NÁZVOM"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2623,7 +2727,7 @@ msgstr ""
 "print [devices|free|list,all|ČÍSLO]      zobrazí tabuľku oblastí, dostupné "
 "zariadenia, voľné miesto, všetky nájdené oblasti alebo konkrétnu oblasť"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2631,11 +2735,11 @@ msgstr ""
 "„print“ bez argumentov zobrazí celú tabuľku oblastí. S nasledovnými "
 "argumentami však vykoná rôzne iné činnosti.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : zobrazí všetky aktívne blokové zariadenia\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2643,33 +2747,33 @@ msgstr ""
 "  free      : zobrazí informácie o voľnom mieste nerozdelenom medzi oblasti "
 "na aktuálnom blokovom zariadení\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : zobrazí tabuľky oblastí všetkých aktívnych blokových "
 "zariadení\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 "  ČÍSLO     : zobrazí podrobnejšie informácie o tejto konkrétnej oblasti\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     ukončiť program"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2677,97 +2781,97 @@ msgstr ""
 "rescue ZAČIATOK KONIEC                   zachrániť stratenú oblasť v "
 "blízkosti ZAČIATKU a KONCA"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 #, fuzzy
 msgid "resizepart"
 msgstr "resize"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "move ČÍSLO ZAČIATOK KONIEC               presunúť oblasť ČÍSLO"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm MINOR                                 odstrániť oblasť MINOR"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr ""
 "select zariadenie                        zvoliť zariadenie, ktoré sa má "
 "upravovať"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "sada_diskov"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr "sada_diskov PREPÍNAČ STAV           zmeniť voľbu na oblasti MINOR"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
 "disk_toggle [PRÍZNAK]                  prepnúť PRÍZNAK na vybranom zariadení"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set MINOR PREPÍNAČ STAV                  zmeniť voľbu na oblasti MINOR"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
 "toggle [ČÍSLO [PRÍZNAK]]                 prepnúť PRÍZNAK na oblasti ČÍSLO"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "unit JEDNOTKA                            nastaviť predvolenú jednotku na "
 "JEDNOTKA"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2775,7 +2879,7 @@ msgstr ""
 "version                                  zobrazí verziu a informácie o "
 "autorských právach GNU Parted"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2783,29 +2887,29 @@ msgstr ""
 "„version“ zobrazí informácie o autorských právach a verzii tejto kópie GNU "
 "Parted\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 "Použitie: %s [-hlmsv] [-a<zarovnanie>] [ZARIADENIE [PRÍKAZ [PARAMETRE]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Nebolo nájdené žiadne zariadenie"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr "UPOZORNENIE: Nie ste superpoužívateľ. Dávajte pozor na oprávnenia.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Môže byť potrebné aktualizovať /etc/fstab.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr "Vitajte v GNU Parted! Zoznam príkazov zobrazíte napísaním „help“.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2816,7 +2920,7 @@ msgstr ""
 "Vykonať PRÍKAZy s PARAMETRami na ZARIADENIE. Ak nie je zadaný PRÍKAZ, beží v "
 "interaktívnom režime.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2877,7 +2981,7 @@ msgstr ""
 "ďalšie informácie o vašom systéme, ktoré považujete za\n"
 "relevantné.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2885,7 +2989,7 @@ msgstr ""
 "\n"
 "História príkazov:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2893,7 +2997,7 @@ msgstr ""
 "\n"
 "Chyba: SEGV_MAPERR (Adresa nemá mapovanie na objekt)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2901,7 +3005,7 @@ msgstr ""
 "\n"
 "Chyba: SEGV_ACCERR (Neplatné oprávnenia mapovaného objektu)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2909,7 +3013,7 @@ msgstr ""
 "\n"
 "Chyba: Vyskytol sa všeobecný signál SIGSEGV.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2917,7 +3021,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_INTDIV (Celé číslo: delenie nulou)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2925,7 +3029,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_INTOVF (Celé číslo: pretečenie)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2933,7 +3037,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTDIV (Desatinné číslo: delenie nulou)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2941,7 +3045,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTOVF (Desatinné číslo: pretečenie)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2949,7 +3053,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTUND (Desatinné číslo: podtečenie)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2957,7 +3061,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTRES (Desatinné číslo: nepresný výsledok)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2965,7 +3069,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTINV (Desatinné číslo: neplatná operácia)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -2973,7 +3077,7 @@ msgstr ""
 "\n"
 "Chyba: FPE_FLTSUB (Desatinné číslo: dolný index mimo rozsahu)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -2981,7 +3085,7 @@ msgstr ""
 "\n"
 "Chyba: Vyskytol sa všeobecný signál SIGFPE."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -2989,7 +3093,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_ILLOPC (Neplatný opkód)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -2997,7 +3101,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_ILLOPN (Neplatný operand)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3005,7 +3109,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_ILLADR (Neplatný režim adresácie)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3013,7 +3117,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_ILLTRP (Neplatné zachytenie)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3021,7 +3125,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_PRVOPC (Privilegovaný opkód)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3029,7 +3133,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_PRVREG (Privilegovaný register)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3037,7 +3141,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_COPROC (Chyba koprocesora)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3045,7 +3149,7 @@ msgstr ""
 "\n"
 "Chyba: ILL_BADSTK (Vnútorná chyba zásobníka)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3053,65 +3157,69 @@ msgstr ""
 "\n"
 "Chyba: Vyskytol sa všeobecný signál SIGILL."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "neplatný token: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Očakáva sa číslo oblasti."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Oblasť neexistuje."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Očakáva sa typ systému súborov."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Neznámy typ systému súborov „%s“."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Očakáva sa typ menovky disku."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Nie je možné vytvoriť ďalšie oblasti."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Očakáva sa typ oblasti."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "zap"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "vyp"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "optimálne"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "minimálne"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "VOĽBY:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "PRÍKAZy:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3120,15 +3228,30 @@ msgstr ""
 "\n"
 "Chyby hláste <%s>.\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Používa sa %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Príkaz nedáva zmysel v neinteraktívnom režime.\n"
 
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: voľba „--%s“ nepovoľuje argument\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: nerozpoznaná voľba „--%s“\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: voľba „-W %s“ nepovoľuje argument\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: voľba „-W %s“ vyžaduje argument\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Domovská stránka %s: <http://www.gnu.org/software/%s/>\n"
+
 #~ msgid "Failed to add partition %d (%s)"
 #~ msgstr "Nepodarilo sa pridať oblasť %d (%s)"
 
@@ -3152,6 +3275,13 @@ msgstr "Príkaz nedáva zmysel v neinteraktívnom režime.\n"
 #~ "ste možno odstránili tabuľku oblastí GPT a teraz používate tabuľku "
 #~ "oblastí DOS. Je toto tabuľka oblastí GPT?"
 
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Systém súborov má logickú veľkost sektora %d. Je známe, že GNU Parted "
+#~ "nepracuje správne s veľkosťou sektora inou ako 512 bajtov."
+
 #~ msgid ""
 #~ "Usage: %s [OPTION]\n"
 #~ "  or:  %s DEVICE MINOR\n"
@@ -3429,9 +3559,6 @@ msgstr "Príkaz nedáva zmysel v neinteraktívnom režime.\n"
 #~ msgid "Source partition number?"
 #~ msgstr "Číslo zdrojovej oblasti?"
 
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "Nie je možné kopírovať rozšírené oblasti."
-
 #~ msgid "Destination partition number?"
 #~ msgstr "Číslo cieľovej oblasti?"
 
index 4dae79f733aaf65251438a4b544c5557078a73ab..8806b59240999123c8c716ee95cff31cd616ecf1 100644 (file)
Binary files a/po/sl.gmo and b/po/sl.gmo differ
index 465889469b16a76b85db2d6d0b1841b9388bd941..de52dc59a74ec767cf9fd285e3e6c589512f1af7 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 2.3\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2010-11-11 19:44+0000\n"
 "Last-Translator: Andrej Žnidaršič <andrej.znidarsic@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -15,89 +15,70 @@ msgstr ""
 "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=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
 "%100==4 ? 3 : 0);\n"
 "X-Poedit-Language: Slovenian\n"
 "X-Poedit-Country: SLOVENIA\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "neveljaven argument %s za %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "dvoumen argument %s za %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Veljavni argumenti so:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "napaka pisanja"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Neznana sistemska napaka"
 
-#: lib/getopt.c:547 lib/getopt.c:576
+#: lib/getopt.c:278
 #, fuzzy, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+msgid "%s: option '%s%s' is ambiguous\n"
 msgstr "%s: možnost '%s' je dvoumna\n"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: možnost '--%s' ne dovoljuje argumenta\n"
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s: možnost '%s' je dvoumna\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: neprepoznana možnost '%c%s'\n"
+
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: možnost '%c%s' ne dovoljuje argumenta\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: možnost '--%s' zahteva argument\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: neprepoznana možnost '--%s'\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: neprepoznana možnost '%c%s'\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: neveljavna možnost -- '%c'\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: možnost zahteva argument -- '%c'\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: možnost '-W %s' je dvoumna\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: možnost '-W %s' ne dovoljuje argumenta\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: možnost '-W %s' zahteva argument\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -117,85 +98,86 @@ msgstr "%s: možnost '-W %s' zahteva argument\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "\""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "\""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Uspeh"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Ni zadetkov"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Neveljaven logični izraz"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Neveljaven znak za primerjavo"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Neveljavno ime razreda znakov"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Zaključna obratna poševnica"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Neveljaven povratni sklic"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Nezaključen [ ali [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Nezaključen ( ali \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Nezaključen \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Neveljavna vsebina \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Neveljaven konec razpona"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Pomnilnik je izčrpan"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Neveljaven predhodni logični izraz"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Prehiter konec logičnega izraza"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Logični izraz je prevelik"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Odvečni ) ali \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Manjkajoč predhodni logični izraz"
 
@@ -219,12 +201,12 @@ msgstr "^[jJdD]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Paket je pripravil %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Paket je pripravil %s\n"
@@ -232,18 +214,17 @@ msgstr "Paket je pripravil %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "GPLv3+: GNU GPL, različica 3 ali poznejša <http://www.gnu.org/licenses/gpl."
@@ -253,19 +234,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Avtor: %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Avtorja: %s in %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Avtorji: %s, %s in %s.\n"
@@ -273,7 +254,7 @@ msgstr "Avtorji: %s, %s in %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -285,7 +266,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -297,7 +278,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -309,7 +290,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -321,7 +302,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -335,7 +316,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -349,7 +330,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -364,32 +345,26 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Hrošče prijavite na: %s\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Hrošče programa %s prijavite na: %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Domača stran %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Domača stran %s: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 "Splošna pomoč za uporabo programov GNU: <http://www.gnu.org/gethelp/>\n"
 
@@ -417,59 +392,59 @@ msgid "Disk Image"
 msgstr "Odtis diska"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Napaka med odpiranjem %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "%s ni mogoče odpreti za branje in pisanje (%s). %s je odprt samo za branje."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s med iskanjem za branje na %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s med branjem na %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Pisanje v %s ni mogoče, ker je odprt samo za branje."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s med iskanjem za pisanje na %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s med pisanjem na %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Poskusite `%s --help' za več podrobnosti.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Uporaba: %s [MOŽNOSTI] [NAPRAVE] ...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -485,7 +460,7 @@ msgstr ""
 "  -h, --help       prikaže to pomoč in konča\n"
 "  -v, --version    prikaže podrobnosti o različici in konča\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -493,7 +468,7 @@ msgstr ""
 "\n"
 "Ko NAPRAVA ni podana, preišče vse razdelke.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -539,7 +514,7 @@ msgstr ""
 "Hurd ne ve nič o vaših spremembah. Računalnik morate pred nadaljnjim delom "
 "znova zagnati z %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -553,17 +528,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s poizkus usklajevanja %s z diskom"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Ni mogoče izvesti ukaza stat na napravi %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Vrste dm za %s ni mogoče določiti."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -572,7 +547,7 @@ msgstr ""
 "Velikosti sektorja %s ni mogoče določiti: %s.\n"
 "Uporabljena bo privzeta velikost sektorja (%lld):"
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -581,21 +556,21 @@ msgstr ""
 "Fizične velikosti sektorja za %s ni mogoče določiti.\n"
 "Uporabljena bo logična velikost sektorja (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Velikosti %s ni mogoče določiti (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Izvorni IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Identitete naprave %s ni mogoče dobiti - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Izvorni IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -608,12 +583,12 @@ msgstr ""
 "sistemov. Naprimer GPT in ext2/3.\n"
 "Za trenutne podatke preverite spletno stran."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Napaka med začenjanjem SCSI naprave %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, fuzzy, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -622,7 +597,7 @@ msgstr ""
 "Naprava %s ima ničelno dolžino, zato ne more shraniti datotečnega sistema "
 "ali preglednice razdelkov. Morda ste izbrali napačno napravo?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -631,87 +606,100 @@ msgstr ""
 "Ni mogoče določiti geometrije datoteke/naprave %s. Parted uporabite le, če "
 "RESNIČNO veste kaj počnete!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Izvorna kartica shrambe SD/MMC"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Nova naprava?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "DAC960 RAID krmilnik"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Naprava Promise SX8 SATA"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "Naprava ATA preko Eternet"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "Pogon IBM S390 DASD"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries Virtual DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Krmilnik ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Krmilnik I2O"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "Uporabnišči način Linux UBD"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 #, fuzzy
 msgid "Loopback device"
 msgstr "Izvorna naprava?"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linux preslikovalnik naprav (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Naprava Xen Virtual Block"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Neznano"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Naprava Virtio Block"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Polje Linux Software RAID"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new() Nepodprta vrsta naprave"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Napaka med opravilom fsyncing/zapiranjem %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, fuzzy, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "konec datoteke med branjem %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -722,12 +710,12 @@ msgstr ""
 "imel podatkov o spremembah %s do ponovnega zagona --  razdelka ne "
 "priklapljajte ali uporabljajte do ponovnega zagona."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, fuzzy, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Velikosti in dolžine %s ni mogoče določiti."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -740,36 +728,36 @@ msgstr ""
 "je/so stari razdelek(ki) še vedno v uporabi. Pred nadaljnjimi spremembami "
 "priporočamo ponoven zagon."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "Konec ne more biti pred začetkom! (začetni sektor=%jd dolžina=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Poskus zapisovanja sektorjev %ld-%ld zunaj razdelka na %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "preverjanje slabih blokov"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Ukaz backtrace ima %d klicev na skladu:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Trditev (%s) na %s:%d v funkciji %s() ni uspela."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: neprepoznana oznaka diska"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -777,40 +765,40 @@ msgid ""
 msgstr ""
 "libparted ne podpira zapisovanja na %s. Morda je bil preveden samo za branje."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Razdelek %d je %s, vendar je datotečni sistem %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "poravnava_cilindrov"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 #, fuzzy
 msgid "pmbr_boot"
 msgstr "zagon"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Neznana zastavica diska, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "oznake diska %s ne podpirajo razširjenih razdelkov."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "oznake diska %s ne podpirajo logičnih ali razširjenih razdelkov."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Preveč osnovnih razdelkov."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -818,127 +806,127 @@ msgstr ""
 "Dodajanje logičnega razdelka na %s ni mogoče, ker razširjeni razdelek ne "
 "obstaja."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Ni mogoče imeti več kot enega razširjenega razdelka na %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Logični razdelek ne sme biti zunaj razširjenega razdelka."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "Logični razdelek ne sme biti zunaj razširjenega razdelka na %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Osnovni razdelek ne more biti znotraj razširjenega razdelka."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Razdelek izven diska ni mogoč!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Razdelki se ne smejo prekrivati."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metapodatki"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "prosto"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "razširjen"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "logični"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "osnovni"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "zagon"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "korenski"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "izmenjalni razdelek"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "skrito"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 #, fuzzy
 msgid "msftdata"
 msgstr "metapodatki"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr ""
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr ""
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 #, fuzzy
 msgid "esp"
 msgstr "Da"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Neznana zastavica razdelka, %d."
@@ -1009,25 +997,25 @@ msgstr ""
 "bug-parted@gnu.org vsaj s podatki o različici (%s) in naslednjim "
 "sporočilom:  "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "Podpora za branje diskov oznake AIX še ni dodana."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "Podpora za pisanje diskov oznake AIX še ni dodana."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr "Podpora za dodajanje razdelkov diskom oznake AIX še ni dodana."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr "Podpora za podvajanje razdelkov diskov oznake AIX še ni dodana."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1035,73 +1023,180 @@ msgstr ""
 "Podpora za nastavljanje vrste sistema razdelkov v  diskih oznake AIX še ni "
 "dodana."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr "Podpora za nastavljanje zastavic diskov oznake AIX še ni dodana."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted ne more uporabiti datotečnega sistema HFS na disku z velikostjo "
+"sektorja različno od %d bajtov."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Razširjenega razdelka ni mogoče prekopirati."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Vsem omejitvam razdelka ni mogoče zadostiti."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Dodeljevanje številke razdelka ni uspelo."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Dodeljevanje reže bsd disklabel ni uspelo."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Dodeljevanje reže dasd disklabel ni uspelo."
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Neveljavna preglednica razdelka na %s -- napačen podpis %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Neveljavna preglednica razdelka - rekurzivni razdelek na %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Razširjeni razdelki ne morejo biti skriti na msdos oznakah diska."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Razširjeni razdelki ne morejo biti skriti na msdos oznakah diska."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted ne more spremeniti velikosti razdelka, ki ga upravlja Windows Dynamic "
 "Disk."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 #, fuzzy
 msgid "cannot create any more partitions"
 msgstr "Novih razdelkov ni mogoče ustvariti."
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s ne vsebuje razširjenega razdelka (razdelek glave nosilca)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "Nadzorna vsota je napačna, kar kaže na okvaro v preglednici razdelkov."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Samo osnovni razdelki so lahko korenski razdeleki."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Samo osnovni razdelki so lahko izmenjevalni razdelki."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Samo logični razdelki so lahko zagonske datoteke."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1110,111 +1205,120 @@ msgstr ""
 "nastavljanje imena razdelka dvh na %s ni uspelo:\n"
 "Samo logični razdelki (zagonske datoteke) imajo ime."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Preveč osnovnih razdelkov"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "napaka med odpiranjem"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "napaka med iskanjem"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "napaka med branjem"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "napaka ioctl()"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "Neujemanje različice API"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Nepodprta vrsta diska"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Nepodprta oblika diska"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Disk je v uporabi"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Skladenjska napaka v nastevitveni datoteki"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Oznaka nosilca je pokvarjena"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Ime množice podatkov je pokvarjeno"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Dodeljevanje pomnilnika ni uspelo"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Preverjanje naprave ni uspelo"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Določena naprava ni veljavna naprava DASD"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Usodna napaka"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Ni prostora za oznako nosilca."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Ni prostora za podrobnosti o razdelku."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Neveljaven VTOC."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Različice API ni mogoče pridobiti."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr ""
 "Trenuten API različice '%d'  se ne ujema z API gonilnika dasd različica '%d'!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Podrobnosti o disku ni mogoče pridobiti."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Podrobnosti o geometriji diska ni mogoče pridobiti."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Podrobnosti o velikosti bloka ni mogoče pridobiti."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Podrobnosti o disku ni mogoče pridobiti."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 #, fuzzy
 msgid "device is too small for GPT"
 msgstr "Naprava je premajhna za %lu blokov."
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, fuzzy, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1223,7 +1327,7 @@ msgstr ""
 "Oblika GTP preglednice razdelkov je različica %x, kar je novejše kot lahko "
 "Parted prepozna. Sporočite nam! bug-parted@gnu.org"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1234,7 +1338,7 @@ msgstr ""
 "uporabljal ves prostor (dodatnih %llu blokov) ali pa nadaljujte s trenutnimi "
 "nastavitvami. "
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 #, fuzzy
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
@@ -1245,7 +1349,7 @@ msgstr ""
 "diska manjša. Ali želite to popraviti s premikom varnostne kopije na konec "
 "diska (in izbrisom stare varnostne kopije)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1254,7 +1358,7 @@ msgstr ""
 "narediti svežo preglednico in z reševalno možnostjo programa Parted obnoviti "
 "razdelke."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1262,7 +1366,7 @@ msgstr ""
 "Varnostna kopija preglednice GPT je pokvarjena, vendar je osnovna videti v "
 "redu, zato bo uporabljena."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1270,63 +1374,63 @@ msgstr ""
 "Osnovna preglednica GPT je pokvarjena, vendar je varnostna kopija v redu, "
 "zato bo uporabljena."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "polje osnovne preglednice razdelka ima nujemajoč CRC"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 #, fuzzy
 msgid "failed to translate partition name"
 msgstr "Dodeljevanje številke razdelka ni uspelo."
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Neveljaven podpis %x na oznaki diska Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Preslikava razdelkov ne vsebuje vnosov preslikave razdelkov!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s je premajhen za oznako diska Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Razdelek %d ima neveljaven podpis %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Razdelek %d ima neveljavno dolžino 0 bajtov!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Področje podatkov se ne začne na začetku razdelka."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Zagonsko področje se ne začne na začetku razdelka."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Zagonsko področje razdelka ne zaseda celotnega razdelka."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Podatkovno področje razdelka ne zaseda celotnega razdelka."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr ""
 "Čudna velikost bloka na opisovalniku naprave: %d bajtov ni deljivih z 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1335,11 +1439,11 @@ msgstr ""
 "Opisovalnik naprave pravi, da je fizični blok velik %d bajtov, vendar Linux "
 "pravi, da je %d bajtov."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Preslikave razdelka ni mogoče najti."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1348,11 +1452,11 @@ msgstr ""
 "Sporne velikosti vnosov preslikave razdelka! Vnos 1 pravi %d, vendar vnos %d "
 "pravi %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Čudno! Obstajata 2 vnosa preslikave particij!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1360,7 +1464,7 @@ msgstr ""
 "Spreminjanje imena korenskega ali izmenjevalnega razdelka bo sistemu Linux "
 "preprečilo prepoznavo the razdelkov."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Dodatnega razdelka ni mogoče dodati - načrt razdelkov je premajhen!"
 
@@ -1380,7 +1484,7 @@ msgstr "Razdelek %d ni poravnan z mejo cilindrov. To ni podprto."
 msgid "Can't add another partition."
 msgstr "Dodatnega razdelka ni mogoče dodati."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1389,7 +1493,7 @@ msgstr ""
 "razdelek dolžine %jd sektorjev presega največjo vrednosti določeno v %s "
 "tebeli razdelkov %jd"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1398,60 +1502,56 @@ msgstr ""
 "številka začetnega sektorja %jd presega največjo vrednosti določeno v %s "
 "tebeli razdelkov %jd"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s: Slaba nadzorna vsota na bloku %llu vrste %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s: Bloka rdb ni mogoče najti, kar se ne sme zgoditi."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s: Na bloku %d je bila zaznana zanka."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s: Zdi se, da je seznam %s na bloku %s slab."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s: Naštevanje slabih blokov ni uspelo."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Naštevanje blokov razdelkov ni uspelo."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s: Izpis blokov sistemskih datotek ni uspel."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s: Izpis zagonskih blokov ni uspel."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Zapisovanje bloka razdelka na %d ni uspelo."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Dodeljevanje številke razdelka ni uspelo."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Zaznana je bila pokvarjena oznaka diska Sun"
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1460,17 +1560,17 @@ msgstr ""
 "CHS geometrija diska (%d,%d,%d) sporočena iz operacijskega sistema se ne "
 "ujema z geometrijo shranjeno v oznaki diska (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Oznaka diska opisuje disk večji kot %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "Disk ima %d cilindrov, kar je več kot največja vrednost 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1481,7 +1581,7 @@ msgstr ""
 "dobra zamisel. Solaris se brez tega razdelka morda ne bo mogel zagnati in "
 "tudi SILO (zagonski nalagalnik sparc) uporablja ta razdelek."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Oznaka diska Sun je polna."
 
@@ -1501,61 +1601,61 @@ msgstr "zapisovanje na napravo ni uspelo"
 msgid "reading from device failed"
 msgstr "branje iz naprave ni uspelo"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Oznake nosilca ni mogoče prebrati."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Oznake nosilca ni mogoče zapisati."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Oznake VTOC ni mogoče prebrati."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "VTOC FMT1 DSCB ni mogoče prebrati."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "VTOC FMT4 DSCB ni mogoče prebrati."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "VTOC FMT5 DSCB ni mogoče prebrati."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "VTOC FMT7 DSCB ni mogoče prebrati."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Oznake VTOC ni mogoče zapisati."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "VTOC FMT1 DSCB ni mogoče zapisati."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "VTOC FMT4 DSCB ni mogoče zapisati."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "VTOC FMT5 DSCB ni mogoče napisati."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "VTOC FMT7 DSCB ni mogoče zapisati."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 #, fuzzy
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "VTOC FMT1 DSCB ni mogoče zapisati."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Zmanjkalo je pomnilnika."
 
@@ -1578,73 +1678,73 @@ msgstr "Največja vrednost glave je %d."
 msgid "The maximum sector value is %d."
 msgstr "Največja vrednost sektorja je %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Mesto %s je zunaj naprave %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Neveljavno število."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr ""
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Dodeljevanje bloka razdelka ni uspelo\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s: Dodeljevanje bloka ni uspelo\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s: Branje zagonskega bloka %llu ni uspelo\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s: Branje korenskega bloka %llu ni uspelo\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s: Dodeljevanje elementa id seznama ni uspelo\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Branje bloka %llu ni uspelo\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s: Slaba nadzorna vsota na bloku %llu vrste %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s: Zapisovanje bloka %d ni uspelo\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s: Dodeljevanje bloka disk_specific rdb ni uspelo\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : bloka rdb ni mogoče najti, kar se ne sme zgoditi\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s: Branje bloka razdelka %llu ni uspelo\n"
@@ -1688,44 +1788,44 @@ msgid ""
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "FAT zagonski sektor pravi, da je logična velikost sektorja 0. To je "
 "nenavadno. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 "FAT zagonski sektor pravi, da preglednica FAT ne obstaja. To je nenavadno. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "FAT zagonski sektor pravi, da gruče vsebujejo 0 sektorjev. To je nenavadno. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Datotečni sistem je FAT12. Ta datotečni sistem ni podprt."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr ""
 "Neprepoznaven podpis linux izmenjevalnega razdelka v starem slogu '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr ""
 "Neprepoznaven podpis linux izmenjevalnega razdelka v novem slogu '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Neprepoznaven podpis linux izmenjevalnega razdelka '%9s'."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1734,16 +1834,7 @@ msgstr ""
 "Parted ne more uporabiti datotečnega sistema HFS na disku z velikostjo "
 "sektorja različno od %d bajtov."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Datotečni sistem ima logično velikost sektorja %d. Znano je, da GNU Parted "
-"ne deluje pravilno z velikostjo sektorjev drugačno od 512 bajtov."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1757,7 +1848,7 @@ msgstr ""
 "datotečnega sistema ostala nespremenjena. Če izberete popravi, bo geometrija "
 "CHS datotečnega sistema nastavljena na vrednosti iz preglednice razdelkov."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1776,25 +1867,25 @@ msgstr ""
 "Da bi razdelek skrčili na to velikost, potrebujete %s nezasedenega prostora "
 "na disku. Trenutno je na voljo le %s nezasedenega prostora."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr "Začetek gruče delta = %d, ki ni večkratnik velikosti gruče %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr "Slab vnos mape %s: prva gruča je konec datotečnega označevalnika."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
 msgstr ""
 "Slab FAT: nezaključena veriga %s: Treba je zagnati ukaz dosfsck ali scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1803,7 +1894,7 @@ msgstr ""
 "Slab FAT: gruča %d je zunaj datotečnega sistema v verigi %s. Treba je "
 "zagnati ukaz dosfsck ali scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1812,12 +1903,12 @@ msgstr ""
 "Slab FAT: gruča %d je navzkrižno povezana v %s. Treba je zagnati ukaz "
 "dosfsck ali scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s je %dk, vendar ima %d gruč (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1869,15 +1960,15 @@ msgstr ""
 "V korenski mapi ni dovolj prostora za vse datoteke. Prekličite ali pa "
 "prezrite in s tem izgubite datoteke."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Napaka med zapisovanjem v korensko mapo."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "Če pustite datotečni sistem FAT16, ne boste imeli težav."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1888,14 +1979,14 @@ msgstr ""
 "storiti, preverite podrobnosti v priročniku Parted (ali v priročniku svoje "
 "distribucije)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr ""
 "Če pustite datotečni sistem FAT32, ne boste uvedli nobenih novih težav."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1909,35 +2000,35 @@ msgstr ""
 "distribucije). Pretvorba v FAT32 bo povzročila, da bo datotečni sistem "
 "nemogoče brati iz MS DOS, MS Windosw 95 in MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Želite uporabiti FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Datotečnemu sistemu je mogoče spremeniti velikost na to vrednost le, če bo "
 "pretvorjen v FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Datotečnemu sistemu je mogoče spremeniti velikost na to vrednost le, če bo "
 "pretvorjen v FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1980,18 +2071,18 @@ msgstr "Podpora za spremembo velikosti datotečnega sistem %s še ni dodana."
 msgid "The file system is bigger than its volume!"
 msgstr "Datotečni sistem je večji kot njegov nosilec!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Datotečni sistem vsebuje napake."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Slabega bloka ni mogoče prebrati."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -2000,55 +2091,55 @@ msgstr ""
 "Poskus vpisa segmenta extent, ki se začenja z blokom Ox%X, vendar na tem "
 "mestu eden že obstaja. Treba je preveriti datotečni sistem!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Poskus premikanja segmenta extent iz bloka Ox%X v blok Ox%X, vendar na tem "
 "mestu eden že obstaja. To se ne sme zgoditi!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr ""
 "Predpomnilnika segmenta extent ni bilo mogoče posodobiti za HFS datoteke s "
 "CNID %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "Poskus branja datoteke HFS s CNID %X za EOF."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Sektorja %lli datoteke HFS s CNID %X ni bilo mogoče najti."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "Poskus pisanja datoteke HFS s CNID %X za EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr ""
 "Predpomnilnika segmenta extent za HFS+ datoteko s CNID %X ni bilo mogoče "
 "posodobiti."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "Poskus branja HFS+ datoteke s CNID %X za EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Sektorja %lli HFS+ datoteke s CNID %X ni bilo mogoče najti."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "Poskus pisanja HFS+ datoteke s CNID %X za EOF."
@@ -2123,19 +2214,19 @@ msgstr "Oprostite, HFS+ ni mogoče spreminiti velikosti na ta način."
 msgid "shrinking embedded HFS+ volume"
 msgstr "krčenje vstavljenega nosilca HFS+"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Spreminjanje velikosti nosilca HFS+ ni uspelo."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "krčenje ovijalnika HFS"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "Posodabljanje ovijalnika HFS ni uspelo."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2144,11 +2235,11 @@ msgstr ""
 "To ni pravo preverjanje %s. To bo pridobilo posebne nizkonivojske datoteke "
 "za razhroščevanje."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Slaba nadzorna vsota glave seznama blokov."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
@@ -2156,32 +2247,33 @@ msgstr ""
 "Neveljavna velikost transakcijskih blokov med predvajanjem dnevnika (%i "
 "bajtov)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Dnevniki shranjeni izven nosilca niso podprti. Poskusite izključiti dnevnik "
 "in znova zaženite Parted."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr "Odmik ali velikost dnevnika ni večkratnik velikosti sektorja."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Nepravilne čarobne vrednosti v glavi dnevnika."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "Neujemanje velikosti dnevnika med info blokom dnevnika in glavo dnevnika."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Nekatera polja glave niso večkratnik velikosti sektorja."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2189,11 +2281,11 @@ msgstr ""
 "Velikost sektorja shranjena v dnevniku ni 512 bajtov. Parted podpira samo "
 "sektorje dolžine 512 bajtov."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Slaba nadzorna vsota dnevnika."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2201,7 +2293,7 @@ msgstr ""
 "Dnevnik ni prazen. Parted mora ponoviti transakcije pred odprtjem "
 "datotečnega sistema. To bo spremenilo datotečni sistem."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2209,11 +2301,11 @@ msgstr ""
 "Glava nosilca ali blok glavne mape se je med ponavljanjem dnevnika "
 "spremenil. Priporočamo vam ponoven zagon programa Parted."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Segment extent ni bil prestavljen."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2221,16 +2313,16 @@ msgstr ""
 "Sklic za segment extent prihaja iz prostora kjer ne bi smel. Preverite "
 "datotečni sistem!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr "Ta nosilec HFS nima datoteke kataloga. To je zelo nenavadno!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Ta nosilec HFS nima datoteke preliva segmentov extents. To je zelo nenavadno!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2238,23 +2330,23 @@ msgstr ""
 "Datoteka preliva segmentov extents ne sme vsebovati lastnih segmentov "
 "extents! Preverite datotečni sistem."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Datotečnega sistema ni bilo mogoče naložiti v pomnilnik."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Seznama slabih blokov ni mogoče naložiti."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Napaka med prestavljanjem segmenta extent."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr "Ta nosilec HFS+ nima datoteke kataloga. To je zelo nenavadno!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Ta nosilec HFS+ nima datoteke preliva segmentov extents. To je zelo "
@@ -2370,23 +2462,23 @@ msgstr ""
 "Oglejte si licenco GNU General Public License za podrobnosti.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(čas do konca %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, fuzzy, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
 "Razdelek %s je v uporabi. Pred spreminjanjem s Parted ga je treba odklopiti."
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Razdel-ek(ki) na %s so v uporabi."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2395,31 +2487,31 @@ msgstr ""
 "Obstoječa oznaka diska na %s bo uničena in vsi podatki na disku bodo "
 "izgubljeni. Želite nadaljevati?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Nova vrsta oznake diska?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Vrsta razdelka?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Ime razdelka?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Vrsta datotečnega sistema?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Začetek?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Konec?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, fuzzy, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2428,7 +2520,7 @@ msgstr ""
 "Zahtevali ste razdelek od %s do %s.\n"
 "Najbližje mogoče mesto je od %s do %s.%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2436,83 +2528,94 @@ msgstr ""
 "\n"
 "Je to za vas sprejemljivo?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr "Ciljni razdelek ni pravilno poravnan za najboljšo zmogljivost."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "oznake diska %s ne podpirajo razširjenih razdelkov."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Številka razdelka?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "cilinder BIOS,glava,geometrija sektorja: %d,%d,%d.  Vsak cilinder je %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Model: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disk %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Velikost sektorja (logična/fizična): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Preglednica razdelkov: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, fuzzy, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Disk %s: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Število"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Začetek"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Konec"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Velikost"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Vrsta"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Datotečni sistem"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Ime"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Zastavice"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Nezaseden prostor"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2521,66 +2624,67 @@ msgstr ""
 "razdelek %s %s je bil najden na %s -> %s.  Ga želite dodati k preglednici "
 "razdelkov?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "iskanje datotečnega sistema"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr ""
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Nova naprava?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "vrsta poravnave (min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d je poravnan\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d ni poravnan\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Označi za obrat?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Novo stanje?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Enota?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "align-check VRSTA ŠTEVILKA               preveri poravnanost vrste VRSTA "
 "(min|opt) razdelka ŠTEVILKA"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2588,15 +2692,15 @@ msgstr ""
 "help [UKAZ]                              izpiše splošno pomoč ali pomoč o "
 "ukazu UKAZ"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2604,15 +2708,15 @@ msgstr ""
 "mklabel,mktable OZNAKA-VRSTA             ustvari novo oznako diska "
 "(preglednica razdelkov)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart VRSTA-RAZDELKA [VRSTA-DS] ZAČETEK KONEC     naredi razdelek"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2621,20 +2725,20 @@ msgstr ""
 "razdelku. VRSTA-DS je lahko določena za nastavitev primernega ID-ja "
 "razdelka.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
 "name ŠTEVILKA IME                        razdelek ŠTEVILKA poimenuj z IME"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2644,7 +2748,7 @@ msgstr ""
 "naprave, ki so na voljo, nezaseden prostor, vse najdene razdelke ali določen "
 "razdelek"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2652,11 +2756,11 @@ msgstr ""
 "Brez argumentov, 'print' prikaže celotno preglednico razdelkov. Z "
 "naslednjimi argumenti pa izvede različna druga dejanja.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : prikaže vse dejavne blokovne naprave\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2664,31 +2768,31 @@ msgstr ""
 "  free      : prikaže podatke o nezasedenem nerazdeljenem prostoru na "
 "trenutni blokovni napravi\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : prikaže preglednico razdelkov vseh dejavnih blokovnih naprav\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr "  ŠTEVILKA  : prikaže podrobne podatke o določenem razdelku\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     konča program"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2696,45 +2800,45 @@ msgstr ""
 "rescue ZAČETEK KONEC                     reši izgubljen razdelek blizu "
 "ZAČETKA in KONCA"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr ""
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 #, fuzzy
 msgid "resizepart"
 msgstr "resize"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 #, fuzzy
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "move ŠTEVILKA ZAČETEK KONEC              premakne razdelek ŠTEVILKA"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm ŠTEVILKA                              izbriše razdelek ŠTEVILKA"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select NAPRAVA                           izbere napravo za urejanje"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr ""
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 #, fuzzy
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
@@ -2742,12 +2846,12 @@ msgstr ""
 "set ŠTEVILKA ZASTAVICA STANJE            spremeni ZASTAVICO na razdelku "
 "ŠTEVILKA"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 #, fuzzy
 msgid "disk_toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 #, fuzzy
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
@@ -2756,22 +2860,22 @@ msgstr ""
 "toggle [ŠTEVILKA [ZASTAVICA]]            preklopi stanje ZASTAVICE na "
 "razdelku ŠTEVILKA"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 "set ŠTEVILKA ZASTAVICA STANJE            spremeni ZASTAVICO na razdelku "
 "ŠTEVILKA"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
@@ -2779,20 +2883,20 @@ msgstr ""
 "toggle [ŠTEVILKA [ZASTAVICA]]            preklopi stanje ZASTAVICE na "
 "razdelku ŠTEVILKA"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "unit ENOTA                               nastavi privzeto enoto na ENOTA"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "različica"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2800,7 +2904,7 @@ msgstr ""
 "version                                  prikaže številko različice in "
 "podrobnosti o avtorskih pravicah programa GNU Parted"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2808,30 +2912,30 @@ msgstr ""
 "'version' prikaže avtorske pravice in podrobnosti o različici, ki ustrezajo "
 "tej kopiji programa GNU Parted\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 "Uporaba: %s [-hlmsv] [-a<poravnava>] [NAPRAVA [UKAZ [PARAMETRI]] ...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Naprave ni mogoče najti"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 #, fuzzy
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr "OPOZORILO: Niste superuporabnik. Pazite na dovoljenja."
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Morda boste morali posodobiti /etc/fstab.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr "Dobrodošli v GNU Parted! Vpišite 'help' za ogled seznama ukazov.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2842,7 +2946,7 @@ msgstr ""
 "Uveljavi UKAZE s PARAMETRI za NAPRAVO.  Če UKAZ ni podan poženi v vzajemnem "
 "načinu.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2905,7 +3009,7 @@ msgstr ""
 "Ravno-tako vključite vse dodatne podrobnosti o svojih nastavitvah, \n"
 "ki se vam zdijo pomembne.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2913,7 +3017,7 @@ msgstr ""
 "\n"
 "Zgodovina ukazov:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2921,7 +3025,7 @@ msgstr ""
 "\n"
 "Napaka: SEGV_MAPERR (Naslov ni preslikan na predmet)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2929,7 +3033,7 @@ msgstr ""
 "\n"
 "Error: SEGV_ACCERR (neveljavne pravice preslikanega objekta)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2937,7 +3041,7 @@ msgstr ""
 "\n"
 "Napaka: Zaznan je bil splošni signal SIGSEGV.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2945,7 +3049,7 @@ msgstr ""
 "\n"
 "Napaka: FPE_INTDIV (Celo število: deljenje z 0)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2953,7 +3057,7 @@ msgstr ""
 "\n"
 "Napaka: FPE_INTOVF (Celo število: preliv)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2961,7 +3065,7 @@ msgstr ""
 "\n"
 "Napaka: FPE_FLTDIV (Decimalno število: deljenje z 0)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2969,7 +3073,7 @@ msgstr ""
 "\n"
 "Napaka: FPE_FLTOVF (Decimalno število: prekoračitev)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2977,7 +3081,7 @@ msgstr ""
 "\n"
 "Napaka: FPE_FLTUND (Decimalno število: prekoračitev spodnje meje)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2985,7 +3089,7 @@ msgstr ""
 "\n"
 "Napaka: FPE_FLTRES (Decimalno število: netočen rezultat)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2993,7 +3097,7 @@ msgstr ""
 "\n"
 "Napaka: FPE_FLTINV (Decimalno število: neveljavno opravilo)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -3001,7 +3105,7 @@ msgstr ""
 "\n"
 "Napaka: FPE_FLTSUB (Decimalno število: indeks zunaj obsega)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -3009,7 +3113,7 @@ msgstr ""
 "\n"
 "Napaka: Zaznan je bil splošni signal SIGFPE."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -3017,7 +3121,7 @@ msgstr ""
 "\n"
 "Napaka: ILL_ILLOPC (Neveljavna koda opravila)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3025,7 +3129,7 @@ msgstr ""
 "\n"
 "Napaka: ILL_ILLOPN (Neveljaven operand)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3033,7 +3137,7 @@ msgstr ""
 "\n"
 "Napaka: ILL_ILLADR (Neveljaven način naslavljanja)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3041,7 +3145,7 @@ msgstr ""
 "\n"
 "Napaka: ILL_ILLTRP (Neveljavna past)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3049,7 +3153,7 @@ msgstr ""
 "\n"
 "Napaka: ILL_PRVOPC (Opcode s povišanimi pravicami)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3057,7 +3161,7 @@ msgstr ""
 "\n"
 "Napaka: ILL_PRVREG (Register s povišanimi pravicami)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3065,7 +3169,7 @@ msgstr ""
 "\n"
 "Napaka: ILL_COPROC (Napaka soopravilnika)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3073,7 +3177,7 @@ msgstr ""
 "\n"
 "Napaka: ILL_BADSTK (Napaka notranjega sklada)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3081,65 +3185,69 @@ msgstr ""
 "\n"
 "Napaka: Zaznan je bil splošni signal SIGILL."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "neveljaven žeton %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Pričakovana je številka razdelka."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Razdelek ne obstaja."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Pričakovana je vrsta datotečnega sistema."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Neznan datotečni sistem vrste \"%s\"."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Pričakuje se vrsta oznake diska."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Novih razdelkov ni mogoče ustvariti."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Pričakuje se vrsta razdelka."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "vključeno"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "izključeno"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "optimalno"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "najmanjše"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "MOŽNOSTI:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "UKAZI:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3148,15 +3256,33 @@ msgstr ""
 "\n"
 "Hrošče sporočite na %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Uporablja %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Ta ukaz nima smisla v ne-vzajemnem načinu.\n"
 
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: možnost '--%s' ne dovoljuje argumenta\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: neprepoznana možnost '--%s'\n"
+
+#~ msgid "%s: option '-W %s' is ambiguous\n"
+#~ msgstr "%s: možnost '-W %s' je dvoumna\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: možnost '-W %s' ne dovoljuje argumenta\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: možnost '-W %s' zahteva argument\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Domača stran %s: <http://www.gnu.org/software/%s/>\n"
+
 #~ msgid ""
 #~ "Usage: %s [OPTION]\n"
 #~ "  or:  %s DEVICE MINOR\n"
@@ -3427,6 +3553,13 @@ msgstr "Ta ukaz nima smisla v ne-vzajemnem načinu.\n"
 #~ msgid "File system too small for ext2."
 #~ msgstr "Datotečni sistem je premajhen za ext2."
 
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Datotečni sistem ima logično velikost sektorja %d. Znano je, da GNU "
+#~ "Parted ne deluje pravilno z velikostjo sektorjev drugačno od 512 bajtov."
+
 #~ msgid "Too many bad pages."
 #~ msgstr "Preveč slabih strani."
 
@@ -3461,9 +3594,6 @@ msgstr "Ta ukaz nima smisla v ne-vzajemnem načinu.\n"
 #~ msgid "Source partition number?"
 #~ msgstr "Številka izvornega razdelka?"
 
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "Razširjenega razdelka ni mogoče prekopirati."
-
 #~ msgid "Destination partition number?"
 #~ msgstr "Številka ciljnega razdelka?"
 
index 3725ecfeb0da3451add5bffa8b50a40616545774..a4cd8e2411a65fab480233484748fff05db3060e 100644 (file)
Binary files a/po/sr.gmo and b/po/sr.gmo differ
index 9fcb45f28c4f2f11f7ca4b14eaa15b64db3b6bb2..0784610493a0f58dad4649a5ea1cb92498e65d12 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -1,98 +1,79 @@
-# Language parted-3 translations for GNU parted package.
-# Copyright (C) 2012 Free Software Foundation, Inc.
+# Serbian translations for GNU parted package.
+# Copyright (C) 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the parted package.
-# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011, 2012.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: parted-3.1\n"
+"Project-Id-Version: parted-3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
-"PO-Revision-Date: 2012-05-02 12:36+0200\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
+"PO-Revision-Date: 2014-09-14 07:58+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
-"Language-Team: Serbian <gnu@prevod.org>\n"
+"Language-Team: Serbian <(nothing)>\n"
 "Language: sr\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=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "неисправан аргумент %s за %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "двосмислени аргумент %s за %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Исправни аргументи су:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "грешка у писању"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Непозната грешка система"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: опција „%s“ је двосмислена; могућности:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: опција „-W %s“ је нејасна\n"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: опција „--%s“ не дозвољава аргумент\n"
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s: опција „%s“ је нејасна; могућности:"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: непозната опција „%c%s“\n"
+
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: опција „%c%s“ не дозвољава аргумент\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: опција „--%s“ захтева аргумент\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: непрепознатљива опција „--%s“\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: непрепознатљива опција „%c%s“\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: неисправна опција —— „%c“\n"
+msgstr "%s: неисправна опција -- „%c“\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: опција захтева аргумент —— „%c“\n"
-
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: опција „-W %s“ је двосмислена\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: опција „-W %s“ не дозвољава аргумент\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: опција „-W %s“ захтева аргумент\n"
+msgstr "%s: опција захтева аргумент -- „%c“\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
@@ -113,85 +94,86 @@ msgstr "%s: опција „-W %s“ захтева аргумент\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "„"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "“"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Успешно"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Нема подударања"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Неисправан регуларни израз"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Неисправан знак поретка"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Неисправан назив класе знака"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Водећа контра коса црта"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
-msgstr "Ð\9dеиÑ\81пÑ\80авна Ð¿Ð¾Ð²Ñ\80аÑ\82на Ñ\80еÑ\84еÑ\80енÑ\86а"
+msgstr "Ð\9dеиÑ\81пÑ\80авна Ð¿Ð¾Ð²Ñ\80аÑ\82на Ñ\83пÑ\83Ñ\82а"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Не одговара [ или [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Не одговара ( или \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Не одговара \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Неисправан садржај \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Неисправан крај опсега"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Меморија је потрошена"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Неисправан регуларни израз који претходи"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Прерани крај регуларног израза"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Регуларни израз је превелик"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Неодговара ) или \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Нема претходног регуларног израза"
 
@@ -215,12 +197,12 @@ msgstr "^[yY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Запаковао је %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Запаковао је %s\n"
@@ -228,40 +210,39 @@ msgstr "Запаковао је %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
-"Ð\9bиÑ\86енÑ\86а Ð\9eÐ\88Ð\9bв3+: Ð\93Ð\9dУ Ð\9eÐ\88Ð\9b Ð¸Ð·Ð´Ð°Ñ\9aе 3 Ð¸Ð»Ð¸ ÐºÐ°Ñ\81није <http://gnu.org/licenses/gpl."
+"Ð\9bиÑ\86енÑ\86а Ð\9eÐ\88Ð\9bв3+: Ð\93Ð\9dУ Ð\9eÐ\88Ð\9b Ð¸Ð·Ð´Ð°Ñ\9aе 3 Ð¸Ð»Ð¸ Ð½Ð¾Ð²ије <http://gnu.org/licenses/gpl."
 "html>.\n"
 "Ово је слободан софтвер: слободни сте да га мењате и расподељујете.\n"
 "Не постоји НИКАКВА ГАРАНЦИЈА, у оквирима дозвољеним законом.\n"
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Написао је %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Написали су %s и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Написали су %s, %s, и %s.\n"
@@ -269,7 +250,7 @@ msgstr "Написали су %s, %s, и %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -281,7 +262,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -293,7 +274,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -305,7 +286,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -317,7 +298,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -331,7 +312,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -345,7 +326,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -360,32 +341,26 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Грешке пријавите на: %s\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Грешке %s пријавите на: %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s матична страница: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "%s матична страница: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr "Општа помоћ користећи ГНУ софтвер: <http://www.gnu.org/gethelp/>\n"
 
 #: lib/xalloc-die.c:34
@@ -412,59 +387,59 @@ msgid "Disk Image"
 msgstr "Слика диска"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Грешка у отварању %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Не могу да отворим %s само за читање (%s).  %s је отворен само за читање."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s за време претраге за читањем на %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s за време читања на %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Не могу да пишем у %s, зато што је отворен само за читање."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s за време претраге за писањем на %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s за време писања на %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Пробајте „%s --help“ за више информација.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Употреба: %s [ОПЦИЈА] [УРЕЂАЈ]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -480,7 +455,7 @@ msgstr ""
 "  -h, --help       приказује ову помоћ и излази\n"
 "  -v, --version    исписује податке о издању и излази\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -488,14 +463,14 @@ msgstr ""
 "\n"
 "Када није дат УРЕЂАЈ, испробава све партиције.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
 "Report bugs to <%s>.\n"
 msgstr ""
 "\n"
-"Грешке пријавите на <%s>\n"
+"Грешке пријавите на <%s>.\n"
 
 #: libparted/arch/gnu.c:110
 #, c-format
@@ -530,11 +505,11 @@ msgid ""
 "nothing about any modifications you made.  You should reboot your computer "
 "before doing anything with %s."
 msgstr ""
-"Табела партиција на %s не може бити прочитана (%s). Ово значи да Хурд не зна "
-"ниÑ\88Ñ\82а Ð¾ Ð¸Ð·Ð¼ÐµÐ½Ð°Ð¼Ð° ÐºÐ¾Ñ\98е Ñ\81Ñ\82е Ð½Ð°Ñ\87инили. Ð¢Ñ\80еба Ð´Ð° Ð¿Ð¾Ð½Ð¾Ð²Ð¾ Ð¿Ð¾ÐºÑ\80енеÑ\82е Ð²Ð°Ñ\88 Ñ\80аÑ\87Ñ\83наÑ\80 "
-"пре него што урадите било шта са %s."
+"Табела партиција на %s не може бити прочитана (%s).  Ово значи да Хурд не "
+"зна Ð½Ð¸Ñ\88Ñ\82а Ð¾ Ð¸Ð·Ð¼ÐµÐ½Ð°Ð¼Ð° ÐºÐ¾Ñ\98е Ñ\81Ñ\82е Ð½Ð°Ñ\87инили. Ð¢Ñ\80еба Ð´Ð° Ð¿Ð¾Ð½Ð¾Ð²Ð¾ Ð¿Ð¾ÐºÑ\80енеÑ\82е Ð²Ð°Ñ\88 "
+"рачунар пре него што урадите било шта са %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -548,17 +523,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s покушава да усагласи %s са диском"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Не могу да добавим стање датотека уређаја %s — %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Не могу да одредим дм врсту %s."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -567,7 +542,7 @@ msgstr ""
 "Не могу да одредим величину сектора за %s: %s.\n"
 "Користим величину основног сектора (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -576,21 +551,21 @@ msgstr ""
 "Не могу да одредим величину физичког сектора за %s.\n"
 "Користим величину логичког сектора (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Не могу да одредим величину %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Општи ИДЕ"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Не могу да добавим идентитет уређаја %s — %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Општи ИДЕ"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -603,109 +578,122 @@ msgstr ""
 "диска/система датотека, нпр. ГПТ и екст2/3.\n"
 "Молим потражите на веб сајту најсвежије податке."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Грешка при покретању СЦСИ уређаја %s — %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
 "partition table.  Perhaps you selected the wrong device?"
 msgstr ""
 "Уређај %s је премали тако да не може да садржи систем датотека или табелу "
-"партиција. Можда сте изабрали погрешан уређај?"
+"партиција.  Можда сте изабрали погрешан уређај?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
 "unless you REALLY know what you're doing!"
 msgstr ""
-"Не могу да одредим геометрију датотеке/уређаја %s. Не бисте требали да "
-"користите Партед осим ако СТВАРНО знате шта радите."
+"Не могу да одредим геометрију датотеке/уређаја %s.  Не бисте требали да "
+"користите Партед осим ако СТВАРНО знате шта радите!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Општа СД/ММС меморијска картица"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Нови уређај?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "ДАЦ960 РАИД управљач"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Промисе СХ8 САТА уређај"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "АТА преко мрежног уређаја"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "ИБМ С390 ДАСД уређај"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "Виртуелни ДАСД ИБМ иСерије"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Компаков паметни низ"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "АТАРАИД управљач"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "И20 управљач"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "Корисничког режима УБД Линукс"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Уређај повратне петље"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Линуксов мапер уређаја (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Ксенов виртуелни блок уређај"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Непознато"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Виртио блок уређај"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "РАИД низ Линукс софтвера"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Неподржана врста уређаја"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Грешка при усклађивању датотека/затварању %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%0.0sкрај датотеке за време читања %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -717,12 +705,12 @@ msgstr ""
 "поново не учитате —— зато не бисте требали да је монтирате или да је "
 "користите на било који начин пре него што поново учитате систем."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Не могу да одредим почетак и дужину %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -730,41 +718,41 @@ msgid ""
 "the old partition(s) will remain in use.  You should reboot now before "
 "making further changes."
 msgstr ""
-"Партиција %s на %s је записана, али нисмо били у могућности да обавестимо "
-"језгро о измени, вероватно зато што је у употреби. Као резултат, стара "
-"партиција ће остати у употреби. Требате поново да учитате пре него што "
+"Партиција „%s“ на „%s“ је записана, али нисмо били у могућности да "
+"обавестимо језгро о измени, вероватно зато што је у употреби. Као резултат, "
+"стара партиција ће остати у употреби. Требате поново да учитате пре него што "
 "начините додатне измене."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "Не можете имати крај пре почетка! (почетни сектор=%jd дужина=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Покушај уписивања сектора %ld-%ld изван партиције на %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "тражим лоше секторе"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Повратни траг има %d позива на стеку:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Утврђивање (%s) на %s:%d у функцији %s() није успело."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: непрепознатљив натпис диска"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -773,39 +761,39 @@ msgstr ""
 "Овај либпартед нема подршку писања за %s. Вероватно је преведен само за "
 "читање."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Партиција %d је %s, али систем датотека је %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "поравнање_цилиндра"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "пмбр_подизна"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Непозната заставица диска, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "%s натписи диска не подржавају проширене партиције."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "%s натписи диска не подржавају логичке или проширене партиције."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Превише примарних партиција."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -813,127 +801,125 @@ msgstr ""
 "Не могу да додам логичку партицију на %s, зато што не постоји проширена "
 "партиција."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Не можете имати више од једне проширене партиције на %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Не можете имати логичке партиције изван проширене партиције."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "Не можете имати логичку партицију изван проширене партиције на %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Не можете имати примарну партицију унутар проширене партиције."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Не можете имати партицију изван диска!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Не можете имати партицију преко партиције."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "метаподаци"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "слободно"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "проширена"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "логичка"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "примарна"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "подизна"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "биос_груб"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "корена"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "помоћна"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "скривена"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "раид"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "лвм"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "лба"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "хп-услуга"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "пало"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "преп"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "мсфтрес"
 
-#: libparted/disk.c:2398
-#, fuzzy
+#: libparted/disk.c:2399
 msgid "msftdata"
-msgstr "метаподаци"
+msgstr "мсфтподаци"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "атврецв"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "диаг"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "легаси_подизна"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
-msgstr ""
+msgstr "ирст"
 
-#: libparted/disk.c:2408
-#, fuzzy
+#: libparted/disk.c:2409
 msgid "esp"
-msgstr "Yes"
+msgstr "есп"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Непозната заставица партиције, %d."
@@ -998,105 +984,212 @@ msgid ""
 "could be useful for bug submitting!  Please email a bug report to %s "
 "containing at least the version (%s) and the following message:  "
 msgstr ""
-"Ð\93Ñ\80еÑ\88ка Ñ\98е Ð¾Ñ\82кÑ\80ивена Ñ\83 Ð\93Ð\9dУ Ð\9fаÑ\80Ñ\82едÑ\83. Ð\9fÑ\80иÑ\98авиÑ\82е Ñ\98е на веб сајту партеда „http://"
-"www.gnu.org/software/parted/parted.html“за више података о томе шта би било "
-"коÑ\80иÑ\81но Ð·Ð° Ð¿Ñ\80иÑ\98авÑ\99иваÑ\9aе Ð³Ñ\80еÑ\88ке! Ð\9cолим Ð¿Ð¾Ñ\88аÑ\99иÑ\82е ÐµÐ». Ð¿Ð¾Ñ\88Ñ\82ом Ð¸Ð·Ð²ÐµÑ\88Ñ\82аÑ\98 Ð¾ Ð³Ñ\80еÑ\88Ñ\86и "
-"%s који ће садржати барем издање (%s) и следећу поруку:"
+"Ð\9eÑ\82кÑ\80ивена Ñ\98е Ð³Ñ\80еÑ\88ка Ñ\83 Ð\93Ð\9dУ Ð\9fаÑ\80Ñ\82едÑ\83. Ð\9fогледаÑ\98Ñ\82е на веб сајту партеда „http://"
+"www.gnu.org/software/parted/parted.html“ шта би било корисно за пријављивање "
+"гÑ\80еÑ\88ке! Ð\98звеÑ\88Ñ\82аÑ\98 Ð¾ Ð³Ñ\80еÑ\88Ñ\86и Ð¿Ð¾Ñ\88аÑ\99иÑ\82е ÐµÐ». Ð¿Ð¾Ñ\88Ñ\82ом Ð½Ð° â\80\9e%sâ\80\9c ÐºÐ¾Ñ\98и Ñ\9bе Ñ\81адÑ\80жаÑ\82и Ð±Ð°Ñ\80ем "
+"издање (%s) и следећу поруку:  "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
-msgstr "Ð\9fодÑ\80Ñ\88ка Ð·Ð° Ñ\87иÑ\82аÑ\9aе Ð½Ð°Ñ\82пиÑ\81а Ð\90Ð\98Ð¥ диска није још примењена."
+msgstr "Ð\9fодÑ\80Ñ\88ка Ð·Ð° Ñ\87иÑ\82аÑ\9aе Ð½Ð°Ñ\82пиÑ\81а Ð\90Ð\98Ð\9aС диска није још примењена."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
-msgstr "Ð\9fодÑ\80Ñ\88ка Ð·Ð° Ð¿Ð¸Ñ\81аÑ\9aе Ð½Ð°Ñ\82пиÑ\81а Ð\90Ð\98Ð¥ диска није још примењена."
+msgstr "Ð\9fодÑ\80Ñ\88ка Ð·Ð° Ð¿Ð¸Ñ\81аÑ\9aе Ð½Ð°Ñ\82пиÑ\81а Ð\90Ð\98Ð\9aС диска није још примењена."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
-msgstr "Подршка за додавање партиција на натписе АИХ диска није још примењена."
+msgstr ""
+"Подршка за додавање партиција на натписе АИКС диска није још примењена."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
-"Ð\9fодÑ\80Ñ\88ка Ð·Ð° Ð´Ñ\83плиÑ\80аÑ\9aе Ð¿Ð°Ñ\80Ñ\82иÑ\86иÑ\98а Ñ\83 Ð½Ð°Ñ\82пиÑ\81има Ð\90Ð\98Ð¥ диска није још примењена."
+"Ð\9fодÑ\80Ñ\88ка Ð·Ð° Ð´Ñ\83плиÑ\80аÑ\9aе Ð¿Ð°Ñ\80Ñ\82иÑ\86иÑ\98а Ñ\83 Ð½Ð°Ñ\82пиÑ\81има Ð\90Ð\98Ð\9aС диска није још примењена."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
 msgstr ""
-"Ð\9fодÑ\80Ñ\88ка Ð·Ð° Ð¿Ð¾Ð´ÐµÑ\88аваÑ\9aе Ð²Ñ\80Ñ\81Ñ\82е Ñ\81иÑ\81Ñ\82ема Ð¿Ð°Ñ\80Ñ\82иÑ\86иÑ\98а Ñ\83 Ð½Ð°Ñ\82пиÑ\81има Ð\90Ð\98Ð¥ Ð´Ð¸Ñ\81ка Ð½Ð¸Ñ\98е Ñ\98оÑ\88 "
-"примењена."
+"Ð\9fодÑ\80Ñ\88ка Ð·Ð° Ð¿Ð¾Ð´ÐµÑ\88аваÑ\9aе Ð²Ñ\80Ñ\81Ñ\82е Ñ\81иÑ\81Ñ\82ема Ð¿Ð°Ñ\80Ñ\82иÑ\86иÑ\98а Ñ\83 Ð½Ð°Ñ\82пиÑ\81има Ð\90Ð\98Ð\9aС Ð´Ð¸Ñ\81ка Ð½Ð¸Ñ\98е "
+"још примењена."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
-"Подршка за подешавање заставица у натписима АИХ диска није још примењена."
+"Подршка за подешавање заставица у натписима АИКС диска није још примењена."
+
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Партед не може да користи ХФС систем датотека на дисковима на којима "
+"величина сектора се разликује од %d бајта."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Не могу да задовољим сва ограничења на партицији."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Не могу да доделим број партиције."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Не могу да доделим бсд прикључак натписа диска."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
-msgstr "Не могу да доделим дасд прикључак натписа диска."
+msgstr "Не могу да доделим дасд прикључак натписа диска"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Неисправна табела партиција на %s —— погрешан потпис %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
-msgstr "Неисправна табела партиција — рекурзивна партиција на %s."
+msgstr "Неисправна табела партиција — дубинска партиција на %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Проширене партиције не могу бити скривене на натписима мсдос диска."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Проширене партиције не могу бити скривене на натписима мсдос диска."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Партед не може да промени величину партиција којима управља Виндоузов "
 "динамички диск."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "не могу да направим више ни једну партицију"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s нема проширену партицију (партиција заглавља волумена)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "Провера суме је погрешна, указујућа табела партиција је оштећена."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Само примарне партиције могу бити корене партиције."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Само примарне партиције могу бити партиције помоћне меморије."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Само логичке партиције могу бити датотеке учитавања."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1105,87 +1198,91 @@ msgstr ""
 "нисам успео да поставим назив двх партиције на %s:\n"
 "Само логичке партиције (датотеке учитавања) имају назив."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Превише примарних партиција"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "грешка отварања"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "грешка премотавања"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "грешка читања"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
-msgstr "иоцтл() грешка"
+msgstr "„ioctl()“ грешка"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "Издање АПИ-ја не одговара"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Неподржана врста диска"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Неподржани облик датотеке"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Диск је у употреби"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Синтаксичка грешка у датотеци подешавања"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Натпис диска је оштећен"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Назив подешавања података је оштећен"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Расподела меморије није успела"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Није успела провера уређаја"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Наведени уређај није исправан ДАСД уређај"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Кобна грешка"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Нема места за натпис волумена."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Нема места за податке о партицији."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Неисправан ВТОЦ."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Не могу да добавим издање АПИ-ја."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
@@ -1193,32 +1290,37 @@ msgstr ""
 "Тренутно издање АПИ-ја „%d“ се не подудара са издањем АПИ-ја „%d“ дасд "
 "управљачког програма!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Не могу да добавим податке о диску."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Не могу да добавим податке о геометрији диска."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Не могу да добавим податке о величини диска."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Не могу да добавим податке о диску."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
-msgstr ""
+msgstr "уређај је премали за ГПТ"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
 "what Parted can recognise.  Please report this!"
 msgstr ""
 "Облик ГПТ табеле партиција је издања %x које је новије од оног које Партед "
-"може да препозна. Молим пријавите ово."
+"може да препозна. Молим пријавите ово!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1227,19 +1329,17 @@ msgid ""
 msgstr ""
 "Сав простор који је доступан на %s није приказан као заузет, можете да "
 "исправите ГПТ да користи сав простор (додатних %llu блокова) или да "
-"наставите са тренутним подешавањем?"
+"наставите са тренутним подешавањем? "
 
-#: libparted/labels/gpt.c:1006
-#, fuzzy
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
 msgstr ""
-"Резервна ГПТ табела није на крају диска, као што би требало. Ово може да "
-"значи да неки други оперативни систем верује да је диск мањи. Да исправим, "
-"премештајући резерву на крај (у уклањајући стару резерву)?"
+"Резервна ГПТ табела није на крају диска, као што би требало. Да исправим, "
+"премештајући резерву на крај (и уклањајући стару резерву)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1248,7 +1348,7 @@ msgstr ""
 "свежу табелу, и користићу Партедову функцију спашавања да бих опоравио "
 "партиције."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1256,7 +1356,7 @@ msgstr ""
 "Резервна ГПТ табела је оштећена, али примарна изгледа у реду, тако да ће "
 "иста бити коришћена."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1264,63 +1364,62 @@ msgstr ""
 "Примарна ГПТ табела је оштећена, али резервна изгледа у реду, тако да ће "
 "иста бити коришћена."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "ЦРЦ низа табеле примарне партиције не одговара"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
-#, fuzzy
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
-msgstr "Ð\9dе Ð¼Ð¾Ð³Ñ\83 Ð´Ð° Ð´Ð¾Ð´ÐµÐ»Ð¸Ð¼ Ð±Ñ\80оÑ\98 Ð¿Ð°Ñ\80Ñ\82иÑ\86иÑ\98е."
+msgstr "ниÑ\81ам Ñ\83Ñ\81пео Ð´Ð° Ð¿Ñ\80еведем Ð½Ð°Ð·Ð¸Ð² Ð¿Ð°Ñ\80Ñ\82иÑ\86иÑ\98е"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Неисправна потпис %x за натпис Мак диска."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Мапа партиције нема ставку мапе партиције!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s је премала за натпис Мак диска!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Партиција %d има неисправан потпис %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Партиција %d има неисправну дужину од 0 бајта!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Област података не почиње на почетку партиције."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Област учитавања не почиње на почетку партиције."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Област учитавања партиције не заузима целу партицију."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Област података партиције не заузима целу партицију."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr ""
 "Необична величина блока на описнику уређаја: %d бајта није дељиво са 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1329,11 +1428,11 @@ msgstr ""
 "Описник уређаја каже да је величина физичког блока %d бајта, али Линукс каже "
 "да је %d бајта."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Нисам пронашао исправну мапу партиције."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1342,11 +1441,11 @@ msgstr ""
 "Величине ставке мапе партиција су у сукобу! Ставка 1 каже да је %d, али "
 "ставка %d каже да је %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Необично! Постоје 2 ставке мапе партиција!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1354,7 +1453,7 @@ msgstr ""
 "Измена назива корене или партиције помоћне меморије ће спречити Линукс да "
 "исту препозна као такву."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Не могу да додам још једну партицију —— мапа партиције је премала!"
 
@@ -1375,7 +1474,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Не могу да додам још једну партицију."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1384,7 +1483,7 @@ msgstr ""
 "дужина партиције од %jd сектора превазилази %s—табелом—партиција—постављени "
 "максимум од %jd"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1393,60 +1492,56 @@ msgstr ""
 "број почетног сектора, %jd превазилази %s—табелом—партиција—постављени "
 "максимум од %jd"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Лоша сума провере на блоку %llu врсте %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : Нисам пронашао рдб блок, ово није требало да се деси."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : Откривена је петља на блоку %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : %s списак изгледа лош на блоку %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Нисам успео да излистам лоше блокове."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Нисам успео да излистам блокове партиције."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Нисам успео да излистам блокове система датотека."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Нисам успео да излистам блокове учитавања."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Нисам успео да запишем блок партиције на %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Не могу да доделим број партиције."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Откривен је оштећени натпис Сановог диска."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1455,17 +1550,17 @@ msgstr ""
 "ЦХС геометрија диска (%d,%d,%d) о којој извештава оперативни систем се не "
 "подудара са геометријом сачуваном на натпису диска (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Натпис диска описује диск већи од %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "Диск има %d цилиндра, што је више од дозвољених 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1477,7 +1572,7 @@ msgstr ""
 "стању да се покрене без ње, а и СИЛО (спарков покретачки програм) је такође "
 "користи."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Натпис Сановог диска је пун."
 
@@ -1497,61 +1592,60 @@ msgstr "записивање на уређају није успело"
 msgid "reading from device failed"
 msgstr "читање са уређаја није успело"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Не могу да прочитам натпис волумена."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Не могу да запишем натпис волумена."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Не могу да прочитам натписе ВТОЦ-а."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Не могу да прочитам ВТОЦ ФМТ1 ДСЦБ."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Не могу да прочитам ВТОЦ ФМТ4 ДСЦБ."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Не могу да прочитам ВТОЦ ФМТ5 ДСЦБ."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Не могу да прочитам ВТОЦ ФМТ7 ДСЦБ."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Не могу да запишем натписе ВТОЦ-а."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Не могу да запишем ВТОЦ ФМТ1 ДСЦБ."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Не могу да запишем ВТОЦ ФМТ4 ДСЦБ."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Не могу да запишем ВТОЦ ФМТ5 ДСЦБ."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Не могу да запишем ВТОЦ ФМТ7 ДСЦБ."
 
-#: libparted/labels/vtoc.c:626
-#, fuzzy
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
-msgstr "Не могу да запишем ВТОЦ ФМТ1 ДСЦБ."
+msgstr "Не могу да запишем ВТОЦ ФМТ9 ДСЦБ."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Понестало је меморије."
 
@@ -1574,73 +1668,73 @@ msgstr "Највећа вредност глава је %d."
 msgid "The maximum sector value is %d."
 msgstr "Највећа вредност сектора је %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Место %s се налази ван уређаја %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Неисправан број."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "Користи мању јединицу уместо вредности < 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Нисам успео да доделим блок партиције\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Нисам успео да доделим блок\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Не могу да прочитам блок учитавања %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Не могу да прочитам блок корена %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : Нисам успео да доделим елемент ид списка\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Не могу да прочитам блок %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Лоша сума провере на блоку %llu врсте %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Не могу да запишем блок %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s : Нисам успео да доделим диска_посебан рдб блок\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : Нисам пронашао рдб блок, ово није требало да се деси\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Нисам успео да прочитам блок партиције %llu\n"
@@ -1687,39 +1781,39 @@ msgstr ""
 "ЦХС геометрија система датотека је (%d, %d, %d), што је неисправно.  ЦХС "
 "геометрија партиционе табеле је (%d, %d, %d)."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
-"ФАТ сектор учитавања каже да је величина логичког сектора 0. То је чудно."
+"ФАТ сектор учитавања каже да је величина логичког сектора 0. То је чудно. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
-msgstr "ФАТ сектор каже да не постоје ФАТ табеле. То је чудно."
+msgstr "ФАТ сектор каже да не постоје ФАТ табеле. То је чудно. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
-msgstr "ФАТ сектор учитавања каже да су кластери 0 сектора. То је необично."
+msgstr "ФАТ сектор учитавања каже да су кластери 0 сектора. То је необично. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Систем датотека је ФАТ12, који није подржан."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Непрепознатљиви стари стил потписа помоћне меморије линукса „%10s“."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Непрепознатљиви нови стил потписа помоћне меморије линукса „%10s“."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
-msgstr "Непрепознатљиви свсусп потписа помоћне меморије линукса „%10s“."
+msgstr "Непознат потпис помоћне меморије свсусп линукса „%9s“."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1728,16 +1822,7 @@ msgstr ""
 "Партед не може да користи ХФС систем датотека на дисковима на којима "
 "величина сектора се разликује од %d бајта."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Овај систем датотека има величину логичког сектора од %d. Познато је да ГНУ "
-"Партед не ради исправно са величинама сектора које нису 512 бајта."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1752,7 +1837,7 @@ msgstr ""
 "„Поправи“, ЦХС геометрија система датотека ће бити подешена да одговара ЦХС "
 "геометрији табеле партиција."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1771,19 +1856,19 @@ msgstr ""
 "Потребно вам је %s слободног простора на диску да бисте скупили ову "
 "партицију на ову величину.  Тренутно, само %s је слободно."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr "Делта почетка кластера = %d, што није умножак величине кластера %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Лош унос директоријума за %s: први кластер јесте крај означивача датотеке."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1791,7 +1876,7 @@ msgstr ""
 "Лош ФАТ: бесконачан ланац за %s.  Треба да покренете „dosfsck“ или "
 "„scandisk“."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1800,7 +1885,7 @@ msgstr ""
 "Лош ФАТ: кластер %d је изван система датотека у ланцу за %s.  Треба да "
 "покренете „dosfsck“ или „scandisk“."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1809,12 +1894,12 @@ msgstr ""
 "Лош ФАТ: кластер %d је унакрсно повезан за %s.  Треба да покренете „dosfsck“ "
 "или „scandisk“."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s је %dk, али има %d кластера (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1867,16 +1952,16 @@ msgstr ""
 "Нема довољно простора у кореном директоријуму за све датотеке.  Или "
 "откажите, или занемарите да бисте изгубили датотеке."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Грешка писања у корени директоријум."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 "Ако оставите ваш систем датотека као ФАТ16, онда нећете имати проблема."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1887,7 +1972,7 @@ msgstr ""
 "желите ово да урадите, требало би да прочитате упутство Партеда (или "
 "упутство ваше дистрибуције)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1895,7 +1980,7 @@ msgstr ""
 "Ако оставите ваш систем датотека као ФАТ32, онда нећете створити никаквих "
 "нових проблема."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1903,41 +1988,41 @@ msgid ""
 "converting to FAT32 will make the file system unreadable by MS DOS, MS "
 "Windows 95a, and MS Windows NT."
 msgstr ""
-"Ако претворите у ФАТ16, а МС Виндоуз је инсталиран на тој партицији, онда "
+"Ако претворите у ФАТ32, а МС Виндоуз је инсталиран на тој партицији, онда "
 "ћете морати поново да инсталирате покретачки програм МС Виндоуза.  Ако "
 "желите ово да урадите, требало би да прочитате упутство Партеда (или "
 "упутство ваше дистрибуције).  Такође, претварање у ФАТ32 ће учинити систем "
 "датотека нечитљивим за МС ДОС, МС Виндоуз 95а, и МС Виндоуз НТ."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Да ли бисте желели да користите ФАТ32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Систему датотека може бити промењена величина само на ову величину "
 "претварањем у ФАТ16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Систему датотека може бити промењена величина само на ову величину "
 "претварањем у ФАТ32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1980,18 +2065,18 @@ msgstr "промена величине „%s“ система датотека
 msgid "The file system is bigger than its volume!"
 msgstr "Систем датотека је већи од свог волумена!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Систем датотека садржи грешке."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Лоши блокови не могу бити прочитани."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -2000,52 +2085,52 @@ msgstr ""
 "Покушавам да забележим опсег почевши од блока 0x%X, али већ постоји један на "
 "том положају.  Треба да проверите систем датотека!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Покушавам да преместим опсег са блока Ox%X на блок Ox%X, али већ постоји "
 "један на том положају.  Ово није требало да се деси!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr "Не могу да освежим оставу опсега за ХФС датотеку са ЦНИД-ом %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "Покушавам да прочитам ХФС датотеку са ЦНИД-ом %X изван краја датотеке."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Немогу да пронађем сектор %lli ХФС датотеке са ЦНИД-ом %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "Покушавам да упишем ХФС датотеку са ЦНИД-ом %X изван краја датотеке."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr "Не могу да освежим оставу опсега за ХФС+ датотеку са ЦНИД-ом %X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr ""
 "Покушавам да прочитам ХФС+ датотеку са ЦНИД-ом %X изван краја датотеке."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Немогу да пронађем сектор %lli ХФС+ датотеке са ЦНИД-ом %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "Покушавам да упишем ХФС+ датотеку са ЦНИД-ом %X изван краја датотеке."
@@ -2121,19 +2206,19 @@ msgstr ""
 msgid "shrinking embedded HFS+ volume"
 msgstr "скупљам угнежђени ХФС+ волумен"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Промена величине ХФС+ волумена није успела."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "скупљам ХФС омотач"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "Освежавање ХФС омотача није успело."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2142,44 +2227,45 @@ msgstr ""
 "Ово није стварна „%s“ провера.  Ово ће извући посебне датотеке ниског нивоа "
 "за сврхе уклањања грешака."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Лоша сума провере заглавља списка блока."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 "Неисправна величина блока преноса приликом одговарања журнала (%i бајта)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Журнал ускладиштен изван волумена није подржан.  Покушајте да искључите "
 "журнал и поново да покренете Партед."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr "Померај журнала или величина није умножак величине сектора."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Неисправне вредности магије у заглављу журнала."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "Величина журнала се не поклапа између блока података журнала и заглавља "
 "журнала."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Нека поља заглавља нису умношци величине сектора."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2187,11 +2273,11 @@ msgstr ""
 "Величина сектора смештена у журналу није 512 бајта.  Партед подржава само "
 "секторе дужине 512 бајта."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Лоша сума провере журнала."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2199,7 +2285,7 @@ msgstr ""
 "Журнал није празан.  Партед мора да понови преносе пре отварања система "
 "датотека.  Ово ће изменити систем датотека."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2207,11 +2293,11 @@ msgstr ""
 "Заглавље волумена или блок главног директоријума се изменио приликом "
 "понављања журнала.  Треба поново да покренете Партед."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Један опсег није премештен."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2219,17 +2305,17 @@ msgstr ""
 "Указивање на опсег долази са места које то није.  Треба да проверите систем "
 "датотека!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr "Овај ХФС волумен нема датотеку каталога.  Ово је врло необично!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Овај ХФС волумен нема датотеку прекорачења опсега.  Ово је поприлично "
 "необично!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2237,23 +2323,23 @@ msgstr ""
 "Датотека прекорачења опсега не треба да садржи сопствене опсеге! Треба да "
 "проверите систем датотека."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Не могу да сместим систем датотека у меморију."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Списак лоших блокова не може бити учитан."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Дошло је до грешке приликом премештања опсега."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr "Овај ХФС+ волумен нема датотеку каталога.  Ово је врло необично!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
 "Овај ХФС+ волумен нема датотеку прекорачења опсега.  Ово је поприлично "
@@ -2294,15 +2380,15 @@ msgstr ""
 
 #: parted/parted.c:145
 msgid "LABEL-TYPE is one of: "
-msgstr "ВРСТА—НАТПИСА може бити:"
+msgstr "ВРСТА—НАТПИСА може бити: "
 
 #: parted/parted.c:146 parted/parted.c:147
 msgid "FLAG is one of: "
-msgstr "ЗАСТАВИЦА може бити:"
+msgstr "ЗАСТАВИЦА може бити: "
 
 #: parted/parted.c:148
 msgid "UNIT is one of: "
-msgstr "ЈЕДИНИЦА може бити:"
+msgstr "ЈЕДИНИЦА може бити: "
 
 #: parted/parted.c:149
 msgid "desired alignment: minimum or optimal"
@@ -2310,11 +2396,11 @@ msgstr "жељено поравнање: најмање или одговара
 
 #: parted/parted.c:150
 msgid "PART-TYPE is one of: primary, logical, extended\n"
-msgstr "ВРСТА—ПАРТИЦИЈЕ може бити: примарна, логичка, проширена:\n"
+msgstr "ВРСТА—ПАРТИЦИЈЕ може бити: примарна, логичка, проширена\n"
 
 #: parted/parted.c:152
 msgid "FS-TYPE is one of: "
-msgstr "ВРСТА—С.ДАТ. може бити:"
+msgstr "ВРСТА—С.ДАТ. може бити: "
 
 #: parted/parted.c:153
 msgid ""
@@ -2327,14 +2413,12 @@ msgstr ""
 "сектор.\n"
 
 #: parted/parted.c:156
-#, fuzzy
 msgid ""
 "END is disk location, such as 4GB or 10%.  Negative value counts from the "
 "end of the disk.  For example, -1s specifies exactly the last sector.\n"
 msgstr ""
-"ПОЧЕТАК и КРАЈ су места на диску, као што је 4GB или 10%. Негативне "
-"вредности почињу од краја диска. На пример, -1 означава тачно последњи "
-"сектор.\n"
+"КРАЈ је место на диску, као што је 4GB или 10%. Негативне вредности почињу "
+"од краја диска. На пример, -1 означава тачно последњи сектор.\n"
 
 #: parted/parted.c:159
 msgid "STATE is one of: on, off\n"
@@ -2360,32 +2444,31 @@ msgid ""
 "\n"
 msgstr ""
 "Ауторска права (C) 1998-2006 Задужбина слободног софтвера, Инц.\n"
-"Ð\9eваÑ\98 Ð¿Ñ\80огÑ\80ам Ñ\98е Ñ\81лободан Ñ\81оÑ\84Ñ\82веÑ\80, Ð·Ð°Ñ\88Ñ\82иÑ\9bен Ð\93Ð\9dУ Ð\9eпштом јавном лиценцом.\n"
+"Ð\9eваÑ\98 Ð¿Ñ\80огÑ\80ам Ñ\98е Ñ\81лободан Ñ\81оÑ\84Ñ\82веÑ\80, Ð·Ð°Ñ\88Ñ\82иÑ\9bен Ð\93нÑ\83овом Ð¾пштом јавном лиценцом.\n"
 "\n"
 "Овај програм се расподељује у нади да ће бити користан,\n"
 "али БЕЗ ИКАКВЕ ГАРАНЦИЈЕ; чак и без примењене гаранције\n"
 "ТРЖИШНЕ ВРЕДНОСТИ или ПРИЛАГОЂЕНОСТИ ОДРЕЂЕНОЈ НАМЕНИ.\n"
-"Ð\9fогледаÑ\98Ñ\82е Ð\93Ð\9dУ Ð\9eпшту јавну лиценцу за више детаља.\n"
+"Ð\9fогледаÑ\98Ñ\82е Ð\93нÑ\83овÑ\83 Ð¾пшту јавну лиценцу за више детаља.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(преостало време %.2d:%.2d)"
 
-#: parted/parted.c:230
-#, fuzzy, c-format
+#: parted/parted.c:231
+#, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr ""
-"Партиција %s је била коришћена. Морате да је демонтирате пре него што је "
-"измените Партедом."
+"Партиција „%s“ је била коришћена. Да ли сте сигурни да желите да наставите?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
-msgstr "Партиције %s су биле коришћене."
+msgstr "Партиције на „%s“ су биле коришћене."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2394,31 +2477,31 @@ msgstr ""
 "Постојећи натпис диска на %s ће бити уништен и сви подаци на диску ће бити "
 "изгубљени. Да ли желите да наставите?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Нова врста натписа диска?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Врста партиције?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Назив партиције?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Врста система датотека?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Почетак?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Крај?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2428,7 +2511,7 @@ msgstr ""
 "Најближе место којим можемо да управљамо је од %s до %s (сектори %llu..%llu)."
 "%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2436,215 +2519,230 @@ msgstr ""
 "\n"
 "Да ли вам је ово прихватљиво?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr "Резултирајућа партиција није исправно поравната за најбоље резултате."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s натписи диска не подржавају проширене партиције."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Број партиције?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
-"БИОС цилиндар, глава, геометрија сектора: %d,%d,%d. Сваки цилиндар је %s.\n"
+"БИОС геометрија цилиндара,главе,сектора: %d,%d,%d.  Сваки цилиндар је %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Модел: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Диск %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Величина сектора (логички/физички): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Табела партиција: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Опције диска: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Број"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Почетак"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Крај"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Величина"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Врста"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Систем датотека"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Назив"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Заставице"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Слободан простор"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
 "partition table?"
 msgstr ""
-"%s %s партиција је пронађена на %s —> %s. Да ли желите да је додате у табелу "
-"партиција?"
+"%s %s партиција је пронађена на %s —> %s.  Да ли желите да је додате у "
+"табелу партиција?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "тражим системе датотека"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
-msgstr ""
+msgstr "Наредба промене величине је уклоњена у партеду 3.0"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
+"Скупљање партиције може да доведе до губитка података, да ли сте сигурни да "
+"желите да наставите?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Нови уређај?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "врста поравнања(најм./опц.)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d је поравната\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d није поравната\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Ознака за преокренути?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Ново стање?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Јединица?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
-"align-check ВРСТА N                 врши проверу партиције N за ВРСТОМ(min|"
-"opt) поравнања"
+"align-check ВРСТА N                             врши проверу партиције N за "
+"ВРСТОМ(min|opt) поравнања"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr ""
-"help [НАРЕДБА]                          штампа општу помоћ, или помоћ при "
+"help [НАРЕДБА]                           штампа општу помоћ, или помоћ при "
 "НАРЕДБИ"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
 msgstr ""
-"mklabel,mktable ВРСТА-НАТПИСА               ствара нови натпис диска (табелу "
+"mklabel,mktable ВРСТА-НАТПИСА            ствара нови натпис диска (табелу "
 "партиција)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart ВРСТА-ПАРТИЦ [ВРСТА-СИС.ДАТ.] ПОЧЕТАК КРАЈ     ствара партицију"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
 msgstr ""
-"„mkpart“ прави партицију без стварања новог система датотека на партицији. "
+"„mkpart“ прави партицију без стварања новог система датотека на партицији.  "
 "ВРСТА—СИС.ДАТ. може бити наведена за подешавање одговарајућег ИБ-а "
 "партиције.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
-"name БРОЈ НАЗИВ                          именује партицију БРОЈ као НАЗИВ"
+"name БРОЈ НАЗИВ                                 именује партицију БРОЈ као "
+"НАЗИВ"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
-"print [уређаји|слободно|списак,све|БРОЈ]     приказује табелу партиција, "
+"print [уређаји|слободно|списак,све|БРОЈ] приказује табелу партиција, "
 "доступне уређаје, слободан простор, све пронађене партиције, или посебну "
 "партицију"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2652,141 +2750,142 @@ msgstr ""
 "Без аргумената, „print“ приказује читаву табелу партиција. Међутим са "
 "следећим аргументима обавља различите друге радње.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
-msgstr "  devices   : приказује све активне блок уређаје\n"
+msgstr "  devices   :   приказује све активне блок уређаје\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr ""
-"  free      : приказује податке о слободном непартиционисаном простору на "
+"  free      :   приказује податке о слободном непартиционисаном простору на "
 "текућем блок уређају\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
-msgstr "  list, all : приказује табеле партиција свих активних блок уређаја\n"
+msgstr ""
+"  list, all :   приказује табеле партиција свих активних блок уређаја\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
-msgstr "  БРОЈ    : приказује детаљније податке о тој посебној партицији\n"
+msgstr "  БРОЈ    :     приказује детаљније податке о тој посебној партицији\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     излази из програма"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
 msgstr ""
-"rescue ПОЧЕТАК КРАЈ                         спашава изгубљену партицију "
-"близÑ\83 Ð\9fÐ\9eЧÐ\95ТÐ\9aÐ\90 Ð¸ Ð\9aРÐ\90Ð\88Ð\90"
+"rescue ПОЧЕТАК КРАЈ                      спашава изгубљену партицију близу "
+"ПОЧЕТКА и КРАЈА"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
-msgstr ""
+msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
-msgstr ""
+msgstr "Наредба промене величине је уклоњена у партеду 3.0\n"
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
-msgstr ""
+msgstr "resizepart"
 
-#: parted/parted.c:2009
-#, fuzzy
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
-msgstr "rm БРОЈ                                брише партицију БРОЈ"
+msgstr "resizepart БРОЈ КРАЈ                     мења величину партиције БРОЈ"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
-msgstr "rm БРОЈ                                брише партицију БРОЈ"
+msgstr "rm БРОЈ                                  брише партицију БРОЈ"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select УРЕЂАЈ                            бира уређај за уређивање"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "disk_set"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
-"disk_set СТАЊЕ ОПЦИЈЕ                    мења ОПЦИЈУ на изабраном уређају"
+"disk_set СТАЊЕ ОПЦИЈЕ                           мења ОПЦИЈУ на изабраном "
+"уређају"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
-"disk_toggle [ОПЦИЈА]                     пребацује стање ОПЦИЈЕ на изабраном "
-"уређају"
+"disk_toggle [ОПЦИЈА]                            пребацује стање ОПЦИЈЕ на "
+"изабраном уређају"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
-"set БРОЈ ЗАСТАВИЦА СТАЊЕ                    мења ЗАСТАВИЦУ на партицији БРОЈ"
+"set БРОЈ ЗАСТАВИЦА СТАЊЕ                 мења ЗАСТАВИЦУ на партицији БРОЈ"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
-"toggle [БРОЈ [ЗАСТАВИЦА]]                   пребацује стање ЗАСТАВИЦЕ на "
+"toggle [БРОЈ [ЗАСТАВИЦА]]                пребацује стање ЗАСТАВИЦЕ на "
 "партицији БРОЈ"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
-"unit ЈЕДИНИЦА                                поставља основну јединицу на "
+"unit ЈЕДИНИЦА                            поставља основну јединицу на "
 "ЈЕДИНИЦУ"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2794,7 +2893,7 @@ msgstr ""
 "version                                  приказује број издања и податке о "
 "ауторским правима ГНУ Партеда"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2802,28 +2901,28 @@ msgstr ""
 "„version“ приказује ауторска права и податке о издању које одговара овом "
 "примерку ГНУ Партеда\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr "Коришћење: %s [-hlmsv] [-a<align>] [УРЕЂАЈ [НАРЕДБА [ПАРАМЕТРИ]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Нисам пронашао уређај"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
-msgstr "УПОЗОРЕЊЕ: Ви нисте администратор. Затражите овлашћења.\n"
+msgstr "УПОЗОРЕЊЕ: Ви нисте администратор.  Затражите овлашћења.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Мораћете да освежите /etc/fstab.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr "Добродошли у ГНУ Партед! Упишите „help“ да видите списак наредби.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2831,11 +2930,11 @@ msgid ""
 "interactive mode.\n"
 msgstr ""
 "Коришћење: parted [ОПЦИЈА]... [УРЕЂАЈ [НАРЕДБА [ПАРАМЕТРИ]...]...]\n"
-"Ð\9fÑ\80имеÑ\9aÑ\83Ñ\98е Ð\9dÐ\90РÐ\95Ð\94Ð\91У/е Ñ\81а Ð\9fÐ\90РÐ\90Ð\9cÐ\95ТРÐ\98Ð\98Ð\9cÐ\90 Ð½Ð° Ð£Ð Ð\95Ð\82Ð\90Ð\88. Ако није дата НАРЕДБА, ради "
+"Ð\9fÑ\80имеÑ\9aÑ\83Ñ\98е Ð\9dÐ\90РÐ\95Ð\94Ð\91У/е Ñ\81а Ð\9fÐ\90РÐ\90Ð\9cÐ\95ТРÐ\98Ð\9cÐ\90 Ð½Ð°Ð´ Ð£Ð Ð\95Ð\82Ð\90Ð\88Ð\95Ð\9c. Ако није дата НАРЕДБА, ради "
 "у\n"
 "режиму међудејства.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2898,7 +2997,7 @@ msgstr ""
 "Такође укључите сваки додатни детаљ о вашем подешавању који\n"
 "сматрате важним.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2906,7 +3005,7 @@ msgstr ""
 "\n"
 "Историјат наредби:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2914,7 +3013,7 @@ msgstr ""
 "\n"
 "Грешка: SEGV_MAPERR (Адреса није мапирана у објекту)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2922,7 +3021,7 @@ msgstr ""
 "\n"
 "Грешка: SEGV_ACCERR (Неисправна овлашћења за мапирани објекат)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2930,7 +3029,7 @@ msgstr ""
 "\n"
 "Грешка: Наиђох на општи SIGSEGV сигнал.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2938,7 +3037,7 @@ msgstr ""
 "\n"
 "Грешка: FPE_INTDIV (Цео број: подели нулом)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2946,7 +3045,7 @@ msgstr ""
 "\n"
 "Грешка: FPE_INTOVF (Цео број: прекорачење)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2954,7 +3053,7 @@ msgstr ""
 "\n"
 "Грешка: FPE_FLTDIV (Цео број: подели нулом)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2962,7 +3061,7 @@ msgstr ""
 "\n"
 "Грешка: FPE_FLTOVF (Децимални број: прекорачење)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2970,15 +3069,15 @@ msgstr ""
 "\n"
 "Грешка: FPE_FLTUND (Децимални број: поткорачење)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
 msgstr ""
 "\n"
-"Грешка: FPE_FLTRES (Децимални број: inexact result)"
+"Грешка: FPE_FLTRES (Децимални број: нетачан резултат)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2986,7 +3085,7 @@ msgstr ""
 "\n"
 "Грешка: FPE_FLTINV (Децимални број: неисправна операција)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -2994,7 +3093,7 @@ msgstr ""
 "\n"
 "Грешка: FPE_FLTSUB (Децимални број: индекс је изван опсега)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -3002,7 +3101,7 @@ msgstr ""
 "\n"
 "Грешка: Наиђох на општи SIGFPE сигнал."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -3010,7 +3109,7 @@ msgstr ""
 "\n"
 "Грешка: ILL_ILLOPC (Неисправан опкод)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3018,7 +3117,7 @@ msgstr ""
 "\n"
 "Грешка: ILL_ILLOPN (Неисправан операнд)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3026,7 +3125,7 @@ msgstr ""
 "\n"
 "Грешка: ILL_ILLADR (Неисправан режим адресирања)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3034,7 +3133,7 @@ msgstr ""
 "\n"
 "Грешка: ILL_ILLTRP (Неисправан прекид)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3042,7 +3141,7 @@ msgstr ""
 "\n"
 "Грешка: ILL_PRVOPC (Привилеговани опкод)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3050,7 +3149,7 @@ msgstr ""
 "\n"
 "Грешка: ILL_PRVREG (Привилеговани регистар)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3058,7 +3157,7 @@ msgstr ""
 "\n"
 "Грешка: ILL_COPROC (Грешка копроцесора)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3066,7 +3165,7 @@ msgstr ""
 "\n"
 "Грешка: ILL_BADSTK (Унутрашња грешка стека)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3074,65 +3173,69 @@ msgstr ""
 "\n"
 "Грешка: Наиђох на општи SIGILL сигнал."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "неисправан чин: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Очекујем број партиције."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Партиција не постоји."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Очекујем врсту система датотека."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Непозната врста система датотека „%s“."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Очекујем врсту натписа диска."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Не могу да направим више ни једну партицију."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Очекујем врсту партиције."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "укљ"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "искљ"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "најбоље"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "најмање"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "ОПЦИЈА/е:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "НАРЕДБА/е:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3141,14 +3244,36 @@ msgstr ""
 "\n"
 "Грешке пријавите на %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Користим %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
-msgstr "Ова наредба нема смиса у немеђудејственом режиму\n"
+msgstr "Ова наредба нема смисла у немеђудејственом режиму.\n"
+
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: опција „--%s“ не дозвољава аргумент\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: непозната опција „--%s“\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: опција „-W %s“ не дозвољава аргумент\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: опција „-W %s“ захтева аргумент\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "%s матична страница: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Овај систем датотека има величину логичког сектора од %d. Познато је да "
+#~ "ГНУ Партед не ради исправно са величинама сектора које нису 512 бајта."
 
 #~ msgid "Failed to add partition %d (%s)"
 #~ msgstr "Нисам успео да додам партицију %d (%s)"
index 983976d7ff0db4e55c598848cd34f376c2d85254..0b31b4f078a8fdcdaff6cb206b905dafe4da0609 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index 600146e91a9d6d06c7b72b9f8c04dd649b03cea7..dd7a767758c25b1ab1a757b3394604f7597418fd 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,99 +1,82 @@
 # Swedish messages for parted
-# Copyright (C) 2001, 2009 Free Software Foundation, Inc.
+# Copyright © 2001, 2009, 2016, 2017 Free Software Foundation, Inc.
 # This file is distributed under the same license as the parted package.
 # Jörgen Tegnér <jorgen.tegner@telia.com>, 2001.
 # Daniel Nylander <po@danielnylander.se>, 2009.
+# Sebastian Rasmussen <sebras@gmail.com>, 2016, 2017.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: parted 2.2\n"
+"Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
-"PO-Revision-Date: 2010-03-21 15:25+0100\n"
-"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
+"PO-Revision-Date: 2017-01-19 23:33+0100\n"
+"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\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"
+"X-Generator: Poedit 1.8.11\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "Ogiltigt argument %s för %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "tvetydigt argument %s för %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Giltiga argument är:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "skrivfel"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Okänt systemfel"
 
-#: lib/getopt.c:547 lib/getopt.c:576
+#: lib/getopt.c:278
 #, fuzzy, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: flaggan \"%s\" är tvetydig\n"
-
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"--%s\" tillåter inget argument\n"
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"%c%s\" tillåter inget argument\n"
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s: flaggan ”%s” är tvetydig; möjligheter:"
 
-#: lib/getopt.c:685 lib/getopt.c:704
+#: lib/getopt.c:319
 #, fuzzy, c-format
-msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: flaggan \"%s\" kräver ett argument\n"
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: okänd flagga \"%c%s\"\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: okänd flagga \"--%s\"\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
+msgstr "%s: flaggan \"%c%s\" tillåter inget argument\n"
 
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: okänd flagga \"%c%s\"\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
+msgstr "%s: flaggan ”--%s” kräver ett argument\n"
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: ogiltig flagga -- \"%c\"\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: flaggan kräver ett argument -- \"%c\"\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"-W %s\" tillåter inget argument\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, fuzzy, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: flaggan \"%s\" kräver ett argument\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -113,85 +96,86 @@ msgstr "%s: flaggan \"%s\" kräver ett argument\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
-msgstr "\""
+msgstr ""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
-msgstr "\""
+msgstr ""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Lyckades"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Ingen träff"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Ogiltigt reguljärt uttryck"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Ogiltigt sorteringstecken"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Ogiltigt teckenklassnamn"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Efterföljande omvänt snedstreck"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Ogiltig bakåtreferens"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Omatchat [ eller [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Omatchat ( eller \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Omatchat \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Ogiltigt innehåll i \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Ogiltigt intervallslut"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Slut på minne"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Ogiltigt föregående reguljärt uttryck"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "För tidigt slut på reguljärt uttryck"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Reguljärt uttryck är för stort"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Omatchat ) eller \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Inga tidigare reguljära uttryck"
 
@@ -203,7 +187,7 @@ msgstr "Inga tidigare reguljära uttryck"
 #. locale -k LC_MESSAGES | grep '^yesexpr='
 #: lib/rpmatch.c:150
 msgid "^[yY]"
-msgstr "^[jJyY]"
+msgstr "^[jJ]"
 
 #. TRANSLATORS: A regular expression testing for a negative answer
 #. (english: "no").  Testing the first character may be sufficient.
@@ -215,12 +199,12 @@ msgstr "^[jJyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Paketerat av %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Paketerat av %s\n"
@@ -228,18 +212,17 @@ msgstr "Paketerat av %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl."
@@ -249,19 +232,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Skrivet av %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Skrivet av %s och %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Skrivet av %s, %s och %s.\n"
@@ -269,7 +252,7 @@ msgstr "Skrivet av %s, %s och %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -281,7 +264,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -293,7 +276,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -305,7 +288,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -317,7 +300,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -331,7 +314,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -345,7 +328,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -360,33 +343,27 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Rapportera fel till: %s\n"
 "Skicka synpunkter på översättningen till <tp-sv@listor.tp-sv.se>\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Rapportera fel i %s till: %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Webbplats för %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Webbsida för %s: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 "Allmän hjälp för hur man använder GNU-programvara: <http://www.gnu.org/"
 "gethelp/>\n"
@@ -396,79 +373,79 @@ msgid "memory exhausted"
 msgstr "slut på minne"
 
 #: lib/xstrtol-error.c:63
-#, fuzzy, c-format
+#, c-format
 msgid "invalid %s%s argument '%s'"
-msgstr "ogiltigt %s%s-argument \"%s\""
+msgstr "ogiltigt %s%s-argument ”%s”"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
+#, c-format
 msgid "invalid suffix in %s%s argument '%s'"
-msgstr "ogiltigt suffix i %s%s-argumentet \"%s\""
+msgstr "ogiltigt suffix i %s%s-argumentet ”%s”"
 
 #: lib/xstrtol-error.c:72
-#, fuzzy, c-format
+#, c-format
 msgid "%s%s argument '%s' too large"
-msgstr "%s%s-argumentet \"%s\" är för stort"
+msgstr "%s%s-argumentet ”%s” är för stort"
 
 #: libparted/arch/beos.c:245
 msgid "Disk Image"
 msgstr "Diskavbildning"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Ett fel uppstod när %s öppnades: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Kunde inte öppna %s för både läsning och skrivning (%s). %s öppnades i "
 "läsläge."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s under positionering för att läsa på %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s under läsning på %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Kan inte skriva till %s eftersom den är öppnad som skrivskyddad."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s under positionering för att skriva på %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s under skrivning på %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Prova \"%s --help\" för mer information.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Användning: %s [FLAGGA] [ENHET]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -484,7 +461,7 @@ msgstr ""
 "  -h, --help       visa denna hjälp och avsluta\n"
 "  -v, --version    skriv ut versionsinformation och avsluta\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -492,7 +469,7 @@ msgstr ""
 "\n"
 "När ingen ENHET har angivits, undersök alla partitioner.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -508,9 +485,8 @@ msgid "Unable to open %s."
 msgstr "Kunde inte öppna %s."
 
 #: libparted/arch/gnu.c:130
-#, fuzzy
 msgid "Unable to probe store."
-msgstr "Kunde inte placera partitionen på jämn cylindergräns."
+msgstr "Kan inte avsöka lagring."
 
 #: libparted/arch/gnu.c:368
 msgid ""
@@ -539,7 +515,7 @@ msgstr ""
 "vet nånting om de ändringar du gjort. Du bör starta om datorn innan du gör "
 "nånting med %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -552,17 +528,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s försöker att synkronisera %s till disk"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Kunde inte ta status på enheten %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Kunde inte fastställa dm-typen på %s."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -571,30 +547,30 @@ msgstr ""
 "Kunde inte fastställa sektorstorlek för %s: %s.\n"
 "Använder standardsektorstorleken (%lld)."
 
-#: libparted/arch/linux.c:778
-#, fuzzy, c-format
+#: libparted/arch/linux.c:795
+#, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
 "Using the logical sector size (%lld)."
 msgstr ""
-"Kunde inte fastställa sektorstorlek för %s: %s.\n"
+"Kunde inte fastställa fysisk sektorstorlek för %s.\n"
 "Använder standardsektorstorleken (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Kunde inte fastställa storleken på %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Allmän IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Kunde inte hitta identitet för enhet %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Allmän IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -603,25 +579,25 @@ msgid ""
 "Please consult the web site for up-to-date information."
 msgstr ""
 "Enheten %s har flera (%d) logiska sektorer per fysisk sektor.\n"
-"GNU Parted har EXPERIMENTIELLT stöd för detta för vissa speciella "
+"GNU Parted har EXPERIMENTELLT stöd för detta för vissa speciella "
 "kombinationer av disketikett/filsystem, t.ex. GPT och ext2/3.\n"
 "Referera till webbsidan för uppdaterad information."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Ett fel uppstod vid initiering av SCSI-enheten %s - %s"
 
-#: libparted/arch/linux.c:1191
-#, fuzzy, c-format
+#: libparted/arch/linux.c:1236
+#, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
 "partition table.  Perhaps you selected the wrong device?"
 msgstr ""
-"Enheten %s har noll längd och kan omöjligt lagra ett filsystem eller "
+"Enheten %s är så liten att den kan omöjligt lagra ett filsystem eller "
 "partitionstabell.  Du kanske valde fel enhet?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -630,103 +606,116 @@ msgstr ""
 "Kunde inte fastställa geometrin på filen/enheten %s. Du bör inte använda "
 "Parted såvida inte du VERKLIGEN vet vad du gör!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Allmänt SD/MMC-lagringskort"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Ny enhet?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Styrkort för DAC960 RAID"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Promise SX8 SATA-enhet"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
-msgstr ""
+msgstr "ATA över Ethernet-enhet"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "IBM S390 DASD-enhet"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries virtuell DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Styrkort för ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Styrkort för I2O"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
-msgstr ""
+msgstr "Linux användarläges UBD"
 
-#: libparted/arch/linux.c:1473
-#, fuzzy
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
-msgstr "Källenhet?"
+msgstr "Loopenhet"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linux device-mapper (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Xen virtuell blockenhet"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Okänd"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Virtio-blockenhet"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
+msgstr "Linux programvaru-RAID-array"
+
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new() Stöd saknas för den här enhetstypen"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
-#, fuzzy, c-format
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
+#, c-format
 msgid "Error fsyncing/closing %s: %s"
-msgstr "Ett fel uppstod när %s öppnades: %s"
+msgstr "Fel uppstod när fsync/close %s kördes: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
-msgstr ""
+msgstr "%0.0sfilavslut under läsning av %s"
 
-#: libparted/arch/linux.c:2564
-#, fuzzy, c-format
+#: libparted/arch/linux.c:2687
+#, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
 "means Linux won't know about any changes you made to %s until you reboot -- "
 "so you shouldn't mount it or use it in any way before rebooting."
 msgstr ""
-"Kärnan kunde inte läsa om partitionstabellen på %s (%s). Det betyder att "
-"Linux inte vet nånting om de ändringar du gjort tills du har startar om "
-"datorn. Du bör starta om datorn innan du gör nånting med %s."
+"Fel när kärnan inte kunde informera om modifieringar av partition %s -- %s.  "
+"Detta betyder att Linux inte vet nånting om de ändringar du gjort av %s "
+"tills du startar om datorn -- så du bör inte montera den eller använda den "
+"på något sätt innan omstart."
 
-#: libparted/arch/linux.c:2683
-#, fuzzy, c-format
+#: libparted/arch/linux.c:2807
+#, c-format
 msgid "Unable to determine the start and length of %s."
-msgstr "Kunde inte fastställa dm-typen på %s."
+msgstr "Kunde inte fastställa början och längden för %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -734,37 +723,41 @@ msgid ""
 "the old partition(s) will remain in use.  You should reboot now before "
 "making further changes."
 msgstr ""
+"Partitioner %s på %s har skrivits, men vi kunde inte informera kärnan om "
+"ändringen, antagligen för att de används. Som ett resultat kommer de gamla "
+"partitionerna att finnas kvar i bruk. Du bör starta om nu innan du gör fler "
+"ändringar."
 
-#: libparted/cs/geom.c:162
-#, fuzzy, c-format
+#: libparted/cs/geom.c:163
+#, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
-msgstr "Kan inte ha slutet före början!"
+msgstr "Kan inte ha slutet före början! (startsektor=%jd längd=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Försökte skriva sektorerna %ld-%ld utanför partitionen på %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "letar efter felaktiga block"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
-msgstr ""
+msgstr "Stackspårning har %d anrop på stacken:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Försäkran (%s) på %s:%d i funktionen %s() misslyckades."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
-msgstr "%s: okänt disketikett"
+msgstr "%s: okänd disketikett"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -773,40 +766,39 @@ msgstr ""
 "Denna libparted saknar skrivstöd för %s.  Kanske kompilerades den utan "
 "skrivstöd."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Partition %d är %s, men filsystemet är %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
-msgstr ""
+msgstr "cylinder_justering"
 
-#: libparted/disk.c:842
-#, fuzzy
+#: libparted/disk.c:843
 msgid "pmbr_boot"
-msgstr "startbar"
+msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Okänd diskflagga, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "%s-disketiketter saknar stöd för utökade partitioner."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "%s-disketiketter saknar stöd för logiska eller utökade partitioner."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "För många primära partitioner."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
@@ -814,127 +806,125 @@ msgstr ""
 "Kan inte lägga till en logisk partition till %s, eftersom det saknas en "
 "utökad partition."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Kan inte ha fler än en utökad partition på %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Kan inte ha logiska partitioner utanför den utökade partitionen."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "Kan inte ha en logisk partition utanför den utökade partitionen på %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Kan inte ha en primär partition inuti en utökad partition."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Kan inte ha en partition utanför hårddisken!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Kan inte ha överlappande partitioner."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metadata"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "ledigt"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
-msgstr "utökat"
+msgstr "utökad"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
-msgstr "logiskt"
+msgstr "logisk"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "primär"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "startbar"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "rot"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "växlingsutrymme"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "dold"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-service"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
-#, fuzzy
+#: libparted/disk.c:2399
 msgid "msftdata"
-msgstr "metadata"
+msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
-msgstr ""
+msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
-msgstr ""
+msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
-msgstr ""
+msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
-msgstr ""
+msgstr "irst"
 
-#: libparted/disk.c:2408
-#, fuzzy
+#: libparted/disk.c:2409
 msgid "esp"
-msgstr "Ja"
+msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Okänd partitionsflagga, %d."
@@ -992,7 +982,7 @@ msgid "Cancel"
 msgstr "Avbryt"
 
 #: libparted/exception.c:133
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "A bug has been detected in GNU Parted.  Refer to the web site of parted "
 "http://www.gnu.org/software/parted/parted.html for more information of what "
@@ -1002,32 +992,32 @@ msgstr ""
 "Ett fel har upptäckts i GNU Parted.  Referera till webbsidan för parted "
 "http://www.gnu.org/software/parted/parted.html för mer information om vad "
 "som kan vara användbar information för en felrapport!  Skicka in "
-"felrapporten via e-post till bug-parted@gnu.org och inkludera åtminstone "
-"versionsnumret (%s) och följande meddelande:  "
+"felrapporten till %s och inkludera åtminstone versionsnumret (%s) och "
+"följande meddelande:  "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "Stöd för att läsa AIX-disketiketter är inte implementerat än."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "Stöd för att skriva AIX-disketiketter är inte implementerat än."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "Stöd för att lägga till partitioner till AIX-disketiketter är inte "
 "implementerat än."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Stöd för att duplicera partitioner i AIX-disketiketter är inte implementerat "
 "än."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1035,76 +1025,182 @@ msgstr ""
 "Stöd för att ställa in systemtyp för partitioner i AIX-disketiketter är inte "
 "implementerat än."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "Stöd för att ställa in flaggor i AIX-disketiketter är inte implementerat än."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted kan inte använda HFS-filsystem på diskar med en sektorstorlek som "
+"inte är %d byte."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Kan inte kopiera en utökad partition."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Kunde inte uppfylla alla begränsningar på partitionen."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Kunde inte allokera ett partitionsnummer."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Kunde inte allokera en plats i bsd-disketiketten."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Kunde inte allokera en plats i dasd-disketiketten"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Ogiltig partitionstabell på %s -- felaktig signatur %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Ogiltig partitionstabell - rekursiv partition på %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Utökade partitioner kan inte gömmas i disketiketter av typen msdos."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Utökade partitioner kan inte gömmas i disketiketter av typen msdos."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted kan inte ändra storlek på partitioner som hanteras av Windows Dynamic "
 "Disk."
 
-#: libparted/labels/dos.c:2475
-#, fuzzy
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
-msgstr "Kan inte skapa några fler partitioner."
+msgstr "kan inte skapa några fler partitioner"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s har ingen utökad partition (partition för volymhuvud)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 "Kontrollsumman är felaktig, vilket indikerar att partitionstabellen är "
 "skadad."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Endast primära partitioner kan vara rotpartitioner."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Endast primära partitioner kan vara växlingspartitioner."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Endast logiska partitioner kan vara en uppstartsfil."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1113,87 +1209,91 @@ msgstr ""
 "misslyckades med att ställa in dvh-partitionsnamnet till %s:\n"
 "Endast logiska partitioner (uppstartsfiler) har ett namn."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "För många primära partitioner"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
-msgstr ""
+msgstr "öppningsfel"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
-msgstr ""
+msgstr "sökningsfel"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "läsfel"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "ioctl()-fel"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "API-versionen stämmer inte"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Disktypen stöds inte"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Diskformatet stöds inte"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Disken används"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Syntaxfel i konfigurationsfilen"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Volymetiketten är skadad"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
-msgstr ""
+msgstr "Ett namn på en datauppsättning är korrupt"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Minnesallokeringen misslyckades"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Enhetsverifieringen misslyckades"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Den angivna enheten är inte en giltig DASD-enhet"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Ödesdigert fel"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Ingen plats för volymetikett."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Inget utrymme för partitionsinformation."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Ogiltig VTOC."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Kunde inte läsa av API-versionen."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
@@ -1201,112 +1301,130 @@ msgstr ""
 "Den aktuella API-versionen \"%d\" stämmer inte med API-versionen \"%d\" för "
 "dasd-drivrutinen!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Kunde inte läsa av diskinformationen."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Kunde inte läsa av information om diskgeometri."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Kunde inte läsa av information om blockstorlek."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Kunde inte läsa av diskinformationen."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
-#, fuzzy
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
-msgstr "Enheten är för liten för %lu block."
+msgstr "enheten är för liten för GPT"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
 "what Parted can recognise.  Please report this!"
 msgstr ""
+"Formatet på GPT-partitionstabellen är version %x vilket är nyare än vad "
+"Parted kan känna igen. Rapportera detta!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
 "to use all of the space (an extra %llu blocks) or continue with the current "
 "setting? "
 msgstr ""
+"Inte allt utrymme tillgängligt för %s verkar vara använt, du kan fixa GPT:n "
+"så att allt utrymme används (%llu block extra) eller fortsätta med de "
+"aktuella inställningar? "
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
 msgstr ""
+"Säkerhetskopian av GPT-tabellen finns inte i slutet på disken som den "
+"borde.  Fixa detta genom att flytta säkerhetskopia till slutet (och ta bort "
+"den gamla säkerhetskopian)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
 msgstr ""
+"Både den primära och säkerhetskopian av GPT:n är korrupta.  Försök att skapa "
+"en ny tabell och använd Parteds räddningsfunktion för att återskapa "
+"partitioner."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
 msgstr ""
+"Säkerhetskopian av GPT:n är korrupt, men den primära verkar vara OK, så den "
+"används."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
 msgstr ""
+"Den primära GPT:n är korrupt, men säkerhetskopian verkar vara OK, så den "
+"används."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
-msgstr ""
+msgstr "CRC-fel i primär partitionstabellsvektor"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
-#, fuzzy
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
-msgstr "Kunde inte allokera ett partitionsnummer."
+msgstr "kunde inte översätta partitionsnamn"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Ogiltig signatur %x för en Mac-disketikett."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Partitionstabellen saknar uppgift om sig själv!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s är för liten för en Mac-disketikett!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Partition %d har en ogiltig signatur %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Partition %d har en ogiltig längd, 0 byte!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Dataområdet börjar inte vid partitionens början."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Startområdet börjar inte vid partitionens början."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Partitionens startområde tar inte upp hela partitionens utrymme."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Partitionens dataområde tar inte upp hela partitionens utrymme."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
@@ -1314,7 +1432,7 @@ msgstr ""
 "Konstig blockstorlek på enhetens handtag: %d byte är inte jämnt delbart med "
 "512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1323,24 +1441,24 @@ msgstr ""
 "Enhetens handtag påstår att den fysiska blockstorleken är %d byte, men Linux "
 "påstår att den är %d byte."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Ingen giltig partitionstabell kunde hittas."
 
-#: libparted/labels/mac.c:787
-#, fuzzy, c-format
+#: libparted/labels/mac.c:789
+#, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
 "says it is %d!"
 msgstr ""
-"Motsägelsefulla storleksdata i partitionstabellen! Post ett påstår sig vara "
-"%d medan post %d påstår sig vara %d!"
+"Motsägelsefulla storleksdata i partitionstabellen! Post 1 påstår att den är "
+"%d, men post %d påstår att den är %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Konstigt! Det finns 2 poster i partitionstabellen!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1348,7 +1466,7 @@ msgstr ""
 "Att ändra namnet på en rot- eller växlingspartition gör att Linux inte kan "
 "känna igen dem."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr ""
 "Kan inte lägga till ytterligare en partition -- partitionstabellen är för "
@@ -1372,7 +1490,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Kan inte lägga till ännu en partition."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1381,7 +1499,7 @@ msgstr ""
 "partitionslängden på %jd sektorer överstiger maximum för %s-partition-table-"
 "imposed på %jd"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1390,87 +1508,89 @@ msgstr ""
 "sektornumret för början, %jd överstiger maximum för %s-partition-table-"
 "imposed maximum på %jd"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Felaktig kontrollsumma på block %llu av typen %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : Hittade inte rdb-blocket. Detta ska aldrig hända."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : Slinga upptäcktes på block %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : %s-listan verkar vara felaktig på block %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Misslyckades med att lista felaktiga block."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Misslyckades med att lista partitionsblock."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Misslyckades med att lista filsystemsblock."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Misslyckades med att lista uppstartsblock."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Misslyckades med att skriva partitionsblock på %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Kunde inte allokera ett partitionsnummer."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Skadad Sun-disketikett upptäcktes."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
 "match the geometry stored on the disk label (%d,%d,%d)."
 msgstr ""
+"CHS-geometrin för disken (%d, %d, %d) som rapporterats av operativsystemet "
+"matchar inte geometrin som sparats i disketiketten (%d, %d, %d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Disketiketten beskriver en disk som är större än %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "Disken har %d cylindrar, vilket är större än maximum som är 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
 "not be able to boot without it, and SILO (the sparc boot loader) appreciates "
 "it as well."
 msgstr ""
+"Hela disken-partitionen är den enda som finns kvar.  I allmänhet är det inte "
+"en bra idé att skriva över denna partition med en riktig.  Solaris kanske "
+"inte kan starta utan den och SILO (sparcs uppstartsprogram) tycker inte "
+"heller om det."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
-msgstr ""
+msgstr "Sun-disketikett är full."
 
 #: libparted/labels/vtoc.c:164
 msgid "opening of device failed"
@@ -1478,7 +1598,7 @@ msgstr "öppning av enheten misslyckades"
 
 #: libparted/labels/vtoc.c:168
 msgid "seeking on device failed"
-msgstr ""
+msgstr "sökning på enheten misslyckades"
 
 #: libparted/labels/vtoc.c:172
 msgid "writing to device failed"
@@ -1488,67 +1608,66 @@ msgstr "skrivning till enheten misslyckades"
 msgid "reading from device failed"
 msgstr "läsning från enheten misslyckades"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Kunde inte läsa volymetikett."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Kunde inte skriva volymetikett."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Kunde inte läsa VTOC-etiketter."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Kunde inte läsa VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Kunde inte läsa VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Kunde inte läsa VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Kunde inte läsa VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Kunde inte skriva VTOC-etiketter."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Kunde inte skriva VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Kunde inte skriva VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Kunde inte skriva VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Kunde inte skriva VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:626
-#, fuzzy
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
-msgstr "Kunde inte skriva VTOC FMT1 DSCB."
+msgstr "Kunde inte skriva VTOC FMT9 DSCB."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Slut på minne."
 
 #: libparted/unit.c:139
 msgid "Cannot get unit size for special unit 'COMPACT'."
-msgstr ""
+msgstr "Kan inte hämta enhetsstorlek för speciell enhet ”COMPACT”."
 
 #: libparted/unit.c:385
 #, c-format
@@ -1565,73 +1684,73 @@ msgstr "Det maximala värdet för huvud är %d."
 msgid "The maximum sector value is %d."
 msgstr "Det maximala värdet för sektorer är %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Platsen %s är utanför enheten %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Ogiltigt nummer."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
-msgstr ""
+msgstr "Använd en mindre enhet istället för ett värde < 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Misslyckades med att allokera partitionsblock\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Misslyckades med att allokera block\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Kunde inte läsa startblock %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Kunde inte läsa rotblock %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
-msgstr ""
+msgstr "%s: Misslyckades med att allokera element i id-lista\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Kunde inte läsa block %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Felaktig kontrollsumma på block %llu av typen %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Kunde inte skriva block %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
-msgstr ""
+msgstr "%s: Misslyckades med att allokera disk_specific rdb-block\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
-msgstr ""
+msgstr "%s: Kunde inte hitta rdb-block, bör inte inträffa\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Misslyckades med att läsa partitionsblock %llu\n"
@@ -1675,59 +1794,55 @@ msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
+"Filsystemets CHS-geometri är (%d, %d, %d) vilket är ogiltigt.  "
+"Partitionstabellens CHS-geometri är (%d, %d, %d)."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "FAT-startsektorn menar att den logiska sektorstorleken är 0. Detta är "
-"märkligt."
+"märkligt. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
-msgstr "FAT-startsektorn menar att det saknas FAT-tabeller. Detta är märkligt."
+msgstr ""
+"FAT-startsektorn menar att det saknas FAT-tabeller. Detta är märkligt. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "FAT-startsektorn menar att ett kluster består av 0 sektorer. Detta är "
-"märkligt."
+"märkligt. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Filsystemet är FAT12, som inte stöds."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
-#, fuzzy, c-format
+#: libparted/fs/linux_swap/linux_swap.c:231
+#, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
-msgstr "Okänd signatur för Linux växlingsutrymme \\\"%10s\\\"."
+msgstr "Okänd signatur för föråldrat Linux växlingsutrymme ”%10s”."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
-#, fuzzy, c-format
+#: libparted/fs/linux_swap/linux_swap.c:269
+#, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
-msgstr "Okänd signatur för Linux växlingsutrymme \\\"%10s\\\"."
+msgstr "Okänd signatur för nytt Linux växlingsutrymme ”%10s”."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
-#, fuzzy, c-format
+#: libparted/fs/linux_swap/linux_swap.c:309
+#, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
-msgstr "Okänd signatur för Linux växlingsutrymme \\\"%10s\\\"."
+msgstr "Okänd signatur för swsusp Linux växlingsutrymme ”%9s”."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
 msgstr ""
+"Parted kan inte använda HFS-filsystem på diskar med en sektorstorlek som "
+"inte är %d byte."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Filsystemet har en logisk sektorstorlek på %d. Det är känt att GNU Parted "
-"inte fungerar bra med andra sektorstorlekar 512 byte."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1742,7 +1857,7 @@ msgstr ""
 "kommer filsystemets CHS-geometri att ställas in för att matcha "
 "partitionstabellens CHS-geometri."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1760,20 +1875,20 @@ msgstr ""
 "Du behöver %s ledigt diskutrymme för att minska storleken på den här "
 "partitionen till angiven storlek. För närvarande är det endast %s."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr ""
 "Klustrets startdifferens är %d, vilket inte är en multipel av "
-"klusterstorleken %d"
+"klusterstorleken %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr "Felaktig katalogpost för %s: första klustret är en filslutsmarkering."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1781,7 +1896,7 @@ msgstr ""
 "Trasig filallokeringstabell: ej avslutad kedja för %s. Du bör köra dosfsck "
 "eller scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1790,7 +1905,7 @@ msgstr ""
 "Trasig filallokeringstabell: kluster %d ligger utanför filsystemet i kedja "
 "för %s. Du bör köra dosfsck eller scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1799,12 +1914,12 @@ msgstr ""
 "Trasig filallokeringstabell: kluster %d är korslänkad för %s. Du bör köra "
 "dosfsck eller scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s är %dk, men den har %d kluster (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1855,17 +1970,17 @@ msgstr ""
 "Det finns inte tillräckligt med utrymme för alla filer i rotkatalogen. Välj "
 "antingen att avbryta, eller ignorera och förlora filerna."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Ett fel uppstod vid skrivning till rotkatalogen."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 "Om du låter filsystemet fortsätta vara FAT16 så kommer du inte att få några "
 "problem."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1875,7 +1990,7 @@ msgstr ""
 "partitionen så måste du installera om MS Windows starthanterare. Om du gör "
 "det bör du studera Parteds manual (eller din distributions manual)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1883,7 +1998,7 @@ msgstr ""
 "Om du låter filsystemet fortsätta vara FAT32 kommer du inte att introducera "
 "några nya problem."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1897,35 +2012,35 @@ msgstr ""
 "genom att konvertera filsystemet till FAT32 kommer det inte att kunna läsas "
 "av MS DOS, MS Windows 95a och MS Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Vill du använda FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Filsystemet kan bara ändras till den här storleken genom att konvertera till "
 "FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Filsystemet kan bara ändras till den här storleken genom att konvertera till "
 "FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1960,83 +2075,87 @@ msgid "Could not detect file system."
 msgstr "Kunde inte hitta något filsystem."
 
 #: libparted/fs/r/filesys.c:158 libparted/fs/r/filesys.c:285
-#, fuzzy, c-format
+#, c-format
 msgid "resizing %s file systems is not supported"
-msgstr ""
-"Stöd för att ändra storlek på filsystem av typ %s är inte implementerat än."
+msgstr "storleksändring av %s-filsystem stöds inte"
 
 #: libparted/fs/r/filesys.c:170
 msgid "The file system is bigger than its volume!"
 msgstr "Filsystemet är större än dess volym!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Filsystemet innehåller fel."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Felaktiga block kunde inte läsas."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
+"Försöker att registrera en utsträckning som börjar på block 0x%X, men det "
+"finns redan en på denna position.  Du bör kontrollera filsystemet!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+# sebras: Ox should be 0x
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
+"Försöker att flytta en utsträckning från block Ox%X till block Ox%X, men det "
+"finns redan en på denna position.  Detta bör inte inträffa!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
-msgstr ""
+msgstr "Kunde inte uppdatera utsträckningscachen för HFS-filen med CNID %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
-msgstr ""
+msgstr "Försöker att läsa HFS-fil med CNID %X efter EOF."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
-msgstr ""
+msgstr "Kunde inte hitta sektor %lli för HFS-fil med CNID %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
-msgstr ""
+msgstr "Försöker skriva HFS-fil med CNID %X efter EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
-msgstr ""
+msgstr "Kunde inte uppdatera utsträckningscachen för HFS+-fil med CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
-msgstr ""
+msgstr "Försöker att läsa HFS+-fil med CNID %X efter filslut."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
-msgstr ""
+msgstr "Kunde inte hitta sektor %lli för HFS+-fil med CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
-msgstr ""
+msgstr "Försöker att skriva HFS+-fil med CNID %X efter EOF."
 
 #: libparted/fs/r/hfs/hfs.c:232
 msgid "Sorry, HFS cannot be resized that way yet."
-msgstr ""
+msgstr "Det går inte att ändra storlek på HFS än."
 
 #: libparted/fs/r/hfs/hfs.c:250 libparted/fs/r/hfs/hfs.c:629
 msgid "shrinking"
@@ -2044,20 +2163,19 @@ msgstr "minskar"
 
 #: libparted/fs/r/hfs/hfs.c:262 libparted/fs/r/hfs/hfs.c:641
 msgid "Data relocation has failed."
-msgstr ""
+msgstr "Dataomplacering misslyckades."
 
 #: libparted/fs/r/hfs/hfs.c:281
 msgid "Data relocation left some data in the end of the volume."
-msgstr ""
+msgstr "Dataomplacering lämnade viss data på slutet av volymen."
 
 #: libparted/fs/r/hfs/hfs.c:320
-#, fuzzy
 msgid "writing HFS Master Directory Block"
-msgstr "Ett fel uppstod vid skrivning till rotkatalogen."
+msgstr "skriver HFS huvudkatalogblock"
 
 #: libparted/fs/r/hfs/hfs.c:468
 msgid "No valid HFS[+X] signature has been found while opening."
-msgstr ""
+msgstr "Ingen giltig HFS[+X]-signatur har hittats under öppningen."
 
 #: libparted/fs/r/hfs/hfs.c:478
 #, c-format
@@ -2071,7 +2189,7 @@ msgstr "Version %d av HFSX stöds inte."
 
 #: libparted/fs/r/hfs/hfs.c:672
 msgid "Data relocation left some data at the end of the volume."
-msgstr ""
+msgstr "Omplacering av data lämnade viss data i slutet på volymen."
 
 #: libparted/fs/r/hfs/hfs.c:720
 msgid "Error while writing the allocation file."
@@ -2079,152 +2197,173 @@ msgstr "Fel vid skrivning av allokeringsfilen."
 
 #: libparted/fs/r/hfs/hfs.c:735
 msgid "Error while writing the compatibility part of the allocation file."
-msgstr ""
+msgstr "Fel vid skrivning av kompatibilitetsdelen av allokeringsfilen."
 
 #: libparted/fs/r/hfs/hfs.c:750
 msgid "writing HFS+ Volume Header"
-msgstr ""
+msgstr "skriver HFS+-volymhuvud"
 
 #: libparted/fs/r/hfs/hfs.c:850
 msgid "An error occurred while looking for the mandatory bad blocks file."
 msgstr ""
+"Ett fel inträffade under sökning efter den obligatoriska filen med dåliga "
+"block."
 
 #: libparted/fs/r/hfs/hfs.c:904
 msgid ""
 "It seems there is an error in the HFS wrapper: the bad blocks file doesn't "
 "contain the embedded HFS+ volume."
 msgstr ""
+"Det verkar som om det finns ett fel i HFS-omslaget: filen med dåliga block "
+"innehåller inte den inbäddade HFS+-volymen."
 
 #: libparted/fs/r/hfs/hfs.c:940
 msgid "Sorry, HFS+ cannot be resized that way yet."
-msgstr ""
+msgstr "Det går inte att ändra storlek på HFS+ på det sättet än."
 
 #: libparted/fs/r/hfs/hfs.c:975
 msgid "shrinking embedded HFS+ volume"
 msgstr "minskar inbäddad HFS+-volym"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Storleksändring av HFS+-volymen misslyckades."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
-msgstr ""
+msgstr "minskar HFS-omslut"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
-msgstr ""
+msgstr "Uppdatering av HFS-omslutet har misslyckats."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr ""
+"Detta är inte en riktig %s-kontroll.  Detta kommer att extrahera speciella "
+"lågnivåfiler för felsökningsmöjligheter."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
-msgstr ""
+msgstr "Kontrollsumma för lista över dåliga block."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
+"Ogiltig storlek för transaktionsblock vid återuppspelning av journalen (%i "
+"byte)."
 
-#: libparted/fs/r/hfs/journal.c:259
+# sebras: descativate -> inactivate
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
+"Att lagra journalen utanför volymen stöds inte.  Försök att inaktivera "
+"journalen och kör Parted igen."
 
-#: libparted/fs/r/hfs/journal.c:270
-#, fuzzy
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
-msgstr ""
-"Klustrets startdifferens är %d, vilket inte är en multipel av "
-"klusterstorleken %d"
+msgstr "Journalposition eller storlek är inte en multipel av sektorstorleken."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
-msgstr ""
+msgstr "Felaktiga magiska värden i journalhuvudet."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
+"Journalstorleken skiljer sig mellan journalinfoblocket och journalhuvudet."
 
-#: libparted/fs/r/hfs/journal.c:313
-#, fuzzy
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
-msgstr ""
-"Klustrets startdifferens är %d, vilket inte är en multipel av "
-"klusterstorleken %d"
+msgstr "Vissa huvudfält är inte en multipel av sektorstorleken."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
+"Sektorstorleken som lagrats i journalen är inte 512 byte.  Parted har bara "
+"stöd för 512 byte stora sektorer."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
-msgstr ""
+msgstr "Felaktig journalkontrollsumma."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
+"Journalen är inte tom.  Parted måste spela upp transaktionerna före det "
+"öppnar filsystemet.  Detta kommer att modifiera filsystemet."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
 msgstr ""
+"Volymhuvudet eller huvudkatalogblocket har ändrats under återuppspelning av "
+"journalen.  Du bör starta om Parted."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
-msgstr ""
+msgstr "En utsträckning har inte omplacerats."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr ""
+"En referens till en utsträckning kommer från en plats den inte borde.  Du "
+"bör kontrollera filsystemet!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
-msgstr ""
+msgstr "Denna HFS-volym har ingen katalogfil.  Detta är väldigt ovanligt!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
+"Denna HFS-volym har ingen överspillsfil för utsträckningar.  Detta är "
+"väldigt ovanligt!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr ""
+"Överspillsfilen för utsträckningar bör inte innehålla sina egna "
+"utsträckningar!  Du bör kontrollera filsystemet."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Kunde inte mellanlagra filsystemet i minnet."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Listan över felaktiga block kunde inte läsas in."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
-msgstr ""
+msgstr "Ett fel inträffade under omplacering av utsträckningar."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
-msgstr ""
+msgstr "Denna HFS+-volym har ingen katalogfil.  Detta är väldigt ovanligt!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr ""
+"Denna HFS+-volym har ingen överspillsfil för utsträckningar.  Detta är "
+"väldigt ovanligt!"
 
 #: parted/parted.c:125
 msgid "displays this help message"
@@ -2247,9 +2386,8 @@ msgid "displays the version"
 msgstr "visar versionen"
 
 #: parted/parted.c:130
-#, fuzzy
 msgid "alignment for new partitions"
-msgstr "Kan inte skapa några fler partitioner."
+msgstr "justering för nya partitioner"
 
 #: parted/parted.c:142
 msgid ""
@@ -2262,7 +2400,7 @@ msgstr ""
 
 #: parted/parted.c:145
 msgid "LABEL-TYPE is one of: "
-msgstr "PART-TYP är en av:"
+msgstr "PART-TYP är en av: "
 
 #: parted/parted.c:146 parted/parted.c:147
 msgid "FLAG is one of: "
@@ -2274,7 +2412,7 @@ msgstr "ENHET är en av: "
 
 #: parted/parted.c:149
 msgid "desired alignment: minimum or optimal"
-msgstr ""
+msgstr "önskad justering: minimum eller optimal"
 
 #: parted/parted.c:150
 msgid "PART-TYPE is one of: primary, logical, extended\n"
@@ -2295,14 +2433,12 @@ msgstr ""
 "sektorn.\n"
 
 #: parted/parted.c:156
-#, fuzzy
 msgid ""
 "END is disk location, such as 4GB or 10%.  Negative value counts from the "
 "end of the disk.  For example, -1s specifies exactly the last sector.\n"
 msgstr ""
-"BÖRJAN och SLUT är platser på disken, såsom 4GB eller 10%.  Negativa värden "
-"räknas från slutet på disken.  Till exempel, -1s anger exakt den sista "
-"sektorn.\n"
+"SLUT är en plats på disken, såsom 4GB eller 10%.  Negativa värden räknas "
+"från slutet på disken.  Till exempel, -1s anger exakt den sista sektorn.\n"
 
 #: parted/parted.c:159
 msgid "STATE is one of: on, off\n"
@@ -2343,24 +2479,22 @@ msgstr ""
 "ytterligare information.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(tid kvar %.2d:%.2d)"
 
-#: parted/parted.c:230
-#, fuzzy, c-format
+#: parted/parted.c:231
+#, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
-msgstr ""
-"Partitionen %s används. Du måste avmontera den innan du kan ändra den med "
-"Parted."
+msgstr "Partitionen %s används. Är du säker på att du vill fortsätta?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Partitionen på %s är i bruk."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2369,40 +2503,40 @@ msgstr ""
 "Den befintliga disketiketten på %s kommer att förstöras och all data på "
 "denna disk kommer att gå förlorad. Vill du fortsätta?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Ny typ av disketikett?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Partitionstyp?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Partitionsnamn?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Filsystemstyp?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Början?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Slut?"
 
-#: parted/parted.c:764
-#, fuzzy, c-format
+#: parted/parted.c:766
+#, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
 "The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
 msgstr ""
-"Du begärde en partition från %s till %s.\n"
-"Den närmsta platsen vi kan hantera är %s till %s.%s"
+"Du begärde en partition från %s till %s (sektorerna %llu..%llu).\n"
+"Den närmsta platsen vi kan hantera är %s till %s (sektorerna %llu..%llu).%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2410,83 +2544,95 @@ msgstr ""
 "\n"
 "Är detta fortfarande godtagbart för dig?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr ""
+"Den resulterande partitionen är inte korrekt justerad för bästa prestanda."
+
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s-disketiketter saknar stöd för utökade partitioner."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Partitionsnummer?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "BIOS-geometri för cylinder,huvud,sektor: %d,%d,%d.  Varje cylinder är %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Modell: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disk %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Sektorstorlek (logisk/fysisk): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Partitionstabell: %s\n"
 
-#: parted/parted.c:1017
-#, fuzzy, c-format
+#: parted/parted.c:1033
+#, c-format
 msgid "Disk Flags: %s\n"
-msgstr "Disk %s: %s\n"
+msgstr "Diskflaggor: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Nummer"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Början"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Slut"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Storlek"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Typ"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Filsystem"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Namn"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Flaggor"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Ledigt utrymme"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2495,65 +2641,69 @@ msgstr ""
 "En %s %s-partition hittades på %s -> %s.  Vill du lägga till den till "
 "partitionstabellen?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "söker efter filsystem"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
-msgstr ""
+msgstr "Kommandot ändra_storlek har tagits bort i parted 3.0"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
+"Att minska storlek för en partition kan orsaka dataförlust, är du säker på "
+"att du vill fortsätta?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Ny enhet?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
-msgstr ""
+msgstr "justeringstyp(min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
-msgstr ""
+msgstr "%d justerad\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
-msgstr ""
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
+msgstr "%d inte justerad\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Flagga att invertera?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Nytt tillstånd?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Enhet?"
 
-#: parted/parted.c:1913
-#, fuzzy
+#: parted/parted.c:1969
 msgid "align-check"
-msgstr "kontrollera"
+msgstr "justeringskontroll"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
+"justeringskontroll TYP N                  kontrollera TYP(min|opt)-justering "
+"för partition N"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "hjälp"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2561,15 +2711,15 @@ msgstr ""
 "hjälp [KOMMANDO]                         skriver ut allmän hjälp eller hjälp "
 "för KOMMANDO"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2577,15 +2727,15 @@ msgstr ""
 "mklabel,mktable ETIKETT-TYP              skapa en ny disketikett "
 "(partitionstabell)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart PART-TYP [FS-TYP] BÖRJAN SLUT     skapa en partition"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2594,20 +2744,20 @@ msgstr ""
 "partitionen. FS-TYP måste anges för att ställa in ett lämpligt partitions-"
 "id.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "namn"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
 "namn NUMMER NAMN                         ge namnet NAMN till partition NUMMER"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "visa"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2617,7 +2767,7 @@ msgstr ""
 "tillgängliga enheter, ledigt utrymme, alla partitioner som hittats, eller en "
 "specifik partition"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2625,11 +2775,11 @@ msgstr ""
 "Utan argument så skriver \"visa\" ut hela partitionstabellen. Dock kan "
 "diverse andra åtgärder genomföras med följande argument.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : visa alla aktiva blockenheter\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2637,31 +2787,31 @@ msgstr ""
 "  free      : visa information om ledigt, opartitionerat utrymme på den "
 "aktuella blockenheten\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr "  list, all : visa partitionstabellerna på alla aktiva blockenheter\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 "  NUMMER    : visa mer detaljerad information om denna specifika partition\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "avsluta"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "avsluta                                  avsluta programmet"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rädda"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2669,80 +2819,75 @@ msgstr ""
 "rädda BÖRJAN SLUT                        rädda en förlorad partition nära "
 "BÖRJAN och SLUT"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "ändra_storlek"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
-msgstr ""
+msgstr "Kommandot ändra_storlek har tagits bort i parted 3.0\n"
 
-#: parted/parted.c:2006
-#, fuzzy
+#: parted/parted.c:2062
 msgid "resizepart"
-msgstr "ändra_storlek"
+msgstr "ändra_partstorlek"
 
-#: parted/parted.c:2009
-#, fuzzy
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
-msgstr "flytta NUMMER BÖRJAN SLUT                flytta partition NUMMER"
+msgstr ""
+"ändra_partstorlek NUMMER SLUT            ändra storlek för partition NUMMER"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "ta_bort"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "ta_bort NUMMER                           ta bort partition NUMMER"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "välj"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "välj ENHET                               välj enheten att redigera"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
-msgstr ""
+msgstr "disk_inställning"
 
-#: parted/parted.c:2033
-#, fuzzy
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
-msgstr ""
-"ställ_in NUMMER FLAGGA TILLSTÅND         ändra FLAGGAn på partition NUMMER"
+msgstr "disk_inställning FLAGGA TILLSTÅND        ändra FLAGGA för vald enhet"
 
-#: parted/parted.c:2038
-#, fuzzy
+#: parted/parted.c:2094
 msgid "disk_toggle"
-msgstr "växla"
+msgstr "disk_växla"
 
-#: parted/parted.c:2041
-#, fuzzy
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr ""
-"växla [NUMMER [FLAGGA]]                  växla tillståndet för FLAGGA på "
-"partition NUMMER"
+"disk_växla [FLAGGA]                      växla tillståndet för FLAGGA på "
+"vald enhet"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "ställ_in"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 "ställ_in NUMMER FLAGGA TILLSTÅND         ändra FLAGGAn på partition NUMMER"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "växla"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
@@ -2750,20 +2895,20 @@ msgstr ""
 "växla [NUMMER [FLAGGA]]                  växla tillståndet för FLAGGA på "
 "partition NUMMER"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "enhet"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "enhet ENHET                              ställ in standardenheten till ENHET"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2771,7 +2916,7 @@ msgstr ""
 "version                                  visa versionsnumret och "
 "upphovsrättslig information om GNU Parted"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2779,31 +2924,31 @@ msgstr ""
 "\"version\" visar information om version och upphovsrätt för denna kopia av "
 "GNU Parted\n"
 
-#: parted/parted.c:2148
-#, fuzzy, c-format
+#: parted/parted.c:2204
+#, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
-msgstr "Användning: %s [-hlmsv] [ENHET [KOMMANDO [PARAMETRAR]]...]\n"
+msgstr ""
+"Användning: %s [-hlmsv] [-a<justering>] [ENHET [KOMMANDO [PARAMETRAR]]…]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Ingen enhet hittades"
 
-#: parted/parted.c:2229
-#, fuzzy
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
-msgstr "VARNING: Du är inte superanvändare.  Se upp för rättighetsproblem."
+msgstr "VARNING: Du är inte superanvändare.  Se upp för rättighetsproblem.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Du kan behöva att uppdatera /etc/fstab.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 "Välkommen till GNU Parted! Skriv \"hjälp\" för att visa en lista över "
 "kommandon.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2814,7 +2959,7 @@ msgstr ""
 "Tillämpa KOMMANDOn med PARAMETRAR på ENHET. Om inga KOMMANDO(n) anges\n"
 "körs programmet i interaktivt läge.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2877,7 +3022,7 @@ msgstr ""
 "Inkludera även ytterligare information om din konfiguration som\n"
 "du anser vara viktigt att veta.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2885,7 +3030,7 @@ msgstr ""
 "\n"
 "Kommandohistorik:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2893,7 +3038,7 @@ msgstr ""
 "\n"
 "Fel: SEGV_MAPERR (Address not mapped to object)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2901,7 +3046,7 @@ msgstr ""
 "\n"
 "Fel: SEGV_ACCERR (Invalid permissions for mapped object)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2909,7 +3054,7 @@ msgstr ""
 "\n"
 "Fel: En allmän SIGSEGV-signal påträffades.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2917,7 +3062,7 @@ msgstr ""
 "\n"
 "Fel: FPE_INTDIV (Integer: divide by zero)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2925,7 +3070,7 @@ msgstr ""
 "\n"
 "Fel: FPE_INTOVF (Integer: overflow)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2933,7 +3078,7 @@ msgstr ""
 "\n"
 "Fel: FPE_FLTDIV (Float: divide by zero)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2941,7 +3086,7 @@ msgstr ""
 "\n"
 "Fel: FPE_FLTOVF (Float: overflow)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2949,7 +3094,7 @@ msgstr ""
 "\n"
 "Fel: FPE_FLTUND (Float: underflow)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2957,7 +3102,7 @@ msgstr ""
 "\n"
 "Fel: FPE_FLTRES (Float: inexact result)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2965,7 +3110,7 @@ msgstr ""
 "\n"
 "Fel: FPE_FLTINV (Float: invalid operation)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -2973,7 +3118,7 @@ msgstr ""
 "\n"
 "Fel: FPE_FLTSUB (Float: subscript out of range)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -2981,7 +3126,7 @@ msgstr ""
 "\n"
 "Fel: A general SIGFPE signal was encountered."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -2989,7 +3134,7 @@ msgstr ""
 "\n"
 "Fel: ILL_ILLOPC (Illegal Opcode)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -2997,7 +3142,7 @@ msgstr ""
 "\n"
 "Fel: ILL_ILLOPN (Illegal Operand)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3005,7 +3150,7 @@ msgstr ""
 "\n"
 "Fel: ILL_ILLADR (Illegal addressing mode)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3013,7 +3158,7 @@ msgstr ""
 "\n"
 "Fel: ILL_ILLTRP (Illegal Trap)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3021,7 +3166,7 @@ msgstr ""
 "\n"
 "Fel: ILL_PRVOPC (Privileged Opcode)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3029,7 +3174,7 @@ msgstr ""
 "\n"
 "Fel: ILL_PRVREG (Privileged Register)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3037,7 +3182,7 @@ msgstr ""
 "\n"
 "Fel: ILL_COPROC (Coprocessor Error)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3045,7 +3190,7 @@ msgstr ""
 "\n"
 "Fel: ILL_BADSTK (Internal Stack Error)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3053,66 +3198,70 @@ msgstr ""
 "\n"
 "Fel: En allmän SIGILL-signal påträffades."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "ogiltigt token: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Förväntade ett partitionsnummer."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Partitionen finns inte."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Förväntade en filsystemstyp."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Okänd filsystemstyp \"%s\"."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Förväntade en typ av disketikett."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Kan inte skapa några fler partitioner."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Förväntade en partitionstyp."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "på"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "av"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "optimal"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "minimal"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "FLAGGOR:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "KOMMANDON:"
 
-#: parted/ui.c:1549
-#, fuzzy, c-format
+#: parted/ui.c:1586
+#, c-format
 msgid ""
 "\n"
 "Report bugs to %s\n"
@@ -3121,15 +3270,37 @@ msgstr ""
 "Rapportera fel till: %s\n"
 "Skicka synpunkter på översättningen till <tp-sv@listor.tp-sv.se>\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Använder %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Detta kommando är meningslöst i icke-interaktivt läge.\n"
 
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: flaggan \"--%s\" tillåter inget argument\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: okänd flagga \"--%s\"\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: flaggan \"-W %s\" tillåter inget argument\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: flaggan ”-W %s” kräver ett argument\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Webbsida för %s: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Filsystemet har en logisk sektorstorlek på %d. Det är känt att GNU Parted "
+#~ "inte fungerar bra med andra sektorstorlekar än 512 byte."
+
 #~ msgid ""
 #~ "Usage: %s [OPTION]\n"
 #~ "  or:  %s DEVICE MINOR\n"
@@ -3376,9 +3547,6 @@ msgstr "Detta kommando är meningslöst i icke-interaktivt läge.\n"
 #~ msgid "Source partition number?"
 #~ msgstr "Partitionsnummer för källan?"
 
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "Kan inte kopiera en utökad partition."
-
 #~ msgid "Destination partition number?"
 #~ msgstr "Partitionsnummer för målet?"
 
index 00311e378b1a1b2ce3bfb75fa303ddf49118848c..70b5b4dee39b1566c6d88f10f616af3907b43e82 100644 (file)
Binary files a/po/tr.gmo and b/po/tr.gmo differ
index 602e79f1b9d1860ec03fb14632d03d5ab637a87b..7a92501643ea5e077abb5d1ccfbbdf312f20b8b0 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -3,98 +3,80 @@
 # Copyright (C) 2011 Free Software Foundation, Inc.
 # parted-3.1.po'nun Türkçe çevirisi
 # Eyüp Hakan Duran <hakan_duran@hotmail.com>, 2010, 2011, 2012.
+# Volkan Gezer <volkangezer@gmail.com>, 2017.
 msgid ""
 msgstr ""
-"Project-Id-Version: parted-3.1\n"
+"Project-Id-Version: parted-3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
-"PO-Revision-Date: 2012-03-06 13:41-0600\n"
-"Last-Translator: Eyüp Hakan Duran <hakan_duran@hotmail.com>\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
+"PO-Revision-Date: 2017-04-03 15:08+0100\n"
+"Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Lokalize 2.0\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "%2$s için geçersiz argüman %1$s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "%2$s için belirsiz argüman %1$s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Geçerli argümanlar şunlardır:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "yazma hatası"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Bilinmeyen sistem hatası"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: '-W %s' seçeneği belirsiz\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: '%s' seçeneği belirsiz; olasılıklar:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: '--%s' seçeneği argümansız kullanılır\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: '%c%s' seçeneği bilinmiyor\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: '%c%s' seçeneği argümansız kullanılır\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: '--%s' seçeneği için bir argüman gerekli\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: '--%s' seçeneği bilinmiyor\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: '%c%s' seçeneği bilinmiyor\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: geçersiz seçenek -- '%c'\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: seçenek için bir argüman gerekli -- '%c'\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: '-W %s' seçeneği belirsiz\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: '-W %s' seçeneği argümansız kullanılır\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: '-W %s' seçeneği için bir argüman gerekli\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -114,85 +96,86 @@ msgstr "%s: '-W %s' seçeneği için bir argüman gerekli\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "`"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "'"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Başarılı"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Eşleşme yok"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Geçersiz düzenli ifade"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Geçersiz harmanlama karakteri"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Geçersiz karakter sınıfı ismi"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "İzleyen tersbölü"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Geçersiz geriye başvuru"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "[ ya da [^ eşleşmiyor"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "( ya da \\( eşleşmiyor"
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "\\{ eşleşmiyor"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\} in içeriği geçersiz"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Geçersiz kapsam sonu"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Bellek tükendi"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Geçersiz önceki düzenli ifade"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Düzenli ifadenin sonu eksik"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Düzenli ifade çok büyük"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr ") ya da  \\) eşleşmiyor"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Daha önce düzenli ifade yok"
 
@@ -216,12 +199,12 @@ msgstr "^[eE]"
 msgid "^[nN]"
 msgstr "^[hH]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "%s (%s) tarafından paketlendi\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "%s tarafından paketlendi\n"
@@ -229,18 +212,17 @@ msgstr "%s tarafından paketlendi\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Lisans GPLv3+: GNU GPL sürüm 3 ya da sonrası <http://gnu.org/licenses/gpl."
@@ -250,19 +232,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "%s tarafından yazıldı.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "%s ve %s tarafından yazıldı.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "%s, %s ve %s taraından yazıldı.\n"
@@ -270,7 +252,7 @@ msgstr "%s, %s ve %s taraından yazıldı.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -282,7 +264,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -294,7 +276,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -306,7 +288,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -318,7 +300,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -332,7 +314,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -346,7 +328,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -361,32 +343,26 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Yazılım hatalarını %s'e bildirin.\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "%s hatalarını %s'e bildirin.\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s başlangıç sayfası: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "%s başlangıç sayfası: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr "GNU yazılımı kullanmada genel yardım: <http://www.gnu.org/gethelp/>\n"
 
 #: lib/xalloc-die.c:34
@@ -413,59 +389,59 @@ msgid "Disk Image"
 msgstr "Disk Görüntüsü"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "%1$s açarken hata: %2$s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "%1$s oku-yaz şeklinde açılamıyor (%2$s).  %3$s salt-okunur olarak açıldı."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%2$s'te okuma için arama sırasında %1$s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%2$s'i okuma sırasında %1$s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "%s'e yazılamıyor, çünkü salt-okunur olarak açılmış."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%2$s'e yazma için arama sırasında %1$s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%2$s'e yazma sırasında %1$s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Daha fazla bilgi için `%s --help' yazın.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Kullanım: %s [SEÇENEK] [AYGIT]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -481,7 +457,7 @@ msgstr ""
 "  -h, --help       bu yardımı görüntüler ve çıkar\n"
 "  -v, --version    sürüm bilgisini çıkartır ve çıkar\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -489,7 +465,7 @@ msgstr ""
 "\n"
 "AYGIT verilmediğinde, tüm disk bölümlerini yokla.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -535,7 +511,7 @@ msgstr ""
 "değişiklikleri Hurd bilmiyor anlamına gelir.  %3$s ile ilgili hiçbir şey "
 "yapmadan önce bilgisayarınızı yeniden açmalısınız."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -548,17 +524,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%1$s %2$s diske eşzamanlanmaya çalışılıyor"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Dosya durum bilgisi alınamayan aygıt %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "%s'in dm türü belirlenemedi."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -567,7 +543,7 @@ msgstr ""
 "%1$s: %2$s için sektör boyutu belirlenemiyor.\n"
 "Öntanımlı sektör boyutu (%3$lld) kullanılacak."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -576,21 +552,21 @@ msgstr ""
 "%s için fiziksel sektör boyutu belirlenemiyor.\n"
 "Mantıksal sektör boyutu (%lld) kullanılacak."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "%1$s (%2$s)'in boyutu belirlenemedi"
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Genel IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "%s - %s aygıtının kimliği alınamadı "
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Genel IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -603,12 +579,12 @@ msgstr ""
 "kombinasyonları için destekliyor, örneğin GPT ve ext2/3.\n"
 "Lütfen güncel bilgi için web sitesine başvurun."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "%s - %s SCSI aygıtını ilklendirmede hata"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -617,7 +593,7 @@ msgstr ""
 "%s aygıtı.çok küçük olduğundan muhtemelen bir dosya sistemi ya da bölümleme "
 "tablosu depolayamıyor.  Yanlış aygıtı seçmiş olmayasınız?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -626,86 +602,99 @@ msgstr ""
 "%s Dosya/aygıtının geometrisi belirlenemedi.  CİDDEN ne yaptığınızı "
 "bilmiyorsanız Parted kullanmamalısınız!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Genel SD/MMC Bellek Kartı"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Yeni aygıt?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "DAC960 RAID denetleyici"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Promise SX8 SATA Aygıtı"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "Ethernet Aygıtı üzerinde ATA"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "IBM S390 DASD sürücüsü"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries Virtual DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Akıllı Dizi"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "ATARAID Denetleyici"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "I20 Denetleyici"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "Kullanıcı Kipi Linux UBD"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Geri dönüşlü aygıt"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linux aygıt-eşlemleyicisi (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Xen Sanal Blok Aygıtı"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Bilinmeyen"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Virtio Blok Aygıtı"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Linux Yazılımı RAID Dizisi"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Desteklenmeyen aygıt türü"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "%s fsyncleme/kapamada hata: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%s okunurken %0.0s dosya sonu"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -717,12 +706,12 @@ msgstr ""
 "Linux'un bilmemesi demek -- dolayısıyla bilgisayarınızı yeniden açmadan "
 "diski bağlamak dahil hiçbir şekilde kullanmamalısınız."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "%s'nin başlangıç ve uzunluğu belirlenemedi."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -735,38 +724,38 @@ msgstr ""
 "bölüm(ler) kullanımda kalacak. Daha fazla değişiklik yapmadan "
 "bilgisayarınızı şimdi yeniden başlatmalısınız."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr "Başlangıçtan önce son gelemez! (başlangıç sektörü=%jd uzunluk=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr ""
 "%3$s üzerindeki disk bölümünün dışında yeralan %1$ld-%2$ld sektörlere "
 "yazmaya çalışılıyor."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "hatalı blok aranıyor"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Geriye doğru iz sürme yığınında %d çağrı var:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "%2$s'deki iddia (%1$s):%4$s() işlevindeki %3$d başarısız."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: tanınmayan disk etiketi"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -775,165 +764,163 @@ msgstr ""
 "Bu libparted'in %s için yazma desteği yok.  Belki de salt-okunur olarak "
 "derlenmiştir."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "%1$d disk bölümü %2$s, fakat dosya sistemi %3$s'dir."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "silindir_hizalaması"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Bilinmeyen disk bayrağı, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "%s disk etiketleri ek disk bölümlerini desteklemiyor."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "%s disk etiketleri mantıksal ya da ek disk bölümlerini desteklemiyor."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Çok fazla birincil disk bölümü"
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
 msgstr "%s'e mantıksal disk bölümü eklenemez, çünkü ek disk bölümü yok."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "%s üzerinde birden fazla ek disk bölümü olamaz"
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Ek disk bölümü dışında mantıksal disk bölümleri olamaz."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "%s üzerinde ek disk bölümü dışında mantıksal disk bölümleri olamaz."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Bir ek disk bölümü içinde birincil disk bölümü bulunamaz."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Disk bölümü disk dışında bulunamaz!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Örtüşen disk bölümleri olamaz"
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "metaverisi"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "kullanılmamış"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "ek"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "mantıksal"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "birincil"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "önyükleme"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "kök"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "takas"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "gizli"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-servisi"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
-#, fuzzy
+#: libparted/disk.c:2399
 msgid "msftdata"
-msgstr "metaverisi"
+msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "kalıtılmış yeniden başlatma"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
-msgstr ""
+msgstr "irst"
 
-#: libparted/disk.c:2408
-#, fuzzy
+#: libparted/disk.c:2409
 msgid "esp"
-msgstr "Evet"
+msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Bilinmeyen.disk bölümü bayrağı, %d."
@@ -1003,26 +990,26 @@ msgstr ""
 "software/parted/parted.html!  Lütfen %s'e en azından sürüm (%s) ve aşağıdaki "
 "mesajı içeren bir yazılım hatası raporu gönderin:  "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "AIX disk etiketlerini okuma desteği henüz sağlanmamıştır."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "AIX disk etiketlerini yazma desteği henüz sağlanmamıştır."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr "AIX disk etiketlerine disk bölümü ekleme desteği henüz sağlanmamıştır."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "AIX disk etiketlerinde disk bölümü çoğaltma desteği henüz sağlanmamıştır."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1030,75 +1017,182 @@ msgstr ""
 "AIX disk etiketlerinde sistem türü disk bölümü kurma desteği henüz "
 "sağlanmamıştır."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr "AIX disk etiketlerinde bayrak kurma desteği henüz sağlanmamıştır."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted sektör boyutu %d bayta eşit olmayan disklerde HFS dosya sistemi "
+"kullanamaz."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Ek disk bölümleri kopyalanamıyor."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Disk bölümü üzerindeki tüm koşullar karşılanamadı."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Bir disk bölümü numarası atanamadı."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Bir bsd disk etiketi yuvası tahsis edilemedi"
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Bir dasd disk etiketi yuvası tahsis edilemedi"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "%1$s üzerinde geçersiz disk bölümleme tablosu - yanlış imza %2$x"
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr ""
 "Geçersiz disk bölümleme tablosu - %s üzerinde özyinelemeli disk bölümü."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Msdos disk etiketlerinde ek disk bölümleri gizli olamaz."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Msdos disk etiketlerinde ek disk bölümleri gizli olamaz."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted, Windows Dinamik Disk tarafından yönetilen bölümleri yeniden "
 "boyutlayamaz."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "Başka disk bölümü oluşturulamıyor"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s'in ek disk bölümü (oylum başlığı disk bölümü) yok."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 "Sağlama toplamı, disk bölümleme tablosunun bozuk olduğunu belirtir şekilde "
 "yanlış."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Yalnızca birincil disk bölümleri kök disk bölümü olabilir."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Yalnızca birincil disk bölümleri takas disk bölümleri olabilir."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Yalnızca mantıksal disk bölümleri bir önyükleme dosyası olabilir."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1107,110 +1201,118 @@ msgstr ""
 "%s'e dvh bölümleme adı atanması başarısız:\n"
 "Yalnızca mantıksal disk bölümlerinin (önyükleme dosyaları) bir adı olabilir."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Çok fazla birincil disk bölümü"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "açma hatası"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "arama hatası"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "okuma hatası"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "ioctl() hatası"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "API sürüm uyuşmazlığı"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Desteklenmeyen disk türü"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Desteklenmeyen disk biçemi"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Disk kullanımda"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Config dosyasında sözdizim hatası"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Oylum etiketi bozuk"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Bir veri küme adı bozuk"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Bellek tahsisi başarısız"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Aygıt doğrulaması başarısız"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Belirtilen aygıt geçerli bir DASD aygıtı değil"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Ölümcül hata"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Oylum etiketi için yer yok"
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Disk bölümü bilgisi için yer yok"
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Geçersiz VTOC."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "API sürümü belirlenemiyor."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr "Mevcut API sürümü '%d' dasd sürücüsü API sürümüyle '%d' uyuşmuyor!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Disk bilgisi alınamıyor."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Disk geometrisi bilgisi alınamıyor."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Blok boyutu bilgisi alınamıyor."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Disk bilgisi alınamıyor."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
-#, fuzzy
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
-msgstr "%lu blok için aygıt çok küçük."
+msgstr "GPT için aygıt çok küçük."
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1219,7 +1321,7 @@ msgstr ""
 "GPT disk bölümleme tablosu biçemi sürüm %x olup, Parted'ın "
 "tanıyabileceğinden daha yenidir.  Lütfen bize bildirin!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1230,17 +1332,15 @@ msgstr ""
 "ayarlayıp tüm mevcut boşluğu (%llu ek blok) kullanabilir ya da mevcut ayarla "
 "devam edebilirsiniz?"
 
-#: libparted/labels/gpt.c:1006
-#, fuzzy
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
 msgstr ""
-"GPT tablosunun yedeği, olması gerektiği gibi diskin sonunda değil.  Bu, bir "
-"başka işletim sisteminin diski olduğundan küçük sanması anlamına gelebilir.  "
-"Yedeği sona taşıyarak (ve eski yedeği silerek) onarınız?"
+"GPT tablosunun yedeği, olması gerektiği gibi diskin sonunda değil.  Yedeği "
+"sona taşıyarak (ve eski yedeği silerek) onar?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1248,7 +1348,7 @@ msgstr ""
 "Hem birincil, hem de yedek GPT tablosu bozuk.  Yeni bir tablo oluşturmayı ve "
 "Parted'ın kurtarma özelliğini kullanarak disk bölümlerini kurtarmayı deneyin."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1256,7 +1356,7 @@ msgstr ""
 "Yedek GPT tablosu bozuk, ama birincil tamam görünüyor, dolayısıyla o "
 "kullanılacak."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1264,62 +1364,61 @@ msgstr ""
 "Birincil GPT tablosu bozuk, ama yedek tamam görünüyor, dolayısıyla yedek "
 "kullanılacak."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "birincil bölümleme tablosu dizisi CRC uyumsuzluğu"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
-#, fuzzy
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
-msgstr "Bir disk bölümü numarası atanamadı."
+msgstr "disk bölümü adı çevrilemedi"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Mac disk etiketleri için geçersiz imza %x."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Disk bölümü eşleminin disk bölümü eşlem girdisi yok!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s, bir Mac disk etiketi için çok küçük!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "%d disk bölümü geçersiz imzaya sahip %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "%d disk bölümü 0 baytlık geçersiz uzunluğa sahip!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Veri bölgesi, disk bölümünün başından başlamıyor"
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Önyükleme bölgesi, disk bölümünün başından başlamıyor"
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Disk bölümünün önyükleme bölgesi tüm disk bölümünü kaplamıyor."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Disk bölümünün veri bölgesi tüm disk bölümünü kaplamıyor."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr "Aygıt tanımlayıcısında tuhaf blok boyutu: %d bayt, 512'ye bölünemiyor."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1328,11 +1427,11 @@ msgstr ""
 "Sürücü tanımlayıcısı fiziksel blok boyutunun %d bayt olduğunu, Linux %d bayt "
 "olduğunu bildiriyor.."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Geçerli disk bölümü eşlemi bulunamadı."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1341,11 +1440,11 @@ msgstr ""
 "Çelişen disk bölümü eşlem girdi boyutları!  1. Girdi %1$d olduğunu, ancak "
 "%2$d. girdi %3$d olduğunu bildiriyor!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Tuhaf!-  2 disk bölümü eşlem girdisi mevcut!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1353,7 +1452,7 @@ msgstr ""
 "Bir kök ya da takas disk bölümünün adını değiştirmek, Linux'un onu olduğu "
 "gibi tanımasını engelleyecek."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Bir başka disk bölümü eklenemiyor -- disk bölüm eşlemi çok küçük!"
 
@@ -1374,7 +1473,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Bir başka disk bölümü eklenemiyor."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1383,7 +1482,7 @@ msgstr ""
 "%jd sektörün bölümleme uzunluğu %s bölümleme tablosunca zorlanan maksimum "
 "%jd'i aşıyor"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1392,60 +1491,56 @@ msgstr ""
 "başlangıç sektör numarası %jd,%s bölümleme tablosunca zorlanan maksimum "
 "%jd'i aşıyor"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%1$s : %3$s türündeki %2$llu bloğunda bozuk sağlama toplamı"
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : rdb bloğu bulunamadı, asla olmamalı(ydı)."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%1$s : Blok %2$d'de döngü saptandı."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%1$s : %2$s listesi %3$s bloğunda bozuk görünüyor."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Hatalı blokları listeleme başarısız."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Bölümleme bloklarını listeleme başarısız."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Dosya sistemi bloklarını listeleme başarısız"
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Önyükleme bloklarını listeleme başarısız."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "%d'ye bölümleme bloğu yazımı başarısız."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Bir disk bölümü numarası atanamadı."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Bozuk Sun disk etiketi saptandı."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1454,17 +1549,17 @@ msgstr ""
 "Disk CHS geometrisi (%d,%d,%d), disk etiketinde saklanan geometriye (%d,%d,"
 "%d).uymuyor."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Disk etiketi, %s'den daha büyük bir disk tanımlıyor."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "Disk %d silindire sahip ki bu maksimum 65536'dan daha çok."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1475,7 +1570,7 @@ msgstr ""
 "üzerine bir gerçeğini yazmak iyi bir fikir değildir.  Solaris onsuz "
 "açılmayabilir, ve SILO da (sparc önyükleyicisi) ona değer verir."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Sun disk etiketi doldu."
 
@@ -1495,61 +1590,60 @@ msgstr "aygıta yazma başarısız"
 msgid "reading from device failed"
 msgstr "aygıttan okuma başarısız"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Oylum etiketi okunamıyor."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Oylum etiketi yazılamıyor."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "VTOC etiketleri okunamıyor."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "VTOC FMT1 DSCB okunamıyor."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "VTOC FMT4 DSCB okunamıyor."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "VTOC FMT5 DSCB okunamıyor."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "VTOC FMT7 DSCB okunamıyor."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "VTOC etiketleri yazılamıyor."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "VTOC FMT1 DSCB yazılamıyor."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "VTOC FMT4 DSCB yazılamıyor."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "VTOC FMT5 DSCB yazılamıyor."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "VTOC FMT7 DSCB yazılamıyor."
 
-#: libparted/labels/vtoc.c:626
-#, fuzzy
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
-msgstr "VTOC FMT1 DSCB yazılamıyor."
+msgstr "VTOC FMT9 DSCB yazılamadı."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Yetersiz bellek"
 
@@ -1572,73 +1666,73 @@ msgstr "Maksimum kafa değeri %d."
 msgid "The maximum sector value is %d."
 msgstr "Maksimum sektör değeri %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "%1$s yerleşimi %2$s aygıtının dışında."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Geçersiz numara."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "< 1 bir değer yerine daha küçük bir birim kullanın"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Bölümleme bloğunu atama başarısız\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Boluğu atama başarısız\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s: Önyükleme bloğu %llu okunamıyor\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s: Kök bloğu %llu okunamıyor\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : Id listesi öğesi atanamıyor\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s: %llu bloğu okunamıyor\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s: %llu bloğunda yanlış sağlama toplamı türü %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s: %d bloğu yazılamıyor\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s: Diske özgün rdb bloğu atanamıyor\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : rdb bloğu bulunamadı, asla olmamalı(ydı)\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : %llu bölümleme bloğunu okuma başarısız\n"
@@ -1685,41 +1779,41 @@ msgstr ""
 "Dosya sisteminin CHS geometrisi (%d, %d, %d) olup, bu geçersizdir. Bölümleme "
 "tablosunun CHS geometrisi (%d, %d, %d)'dir."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "FAT önyükleme sektörü mantıksal sektör boyutunun 0 olduğunu söylüyor.  Bu "
 "tuhaf. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr "FAT önyükleme sektörü FAT tablosunun olmadığını söylüyor.  Bu tuhaf. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "FAT önyükleme sektörü kümelerin 0 sektör olduğunu söylüyor.  Bu tuhaf. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Dosya sistemi FAT12, ki desteklenmiyor."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Tanınmayan ezki tarz linux takas imzası '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Tanınmayan yeni tarz linux takas imzası '%10s'."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Tanınmayan swsusp linux takas imzası '%9s'."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1728,16 +1822,7 @@ msgstr ""
 "Parted sektör boyutu %d bayta eşit olmayan disklerde HFS dosya sistemi "
 "kullanamaz."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Bu dosya sistemi %d mantıksal sektör boyutuna sahip.  GNU Parted'in 512 "
-"bayttan farklı sektör boyutlarıyla düzgün çalışmadığı bilinmektedir."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1752,7 +1837,7 @@ msgstr ""
 "sisteminin CHS geometrisi, bölümleme tablosunun CHS geometrisiyle uyuşacak "
 "şekilde ayarlanacak."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1770,18 +1855,18 @@ msgstr ""
 "Bu disk bölümünü bu boyuta küçültmek için %1$s'lik boş yere gereksiniminiz "
 "var.  Halen yalnızca %2$s kadarı boş."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr "Küme başlangıcı delta = %d, küme boyutu olan %d'nin katsayısı değil."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr "%s için bozuk dizin girişi: ilk küme dosya belirtecinin sonunda."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1789,7 +1874,7 @@ msgstr ""
 "Bozuk FAT: %s için sonlandırılmamış zincir.  dosfsck ya da scandisk "
 "yürütmelisiniz."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1798,7 +1883,7 @@ msgstr ""
 "Bozuk FAT: %d kümesi %s için dosya sistemi zincirinin dışında.  dosfsck ya "
 "da scandisk yürütmelisiniz."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1807,12 +1892,12 @@ msgstr ""
 "Bozuk FAT: %d kümesi %s için çapraz bağlı.  dosfsck ya da scandisk "
 "yürütmelisiniz."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s %dkdır, fakat %d kümeye (%dk) sahip."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1863,15 +1948,15 @@ msgstr ""
 "Kök dizininde tüm dosyalara yetecek yer yok.  Ya iptal edin, ya da dosyaları "
 "yitirmek için yoksayın."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Kök dizinine yazmada hata."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "Eğer dosya sisteminizi FAT16 olarak bırakırsanız sorununuz olmaz."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1882,7 +1967,7 @@ msgstr ""
 "isterseniz, Parted el kitabına (ya da dağıtımınızın el kitabına) "
 "başvurmalısınız."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1890,7 +1975,7 @@ msgstr ""
 "Eğer dosya sisteminizi FAT32 olarak bırakırsanız yeni bir sorunla "
 "karşılaşmayacaksınız."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1904,35 +1989,35 @@ msgstr ""
 "başvurmalısınız.  Ayrıca FAT32'ye dönüşüm, dosya sisteminin MS DOS, MS "
 "Windows 95a ve MS Windows NT tarafından okunamaz olmasına yol açacaktır."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "FAT32 kullanmak ister misiniz?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Dosya sistemi, yalnızca FAT16'ya dönüştürülerek bu boyuta yeniden "
 "boyutlandırılabilir."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Dosya sistemi, yalnızca FAT32'ye dönüştürülerek bu boyuta yeniden "
 "boyutlandırılabilir."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1975,18 +2060,18 @@ msgstr "%s dosya sistemlerini yeniden boyutlandırma desteklenmemektedir"
 msgid "The file system is bigger than its volume!"
 msgstr "Dosya sistemi oylumundan daha büyük!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Dosya sistemi hatalar içeriyor."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Hatalı bloklar okunamıyor."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -1995,51 +2080,51 @@ msgstr ""
 "Blok 0x%X'den başlayacak şekilde bir aralık kaydedilmeye çalışılıyor, fakat "
 "bu konumda bir başkası zaten mevcut.  Dosya sistemini kontrol etmelisiniz!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Blok Ox%X'den Ox%X'e bir aralık taşınmaya çalışılıyor, fakat bu konumda bir "
 "başkası zaten mevcut.  Bu olmamalı!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr "Aralık önbelleği CNID %X'li HFS dosyası için güncellenemedi."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "EOF arkasında CNID %X'li HFS dosyası okunmaya çalışılıyor."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "CNID %2$X li HFS dosyasının %1$lli sektörü bulunamadı."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "EOF arkasında CNID %X'li HFS dosyası yazılmaya çalışılıyor."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr "Aralık önbelleği CNID %X'li HFS+ dosyası için güncellenemedi."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "EOF arkasında CNID %X'li HFS+ dosyası okunmaya çalışılıyor."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "CNID %2$X li HFS+ dosyasının %1$lli sektörü bulunamadı."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "EOF arkasında CNID %X'li HFS+ dosyası yazılmaya çalışılıyor."
@@ -2114,19 +2199,19 @@ msgstr "Üzgünüm, HFS+ henüz o şekilde yeniden boyutlandırılamıyor."
 msgid "shrinking embedded HFS+ volume"
 msgstr "gömülü HFS+ oylumu küçültülüyor"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "HFS+ oylumunun yeniden boyutlandırılması başarısız."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "HFS sarmalayıcısı küçültülüyor"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "HFS sarmalayıcısının göncellenmesi başarısız."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2135,41 +2220,42 @@ msgstr ""
 "Bu geçek bir %s kontrolü değil.  Hata ayıklama amacıyla düşük düzey dosyalar "
 "özütlenecek."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Hatalı blok liste başlığı sağlama toplamı"
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr "Günlük tekrar okunurken geçersiz bir işlem boyut bloğu (%i bayt)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Oylum dışında depolanan günlükler desteklenmiyor.  Günlüğü etkisiz kılmayı "
 "ve Parted'ı yeniden çalıştırmayı deneyin."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr "Günlük başlangıcı ya da boyutu sektör boyutunun katı değil."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Günlük başlığında geçersiz sihirli değerler."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr "Günlük bilgi bloğu ve başlığı arasında günlük boyutu örtüşmüyor."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Bazı başlık alanları sektör boyutunun katı değil."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2177,11 +2263,11 @@ msgstr ""
 "Günlükte kayıtlı sektör boyutu 512 bayt değil. Parted yalnızca 512 bayt "
 "uzunluktaki sektörleri destekler."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Bozuk günlük sağlama toplamı."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2189,7 +2275,7 @@ msgstr ""
 "Günlük boş.  Parted, dosya sistemini açmadan işlemleri yinelemeli.  Bu, "
 "dosya sistemini değiştirecek."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2197,11 +2283,11 @@ msgstr ""
 "Günlük yinelenirken ana dizin bloğunun oylum başlığı değişti.  Parted'ı "
 "yeniden başlatmalısınız."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Bir aralık yeniden konumlanmadı."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2209,15 +2295,15 @@ msgstr ""
 "Bir aralığın başvurusu gelmemesi gereken bir yerden geliyor.  Dosya "
 "sistemini kontrol etmelisiniz!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr "Bu HFS oylumunun katalog dosyası yok.  Bu çok sıradışı!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr "Bu HFS oylumunun aralık taşması dosyası yok.  Bu oldukça sıradışı!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2225,23 +2311,23 @@ msgstr ""
 "Aralık taşması dosyası, kendi aralıklarını içermemeli!  Dosya sistemini "
 "kontrol etmelisiniz."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Dosya sistemi önbelleğe alınamıyor."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Hatalı blok listesi yüklenemedi."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Aralık yeniden konumlandırılması sırasında bir hata oluştu."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr "Bu HFS+ oylumunun katalog dosyası yok.  Bu çok sıradışı!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr "Bu HFS+ oylumunun aralık taşması dosyası yok.  Bu oldukça sıradışı!"
 
@@ -2312,13 +2398,12 @@ msgstr ""
 "sonuna uzaklığı belirtir.  Örneğin -1s tam olarak son sektörü belirtir.\n"
 
 #: parted/parted.c:156
-#, fuzzy
 msgid ""
 "END is disk location, such as 4GB or 10%.  Negative value counts from the "
 "end of the disk.  For example, -1s specifies exactly the last sector.\n"
 msgstr ""
-"START ve END disk konumlarıdır, 4GB ya da %10 gibi.  Eksi değerler, diskin "
-"sonuna uzaklığı belirtir.  Örneğin -1s tam olarak son sektörü belirtir.\n"
+"SON disk konumudur, 4GB ya da %10 gibi.  Eksi değerler, diskin sonuna "
+"uzaklığı belirtir.  Örneğin -1s tam olarak son sektörü belirtir.\n"
 
 #: parted/parted.c:159
 msgid "STATE is one of: on, off\n"
@@ -2352,23 +2437,22 @@ msgstr ""
 "GNU Genel Kamu Lisansı'na bakınız.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(kalan süre %.2d:%.2d)"
 
-#: parted/parted.c:230
-#, fuzzy, c-format
+#: parted/parted.c:231
+#, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
-msgstr ""
-"%s disk bölümü kullanılıyor.  Parted'la değiştirmeden önce ayırmalısınız."
+msgstr "%s disk bölümü kullanılıyor.  Devam etmek istediğinizden emin misiniz?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "%s üzerindeki disk bölümü(leri) kullanılıyor."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2377,31 +2461,31 @@ msgstr ""
 "%s üzerindeki mevcut disk etiketi silinecek ve bu disk üzerindeki tüm veri "
 "kaybolacak. Devam etmek istiyor musunuz?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Yeni disk etiketi türü?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Disk bölümü türü?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Disk bölümü adı?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Dosya sistemi türü?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Başlangıç?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Bitiş?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2411,7 +2495,7 @@ msgstr ""
 "Becerebildiğimiz buna en yakın konum %5$s'den %6$s'e (sektör %7$llu..%8$llu)."
 "%9$s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2419,84 +2503,95 @@ msgstr ""
 "\n"
 "Bu sizin için hala kabul edilebilir mi?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
 "Ortaya çıkan disk bölümü en iyi performansı elde etmek için ayarlanmamış."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s disk etiketleri ek disk bölümlerini desteklemiyor."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Disk bölümü numarası?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr ""
 "BIOS silindiri, kafa, sektör geometrisi: %d,%d,%d.  Herbir silindir %s'tir.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Model: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Disk %1$s: %2$s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Sektör boyutu (mantıksal/fiziksel): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Disk bölümü Tablosu: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Disk Bayrakları: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Numara"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Başlangıç"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Son"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Boyut"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Tür"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Dosya sistemi"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "İsim"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Bayraklar"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Boş Alan"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2505,66 +2600,69 @@ msgstr ""
 "%3$s -> %4$s'de bir %1$s %2$s disk bölümü bulundu.  Bunu disk bölümü "
 "tablosuna eklemeyi ister misiniz?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "dosya"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
-msgstr ""
+msgstr "resize komutu parted 3.0'da kaldırıldı"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
+"Bir birimi sıkıştırmak veri kaybına yol açabilir, devam etmek istiyor "
+"musunuz?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Yeni aygıt?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "hizalama türü(min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d hizalandı\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d hizalanmadı\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Tersine çevirmek üzere bayrakla?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Yeni durum?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Birim?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "align-check TÜR N                        disk bölümü N'yi hiza TÜRü(min|opt) "
 "için kontrol et"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2572,15 +2670,15 @@ msgstr ""
 "help [COMMAND]                           genel yardımı ya da KOMUT yardımını "
 "yazdırır"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2588,15 +2686,15 @@ msgstr ""
 "mklabel,mktable LABEL-TYPE             yeni bir disk etiketi (disk bölümü "
 "tablosu) oluştur"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart PART-TYPE [FS-TYPE] START END          bir disk bölümü yap"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2606,20 +2704,20 @@ msgstr ""
 "belirtilebilir.\n"
 "\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
 "name NUMBER NAME                     NUMBER. disk bölümünü NAME'le adlandır"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2628,7 +2726,7 @@ msgstr ""
 "print [aygıtlar|boşluk|liste,tümü|NUMARA]     bölümleme tablosu, mevcut "
 "aygıtlar, boşluk, tüm bulunan bölümler ya da belli bir bölümü gösterir"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2636,11 +2734,11 @@ msgstr ""
 "Argümansız olduğunda print tüm bölümleme tablosunnu gösterir. Aşağıdaki "
 "argümanlarla kullanıldığında diğer çeşitli eylemleri uygular.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : tüm aktif blok aygıtları gösterir\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2648,32 +2746,32 @@ msgstr ""
 "  free      : mevcut blok aygıt üzerindeki boş bölümlenmemiş alan bilgisini "
 "gösterir\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : tüm aktif blok aygıtların bölümleme tablolarını gösterir\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr ""
 "  NUMBER    : bu belirtilmiş bölüm hakkında daha ayrıntılı bilgi gösterir\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     programdan çık"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2681,56 +2779,54 @@ msgstr ""
 "rescue START END                 START ve END arasındaki kayıp disk "
 "bölümlerini kurtar"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
-msgstr ""
+msgstr "resize komutu parted 3.0'da kaldırıldı\n"
 
-#: parted/parted.c:2006
-#, fuzzy
+#: parted/parted.c:2062
 msgid "resizepart"
-msgstr "resize"
+msgstr "resizepart"
 
-#: parted/parted.c:2009
-#, fuzzy
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
-msgstr "move NUMBER START END           NUMBER. disk bölümünü taşı"
+msgstr "resizepart SAYI SON                    SAYI disk bölümünü taşı"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm NUMBER                        NUMBER. disk bölümünü sil"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select DEVICE                  düzenlenecek aygıtı seç"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "disk_set"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 "disk_set FLAG STATE                     seçili aygıt üzerindeki bayrağı "
 "değiştir"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
@@ -2738,22 +2834,22 @@ msgstr ""
 "disk_toggle [FLAG]                       seçili aygıt üzerindeki BAYRAK "
 "durumunu değiştir"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr ""
 "set NUMBER FLAG STATE             NUMBER. disk bölümü üzerindeki bayrağı "
 "değiştir"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "seçmece / değiştir"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
@@ -2761,19 +2857,19 @@ msgstr ""
 "toggle [NUMBER [FLAG]                       NUMBER. disk bölümü üzerindeki "
 "BAYRAK durumunu değiştir"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "birim"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr "birim UNIT                        öntanımlı birimi UNIT'e ayarla"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "sürüm"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2781,7 +2877,7 @@ msgstr ""
 "version                               GNU Parted'in sürüm numarasını ve "
 "telif hakkı bilgisini görüntüler"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2789,30 +2885,30 @@ msgstr ""
 "sürüm, GNU Parted'in bu kopyasının telif hakkı ve sürüm bilgisini "
 "görüntüler\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr "Kullanım: %s [-hlmsv] [-a<align>] [AYGIT [KOMUT [PARAMETRELER]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Aygıt bulunamadı"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr "UYARI: Süper kullanıcı değilsiniz.  İzinlere dikkat edin.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "/etc/fstab'i güncellemeniz gerekebilir.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 "GNU Parted'a hoşgeldiniz! Komutların bir listesini görmek için 'help' "
 "yazınız.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2823,7 +2919,7 @@ msgstr ""
 "KOMUTLARI PARAMETRELERle AYGITa uygular.  Eğer KOMUT(lar) verilmezse,\n"
 "etkileşimli kipte çalışır.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2884,7 +2980,7 @@ msgstr ""
 "Ayrıca kurulumunuz hakkında önemli olduğunu düşündüğünüz ek bilgileri\n"
 "ekleyiniz.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2892,7 +2988,7 @@ msgstr ""
 "\n"
 "Komut Tarihçesi:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2900,7 +2996,7 @@ msgstr ""
 "\n"
 "Hata: SEGV_MAPERR (Adres nesneye eşlenmedi)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2908,7 +3004,7 @@ msgstr ""
 "\n"
 "Hata: SEGV_ACCERR (Eşlenmiş nesne için geçersiz izinler)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2916,7 +3012,7 @@ msgstr ""
 "\n"
 "Hata: Genel bir SIGSEGV sinyaliyle karşılaşıldı.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2924,7 +3020,7 @@ msgstr ""
 "\n"
 "Hata: FPE_INTDIV (Tamsayı: sıfırla bölünme)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2932,7 +3028,7 @@ msgstr ""
 "\n"
 "Hata: FPE_INTOVF (Tamsayı: taşma)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2940,7 +3036,7 @@ msgstr ""
 "\n"
 "Hata: FPE_FLTDIV (Kayan: sıfırla bölünme)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2948,7 +3044,7 @@ msgstr ""
 "\n"
 "Hata: FPE_FLTOVF (Kayan: taşma)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2956,7 +3052,7 @@ msgstr ""
 "\n"
 "Hata: FPE_FLTUND (Kayan: boşalma)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2964,7 +3060,7 @@ msgstr ""
 "\n"
 "Hata: FPE_FLTRES (Kayan: kesin olmayan sonuç)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2972,7 +3068,7 @@ msgstr ""
 "\n"
 "Hata: FPE_FLTINV (Kayan: geçersiz işlem)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -2980,7 +3076,7 @@ msgstr ""
 "\n"
 "Hata: FPE_FLTSUB (Kayan: altsimge erim dışı)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -2988,7 +3084,7 @@ msgstr ""
 "\n"
 "Hata: Genel bir SIGFPE sinyaliyle karşılaşıldı."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -2996,7 +3092,7 @@ msgstr ""
 "\n"
 "Hata: ILL_ILLOPC (Kuraldışı Opcode)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3004,7 +3100,7 @@ msgstr ""
 "\n"
 "Hata: ILL_ILLOPN (Kuraldışı İşlenen)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3012,7 +3108,7 @@ msgstr ""
 "\n"
 "Hata: ILL_ILLADR (Kuraldışı adresleme kipi)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3020,7 +3116,7 @@ msgstr ""
 "\n"
 "Hata: ILL_ILLTRP (Kuraldışı Tuzak)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3028,7 +3124,7 @@ msgstr ""
 "\n"
 "Hata: ILL_PRVOPC (Ayrıcalıklı Opcode)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3036,7 +3132,7 @@ msgstr ""
 "\n"
 "Hata: ILL_PRVREG (Ayrıcalıklı Yazmaç)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3044,7 +3140,7 @@ msgstr ""
 "\n"
 "Hata: ILL_COPROC (Eşişlemci Hatası)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3052,7 +3148,7 @@ msgstr ""
 "\n"
 "Hata: ILL_BADSTK (Dahili Yığın Hatası)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3060,65 +3156,69 @@ msgstr ""
 "\n"
 "Hata: Genel bir SIGILL sinyaliyle karşılaşıldı."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "geçersiz andaç: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Bir disk bölümü numarası bekleniyor."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Disk bölümü yok."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Bir dosya sistemi türü bekleniyor."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Bilinmeyen dosya sistemi türü \"%s\"."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Bir disk etiketi türü bekleniyor."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Başka disk bölümü oluşturulamıyor."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Bir disk bölümü türü bekleniyor."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "açık"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "kapalı"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "optimal"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "minimal"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "SEÇENEKler:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "KOMUTlar:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3127,15 +3227,37 @@ msgstr ""
 "\n"
 "Yazılım hatalarını %s'e bildirin\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "%s kullanılıyor\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Bu komut etkileşimsiz kipte anlamsız.\n"
 
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: '--%s' seçeneği argümansız kullanılır\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: '--%s' seçeneği bilinmiyor\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: '-W %s' seçeneği argümansız kullanılır\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: '-W %s' seçeneği için bir argüman gerekli\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "%s başlangıç sayfası: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Bu dosya sistemi %d mantıksal sektör boyutuna sahip.  GNU Parted'in 512 "
+#~ "bayttan farklı sektör boyutlarıyla düzgün çalışmadığı bilinmektedir."
+
 #~ msgid "Failed to add partition %d (%s)"
 #~ msgstr "%d (%s) disk bölümü eklenemedi"
 
@@ -3431,9 +3553,6 @@ msgstr "Bu komut etkileşimsiz kipte anlamsız.\n"
 #~ msgid "Source partition number?"
 #~ msgstr "Kaynak disk bölümü numarası?"
 
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "Ek disk bölümleri kopyalanamıyor."
-
 #~ msgid "Destination partition number?"
 #~ msgstr "Hedef disk bölümü numarası?"
 
index 830f6a62e50c21435e9111870e8588deb6e70399..729b8696b362250ced3e90b68c23ac50ff6bc6bf 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index 4f84033f70af48765b05c6ff0a29c0cfc37f30a6..b608db1d940b0a184b7e2df60c714d33dbec2c18 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2014-07-04 08:03+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@@ -16,86 +16,67 @@ msgstr ""
 "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"
 "X-Generator: Lokalize 1.5\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "неправильний аргумент %s для %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "неоднозначний аргумент %s для %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Список коректних аргументів:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "помилка запису"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Невідома системна помилка"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: параметр «-W %s» не є однозначним\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: неоднозначний параметр «%s»; можливі варіанти:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ\8f Ð°Ñ\80гÑ\83менÑ\82Ñ\96в Ð´Ð¾ Ð¿Ð°Ñ\80амеÑ\82Ñ\80а Â«--%s» Ð½Ðµ Ð¿ÐµÑ\80едбаÑ\87ено\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: Ð½ÐµÐ²Ñ\96домий Ð¿Ð°Ñ\80амеÑ\82Ñ\80 Â«%c%s»\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: додавання аргументів до параметра «%c%s» не передбачено\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: до параметра «--%s» слід додати аргумент\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: невідомий параметр «--%s»\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: невідомий параметр «%c%s»\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: некоректний параметр — «%c»\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: до параметра слід додати аргумент — «%c»\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: параметр «-W %s» не є однозначним\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: додавання аргументів до параметра «-W %s» не передбачено\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: до параметра «-W %s» слід додати аргумент\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -115,85 +96,86 @@ msgstr "%s: до параметра «-W %s» слід додати аргуме
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "`"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "'"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Виконано"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Немає збігів"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Неправильний регулярний вираз"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Неправильне порівняння символів"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Назва логічного тому містить неправильний символ \"%s\""
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Завершальний backslash"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Неприпустиме зворотне посилання"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Невідповідні дужки [ чи [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Невідповідні дужки ( чи \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Невідповідні дужки \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Неприпустимий вміст \\{\\}"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Неправильний кінець діапазону"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Пам'ять вичерпано"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Неправильний попередній регулярний вираз"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Передчасно закінчений регулярний вираз"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Регулярний вираз надто великий"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Невідповідні дужки ) чи \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Відсутній попередній регулярний вираз"
 
@@ -217,12 +199,12 @@ msgstr "^[yYТт]"
 msgid "^[nN]"
 msgstr "^[nNНн]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Пакування виконано %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Пакування виконано %s\n"
@@ -230,18 +212,17 @@ msgstr "Пакування виконано %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Умови ліцензування викладено у GPLv3+: GNU GPL версії 3 або новішій, <http://"
@@ -252,19 +233,19 @@ msgstr ""
 "законодавством.\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Автор %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Автори %s та %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Автори %s, %s та %s.\n"
@@ -272,7 +253,7 @@ msgstr "Автори %s, %s та %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -284,7 +265,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -296,7 +277,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -308,7 +289,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -320,7 +301,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -334,7 +315,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -348,7 +329,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -363,32 +344,26 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Про вади повідомляйте за такою адресою: %s\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Про вади у %s повідомляйте на адресу %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашня сторінка %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Домашня сторінка %s: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr "Загальна довідка з ПЗ GNU: <http://www.gnu.org/gethelp/>\n"
 
 #: lib/xalloc-die.c:34
@@ -415,60 +390,60 @@ msgid "Disk Image"
 msgstr "Образ диска"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Помилка відкривання %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr ""
 "Не вдається відкрити %s для читання-запису (%s). %s відкрито у режимі лише-"
 "читання."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s при встановленні позиції для читання на %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s при читанні з %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Не вдається записати на %s, тому що він відкритий лише для читання."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s при встановленні позиції для запису на %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s при записі на %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Спробуйте `%s --help' для одержання додаткової інформації.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Використання: %s [КЛЮЧ] [ПРИСТРІЙ]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -484,7 +459,7 @@ msgstr ""
 "  -h, --help       показати це довідкове повідомлення і вийти\n"
 "  -v, --version    показати дані щодо версії і вийти\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -492,7 +467,7 @@ msgstr ""
 "\n"
 "Якщо не вказано ПРИСТРІЙ, виконується зондування всіх розділів.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -537,7 +512,7 @@ msgstr ""
 "нічого не знає про внесені вами зміни. Необхідно перезавантажити ваш "
 "комп'ютер перед виконанням будь-яких дій з %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -550,17 +525,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s при спробі синхронізації %s на диск"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Не вдається отримати статус пристрою %s - %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Не вдалося визначити тип dm %s."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -569,7 +544,7 @@ msgstr ""
 "Не вдається визначити розмір сектора для %s: %s.\n"
 "Використовується типовий розмір сектора (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -578,21 +553,21 @@ msgstr ""
 "Не вдається визначити розмір фізичного сектора для %s.\n"
 "Використовується розмір логічного сектора (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Не вдається визначити розмір %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "Загальний IDE"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Не вдається отримати ідентифікатор пристрою %s - %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "Загальний IDE"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -605,12 +580,12 @@ msgstr ""
 "комбінацій  позначка диска/файлова система, наприклад. GPT та ext2/3.\n"
 "Додаткову інформацію шукайте на веб-сайті."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Помилка ініціалізації SCSI пристрою %s - %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -619,7 +594,7 @@ msgstr ""
 "Пристрій %s є замалим для зберігання файлової системи або таблиці розділів. "
 "Можливо, ви вибрали неправильний пристрій?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -628,86 +603,99 @@ msgstr ""
 "Не вдається визначити геометрію файлу/пристрою %s. Не слід використовувати "
 "Parted, хіба що ви ДІЙСНО знаєте, що ви робите!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Типова картка зберігання даних SD/MMC"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Новий пристрій?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "DAC960 RAID контролер"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Пристрій Promise SX8 SATA"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "Пристрій ATA на основі Ethernet"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "Пристрій IBM S390 DASD"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries Virtual DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq Smart Array"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "ATARAID контролер"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "I2O контролер"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "User-Mode Linux UBD"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Пристрій зворотної петлі (loopback)"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "device-mapper Linux (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Віртуальний блоковий пристрій xen"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Невідомий"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Блоковий пристрій віртуального введення-виведення"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Програмний масив RAID Linux"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new() тип пристрою не підтримується"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Помилка під час синхронізації або закриття %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%0.0sкінець файла під час читання %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -719,12 +707,12 @@ msgstr ""
 "перезавантаження не слід підключати розділ чи використовувати будь-яким "
 "іншим чином."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Не вдалося визначити початок і довжину %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -737,38 +725,38 @@ msgstr ""
 "система продовжуватиме використовувати застарілі дані щодо розділів. Перш "
 "ніж вносити подальші зміни, вам слід перезавантажити операційну систему."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr ""
 "Неприпустимо, щоб кінець розділу був перед початком! (початковий сектор=%jd, "
 "довжина=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Спроба записати сектори %ld-%ld за межами розділу на %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "пошук пошкоджених блоків"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "У розгортці стеку є %d викликів:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Помилка у твердженні (%s) у точці %s:%d функції %s()."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: непридатна до розпізнавання мітка диска"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -777,166 +765,166 @@ msgstr ""
 "Ця версія libparted не підтримує запис на %s. Можливо програму зібрано з "
 "підтримкою лише для читання."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Розмір %d %s, але файлова система %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "вирівнювання_циліндрів"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Невідомий прапорець диска, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "%s етикетки дисків для розширених розділів не підтримуються."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr ""
 "%s етикетки дисків для логічних або розширених розділів не підтримуються."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Занадто багато основних розділів."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
 msgstr ""
 "Не вдається додати логічний розділ до %s, тому що немає розширеного розділу."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Не можна мати більше одного розширеного розділу на %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Не вдається розширити логічний розділ за межі розширеного розділу."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr ""
 "Не вдається розширити логічний розділ за межі розширеного розділу на %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Не можна додавати основний розділ у розширений розділ."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Неприпустимо, щоб розділ виходив за межі диска!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Не можна мати розділи, які перекриваються."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "метадані"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "вільно"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "розширений"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "логічний"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "основний"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "boot"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "кореневий"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "swap"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "схований"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-сервіс"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "застарілий_завантажувальний"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr "irst"
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 msgid "esp"
 msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Невідома ознака розділу, %d."
@@ -1007,29 +995,29 @@ msgstr ""
 "надішліть звіт щодо помилки електронною поштою на адресу %s, не забудьте "
 "вказати версію (%s) та додати таке повідомлення:"
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "Підтримка читання позначок дисків у стилі AIX ще не реалізована."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "Підтримка запису позначок дисків у стилі AIX ще не реалізована."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr ""
 "Підтримка додавання розділів для позначок дисків у стилі AIX ще не "
 "реалізована."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr ""
 "Підтримка дублювання розділів для позначок дисків у стилі AIX ще не "
 "реалізована."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
@@ -1037,73 +1025,180 @@ msgstr ""
 "Підтримка встановлення типу розділів для позначок дисків у стилі AIX ще не "
 "реалізована."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr ""
 "Підтримка встановлення ознак для позначок дисків у стилі AIX ще не "
 "реалізована."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted не може використовувати файлові системи HFS на дисках з розміром "
+"сектора, що некратний %d байтів."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Не можна копіювати розширені розділи."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Не вдається задовольнити всі обмеження на розділ."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Очікується номер розділу."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Не вдається розподілити слот bsd етикетки диска."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Не вдається розподілити слот етикетки диска dasd"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Неправильна таблиця розділів на %s - неправильна сигнатура %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Неправильна таблиця розділів - рекурсивні розділи на %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Розширені розділи не можуть бути на дискових етикетках msdos."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Розширені розділи не можуть бути на дискових етикетках msdos."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr "Parted не може змінювати розділи, які створені Windows Dynamic Disk."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "створити додаткові розділи неможливо"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s не містить розширеного розділу (розділу заголовків томів)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr ""
 "Неправильна контрольна сума, це означає, що таблиця розділів пошкоджена."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Лише основні розділи можуть бути завантажувальними."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Лише основні розділи можуть бути розділами підкачки."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Лише логічні розділи можуть бути завантажувальним файлом."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1112,87 +1207,91 @@ msgstr ""
 "не вдалося встановити назву розділу dvh %s:\n"
 "Лише логічні розділи (файли завантаження) можуть мати назви."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Занадто багато основних розділів"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "помилка відкриття"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "помилка позиціювання"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "помилка читання"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "помилка ioctl()"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "невідповідність версій API"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Непідтримуваний тип диска"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Непідтримуваний формат диска"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Диск зайнятий"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Синтаксична помилку у файлі налаштувань"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Мітку тому пошкоджено"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Назва набору даних пошкоджено"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Не вдалося отримати місце у пам'яті"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Помилка під час спроби перевірити пристрій"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Вказаний пристрій не є коректним пристроєм DASD"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Критична помилка"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Немає місця для мітки тому."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "Недостатньо місця для даних щодо розділу."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "Некоректна таблиця розділів тому (VTOC)."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Не вдалося отримати дані щодо версії програмного інтерфейсу"
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
@@ -1200,23 +1299,28 @@ msgstr ""
 "Поточна версія програмного інтерфейсу, «%d», не збігається з версією "
 "програмного інтерфейсу драйвера dasd, «%d»!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Не вдалося отримати дані щодо диска."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Не вдалося отримати дані щодо геометрії диска."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Не вдалося отримати дані щодо розміру блоків."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Не вдалося отримати дані щодо диска."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr "пристрій є замалим для GPT"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1226,7 +1330,7 @@ msgstr ""
 "підтримку якої передбачено у Parted. Будь ласка, повідомте нам про цю "
 "помилку!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1237,7 +1341,7 @@ msgstr ""
 "використовувався весь простір (додатково %llu блоків) або продовжити з "
 "вказаними параметрами?."
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
@@ -1246,7 +1350,7 @@ msgstr ""
 "знаходитись. Виправити це шляхом переміщення копії таблиці у кінець (та "
 "видалити стару копію)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1255,7 +1359,7 @@ msgstr ""
 "таблицю, та використовуйте функцію відновлення програми Parted, щоб "
 "повернути розділи."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1263,7 +1367,7 @@ msgstr ""
 "Резервну таблицю GPT пошкоджено, основна, здається є правильною, тому буде "
 "використано основну таблицю."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1271,62 +1375,62 @@ msgstr ""
 "Основна GPT-таблиця пошкоджена, але резервна виглядає правильною, тому буде "
 "використовуватись саме вона."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "невідповідність контрольних сум (CRC) масивів основної таблиці"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
 msgstr "не вдалося перенести назву розділу"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Неправильна сигнатура %x для Macintosh-етикетки диска."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Карта розділів не містить елементу карти розділів!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s занадто мале для Macintosh-етикетки диска!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Розділ %d має неправильну сигнатуру %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Розділ %d має неправильну довжину 0 байт!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Область даних не починається з початку розділу."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Область завантаження не починається з початку розділу."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Область завантаження розділу не займає весь розділ."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Область даних розділу не займає весь розділ."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr ""
 "Дивний розмір блоку у дескрипторі пристрою: %d байт не ділиться на 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1335,11 +1439,11 @@ msgstr ""
 "У дескрипторі драйвера зазначено, що розмір фізичного блоку дорівнює %d "
 "байтів, але Linux вважає, що він %d байтів."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Не знайдено правильної карти розділів."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1348,11 +1452,11 @@ msgstr ""
 "Конфлікт розмірів у елементах карти розділів! У елементі 1 вказано %d, але у "
 "елементі %d вказано %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Фатально! Дивна помилка - 2 елементи карти розділів!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1360,7 +1464,7 @@ msgstr ""
 "Зміна назви кореневого розділу чи розділу підкачки заважатиме Linux "
 "розпізнати їх."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Не вдається додати інший розділ - карта розділів надто маленька!"
 
@@ -1382,7 +1486,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Не вдається додати інший розділ."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1391,7 +1495,7 @@ msgstr ""
 "довжина розділу у секторах, %jd, перевищує максимум для таблиці розділу %s, "
 "%jd"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1400,60 +1504,56 @@ msgstr ""
 "номер початкового сектора, %jd, перевищує максимум для таблиці розділу %s, "
 "%jd"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s : Неправильна контрольна сума на блоці %llu типу %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : Не вдається знайти блок rdb, цього не повинно було статися."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : виявлено цикл у блоці %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : Список %s має пошкоджений блок %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : не вдається отримати список пошкоджених блоків."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : не вдається отримати список блоків розділу."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : не вдається отримати список блоків файлової системи."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : не вдається отримати список завантажувальних блоків."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Не вдається записати блок розділу у %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Очікується номер розділу."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Знайдено пошкоджену Sun-етикетку диска."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1462,17 +1562,17 @@ msgstr ""
 "ЦГС(CHS) геометрія диска (%d,%d,%d) яку видає операційна система не "
 "відповідає геометрії, що зберігається у позначці диска (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Етикетка диска описує диск більшого розміру ніж %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "Диск має %d циліндрів, що більше ніж максимальне значення 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1483,7 +1583,7 @@ msgstr ""
 "розділ реальним розділом. Solaris, можливо, не буде здатний завантажитись "
 "без нього, це також вплине на SILO (завантажувач sparc)."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Sun-етикетка диска заповнена."
 
@@ -1503,60 +1603,60 @@ msgstr "помилка під час запису на пристрій"
 msgid "reading from device failed"
 msgstr "помилка при читанні з пристрою"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Не вдалося прочитати мітку тому."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Не вдалося записати мітку тому."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Не вдається прочитати позначки VTOC."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Не вдається прочитати VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Не вдається прочитати VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Не вдається прочитати VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Не вдається прочитати VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Не вдається записати VTOC labels."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Не вдається записати VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Не вдається записати VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Не вдається записати VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Не вдається записати VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Не вдалося записати VTOC FMT9 DSCB."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Недостатньо пам'яті."
 
@@ -1579,73 +1679,73 @@ msgstr "Максимальний номер головки - %d."
 msgid "The maximum sector value is %d."
 msgstr "Максимальний номер сектора - %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Адреса %s поза межами пристрою %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Неправильне число."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "Скористайтеся меншою одиницею виміру замість значень < 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s : Помилка при виділенні блоку розділу\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s : Помилка при виділенні блоку\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s : Не вдається прочитати завантажувальний блок %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s : Не вдається прочитати кореневий блок %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s : Помилка при виділенні елементу ідентифікатора списку\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s : Не вдається прочитати блок %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s : Неправильна контрольна сума у блоці %llu типу %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s : Не вдається записати блок %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s : не вдається отримати disk_specific блок rdb\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s : Не вдається знайти блок rdb, цього не повинно було статися\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s : Не вдається прочитати блок розділу %llu\n"
@@ -1689,44 +1789,44 @@ msgstr ""
 "Геометрія CHS таблиці розділів становить (%d, %d, %d).  Якщо ви виберете "
 "Ігнорувати, геометрію CHS файлової системи буде залишено без змін."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr ""
 "Завантажувальний сектор FAT містить розмір логічного сектора, що дорівнює 0. "
 "Це дивно."
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr ""
 "У завантажувальному секторі FAT не міститься інформація про таблиці FAT. Це "
 "дивно."
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr ""
 "У відповідності до завантажувального сектора FAT, кластер містить 0 "
 "секторів. Це дивно."
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Файлові системи типу FAT12 не підтримуються."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Невідома стара сигнатура '%10s' розділу підкачки linux."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Невідома нова сигнатура '%10s' розділу підкачки linux."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Невідома сигнатура '%10s' розділу swsusp підкачки linux."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1735,16 +1835,7 @@ msgstr ""
 "Parted не може використовувати файлові системи HFS на дисках з розміром "
 "сектора, що некратний %d байтів."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Файлова система має логічний розмір сектора %d. Вважається, що GNU Parted "
-"працює неправильно з секторами, розмір яких не дорівнює 512 байт."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1759,7 +1850,7 @@ msgstr ""
 "виберете «Виправити» (Fix), геометрію CHS файлової системи буде приведено у "
 "відповідність до геометрії таблиці розділів CHS."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1778,20 +1869,20 @@ msgstr ""
 "Необхідно %s вільного простору, щоб зменшити розділ до такого розміру (зараз "
 "у вас вільно лише %s)."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
 msgstr ""
 "Кластер починається зі зсувом %d, що не є цілим числом кластерів розміру %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Неправильний елемент каталогу %s: перший кластер є кінцем маркера файла."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
@@ -1799,7 +1890,7 @@ msgstr ""
 "Помилка у FAT: незавершений ланцюг для %s. Потрібно запустити dosfsck або "
 "scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1808,7 +1899,7 @@ msgstr ""
 "Помилка у FAT: кластер %d знаходиться поза межами файлової системи у ланцюгу "
 "для %s. Потрібно запустити dosfsck або scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1817,12 +1908,12 @@ msgstr ""
 "Помилка у FAT: перехресне посилання у кластері %d для %s. Потрібно запустити "
 "dosfsck або scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s дорівнює %dk, але має %d кластерів (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1876,16 +1967,16 @@ msgstr ""
 "Не вистачає простору для всіх файлів в кореневому каталозі. Виберіть "
 "\"Скасувати\", якщо проігноруєте, це призведе до втрати  файлів."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Помилка записування у кореневий каталог."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr ""
 "Якщо залишити файлову систему як FAT16, тоді у вас не виникатиме проблем."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1895,7 +1986,7 @@ msgstr ""
 "потрібно перевстановити завантажувач MS Windows. Для цього слід переглянути "
 "довідку з Parted (або посібник з вашого дистрибутиву)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
@@ -1903,7 +1994,7 @@ msgstr ""
 "Якщо ви залишаєте файлову систему як FAT32, тоді не виникне ніяких нових "
 "проблем."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1917,35 +2008,35 @@ msgstr ""
 "унеможливить читання файлової системи під MS DOS, MS Windows 95a, та MS "
 "Windows NT."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Бажаєте використовувати FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Змінити розмір файлової системи на вказаний розмір можна лише при "
 "перетворенні на FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Змінити розмір файлової системи на вказаний розмір можна лише при "
 "перетворенні на FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1988,18 +2079,18 @@ msgstr "підтримки зміни розмірів файлових сист
 msgid "The file system is bigger than its volume!"
 msgstr "Файлова система більша ніж том!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Файлова система містить помилки."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Пошкоджені блоки не вдається прочитати."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -2008,51 +2099,51 @@ msgstr ""
 "Спроба зареєструвати екстент, о починається з блоку 0x%X, але в цій позиції "
 "вже існує інший. Слід перевірити файлову систему!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Спроба перемістити екстент з блоку Ox%X у блок Ox%X, але в цій позиції вже "
 "існує інший.  Цього не повинно бути!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr "Не вдається оновити кеш екстенту для файлу HFS з CNID %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "Спроба прочитати файл HFS з CNID %X перед EOF."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Не вдається знайти сектор %lli з файлу HFS з CNID %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "Спроба записати файл HFS з CNID %X перед EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr "Не вдається оновити кеш екстенту для файлу HFS+ з CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "Спроба прочитати файл HFS+ з CNID %X перед EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Не вдається знайти сектор %lli з файлу HFS+ з CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "Спроба записати файл HFS+ з CNID %X перед EOF."
@@ -2127,19 +2218,19 @@ msgstr "Розмір HFS+ не можна змінювати таким спос
 msgid "shrinking embedded HFS+ volume"
 msgstr "зменшення вбудованого тому HFS+"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Помилка зміни розміру тому HFS+."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "оболонка скорочення HFS"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "оновлення помилка оболонки HFS."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2148,11 +2239,11 @@ msgstr ""
 "Це не справжня перевірка %s. Відбувається лише отримання спеціальних "
 "ньзькорівневих файлів для налагодження."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Неправильна контрольна сума заголовка списку блоків."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
@@ -2160,33 +2251,34 @@ msgstr ""
 "Неправильний розмір блоку транзакції при повторному накладанні журналу (%i "
 "байтів)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Журнал розміщено поза межами тому не підтримується. Слід вимкнути журнал та "
 "перезапустити Parted."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr "Початок чи розмір журналу не є цілим числом секторів."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Неправильні сигнатури у заголовку журналу."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "Розмір журналу не відповідає значенню у інформаційному блоці журналу та "
 "заголовку журналу."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Розмір деяких полів заголовку не складає ціле число секторів."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2194,11 +2286,11 @@ msgstr ""
 "Розмір сектора, що зберігається у журналі, не дорівнює 512 байтам.  Parted "
 "підтримує лише сектори розміром 512 байтів."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Неправильна контрольна сума журналу."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2206,7 +2298,7 @@ msgstr ""
 "Журнал не порожній. Parted маж накласти транзакції перед відкривання "
 "файлової системи. Це призведе до зміни файлової системи."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2214,11 +2306,11 @@ msgstr ""
 "При накладанні журналу змінився заголовок тому чи блок головного каталогу. "
 "Слід перезапустити Parted."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Екстент не був переміщений."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2226,15 +2318,15 @@ msgstr ""
 "Посилання на екстент з місця, з якого не має бути посилання. Слід перевірити "
 "файлову систему!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr "Цей том HFS не містить файл каталогу. Досить дивно!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr "Цей том HFS не містить файлу перекривання екстентів. Досить дивно!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2242,23 +2334,23 @@ msgstr ""
 "Файл перекривання екстентів не має містить власних екстентів! Слід "
 "перевірити файлову систему."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Не вдається занести у кеш файлову систему у пам'яті."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Список неправильних блоків не було завантажено."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Помилка при переміщенні екстенту."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr "Цей том HFS+ не містить файлу каталогу.  Досить дивно!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr "Цей том HFS+ не містить файлу перекривання екстентів. Досить дивно!"
 
@@ -2368,22 +2460,22 @@ msgstr ""
 "ЦІННОСТІ чи ПРИДАТНОСТІ ДЛЯ ПЕВНОЇ МЕТИ. Докладнішу інформацію про це\n"
 "дивіться у Універсальній Публічній Ліцензії GNU.\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(залишилось часу %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr "Розділ %s наразі використовується. Ви справді хочете виконати цю дію?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Розділи на %s наразі зайняті."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2392,31 +2484,31 @@ msgstr ""
 "Існуюча позначка диска на %s буде знищена разом з усіма даними на ній. "
 "Продовжити?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Нова етикетка диска?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Тип розділу?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Назва розділу?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Тип файлової системи?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Початок?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Кінець?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2426,7 +2518,7 @@ msgstr ""
 "Найближчим придатним відповідником вказаних значень можуть бути межі від %s "
 "до %s (сектори від %llu до %llu).%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2434,83 +2526,94 @@ msgstr ""
 "\n"
 "Чи є це для вас прийнятним?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr ""
 "Отриманий у результаті розділ не буде вирівняно з метою підвищення швидкодії."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s етикетки дисків для розширених розділів не підтримуються."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Номер розділу?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr "BIOS циліндр,головка,сектор геометрія: %d,%d,%d.  Кожен циліндр %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Модель: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Диск %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Розмір сектора (логічний/фізичний): %lldБ/%lldБ\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "таблиця розділів: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Прапорці диска: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Номер"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Початок"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Кінець"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Розмір"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Тип"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Файлова система"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Назва"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Ознаки"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Вільний простір"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2519,68 +2622,69 @@ msgstr ""
 "Знайдено розділ %s %s у межах від %s -> %s. Бажаєте додати його до таблиці "
 "розділів?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "пошук файлових систем"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr "Команду resize було усунуто починаючи з версії parted 3.0"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 "Зменшення розмірів розділу може призвести до втрат даних. Ви справді хочете "
 "виконати цю дію?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Новий пристрій?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "тип вирівнювання type(min/opt)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d вирівняно\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d не вирівняно\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Ознака, яку інвертувати?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Нове значення?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Блок?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "align-check ТИП N                         перевірити розділ N щодо ТИПу(min|"
 "opt) вирівнювання"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2588,30 +2692,30 @@ msgstr ""
 "help [КОМАНДА]                вивести загальну довідку, або довідку про "
 "КОМАНДА"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
 msgstr ""
 "mklabel,mktable ТИП_ЕТИКЕТКИ  створити нову позначку диска (таблицю розділів)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart ТИП-РОЗДІЛУ [ТИП-ФС] ПОЧАТОК КІНЕЦЬ    створити розділ"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2619,19 +2723,19 @@ msgstr ""
 "'mkpart' створити розділ без створення нової файлової системи у ньому. Можна "
 "вказати ТИП-ФС для встановлення відповідного ідентифікатора розділу.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "name НОМЕР НАЗВА              призначити назву НАЗВА розділу НОМЕР"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2640,7 +2744,7 @@ msgstr ""
 "print [devices|free|list,all|ЧИСЛО]     відображає таблицю розділів, наявні "
 "пристрої, вільний простір, всі знайдені розділи, або певний розділ"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2648,11 +2752,11 @@ msgstr ""
 "Без аргументів, 'print' відображає всю таблицю розділів. Проте, з наступними "
 "аргументами виконуються інші дії.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : відображаються всі активні блочні пристрої\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2660,14 +2764,14 @@ msgstr ""
 "  free      : відображається інформація про нерозподілений простір на "
 "поточному блочному пристрої\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : відображаються таблиці розділів на всіх активних блочних "
 "пристроях\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
@@ -2675,75 +2779,75 @@ msgstr ""
 "  ЧИСЛО     : відображається докладна інформація про розділ з вказаним "
 "номером\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                          вихід з програми"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
 msgstr ""
 "rescue ПОЧАТОК КІНЕЦЬ         знайти втрачені розділи між ПОЧАТОК та КІНЕЦЬ"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr "Команду resize було усунуто починаючи з версії parted 3.0\n"
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
 msgstr "resizepart"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr ""
 "resizepart НОМЕР КІНЕЦЬ                  змінити розмір розділу з номером "
 "НОМЕР"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm НОМЕР                      видалити розділ з номером НОМЕР"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select ПРИСТРІЙ               вибирати пристрій для роботи"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "набір_дисків"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 "disk_set ПРАПОРЕЦЬ СТАН                  змінити значення ПРАПОРЦЯ для "
 "вибраного пристрою"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
@@ -2751,20 +2855,20 @@ msgstr ""
 "disk_toggle [ПРАПОРЕЦЬ]                  перемкнути стан ПРАПОРЦЯ на "
 "вибраному пристрої"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set НОМЕР ОЗНАКА СТАН         змінити ознаку розділу з номером НОМЕР"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
@@ -2772,20 +2876,20 @@ msgstr ""
 "toggle [НОМЕР [ОЗНАКА]]       перемикнути ознаку ОЗНАКА розділу з номером "
 "НОМЕР"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "unit БЛОК                     встановити для типового блоку значення БЛОК"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2793,40 +2897,40 @@ msgstr ""
 "version                       вивести поточну версію GNU Parted та "
 "інформацію про авторське право"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr ""
 "команда version виводить інформацію про версію цієї програми GNU Parted\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr ""
 "Користування: %s [-hlmsv] [-a<вирівнювання>] [ПРИСТРІЙ [КОМАНДА "
 "[ПАРАМЕТРИ]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Пристрій не знайдено"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 "ПОПЕРЕДЖЕННЯ: у вас немає адміністративних прав доступу. Спочатку вам слід "
 "отримати ці права.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Не забудьте оновити /etc/fstab, якщо це необхідно.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 "Ласкаво просимо до GNU Parted! Перелік команд виводиться командою 'help'.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2837,7 +2941,7 @@ msgstr ""
 "Виконати КОМАНДА з параметрами ПАРАМЕТРИ для пристрою ПРИСТРІЙ.  Якщо\n"
 "КОМАНДА не вказана, запускається у інтерактивному режимі.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2897,7 +3001,7 @@ msgstr ""
 "та наступний список команд, які ви вводили.\n"
 "Також включіть додаткову інформацію про параметри, які вважаєте важливими.\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2905,7 +3009,7 @@ msgstr ""
 "\n"
 "Історія команд:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2913,7 +3017,7 @@ msgstr ""
 "\n"
 "Помилка: SEGV_MAPERR (Адреса не прив'язана до об'єкту)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2921,7 +3025,7 @@ msgstr ""
 "\n"
 "Помилка: SEGV_ACCERR (Неправильні права доступу для прив'язаного об'єкту)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2929,7 +3033,7 @@ msgstr ""
 "\n"
 "Помилка: Виявлено загальний сигнал SIGSEGV.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2937,7 +3041,7 @@ msgstr ""
 "\n"
 "Помилка: FPE_INTDIV (Ціле: ділення на нуль)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2945,7 +3049,7 @@ msgstr ""
 "\n"
 "Помилка: FPE_INTOVF (Ціле число: переповнення)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2953,7 +3057,7 @@ msgstr ""
 "\n"
 "Помилка: FPE_INTDIV (Число з рухомою комою: ділення на нуль)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2961,7 +3065,7 @@ msgstr ""
 "\n"
 "Помилка: FPE_FLTOVF (Число з рухомою комою: переповнення)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2969,7 +3073,7 @@ msgstr ""
 "\n"
 "Помилка: FPE_FLTUND (Число з рухомою комою: дуже мале значення)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2977,7 +3081,7 @@ msgstr ""
 "\n"
 "Помилка: FPE_FLTRES (Число з рухомою комою: неточний результат)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2985,7 +3089,7 @@ msgstr ""
 "\n"
 "Помилка: FPE_FLTINV (Число з рухомою комою: неправильна операція)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -2993,7 +3097,7 @@ msgstr ""
 "\n"
 "Помилка: FPE_FLTSUB (Число з рухомою комою: підпис поза межами)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -3001,7 +3105,7 @@ msgstr ""
 "\n"
 "Помилка: Виявлено загальний сигнал SIGFPE."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -3009,7 +3113,7 @@ msgstr ""
 "\n"
 "Помилка: ILL_ILLOPC (Недопустимий код операцій)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3017,7 +3121,7 @@ msgstr ""
 "\n"
 "Помилка: ILL_ILLOPN (Неправильний операнд)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3025,7 +3129,7 @@ msgstr ""
 "\n"
 "Помилка: ILL_ILLADR (Неправильний режим адресації)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3033,7 +3137,7 @@ msgstr ""
 "\n"
 "Помилка: ILL_ILLTRP (Неправильна пастка)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3041,7 +3145,7 @@ msgstr ""
 "\n"
 "Помилка: ILL_PRVOPC (Код привілейованої операції)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3049,7 +3153,7 @@ msgstr ""
 "\n"
 "Помилка: ILL_PRVREG (Привілейований регістр)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3057,7 +3161,7 @@ msgstr ""
 "\n"
 "Помилка: ILL_COPROC (Помилка співпроцесора)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3065,7 +3169,7 @@ msgstr ""
 "\n"
 "Помилка: ILL_BADSTK (Внутрішня помилка стеку)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3073,65 +3177,69 @@ msgstr ""
 "\n"
 "Помилка: Виявлено загальний сигнал SIGILL."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "некоректний елемент: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Очікується номер розділу."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Розділ не існує."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Очікується тип файлова система."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Невідомий тип файлової системи \"%s\"."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Очікується тип дискової етикетки."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Не вдається додатково створити розділи."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Очікується тип розділу."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "on"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "off"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "optimal"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "minimal"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "КЛЮЧІ:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "КОМАНДИ:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3140,15 +3248,37 @@ msgstr ""
 "\n"
 "Про вади повідомляйте на цю адресу: %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Використовується %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Ця команда не має сенсу у неінтерактивному режимі.\n"
 
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: додавання аргументів до параметра «--%s» не передбачено\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: невідомий параметр «--%s»\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: додавання аргументів до параметра «-W %s» не передбачено\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: до параметра «-W %s» слід додати аргумент\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Домашня сторінка %s: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Файлова система має логічний розмір сектора %d. Вважається, що GNU Parted "
+#~ "працює неправильно з секторами, розмір яких не дорівнює 512 байт."
+
 #~ msgid "Failed to add partition %d (%s)"
 #~ msgstr "Не вдалося додати розділ %d (%s)"
 
@@ -3486,9 +3616,6 @@ msgstr "Ця команда не має сенсу у неінтерактивн
 #~ msgid "Source partition number?"
 #~ msgstr "Номер вихідного розділу?"
 
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "Не можна копіювати розширені розділи."
-
 #~ msgid "Destination partition number?"
 #~ msgstr "Номер цільового розділу?"
 
index a7898f8ab55cd34471976a29315911688b22e7af..45394d7f16edfeb49ed3c4c0da3c64d4ea7c3b14 100644 (file)
Binary files a/po/vi.gmo and b/po/vi.gmo differ
index 1940251569ae9a44fffc822b684532b24d664d73..5467235d483a3f333d48e3fce4907fd7a7ce4bb8 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
 "PO-Revision-Date: 2014-07-04 14:20+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -18,87 +18,68 @@ msgstr ""
 "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 1.5.5\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "đối số không hợp lệ %s cho %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "đối số không rõ ràng %s cho %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
 msgstr "Các đối số hợp lệ là:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
 msgstr "lỗi ghi nhớ"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
 msgstr "Gặp lỗi hệ thống không rõ"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: tùy chọn “-W %s” chưa rõ ràng\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s: tùy chọn “%s” chưa rõ ràng; khả năng là:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: tùy chọn “--%s” không cho phép đối số\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: không nhận ra tùy chọn “%c%s”\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s: tùy chọn “%c%s” không cho phép đối số\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s: tùy chọn “--%s” yêu cầu một đối số\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: không nhận ra tùy chọn “--%s”\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: không nhận ra tùy chọn “%c%s”\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: tùy chọn không hợp lệ -- “%c”\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: tùy chọn yêu cầu một đối số -- “%c”\n"
 
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: tùy chọn “-W %s” chưa rõ ràng\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: tùy chọn “-W %s” không cho phép đối số\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: tùy chọn “-W %s” yêu cầu một đối số\n"
-
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
 #. The message catalog should translate "`" to a left
@@ -118,85 +99,86 @@ msgstr "%s: tùy chọn “-W %s” yêu cầu một đối số\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "“"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "”"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "Thành công"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
 msgstr "Không tìm thấy"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
 msgstr "Biểu thức chính quy không hợp lệ"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
 msgstr "Ký tự đối chiếu không hợp lệ"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
 msgstr "Sai đặt tên lớp ký tự"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
 msgstr "Có dấu chéo ngược theo sau"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
 msgstr "Sai đặt tham chiếu ngược"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "Có một ký tự “[” hay “[^” lẻ đôi"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
 msgstr "Có một ký tự “(” hay “\\(” lẻ đôi"
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
 msgstr "Có ký tự “\\{” lẻ đôi"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
 msgstr "Nội dung của “\\{\\}” không hợp lệ"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
 msgstr "Sai kết thúc phạm vi"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
 msgstr "Cạn bộ nhớ"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
 msgstr "Sai đặt biểu thức chính quy đi trước"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
 msgstr "Kết thúc sớm biểu thức chính quy"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
 msgstr "Biểu thức chính quy quá lớn"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
 msgstr "Có một ký tự “)” hay “\\)” lẻ đôi"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
 msgstr "Không có biểu thức chính quy đi trước"
 
@@ -220,12 +202,12 @@ msgstr "^[cCyY]"
 msgid "^[nN]"
 msgstr "^[kKnN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Đóng gói bởi %s (%s)\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Đóng gói bởi %s\n"
@@ -233,18 +215,17 @@ msgstr "Đóng gói bởi %s\n"
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "Giấy phép GPL pb3+: Giấy phép Công cộng GNU phiên bản 3 hay sau\n"
@@ -254,19 +235,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Viết bởi %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Viết bởi %s và %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Viết bởi %s, %s và %s.\n"
@@ -274,7 +255,7 @@ msgstr "Viết bởi %s, %s và %s.\n"
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -286,7 +267,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -298,7 +279,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -310,7 +291,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -322,7 +303,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,7 +317,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -350,7 +331,7 @@ msgstr ""
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -365,33 +346,27 @@ msgstr ""
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "Gửi báo cáo lỗi tới: <%s>\n"
 "Thông báo lỗi dịch cho: <http://translationproject.org/team/vi.html>.\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Thông báo lỗi %s nào cho: %s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Trang chủ %s: <%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Trang chủ %s: <http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr ""
 "Trợ giúp chung về sử dụng phần mềm GNU: <http://www.gnu.org/gethelp/>\n"
 
@@ -419,58 +394,58 @@ msgid "Disk Image"
 msgstr "Ảnh Đĩa"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "Lỗi mở %s: %s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr "Không mở được %s đọc-ghi (%s).  %s đã được mở ở tình trạng chỉ đọc."
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "%s trong khi tìm nơi để đọc trên %s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "%s trong khi đọc trên %s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "Không thể ghi nhớ vào %s, vì nó đã được mở ở tình trạng chỉ đọc."
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "%s trong khi tìm nơi để ghi trên %s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "%s trong khi ghi trên %s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Hãy thử chạy câu lệnh trợ giúp “%s --help” để biết thêm thông tin.\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "Cách dùng: %s [TÙY_CHỌN] [THIẾT_BỊ]...\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -486,7 +461,7 @@ msgstr ""
 "  -h, --help       hiển thị trợ giúp này, sau đó thoát\n"
 "  -v, --version    xuất thông tin về phiên bản, sau đó thoát\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -494,7 +469,7 @@ msgstr ""
 "\n"
 "Không đưa ra THIẾT_BỊ thì thăm dò mọi phân vùng.\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -541,7 +516,7 @@ msgstr ""
 "gì về những thay đổi đã tạo ra.  Người dùng cần khởi động lại máy tính trước "
 "khi thực hiện bất kỳ thao tác nào với %s."
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -554,17 +529,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s đang thử đồng bộ hoá %s với đĩa"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
 msgstr "Không thể lấy trạng thái về thiết bị %s — %s."
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "Không thể xác định kiểu dm của %s."
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -573,7 +548,7 @@ msgstr ""
 "Không thể quyết định kích cỡ rãnh ghi đối với %s: %s\n"
 "nên dùng kích cỡ rãnh ghi mặc định (%lld)."
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -582,21 +557,21 @@ msgstr ""
 "Không thể quyết định kích cỡ rãnh ghi vật lý đối với %s\n"
 "nên dùng kích cỡ rãnh ghi lô-gíc (%lld)."
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "Không thể quyết định kích cỡ của %s (%s)."
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "IDE giống loài"
+
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
 msgstr "Không thể nhận diện thiết bị %s — %s"
 
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr "IDE giống loài"
-
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -609,12 +584,12 @@ msgstr ""
 "đối với một số tổ hợp nhãn đĩa/hệ thống tập tin, v.d. GPT và ext2/3.\n"
 "Hãy thăm trang chủ Web để tìm thông tin đã cập nhật."
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
 msgstr "Gặp lỗi khi sơ khởi thiết bị SCSI %s — %s"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
@@ -623,7 +598,7 @@ msgstr ""
 "Thiết bị %s quá nhỏ, và không thể dùng để cất giữ một hệ thống tập tin hay "
 "bảng phân vùng. Có thể bạn đã chọn nhầm thiết bị?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -632,86 +607,99 @@ msgstr ""
 "Không nhận ra cấu trúc hình học của tập tin/thiết bị %s.  Không được sử dụng "
 "Parted trừ khi THỰC SỰ biết mình đang làm gì!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "Bo mạch lưu trữ SD/MMC giống loài"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "Thiết bị mới?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "Bộ điều khiển RAID DAC960"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Thiết bị SATA SX8 Promise"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "ATA qua thiết bị Ethernet"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "Ổ đĩa DASD S390 IBM"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "DASD Ảo iSeries IBM"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Mảng Khéo Compaq"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "Bộ điều khiển ATARAID"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "Bộ điều khiển I2O"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "UBD Linux Chế độ Người dùng"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "Thiết bị vòng lặp"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Bộ ánh xạ thiết bị Linux (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Thiết bị Khối Ảo Xen"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
 msgstr "Không rõ"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Thiết bị khối Virtio"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Mảng RAID phần mềm Linux"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
 msgstr "ped_device_new()  Kiểu thiết bị không được hỗ trợ"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "Lỗi fsync hay đóng %s: %s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "% 0.0scuối của tệp tin trong khi đọc %s"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -723,12 +711,12 @@ msgstr ""
 "khởi động lại, thì bạn không nên gắn kết nó hoặc sử dụng nó bằng cách nào cả "
 "trước khi khởi động lại."
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
 msgstr "Không thể xác định điểm bắt đầu và độ dài của %s."
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -741,38 +729,38 @@ msgstr ""
 "là (các) phiên bản cũ còn lại được sử dụng. Bạn nên khởi động lại ngay bây "
 "giờ mà không làm thay đổi thêm nào."
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
 msgstr ""
 "Không thể có kết thúc đứng trước bắt đầu! (bắt đầu rãnh_ghi=%jd chiều_dài="
 "%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "Cố ghi các rãnh ghi %ld-%ld nằm ngoài phân vùng trên %s."
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "đang kiểm tra tìm khối hỏng"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "Truy ngược có %d lời gọi trên đống:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "Khẳng định (%s) tại %s:%d trong hàm %s() bị lỗi."
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: không nhận ra nhãn đĩa"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
@@ -781,164 +769,164 @@ msgstr ""
 "Thư viện libparted này không hỗ trợ ghi vào %s.  Có thể đã biên dịch nó chỉ "
 "đọc."
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "Phân vùng %d là %s, nhưng hệ thống tập tin là %s."
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "cylinder_alignment"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "Không nhận ra cờ đĩa, %d."
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "Nhãn đĩa %s không hỗ trợ phiên bản mở rộng."
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "Nhãn đĩa %s không hỗ trợ phiên bản kiểu mở rộng hay lô-gíc."
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "Quá nhiều phân vùng chính."
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
 msgstr ""
 "Không thể thêm vào %s một phân vùng lô-gíc, vì không có phân vùng mở rộng."
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "Không cho phép nhiều hơn một phân vùng mở rộng trên %s."
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "Không cho phép phân vùng lô-gíc nằm ngoài phân vùng mở rộng."
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "Không cho phép phân vùng lô-gíc nằm ngoài phân vùng mở rộng trên %s."
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "Không cho phép phân vùng chính nằm trong phân vùng mở rộng."
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "Không thể có phân vùng nằm ngoài đĩa!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "Không cho phép các phân vùng chồng chéo lên nhau."
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "siêu dữ liệu"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "trống"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "mở rộng"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "lô-g"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "chính"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "khởi động"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "gốc"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "trao đổi"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "ẩn"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "dịch vụ HP"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "chuẩn bị"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
+#: libparted/disk.c:2399
 msgid "msftdata"
 msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
 msgstr "irst"
 
-#: libparted/disk.c:2408
+#: libparted/disk.c:2409
 msgid "esp"
 msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
 msgstr "Không nhận ra cờ phân vùng, %d."
@@ -1008,97 +996,204 @@ msgstr ""
 "thích hợp với báo cáo lỗi! Xin hãy gửi thư thông báo tới  %s kèm theo ít "
 "nhất là số phiên bản (%s) và thông tin sau đây:"
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "Chưa thực hiện hỗ trợ đọc nhãn đĩa AIX."
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "Chưa thực hiện hỗ trợ ghi nhãn đĩa AIX."
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr "Chưa thực hiện hỗ trợ thêm phân vùng vào nhãn đĩa AIX."
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr "Chưa thực hiện hỗ trợ nhân đôi phân vùng trong nhãn đĩa AIX."
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
 msgstr ""
 "Chưa thực hiện hỗ trợ đặt loại hệ thống của phân vùng trong nhãn đĩa AIX."
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr "Chưa thực hiện hỗ trợ đặt cờ trong nhãn đĩa AIX."
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr ""
+"Parted không dùng được hệ thống tập tin HFS trên đĩa có kích cỡ rãnh ghi "
+"khác %d byte."
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+#, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "Không thể sao chép phân vùng mở rộng."
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "Không thể thoả mọi ràng buộc trên phân vùng."
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "Không thể cấp phát một số thứ tự phân vùng."
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "Không thể cấp phát một khe nhãn đĩa sai."
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
 msgstr "Không thể cấp phát một khe nhãn đĩa DASD"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "Gặp bảng phân vùng sai trên %s -- chữ ký không đúng %x."
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
 msgstr "Bảng phân vùng sai -- phiên bản đệ quy trên %s."
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "Phân vùng mở rộng không thể bị ẩn trên nhãn đĩa MSDOS."
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "Phân vùng mở rộng không thể bị ẩn trên nhãn đĩa MSDOS."
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr ""
 "Parted không thể thay đổi kích cỡ của phân vùng bị Windows Dynamic Disk quản "
 "lý."
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "không thể tạo phân vùng thêm nữa."
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s không có phân vùng mở rộng (phân vùng phần đầu của khối tin)."
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "Sai kiểm tổng (checksum) thì bảng phân vùng bị hỏng."
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "Chỉ phân vùng chính có thể là phân vùng gốc."
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "Chỉ phân vùng chính có thể là phân vùng trao đổi."
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "Chỉ phân vùng lô-gíc có thể là một tập tin khởi động."
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1107,87 +1202,91 @@ msgstr ""
 "lỗi đặt tên phân vùng DVH thành %s:\n"
 "Chỉ phân vùng lôgíc (tập tin khởi động) có một tên."
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "Quá nhiều phân vùng chính"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "lỗi mở"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "lỗi di chuyển vị trí đọc"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "lỗi đọc"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "lỗi ioctl()"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "Phiên bản API không tương ứng"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "Loại đĩa không được hỗ trợ"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "Định dạng đĩa không được hỗ trợ"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "Đĩa đang được sử dụng"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "Gặp lỗi cú pháp trong tập tin cấu hình"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
 msgstr "Nhãn khối tin bị hỏng"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "Một tên tập hợp dữ liệu bị hỏng"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "Lỗi cấp phát bộ nhớ"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "Lỗi thẩm tra thiết bị"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "Thiết bị đã ghi rõ không phải là một thiết bị DASD hợp lệ"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "Lỗi nghiêm trọng"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
 msgstr "Không còn chỗ trống cho nhãn khối tin."
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "không có chỗ trống cho thông tin về phiên bản."
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "VTOC không hợp lệ."
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "Không thể lấy phiên bản API."
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
@@ -1195,23 +1294,28 @@ msgstr ""
 "Phiên bản API hiện thời “%d” không tương ứng với phiên bản API trình điều "
 "khiển DASD “%d”!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "Không thể lấy thông tin về đĩa."
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "Không thể lấy thông tin về cấu trúc hình học của đĩa."
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "Không thể lấy thông tin về kích cỡ khối."
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "Không thể lấy thông tin về đĩa."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
 msgstr "thiết bị quá nhỏ cho GPT"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1220,7 +1324,7 @@ msgstr ""
 "Định dạng của bảng phân vùng GPT có phiên bản %x, mới hơn so với phiên bản "
 "Parted có thể nhận ra.  Xin hãy báo cáo điều này cho chúng tôi biết!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
@@ -1231,7 +1335,7 @@ msgstr ""
 "dùng có thể sửa GPT để sử dụng toàn bộ sức chứa (%llu khối bổ sung) hoặc "
 "tiếp tục với thiết lập hiện thời."
 
-#: libparted/labels/gpt.c:1006
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
@@ -1239,7 +1343,7 @@ msgstr ""
 "Bảng GPT sao lưu không nằm tại cuối đĩa như yêu cầu. Sửa bằng cách di chuyển "
 "phần sao lưu tới cuối (và xóa bỏ sao lưu cũ)?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
@@ -1247,7 +1351,7 @@ msgstr ""
 "Cả bảng GPT chính và sao lưu đều hỏng.  Hãy thử tạo một bảng mới, và sử dụng "
 "tính năng cứu nguy của Parted để phục hồi các phân vùng."
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
@@ -1255,7 +1359,7 @@ msgstr ""
 "Bảng GPT sao lưu bị hỏng, nhưng bảng chính hình như vẫn tốt, vì thế sẽ sử "
 "dụng bảng chính."
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
@@ -1263,62 +1367,62 @@ msgstr ""
 "Bảng GPT chính bị hỏng, nhưng sao lưu hình như vẫn tốt, vì thế sẽ sử dụng "
 "sao lưu."
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
 msgstr "sai khớp CRC mảng bảng phân vùng chính"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
 msgstr "gặp lỗi khi dịch tên phân vùng"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "Chữ ký sai %x đối với nhãn đĩa Mac."
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "Sơ đồ phân vùng không có mục nhập sơ đồ phân vùng!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s quá nhỏ cho một nhãn đĩa Mac!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "Phân vùng %d có một chữ ký sai %x."
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "Phân vùng %d có chiều dài sai 0 byte!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "Vùng dữ liệu không bắt đầu ở đầu của phân vùng."
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "Vùng khởi động không bắt đầu ở đầu của phân vùng."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "Vùng khởi động của phân vùng không chiếm toàn bộ phân vùng."
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "Vùng dữ liệu của phân vùng không chiếm toàn bộ phân vùng."
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
 msgstr ""
 "Kích thước khối kỳ lạ trên mô tả thiết bị: %d byte không chia hết cho 512."
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
@@ -1327,11 +1431,11 @@ msgstr ""
 "Mô tả của trình điều khiển cho biết kích thước khối là %d byte, nhưng Linux "
 "nói nó %d byte."
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "Không tìm thấy sơ đồ phân vùng hợp lệ."
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
@@ -1340,11 +1444,11 @@ msgstr ""
 "Xung đột kích thước mục sơ đồ phân vùng!  Mục 1 nói là %d, nhưng mục %d nói "
 "là %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "Kỳ lạ - có hai mục sơ đồ phân vùng!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
@@ -1352,7 +1456,7 @@ msgstr ""
 "Thay đổi tên của một phân vùng gốc hay trao đổi sẽ khiến Linux không nhận ra "
 "chúng như trước."
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
 msgstr "Không thêm được phân vùng bổ sung - sơ đồ phân vùng quá nhỏ!"
 
@@ -1374,7 +1478,7 @@ msgstr ""
 msgid "Can't add another partition."
 msgstr "Không thêm được phân vùng bổ sung."
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1383,7 +1487,7 @@ msgstr ""
 "chiều dài phân vùng %1$jd vượt quá chiều dài tối đa %3$jd bị bảng phân vùng "
 "%2$s ép buộc"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
@@ -1392,60 +1496,56 @@ msgstr ""
 "bắt đầu ở số thứ tự rãnh ghi, %1$jd vượt quá chiều dài tối đa %3$jd bị bảng "
 "phân vùng %2$s ép buộc"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s: Sai kiểm tổng (checksum) trên khối %llu có loại %s."
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s : Không tìm thấy khối rdb, không bao giờ nên xảy ra."
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s : Phát hiện vòng lặp tại khối %d."
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%s : Danh sách %s hình như sai tại khối %s."
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s : Lỗi liệt kê các khối sai."
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s : Lỗi liệt kê các khối phân vùng."
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s : Lỗi liệt kê các khối hệ thống tập tin."
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s : Lỗi liệt kê các khối khởi động."
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "Lỗi ghi khối phân vùng tại %d."
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "Không thể cấp phát một số thứ tự phân vùng."
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "Nhận ra một nhãn đĩa Sun bị hỏng."
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
@@ -1454,17 +1554,17 @@ msgstr ""
 "Cấu trúc hình học CHS của đĩa (%d,%d,%d) được hệ điều hành thông báo không "
 "tương ứng cấu trúc chứa trong nhãn đĩa (%d,%d,%d)."
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "Nhãn đĩa mô tả một đĩa lớn hơn %s."
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "Đĩa có %d trụ, mà lớn hơn số tối đa 65536."
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1476,7 +1576,7 @@ msgstr ""
 "Solaris có thể sẽ không khởi động khi không có nó, và SILO (trình khởi động "
 "sparc) cũng cần phân vùng này."
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Nhán đĩa Sun đầy."
 
@@ -1496,60 +1596,60 @@ msgstr "lỗi ghi vào thiết bị"
 msgid "reading from device failed"
 msgstr "lỗi đọc từ thiết bị"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
 msgstr "Không thể đọc nhãn khối tin."
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
 msgstr "Không thể ghi nhãn khối tin."
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "Không thể đọc các nhãn VTOC."
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "Không thể đọc VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "Không thể đọc VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "Không thể đọc VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "Không thể đọc VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "Không thể ghi nhãn VTOC."
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "Không thể ghi VTOC FMT1 DSCB."
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "Không thể ghi VTOC FMT4 DSCB."
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "Không thể ghi VTOC FMT5 DSCB."
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "Không thể ghi VTOC FMT7 DSCB."
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
 msgstr "Không thể ghi VTOC FMT9 DSCB."
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "Không đủ bộ nhớ."
 
@@ -1572,73 +1672,73 @@ msgstr "Giá trị đầu tối đa là %d."
 msgid "The maximum sector value is %d."
 msgstr "Giá trị rãnh ghi tối đa là %d."
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "Vị trí %s nằm ngoài thiết bị %s."
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "Con số không hợp lệ."
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "Sử dụng một đơn vị nhỏ hơn thay vì giá trị < 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s: Lỗi cấp phát khối phân vùng\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s: Lỗi cấp phát khối\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s: Không thể đọc khối khởi động %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s: Không thể đọc khối khởi động %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s: Lỗi cấp phát phần tử danh sách mã số\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s: Không thể đọc khối %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s: Sai kiểm tổng (checksum) trên khối %llu có loại %s\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s: Không thể ghi khối %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s: Lỗi cấp phát khối rdb disk_specific (đặc trưng cho đĩa)\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s: Không tìm thấy khối rdb, không bao giờ nên xảy ra\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s: Lỗi đọc khối phân vùng %llu\n"
@@ -1684,38 +1784,38 @@ msgstr ""
 "Hình thái học (CHS) hệ thống tệp tin là (%d, %d, %d), mà nó thì không hợp "
 "lệ.  Hình thái học CHS của bảng phân vùng lại là (%d, %d, %d)."
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr "Rãnh ghi khởi động FAT nói kích thước rãnh ghi lô-gíc là 0.  Kỳ lạ. "
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr "Rãnh ghi khởi động FAT nói không có bảng FAT.  Kỳ lạ. "
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr "Rãnh ghi khởi động FAT nói liên cung là 0 rãnh ghi.  Kỳ lạ. "
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "Hệ thống tập tin là FAT12, mà không được hỗ trợ."
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "Chữ ký trao đổi linux kiểu cũ không nhận ra “%10s”."
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "Chữ ký trao đổi linux kiểu mới không nhận ra “%10s”."
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "Chữ ký trao đổi linux swsusp không nhận ra “%9s”."
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
@@ -1724,16 +1824,7 @@ msgstr ""
 "Parted không dùng được hệ thống tập tin HFS trên đĩa có kích cỡ rãnh ghi "
 "khác %d byte."
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"Hệ thống tập tin có kích thước rãnh ghi lô-gíc là %d.  GNU Parted không làm "
-"việc chính xác với kích thước rãnh ghi khác 512 byte."
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1748,7 +1839,7 @@ msgstr ""
 "“Sửa” thì cấu trúc hình học CHS của hệ thống tập tin được đặt để tương ứng "
 "với cấu trúc hình học CHS của bảng phân vùng."
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1766,7 +1857,7 @@ msgstr ""
 "Người dùng cần %s không gian trống để rút ngắn phân vùng tới kích thước này "
 "(hiện thời chỉ có %s trống)."
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
@@ -1774,19 +1865,19 @@ msgstr ""
 "Delta bắt đầu liên cung = %d, mà không phải là bội số của kích thước liên "
 "cung %d."
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr ""
 "Mục thư mục xấu cho %s: liên cung đầu tiên là cuối của đánh dấu tập tin."
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
 msgstr "FAT xấu: chuỗi không kết thúc cho %s.  Cần chạy dosfsck hoặc scandisk."
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
@@ -1795,7 +1886,7 @@ msgstr ""
 "FAT xấu: liên cung %d ngoài hệ thống tập tin trong chuỗi cho %s.  Cần chạy "
 "dosfsck hoặc scandisk."
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
@@ -1804,12 +1895,12 @@ msgstr ""
 "FAT xấu: liên cung %d là liên kết chồng chéo cho %s.  Cần chạy dosfsck hoặc "
 "scandisk."
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s là %dk, nhưng nó có %d liên cung (%dk)."
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1861,15 +1952,15 @@ msgstr ""
 "Không đủ chỗ trống trong thư mục gốc để chứa tất cả các tập tin.  Hoặc Thôi "
 "(cancel), hoặc Bỏ qua (ignore) và sẽ mất các tập tin."
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "Gặp lỗi khi ghi vào thư mục gốc."
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "Nếu để hệ thống tập tin là FAT16, thì sẽ không có vấn đề gì."
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1879,13 +1970,13 @@ msgstr ""
 "phải cài đặt lại trình khởi động của MS Windows.  Nếu muốn thực hiện, thì "
 "cần xem tài liệu người dùng của Parted (hoặc tài liệu của nhà phân phối)."
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr "Nếu dể hệ thống là FAT32, thì sẽ không có vấn đề mới nào xảy ra."
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1899,35 +1990,35 @@ msgstr ""
 "Đồng thời, chuyển thành FAT32 sẽ khiến MS DOS, MS Windows 95a, và MS Windows "
 "NT không đọc được chúng."
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "Bạn có muốn dùng FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr ""
 "Chỉ thay đổi được kích thước của hệ thống tập tin thành kích thước này khi "
 "chuyển thành FAT16."
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr ""
 "Chỉ thay đổi được kích thước của hệ thống tập tin thành kích thước này khi "
 "chuyển thành FAT32."
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr ""
@@ -1971,18 +2062,18 @@ msgstr ""
 msgid "The file system is bigger than its volume!"
 msgstr "Hệ thống tập tin lớn hơn khối tin!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "Hệ thống tập tin chứa lỗi."
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "Không thể đọc khối xấu."
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
@@ -1991,51 +2082,51 @@ msgstr ""
 "Đang cố đăng ký một tầm bắt đầu tại khối 0x%X, nhưng một tầm khác đã có tại "
 "vị trí này. Người dùng cần kiểm tra hệ thống tập tin."
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "Đang cố di chuyển một tầm từ khối Ox%X sang khối Ox%X, nhưng một tầm khác đã "
 "có tại vị trí này. Trường hợp này không nên xảy ra."
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr "Không thể cập nhật vùng nhớ tạm tầm cho tập tin HFS với CNID %X."
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "Đang thử đọc tập tin HFS với CNID %X đằng sau EOF."
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "Không tìm thấy rãnh ghi %lli của tập tin HFS với CNID %X."
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "Đang thử ghi tập tin HFS với CNID %X đằng sau EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr "Không thể cập nhật vùng nhớ tạm tầm cho tập tin HFS+ với CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "Đang thử đọc tập tin HFS+ với CNID %X đằng sau EOF."
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "Không tìm thấy rãnh ghi %lli của tập tin HFS+ với CNID %X."
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "Đang thử ghi tập tin HFS+ với CNID %X đằng sau EOF."
@@ -2112,19 +2203,19 @@ msgstr "Tiếc là chưa có thể thay đổi kích cỡ HFS bằng cách đó.
 msgid "shrinking embedded HFS+ volume"
 msgstr "đang rút ngắn khối tin HFS+"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
 msgstr "Lỗi thay đổi kích cỡ của khối tin HFS+."
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "đang rút ngắn bộ bao bọc HFS"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "Lỗi cập nhật bộ bao bọc HFS."
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
@@ -2133,45 +2224,46 @@ msgstr ""
 "Đây không phải là một kiểm tra %s thật. Tiến trình này sẽ tách các tập tin "
 "cấp thấp đặc biệt cho mục đích gỡ lỗi."
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "Sai kiểm tổng (checksum) phần đầu danh sách khối xấu."
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr ""
 "Gặp kích cỡ sai của khối giao dịch trong khi phát lại nhật ký (%i byte)."
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
 msgstr ""
 "Nhật ký nằm ngoài khối tin thì không được hỗ trợ. Hãy thử tắt nhật ký, sau "
 "đó chạy lại Parted."
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr ""
 "Hiệu hay kích cỡ của nhất ký không phải là bội số cho kích cỡ rãnh ghi."
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "Gặp giá trị ma thuật sai trong phần đầu nhật ký."
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
 msgstr ""
 "Kích cỡ nhật ký không tương ứng giữa khối thông tin nhật ký và phần đầu nhật "
 "ký."
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "Một số trường phần đầu không phải là bội số cho kích cỡ rãnh ghi."
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
@@ -2179,11 +2271,11 @@ msgstr ""
 "Kích cỡ rãnh ghi được cất giữ trong nhật ký không phải là 512 byte. Parted "
 "chỉ hỗ trợ rãnh ghi có chiều dài 512 byte."
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "Lỗi tổng kiểm tra nhật ký."
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2191,7 +2283,7 @@ msgstr ""
 "Nhật ký không trống. Parted phải phát lại các giao dịch trước khi mở hệ "
 "thống tập tin. Tiến trình này sẽ sửa đổi hệ thống tập tin."
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
@@ -2199,11 +2291,11 @@ msgstr ""
 "Phần đầu khối tin hoặc khối thư mục chủ bị thay đổi trong khi phát lại nhật "
 "ký. Cần khởi chạy lại Parted."
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "Một tầm chưa được định vị lại."
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
@@ -2211,15 +2303,15 @@ msgstr ""
 "Tham chiếu đến một tầm đến từ vị trí không đúng. Cần kiểm tra hệ thống tập "
 "tin!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
 msgstr "Khối tin HFS không có tập tin phân loại. Rất lạ!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
 msgstr "Khối tin HFS không có tập tin tràn tầm. Hơi lạ."
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
@@ -2227,23 +2319,23 @@ msgstr ""
 "Tập tin trản tầm không nên chứa các tầm của mình. Cần kiểm tra hệ thống tập "
 "tin."
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "Không thể nhớ tạm hệ thống tập tin trong bộ nhớ."
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "Không thể nạp danh sách khối xấu."
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "Gặp lỗi trong khi định vị lại tầm."
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
 msgstr "Khối tin HFS+ không có tập tin phần loại. Rất lạ!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
 msgstr "Khối tin HFS+ không có tập tin tràn tầm. Hơi lạ."
 
@@ -2360,22 +2452,22 @@ msgstr ""
 "Xem Giấy Phép Công Cộng GNU để biết thêm chi tiết.\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(còn lại %.2d:%.2d)"
 
-#: parted/parted.c:230
+#: parted/parted.c:231
 #, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
 msgstr "Phân vùng %s đang được dùng. Bạn có thực sự muốn tiếp tục không?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "Phân vùng trên %s đang được dùng."
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2384,31 +2476,31 @@ msgstr ""
 "Nhãn đĩa đã tồn tại trên %s sẽ bị hủy và tắt cả các dữ liệu trên đĩa này sẽ "
 "bị mất hoàn toàn. Bạn vẫn còn muốn tiếp tục không?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "Kiểu nhãn đĩa mới?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "Kiểu phân vùng?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "Tên phân vùng?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "Kiểu hệ thống tập tin?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
 msgstr "Đầu?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
 msgstr "Cuối?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2417,7 +2509,7 @@ msgstr ""
 "Người dùng đã yêu cầu một phân vùng từ %s đến %s (rãnh ghi %llu..%llu).\n"
 "Vùng gần nhất có thể quản lý là %s đến %s (rãnh ghi %llu..%llu).%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2425,82 +2517,93 @@ msgstr ""
 "\n"
 "Vẫn tốt?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr "Phân vùng kết quả chưa được sắp hàng cho hiệu suất tốt nhất."
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "Nhãn đĩa %s không hỗ trợ phiên bản mở rộng."
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "Số thứ tự phân vùng?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr "Dạng hình trụ,đầu,rãnh ghi BIOS: %d,%d,%d. Mỗi trụ là %s.\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "Mô hình: %s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "Đĩa %s: %s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "Kích cỡ rãnh ghi (lô-gíc/vật lý): %lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "Bảng Phân Vùng: %s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "Các cờ của đĩa: %s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "Số"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
 msgstr "Đầu"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
 msgstr "Cuối"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "Kích cỡ"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "Kiểu"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "Hê thống tập tin"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "Tên"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "Cờ"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "Chỗ trống"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
@@ -2508,68 +2611,69 @@ msgid ""
 msgstr ""
 "Tìm thấy một phân vùng %s %s tại %s -> %s.  Thêm nó vào bảng phân vùng?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "đang tìm kiếm hệ thống tập tin"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
 msgstr "Lệnh resize đã bị gỡ bỏ trong parted 3.0"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
 msgstr ""
 "Co nhỏ một phân vùng có thể làm dữ liệu bị mất, bạn có thực sự muốn tiếp tục "
 "không?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "Thiết bị mới?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "cách sắp hàng (tiểu/quang)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d đã xếp hàng\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d chưa xếp hàng\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "Cờ cần đảo ngược?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "Tình trạng mới?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "Đơn vị?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
 msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
 "align-check KIỂU N                       kiểm tra phân vùng SỐ có sắp hàng "
 "KIỂU (min|opt)"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "trợ giúp"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
@@ -2577,15 +2681,15 @@ msgstr ""
 "help [LỆNH]                              in trợ giúp chung, hoặc trợ giúp "
 "trên câu LỆNH"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "tạo nhãn"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "tạo bảng"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
@@ -2593,15 +2697,15 @@ msgstr ""
 "mklabel,mktable KIỂU_NHÃN                tạo một nhãn đĩa mới (bảng phân "
 "vùng)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "tạo phân vùng"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
 msgstr "mkpart KIỂU_PV [KIỂU_HTTT] ĐẦU CUỐI      tạo một phân vùng"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
@@ -2610,19 +2714,19 @@ msgstr ""
 "vùng đó.  Có thể chỉ ra KIỂU_HTTT (kiểu hệ thống tập tin) để đặt một mã số "
 "phân vùng thích hợp.\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "tên"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr "name SỐ TÊN                              đặt tên phân vùng SỐ là TÊN"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "in"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
@@ -2634,7 +2738,7 @@ msgstr ""
 " • list,all  tất cả các phân vùng tìm thấy\n"
 " • SỐ        một phân vùng cụ thể"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
@@ -2642,11 +2746,11 @@ msgstr ""
 "Khi không có đối số, “print” hiển thị toàn bộ bảng phân vùng.  Nếu đưa ra "
 "các đối số theo sau, thì nó làm một số hành vi khác.\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices   : hiển thị tất cả các thiết bị khối vẫn hoạt động\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
@@ -2654,32 +2758,32 @@ msgstr ""
 "  free      : hiển thị thông tin về chỗ còn trống chưa phân vùng trên thiết "
 "bị khối hiện thời\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr ""
 "  list, all : hiển thị các bảng phân vùng của mọi thiết bị khối vẫn hoạt "
 "động\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr "  SỐ             : hiển thị nhiều thông tin hơn nữa về phân vùng này\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "thoát"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     thoát khỏi chương trình"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "cứu"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
@@ -2687,53 +2791,53 @@ msgstr ""
 "rescue ĐẦU CUỐI                          phục hồi một phân vùng đã mất cạnh "
 "ĐẦU và CUỐI"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "đổi cỡ"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
 msgstr "Lệnh resize đã bị gỡ bỏ trong parted 3.0\n"
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
 msgstr "resizepart"
 
-#: parted/parted.c:2009
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
 msgstr "resizepart SỐ CUỐI                       đổi cỡ phân vùng SỐ"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "bỏ"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm SỐ                                    xóa bỏ phân vùng SỐ"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "chọn"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
 msgstr "select THIẾT_BỊ                          chọn thiết bị cần sửa"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "disk_set"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr ""
 "disk_set  TRẠNG_THÁI_CỜ                  thay đổi CỜ trên thiết bị đã chọn"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
@@ -2741,20 +2845,20 @@ msgstr ""
 "disk_toggle [CỜ]                         bật/tắt tình trạng của CỜ trên "
 "thiết bị đã chọn"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "đặt"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set SỐ CỜ TÌNH TRẠNG                     thay đổi CỜ trên phân vùng SỐ"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "bật/tắt"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
@@ -2762,20 +2866,20 @@ msgstr ""
 "toggle [SỐ [CỜ]]                         bật/tắt tình trạng của CỜ trên phân "
 "vùng SỐ"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "đơn vị"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr ""
 "unit ĐƠN_VỊ                              đặt đơn vị mặc định thành ĐƠN_VỊ"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "phiên bản"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
@@ -2783,7 +2887,7 @@ msgstr ""
 "version                                  hiển thị số thứ tự phiên bản và "
 "thông tin tác quyền về GNU Parted"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
@@ -2791,32 +2895,32 @@ msgstr ""
 "“version” hiển thị thông tin về tác quyền và phiên bản tương ứng với bản sao "
 "GNU Parted này\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
 msgstr "Cách dùng: %s [-hlmsv] [-a<sắp_hàng>] [THIẾT_BỊ [LỆNH [THAM_SỐ]]...]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
 msgstr "Không tìm thấy thiết bị"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr ""
 "CẢNH BÁO: bạn không phải là siêu người dùng. Hãy để ý đến các quyền truy "
 "cập.\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "Có thể cần cập nhật tập tin “/etc/fstab”.\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
 msgstr ""
 "Chào mừng bạn đến với GNU Parted! Hãy gõ “help” để xem danh sách các câu "
 "lệnh.\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
@@ -2827,7 +2931,7 @@ msgstr ""
 "Áp dụng các câu LỆNH với các THAM_SỐ cho THIẾT_BỊ.  Nếu\n"
 "không có câu LỆNH nào thì chạy trong chế độ hỏi đáp.\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2890,7 +2994,7 @@ msgstr ""
 "Một khi bạn làm những bước trên, cám ơn bạn giúp phát triển phần mềm GNU "
 "Parted tốt hơn! :)\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
@@ -2898,7 +3002,7 @@ msgstr ""
 "\n"
 "Lịch sử các lệnh:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2906,7 +3010,7 @@ msgstr ""
 "\n"
 "Lỗi: SEGV_MAPERR (Địa chỉ không được ánh xạ tới đối tượng)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2914,7 +3018,7 @@ msgstr ""
 "\n"
 "Lỗi: SEGV_ACCERR (Quyền truy cập sai cho đối tượng đã ánh xạ\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2922,7 +3026,7 @@ msgstr ""
 "\n"
 "Lỗi: gặp một tín hiệu SIGSEGV chung.\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2930,7 +3034,7 @@ msgstr ""
 "\n"
 "Lỗi: FPE_INTDIV (Số nguyên: chia cho không)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2938,7 +3042,7 @@ msgstr ""
 "\n"
 "Lỗi: FPE_INTOVF (Số nguyên: tràn)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2946,7 +3050,7 @@ msgstr ""
 "\n"
 "Lỗi: FPE_FLTDIV (Số thực dấu chấm động: chia cho không)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2954,7 +3058,7 @@ msgstr ""
 "\n"
 "Lỗi: FPE_FLTOVF (Số thực dấu chấm động: tràn)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2962,7 +3066,7 @@ msgstr ""
 "\n"
 "Lỗi: FPE_FLTUND (Số thực dấu chấm động: tràn ngược)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2970,7 +3074,7 @@ msgstr ""
 "\n"
 "Lỗi: FPE_FLTRES (Số thực dấu chấm động: kết quả không chính xác)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2978,7 +3082,7 @@ msgstr ""
 "\n"
 "Lỗi: FPE_FLTINV (Số thực dấu chấm động: thao tác sai)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -2986,7 +3090,7 @@ msgstr ""
 "\n"
 "Lỗi: FPE_FLTSUB (Số thực dấu chấm động: chữ thấp ở ngoại phạm vi)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -2994,7 +3098,7 @@ msgstr ""
 "\n"
 "Lỗi: gặp một tín hiệu SIGFPE chung."
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -3002,7 +3106,7 @@ msgstr ""
 "\n"
 "Lỗi: ILL_ILLOPC (Mã thao tác cấm)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -3010,7 +3114,7 @@ msgstr ""
 "\n"
 "Lỗi: ILL_ILLOPN (Toán hạng cấm)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -3018,7 +3122,7 @@ msgstr ""
 "\n"
 "Lỗi: ILL_ILLADR (Chế độ đặt địa chỉ cấm)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -3026,7 +3130,7 @@ msgstr ""
 "\n"
 "Lỗi: ILL_ILLTRP (Bẫy cấm)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -3034,7 +3138,7 @@ msgstr ""
 "\n"
 "Lỗi: ILL_PRVOPC (Mã thao tác có quyền đặc biệt)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -3042,7 +3146,7 @@ msgstr ""
 "\n"
 "Lỗi: ILL_PRVREG (Thanh ghi có quyền đặc biệt)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -3050,7 +3154,7 @@ msgstr ""
 "\n"
 "Lỗi: ILL_COPROC (Lỗi tiến trình đồng chạy)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -3058,7 +3162,7 @@ msgstr ""
 "\n"
 "Lỗi: ILL_BADSTK (Lỗi đống nội bộ)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -3066,65 +3170,69 @@ msgstr ""
 "\n"
 "Lỗi: gặp một tín hiệu SIGILL chung."
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "hiệu bài sai: %s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "Mong đợi số thứ tự phân vùng."
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "Phân vùng không tồn tại."
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "Cần kiểu hệ thống tập tin."
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
 msgstr "Không rõ kiểu hệ thống tập tin “%s”."
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "Mong đợi kiểu nhãn đĩa."
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "Không thể tạo phân vùng thêm nữa."
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "Cần một kiểu phân vùng."
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "bật"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "tắt"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "tối ưu"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "tối thiểu"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "TÙY CHỌN:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
 msgstr "LỆNH:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3134,15 +3242,37 @@ msgstr ""
 "Gửi báo cáo lỗi tới %s\n"
 "Thông báo lỗi dịch cho: <http://translationproject.org/team/vi.html>.\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "Dùng %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
 msgstr "Câu lệnh này không có ý nghĩa trong chế độ không tương tác.\n"
 
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s: tùy chọn “--%s” không cho phép đối số\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s: không nhận ra tùy chọn “--%s”\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s: tùy chọn “-W %s” không cho phép đối số\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s: tùy chọn “-W %s” yêu cầu một đối số\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "Trang chủ %s: <http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "Hệ thống tập tin có kích thước rãnh ghi lô-gíc là %d.  GNU Parted không "
+#~ "làm việc chính xác với kích thước rãnh ghi khác 512 byte."
+
 #~ msgid "Failed to add partition %d (%s)"
 #~ msgstr "Không thêm được phân vùng %d (%s)"
 
@@ -3446,9 +3576,6 @@ msgstr "Câu lệnh này không có ý nghĩa trong chế độ không tương t
 #~ msgid "Source partition number?"
 #~ msgstr "Số thứ tự phân vùng nguồn?"
 
-#~ msgid "Can't copy an extended partition."
-#~ msgstr "Không thể sao chép phân vùng mở rộng."
-
 #~ msgid "Destination partition number?"
 #~ msgstr "Số thứ tự phân vùng đích?"
 
index dd8cdc4f7b628ad2d4d281dc995cbc53924b82fb..60335435bc97f9ce12cadd1221731fbd409b1322 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index ae17c3206503572ec037c089fa1c9a10643a3aaf..b37b33dbeba360fa2b470a0ebc2a1a3e220d733c 100644 (file)
@@ -1,97 +1,82 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Simplified Chinese Messages for parted.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# This file is distributed under the same license as the parted package.
 # Wang Li <charles@linux.net.cn>, 2003.
+# Wei-Lun Chao <william.chao@ossii.com.tw>, 2011.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2012, 2013.
+# Mingye Wang <arthur200126@gmail.com>, 2015.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: parted 1.6.6\n"
+"Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
-"PO-Revision-Date: 2003-08-01 11:27+0800\n"
-"Last-Translator: Wang Li <charles@linux.net.cn>\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
+"PO-Revision-Date: 2015-08-29 09:21+0800\n"
+"Last-Translator: Mingye Wang <arthur200126@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=gb2312\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"
+"X-Generator: Poedit 1.8.4\n"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
-msgstr ""
+msgstr "无效的参数 %s 被用于 %s"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
-msgstr ""
+msgstr "模糊的参数 %s 被用于 %s"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
-msgstr ""
+msgstr "有效的参数是:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
-msgstr ""
+msgstr "写入错误"
 
-#: lib/error.c:188
-#, fuzzy
+#: lib/error.c:195
 msgid "Unknown system error"
-msgstr "δ֪µÄÎļþϵͳÀàÐÍ¡°%s¡±¡£"
+msgstr "不明系统错误"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr ""
-
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr ""
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s:选项“-W %s”是模糊的\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr ""
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s:选项“%s”是模糊的;可能性包括:"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
-msgstr ""
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s:无法辨识的选项“%c%s”\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr ""
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
+msgstr "%s:选项“%c%s”不允许有参数\n"
 
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr ""
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
+msgstr "%s:选项“--%s”需要一个参数\n"
 
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr ""
+msgstr "%s:无效的选项 --“%c”\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr ""
-
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr ""
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr ""
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr ""
+msgstr "%s:选项需要一个参数 --“%c”\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
@@ -112,87 +97,88 @@ msgstr ""
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
-msgstr ""
+msgstr ""
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
-msgstr ""
+msgstr ""
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
-msgstr ""
+msgstr "成功"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
-msgstr ""
+msgstr "无匹配"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
-msgstr ""
+msgstr "无效的正则表达式"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
-msgstr ""
+msgstr "无效的定序字符"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
-msgstr ""
+msgstr "无效字符类别名称"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
-msgstr ""
+msgstr "结尾反斜杠"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
-msgstr ""
+msgstr "无效的反向引用"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
-msgstr ""
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
+msgstr "未匹配的 [ 或 [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
-msgstr ""
+msgstr "未匹配的 ( 或 \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
-msgstr ""
+msgstr "未匹配的 \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
-msgstr ""
+msgstr "无效的 \\{\\} 内容"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
-msgstr ""
+msgstr "无效的范围结束符"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
-msgstr ""
+msgstr "内存耗尽"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
-msgstr ""
+msgstr "无效的前继正则表达式"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
-msgstr ""
+msgstr "过早结束的正则表达式"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
-msgstr ""
+msgstr "正则表达式太大"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
-msgstr ""
+msgstr "未匹配的 ) 或 \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
-msgstr ""
+msgstr "无前一个正则表达式"
 
 #. TRANSLATORS: A regular expression testing for an affirmative answer
 #. (english: "yes").  Testing the first character may be sufficient.
@@ -202,8 +188,9 @@ msgstr ""
 #. locale -k LC_MESSAGES | grep '^yesexpr='
 #: lib/rpmatch.c:150
 msgid "^[yY]"
-msgstr ""
+msgstr "^[yY是]"
 
+# Breaks at contents like “不是——的反义词——才怪——并非——句号”
 #. TRANSLATORS: A regular expression testing for a negative answer
 #. (english: "no").  Testing the first character may be sufficient.
 #. Take care to consider upper and lower case.
@@ -212,232 +199,250 @@ msgstr ""
 #. locale -k LC_MESSAGES | grep '^noexpr='
 #: lib/rpmatch.c:163
 msgid "^[nN]"
-msgstr ""
+msgstr "^[nN不否]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "软件包由 %s (%s) 所打包\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
-msgstr ""
+msgstr "软件包由 %s 所打包\n"
 
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
-msgstr ""
+msgstr "©"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
+"\n"
+"授权 GPLv3+: GNU GPL 第三版或后续版本 <http://gnu.org/licenses/gpl.html>\n"
+"这是自由软件:您可以自由变更和再发布它。\n"
+"在法律所允许的范围内不做任何担保。\n"
+"\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
-msgstr ""
+msgstr "由 %s 编写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
-msgstr ""
+msgstr "由 %s 和 %s 编写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr ""
+msgstr "由 %s, %s 和 %s 编写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"由 %s, %s, %s\n"
+"和 %s 编写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"由 %s, %s, %s,\n"
+"%s 和 %s 编写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
+"由 %s, %s, %s,\n"
+"%s, %s 和 %s 编写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
+"由 %s, %s, %s,\n"
+"%s, %s, %s 和 %s 编写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"由 %s, %s, %s,\n"
+"%s, %s, %s, %s\n"
+"和 %s 编写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"由 %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s 和 %s 编写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "%s, %s, and others.\n"
 msgstr ""
+"由 %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s 和其他人编写。\n"
 
 #. TRANSLATORS: The placeholder indicates the bug-reporting address
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
+"\n"
+"报告错误到:%s\n"
+"报告翻译错误到:<http://translationproject.org/team/zh_CN.html>\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
-msgstr ""
+msgstr "将 %s 错误报告给:%s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "%s 首页:<%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr ""
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
+msgstr "使用 GNU 软件的一般说明:<http://www.gnu.org/gethelp/>\n"
 
 #: lib/xalloc-die.c:34
 msgid "memory exhausted"
-msgstr ""
+msgstr "内存耗尽"
 
 #: lib/xstrtol-error.c:63
 #, c-format
 msgid "invalid %s%s argument '%s'"
-msgstr ""
+msgstr "无效的 %s%s 参数 %s"
 
 #: lib/xstrtol-error.c:68
 #, c-format
 msgid "invalid suffix in %s%s argument '%s'"
-msgstr ""
+msgstr "在 %s%s 的参数 %s 中有无效的后缀"
 
 #: lib/xstrtol-error.c:72
 #, c-format
 msgid "%s%s argument '%s' too large"
-msgstr ""
+msgstr "%s%s 参数 %s 太大"
 
 #: libparted/arch/beos.c:245
 msgid "Disk Image"
-msgstr ""
+msgstr "磁盘映像"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
-msgstr "´ò¿ª %s ³ö´í£º%s"
+msgstr "打开 %s 出错:%s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
-msgstr "ÎÞ·¨ÒÔ¶Áд·½Ê½´ò¿ª %s (%s)¡£%s ÒѰ´ÕÕÖ»¶Á·½Ê½´ò¿ª¡£"
+msgstr "无法以读写方式打开 %s (%s)。%s 已按照只读方式打开。"
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
-msgstr "ÔÚΪ¶ÁÈ¡ %2$s ¶øµ÷Óàseek Ê± %1$s"
+msgstr "在为读取 %2$s 而调用 seek 时 %1$s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
-msgstr "ÔÚ¶ÁÈ¡ %2$s ÆÚ¼ä %1$s"
+msgstr "在读取 %2$s 期间 %1$s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
-msgstr "ÓÉÓÚ %s ÊÇÒÔÖ»¶Á·½Ê½´ò¿ªµÄ£¬Òò´ËÎÞ·¨Ð´Èë¡£"
+msgstr "由于 %s 是以只读方式打开的,因此无法写入。"
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
-msgstr "ÔÚΪдÈë %2$s µ÷Óàseek Ê± %1$s"
+msgstr "在为写入 %2$s 调用 seek 时 %1$s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
-msgstr "ÔÚдÈë %2$s Ê± %1$s"
+msgstr "在写入 %2$s 时 %1$s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr ""
+msgstr "尝试“%s --help”以获得更多信息。\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
-msgstr ""
+msgstr "用法:%s [选项] [设备]…\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -446,31 +451,40 @@ msgid ""
 "  -h, --help       display this help and exit\n"
 "  -v, --version    output version information and exit\n"
 msgstr ""
+"将分区表的变更通报操作系统。\n"
+"\n"
+"  -d, --dry-run    并非真的通报操作系统\n"
+"  -s, --summary    印出内容的概要\n"
+"  -h, --help       显示这个说明然后离开\n"
+"  -v, --version    输出版本信息然后离开\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
 msgstr ""
+"\n"
+"如果没有指定任何设备,探查所有分区。\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
 "Report bugs to <%s>.\n"
 msgstr ""
+"\n"
+"将错误报告给 <%s>。\n"
 
 #: libparted/arch/gnu.c:110
 #, c-format
 msgid "Unable to open %s."
-msgstr "ÎÞ·¨´ò¿ª %s¡£"
+msgstr "无法打开 %s。"
 
 #: libparted/arch/gnu.c:130
 msgid "Unable to probe store."
-msgstr "ÎÞ·¨Ì½²â´æ´¢É豸¡£"
+msgstr "无法探测存储设备。"
 
 #: libparted/arch/gnu.c:368
-#, fuzzy
 msgid ""
 "The partition table cannot be re-read.  This means you need to reboot before "
 "mounting any modified partitions.  You also need to reinstall your boot "
@@ -479,73 +493,77 @@ msgid ""
 "and reinstall your boot loader from the rescue disk.  Read section 4 of the "
 "Parted User documentation for more information."
 msgstr ""
-"ÎÞ·¨ÖØÐ¶ÁÈë·ÖÇø±í£¬Í¬Ñù£¬Äú±ØÐëÔÚ¼ÓÔØÈκÎÐÞ¸ÄÁ˵ķÖÇøÖ®Ç°ÖØÐÂÆô¶¯¡£Äú»¹ÐèÒª"
-"ÔÚÄúÖØÐÂÆô¶¯Ö®Ç°ÖØÐ°²×°Æô¶¯¹ÜÀíÆ÷ (Ëü¿ÉÄÜÐèÒª¼ÓÔØÐÞ¸ÄÁ˵ķÖÇø)¡£Í¬Ê±×öÕâÁ½¼þ"
-"ÊÂÊDz»¿ÉÄܵģ¡ËùÒÔÄú¾ÍÐèÒª´Ó¼±¾ÈÅÌÆô¶¯£¬²¢´Ó¼±¾ÈÅÌÖØÐ°²×°ÄúµÄÆô¶¯¹ÜÀíÆ÷¡£¸ü"
-"¶àÏêÇéÇë²ÎÔÄ Parted Óû§ÎĵµµÄµÚËĽڡ£"
+"无法重新读入分区表。这意味着您必须在挂载任何修改过的分区之前重新启动。您还需"
+"要在您重新启动之前重新安装启动引导程序 (它可能需要挂载修改过的分区)。同时做这"
+"两件事是不可能的!所以您需要从恢复盘片启动,并从恢复盘片重新安装您的启动引导"
+"程序。更多详情请参阅 Parted 用户文档的第四节。"
 
 #: libparted/arch/gnu.c:385
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "The partition table on %s cannot be re-read (%s).  This means the Hurd knows "
 "nothing about any modifications you made.  You should reboot your computer "
 "before doing anything with %s."
 msgstr ""
-"%s (%s) ÉϵķÖÇø±í¡£ÕâÒâζ×Å Hurd ²»ÖªµÀÈκÎÄúËù×÷µÄÐ޸ġ£ÄúÓ¦¸ÃÔÚ¶Ô %s ×öÈÎ"
-"ºÎ²Ù×÷Ö®Ç°ÖØÐÂÆô¶¯ÄúµÄ¼ÆËã»ú¡£"
+"%s 上的分区表无法被重新读取 (%s)。这意味着 Hurd 不知道任何您所作的修改。您应"
+"该在对 %s 做任何操作之前重新启动您的电脑。"
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
 msgstr ""
-"ÄúÓ¦¸ÃÔÚÖØÐÂÆô¶¯Ö®Ç°ÖØÐ°²×°ÄúµÄÆô¶¯¹ÜÀíÆ÷¡£ÏêÇéÇëÔĶÁ Parted Óû§ÎĵµµÄµÚËÄ"
-"½Ú¡£"
+"您应该在重新启动之前重新安装您的启动管理器。详情请阅读 Parted 用户文档的第四"
+"节。"
 
 #: libparted/arch/gnu.c:788
 #, c-format
 msgid "%s trying to sync %s to disk"
-msgstr "%s ÊÔͼ½« %s Í¬²½µ½´ÅÅÌÉÏ"
+msgstr "%s 试图将 %s 同步到磁盘上"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
-msgstr "ÎÞ·¨¶ÔÉ豸 %s - %s ×ö stat ²Ù×÷¡£"
+msgstr "无法对设备 %s - %s 做 stat 操作。"
 
-#: libparted/arch/linux.c:679
-#, fuzzy, c-format
+#: libparted/arch/linux.c:690
+#, c-format
 msgid "Unable to determine the dm type of %s."
-msgstr "ÎÞ·¨È·¶¨ %s (%s) µÄ´óС"
+msgstr "无法决定 %s 的 dm 类型。"
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
 "Using the default sector size (%lld)."
 msgstr ""
+"无法决定用于 %s:%s 的扇区大小。\n"
+"使用缺省扇区大小 (%lld)。"
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
 "Using the logical sector size (%lld)."
 msgstr ""
+"无法决定 %s 的物理扇区大小。\n"
+"将使用逻辑扇区大小 (%lld)。"
 
-#: libparted/arch/linux.c:834
-#, fuzzy, c-format
+#: libparted/arch/linux.c:855
+#, c-format
 msgid "Unable to determine the size of %s (%s)."
-msgstr "ÎÞ·¨È·¶¨ %s (%s) µÄ´óС"
+msgstr "无法确定 %s (%s) 的大小。"
+
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
+msgid "Generic IDE"
+msgstr "一般 IDE"
 
-#: libparted/arch/linux.c:920
+#: libparted/arch/linux.c:963
 #, c-format
 msgid "Could not get identity of device %s - %s"
-msgstr "ÎÞ·¨»ñÈ¡É豸 %s - %s µÄ±êʶ"
-
-#: libparted/arch/linux.c:929
-msgid "Generic IDE"
-msgstr ""
+msgstr "无法获取设备 %s - %s 的标识"
 
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -553,125 +571,140 @@ msgid ""
 "system combinations, e.g. GPT and ext2/3.\n"
 "Please consult the web site for up-to-date information."
 msgstr ""
+"设备 %s 的每一物理扇区具有多个 (%d) 逻辑扇区。\n"
+"GNU Parted 对某些特定磁盘卷标/文件系统组合还是[实验性]支持,像是 GPT 和 "
+"ext2/3。\n"
+"请参照网页以获得最新的信息。"
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
-msgstr "³õʼ»¯ SCSI É豸 %s - %s ³ö´í"
+msgstr "初始化 SCSI 设备 %s - %s 出错"
 
-#: libparted/arch/linux.c:1191
-#, fuzzy, c-format
+#: libparted/arch/linux.c:1236
+#, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
 "partition table.  Perhaps you selected the wrong device?"
 msgstr ""
-"É豸 %s µÄ³¤¶ÈΪÁ㣬Òò´ËÎÞ·¨±£´æÎļþϵͳ»ò·ÖÇø±í¡£¿ÉÄÜÄúÑ¡ÔñÁË´íÎóµÄÉ豸£¿"
+"设备 %s 太小,因此可能无法保存文件系统或分区表。也许您选择了错误的设备?"
 
-#: libparted/arch/linux.c:1304
-#, fuzzy, c-format
+#: libparted/arch/linux.c:1349
+#, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
 "unless you REALLY know what you're doing!"
 msgstr ""
-"ÎÞ·¨È·¶¨Îļþ/É豸µÄ¼¸ºÎ½á¹¹¡£³ý·ÇÄúȷʵ֪µÀÄúÔÚ×öʲô£¬·ñÔòÄú²»¸ÃʹÓà"
-"Parted£¡"
+"无法决定文件/设备 %s 的几何位置。您不应使用 Parted 除非您真的知道在做什么!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
-msgstr ""
+msgstr "通用 SD/MMC 记忆卡"
+
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "新设备?"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
-msgstr "DAC960 RAID ¿ØÖÆÆ÷"
+msgstr "DAC960 RAID 控制器"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
-msgstr ""
+msgstr "Promise SX8 SATA 设备"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
-msgstr ""
+msgstr "以太网 ATA 设备"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
-msgstr ""
+msgstr "IBM S390 DASD 磁盘机"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
-msgstr ""
+msgstr "IBM iSeries 虚拟 DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
-msgstr "Compaq ÖÇÄÜÕóÁÐ"
+msgstr "Compaq 智能阵列"
+
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
-msgstr "ATARAID ¿ØÖÆÆ÷"
+msgstr "ATARAID 控制器"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
-msgstr "I2O ¿ØÖÆÆ÷"
+msgstr "I2O 控制器"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
-msgstr ""
+msgstr "用户模式 Linux UBD"
 
-#: libparted/arch/linux.c:1473
-#, fuzzy
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
-msgstr "Ô´É豸£¿"
+msgstr "回环设备"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
-msgstr ""
+msgstr "Linux 设备映射程序 (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
-msgstr ""
+msgstr "Xen 虚拟块设备"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
-msgstr "δ֪"
+msgstr "未知"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
-msgstr ""
+msgstr "Virtio 块设备"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
+msgstr "Linux 软件 RAID 数组"
+
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
 msgstr ""
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
-msgstr "ped_device_new()  ²»Ö§³ÖµÄÉ豸ÀàÐÍ"
+msgstr "ped_device_new()  不支持的设备类型"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
-#, fuzzy, c-format
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
+#, c-format
 msgid "Error fsyncing/closing %s: %s"
-msgstr "´ò¿ª %s ³ö´í£º%s"
+msgstr "文件同步/关闭 %s 时发生错误:%s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
-msgstr ""
+msgstr "%0.0s 出现文件结尾于读取 %s 时"
 
-#: libparted/arch/linux.c:2564
-#, fuzzy, c-format
+#: libparted/arch/linux.c:2687
+#, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
 "means Linux won't know about any changes you made to %s until you reboot -- "
 "so you shouldn't mount it or use it in any way before rebooting."
 msgstr ""
-"֪ͨÄں˹ØÓÚ·ÖÇø %s - %s µÄÐÞ¸Äʱ³ö´í¡£ÕâÒâζ×Å Linux ÔÚÖØÐÂÆô¶¯Ö®Ç°ÎÞ·¨ÖªµÀ"
-"ÄúÕë¶Ô %s Ëù×÷µÄÈκÎÐ޸Ġ- ËùÒÔÄúÒ²²»ÄÜÔÚÖØÐÂÆô¶¯Ö®Ç°¼ÓÔØ»òÒÔÈκη½Ê½Ê¹ÓÃËü¡£"
+"通知内核关于分区 %s -- %s 的修改时出错。这意味着 Linux 在重新启动之前无法知道"
+"您针对 %s 所作的任何修改 - 所以您也不能在重新启动之前挂载或以任何方式使用它。"
 
-#: libparted/arch/linux.c:2683
-#, fuzzy, c-format
+#: libparted/arch/linux.c:2807
+#, c-format
 msgid "Unable to determine the start and length of %s."
-msgstr "ÎÞ·¨È·¶¨ %s (%s) µÄ´óС"
+msgstr "无法决定 %s 的起始和长度。"
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -679,224 +712,222 @@ msgid ""
 "the old partition(s) will remain in use.  You should reboot now before "
 "making further changes."
 msgstr ""
+"%2$s 上的分区 %1$s 已被写入,但是我们并无法将变更通报内核,或许是因为它/它们"
+"正在使用中。这将造成继续使用旧的分区。在进行进一步的变更之前,您应该立刻重新"
+"启动。"
 
-#: libparted/cs/geom.c:162
-#, fuzzy, c-format
+#: libparted/cs/geom.c:163
+#, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
-msgstr "ÎÞ·¨ÔÚ¿ªÊ¼Ö®Ç°½áÊø£¡"
+msgstr "结束不可位于开始之前!(起始扇区=%jd 长度=%jd)"
 
-#: libparted/cs/geom.c:378
-#, fuzzy, c-format
+#: libparted/cs/geom.c:379
+#, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
-msgstr "ÊÔͼдÈë %3$s ÉÏ·ÖÇøÖ®ÍâµÄÉÈÇø %1$ld-%2$ld"
+msgstr "试图写入 %3$s 上分区之外的扇区 %1$ld-%2$ld。"
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
-msgstr "¼ì²é»µ¿é"
+msgstr "检查坏块"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
-msgstr ""
+msgstr "回溯区有 %d 个调用在堆栈上:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
-msgstr ""
+msgstr "断言 (%s) 于 %s:%d 在函数 %s() 中失败。"
 
-#: libparted/disk.c:193
-#, fuzzy, c-format
+#: libparted/disk.c:194
+#, c-format
 msgid "%s: unrecognised disk label"
-msgstr "ÎÞ·¨´ò¿ª %s - ÎÞ·¨Ê¶±ðµÄ´ÅÅ̱êÇ©¡£"
+msgstr "%s: 无法辨识的磁盘卷标"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
 "read-only."
-msgstr "Õâ¸ö libparted ²»Ö§³Ö¶Ô %s µÄд²Ù×÷¡£¿ÉÄÜËüÊǰ´Ö»¶Á·½Ê½±àÒëµÄ¡£"
+msgstr "这个 libparted 不支持对 %s 的写操作。可能它是按只读方式编译的。"
 
-#: libparted/disk.c:631
-#, fuzzy, c-format
+#: libparted/disk.c:632
+#, c-format
 msgid "Partition %d is %s, but the file system is %s."
-msgstr "·ÖÇø %d Îª %.3fMb£¬µ«ÎļþϵͳΪ %.3fMb¡£"
+msgstr "分区 %d 大小为 %s,但文件系统大小为 %s。"
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
-msgstr ""
+msgstr "cylinder_alignment"
 
-#: libparted/disk.c:842
-#, fuzzy
+#: libparted/disk.c:843
 msgid "pmbr_boot"
-msgstr "Æô¶¯"
+msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
-msgstr ""
+msgstr "不明的磁盘旗标,%d。"
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
-msgstr "%s ´ÅÅ̱êÇ©²»Ö§³ÖÀ©Õ¹·ÖÇø¡£"
+msgstr "%s 磁盘卷标不支持扩展分区。"
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
-msgstr "%s ´ÅÅ̱êÇ©²»Ö§³ÖÂß¼­»òÀ©Õ¹·ÖÇø¡£"
+msgstr "%s 磁盘卷标不支持逻辑或扩展分区。"
 
-#: libparted/disk.c:1833
-#, fuzzy
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
-msgstr "¹ý¶àµÄÖ÷·ÖÇø"
+msgstr "主分区过多。"
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
-msgstr "ÓÉÓÚûÓÐÀ©Õ¹·ÖÇø£¬ÎÞ·¨½«Âß¼­·ÖÇøÌí¼Óµ½ %s¡£"
+msgstr "由于没有扩展分区,无法将逻辑分区添加到 %s。"
 
-#: libparted/disk.c:1866
-#, fuzzy, c-format
+#: libparted/disk.c:1867
+#, c-format
 msgid "Can't have more than one extended partition on %s."
-msgstr "%s Éϲ»Äܺ¬ÓжàÓÚÒ»¸öÀ©Õ¹·ÖÇø"
+msgstr "%s 上不能含有多于一个的拓展分区。"
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
-msgstr "Âß¼­·ÖÇø²»ÄÜ´¦ÓÚÀ©Õ¹·ÖÇøÖ®Íâ¡£"
+msgstr "逻辑分区不能处于扩展分区之外。"
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
-msgstr "%s ÉϵÄÂß¼­·ÖÇø²»ÄÜ´¦ÓÚÀ©Õ¹·ÖÇøÖ®Íâ¡£"
+msgstr "%s 上的逻辑分区不能处于扩展分区之外。"
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
-msgstr "À©Õ¹·ÖÇøÖв»Äܺ¬ÓÐÖ÷·ÖÇø¡£"
+msgstr "扩展分区中不能含有主分区。"
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
-msgstr "ÎÞ·¨È÷ÖÇø³¬³ö´ÅÅÌ£¡"
+msgstr "无法让分区超出磁盘!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
-#, fuzzy
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
-msgstr "·ÖÇø²»ÄÜÖØµþ"
+msgstr "分区不能重叠。"
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
-msgstr "ÔªÊý¾Ý"
+msgstr "元数据"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
-msgstr "¿ÕÏпռä"
+msgstr "空闲"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
-msgstr "À©Õ¹·ÖÇø"
+msgstr "扩展"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
-msgstr "Âß¼­·ÖÇø"
+msgstr "逻辑"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
-msgstr "Ö÷·ÖÇø"
+msgstr "主分区"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
-msgstr "Æô¶¯"
+msgstr "启动"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
-msgstr ""
+msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
-msgstr "¸ù"
+msgstr ""
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
-msgstr "¶Ô»»·ÖÇø"
+msgstr "交换"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
-msgstr "Òþ²Ø·ÖÇø"
+msgstr "隐藏"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
-msgstr ""
+msgstr "hp-服务"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
-msgstr ""
+msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
-msgstr ""
+msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
-msgstr ""
+msgstr "msftres"
 
-#: libparted/disk.c:2398
-#, fuzzy
+#: libparted/disk.c:2399
 msgid "msftdata"
-msgstr "ÔªÊý¾Ý"
+msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
-msgstr ""
+msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
-msgstr ""
+msgstr "诊断"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
-msgstr ""
+msgstr "旧版启动"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
-msgstr ""
+msgstr "irst"
 
-#: libparted/disk.c:2408
-#, fuzzy
+#: libparted/disk.c:2409
 msgid "esp"
-msgstr "ÊÇ"
+msgstr "EFI 启动"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
-msgstr ""
+msgstr "未知的分区旗标,%d。"
 
 #: libparted/exception.c:78
 msgid "Information"
-msgstr "ÐÅÏ¢"
+msgstr "信息"
 
 #: libparted/exception.c:79
 msgid "Warning"
-msgstr "¾¯¸æ"
+msgstr "警告"
 
 #: libparted/exception.c:80
 msgid "Error"
-msgstr "´íÎó"
+msgstr "错误"
 
 #: libparted/exception.c:81
 msgid "Fatal"
-msgstr "ÖÂÃü´íÎó"
+msgstr "致命错误"
 
 #: libparted/exception.c:82
 msgid "Bug"
@@ -904,35 +935,35 @@ msgstr "Bug"
 
 #: libparted/exception.c:83
 msgid "No Implementation"
-msgstr "δʵÏÖ"
+msgstr "未实现"
 
 #: libparted/exception.c:87
 msgid "Fix"
-msgstr "ÐÞÕý"
+msgstr "修正"
 
 #: libparted/exception.c:88
 msgid "Yes"
-msgstr "ÊÇ"
+msgstr ""
 
 #: libparted/exception.c:89
 msgid "No"
-msgstr "·ñ"
+msgstr ""
 
 #: libparted/exception.c:90
 msgid "OK"
-msgstr "È·ÈÏ"
+msgstr "确认"
 
 #: libparted/exception.c:91
 msgid "Retry"
-msgstr "ÖØÊÔ"
+msgstr "重试"
 
 #: libparted/exception.c:92
 msgid "Ignore"
-msgstr "ºöÂÔ"
+msgstr "忽略"
 
 #: libparted/exception.c:93
 msgid "Cancel"
-msgstr "·ÅÆú"
+msgstr "放弃"
 
 #: libparted/exception.c:133
 #, c-format
@@ -942,665 +973,756 @@ msgid ""
 "could be useful for bug submitting!  Please email a bug report to %s "
 "containing at least the version (%s) and the following message:  "
 msgstr ""
+"发现 GNU Parted 中的程序错误。参照 parted 的网址 http://www.gnu.org/software/"
+"parted/parted.html 以获得更多有关提交错误报告的有用信息!请将至少含有版本 "
+"(%2$s) 和以下信息的错误报告发送到 %1$s: "
 
-#: libparted/labels/aix.c:103
-#, fuzzy
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
-msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£"
+msgstr "尚未支持读取 AIX 磁盘卷标。"
 
-#: libparted/labels/aix.c:114
-#, fuzzy
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
-msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£"
+msgstr "尚未支持写入 AIX 磁盘卷标。"
 
-#: libparted/labels/aix.c:127
-#, fuzzy
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
-msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£"
+msgstr "尚未支持加入分区到 AIX 磁盘卷标。"
 
-#: libparted/labels/aix.c:137
-#, fuzzy
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
-msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£"
+msgstr "尚未支持在 AIX 磁盘卷标中重制分区。"
 
-#: libparted/labels/aix.c:155
-#, fuzzy
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
-msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£"
+msgstr "尚未支持在 AIX 磁盘卷标中设置分区的系统类型。"
 
-#: libparted/labels/aix.c:165
-#, fuzzy
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
-msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£"
+msgstr "尚未支持在 AIX 磁盘卷标中设置旗标。"
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
-msgid "Unable to satisfy all constraints on the partition."
-msgstr "ÎÞ·¨Âú×ã·ÖÇøµÄËùÓÐÏÞÖÆ¡£"
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr "Parted 无法在其扇区大小不等于 %d 字节的磁盘上使用 HFS 文件系统。"
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
 #, fuzzy
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr "无法移动扩展分区。"
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
+msgid "Unable to satisfy all constraints on the partition."
+msgstr "无法满足分区的所有限制。"
+
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "无法分配分区编号。"
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
-msgstr "È¡·¨¶¨Î» bsd ´ÅÅ̱êÇ©²Û"
+msgstr "无法定位 bsd 磁盘卷标槽。"
 
-#: libparted/labels/dasd.c:900
-#, fuzzy
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
-msgstr "È¡·¨¶¨Î» bsd ´ÅÅ̱êÇ©²Û"
+msgstr "无法配置 dasd 磁盘卷标槽。"
 
-#: libparted/labels/dos.c:1001
-#, fuzzy, c-format
+#: libparted/labels/dos.c:1003
+#, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
-msgstr "%s ÉϵķÖÇø±íÎÞЧ - ´íÎóµÄÇ©Ãû %x"
+msgstr "%s 上的分区表无效 - 错误的签名 %x。"
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
-msgstr "ÎÞЧµÄ·ÖÇø±í - %s ³öÏֵݹé·ÖÇø¡£"
+msgstr "无效的分区表 - %s 出现递归分区。"
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
-msgstr ""
+msgstr "拓展分区无法隐藏,在 msdos 磁盘卷标中。"
+
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "拓展分区无法隐藏,在 msdos 磁盘卷标中。"
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
-msgstr ""
+msgstr "Parted 无法改变由“Windows 动态磁盘”所管理的分区大小。"
 
-#: libparted/labels/dos.c:2475
-#, fuzzy
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
-msgstr "ÎÞ·¨´´½¨¸ü¶à·ÖÇø¡£"
+msgstr "无法再创建任何分区"
 
-#: libparted/labels/dvh.c:182
-#, fuzzy, c-format
+#: libparted/labels/dvh.c:183
+#, c-format
 msgid "%s has no extended partition (volume header partition)."
-msgstr "%s Ã»ÓÐÀ©Õ¹·ÖÇø (¾íÍ··ÖÇø)¡£Èç¹ûÄúºöÂÔ£¬½«É¾³ýËùÓÐÆô¶¯¾í¡£"
+msgstr "%s 没有拓展分区 (卷头分区)。"
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
-msgstr "УÑéºÍ´íÎ󣬱êÃ÷·ÖÇø±íÒÑË𻵡£"
+msgstr "校验和错误,标明分区表已损坏。"
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
-msgstr "Ö»ÓÐÖ÷·ÖÇø¿ÉÒÔÊǸù·ÖÇø¡£"
+msgstr "只有主分区可以是根分区。"
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
-msgstr "Ö»ÓÐÖ÷·ÖÇø¿ÉÒÔÊǶԻ»·ÖÇø¡£"
+msgstr "只有主分区可以是交换分区。"
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
-msgstr "Ö»ÓÐÂß¼­·ÖÇø¿ÉÒÔÊÇÆô¶¯Îļþ¡£"
+msgstr "只有逻辑分区可以是启动文件。"
 
-#: libparted/labels/dvh.c:718
-#, fuzzy, c-format
+#: libparted/labels/dvh.c:719
+#, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
 "Only logical partitions (boot files) have a name."
-msgstr "Ö»ÓÐÂß¼­·ÖÇø (Æô¶¯Îļþ) ÓµÓÐÃû×Ö¡£"
+msgstr ""
+"设置 dvh 分区名称为 %s 时失败:\n"
+"只有逻辑分区 (启动文件) 拥有名称。"
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
-msgstr "¹ý¶àµÄÖ÷·ÖÇø"
+msgstr "过多的主分区"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
-msgstr ""
+msgstr "打开错误"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
-msgstr ""
+msgstr "寻道错误"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
-msgstr ""
+msgstr "读取错误"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
-msgstr ""
+msgstr "ioctl() 错误"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
-msgstr ""
+msgstr "API 版本不符"
 
-#: libparted/labels/fdasd.c:162
-#, fuzzy
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
-msgstr "ped_device_new()  ²»Ö§³ÖµÄÉ豸ÀàÐÍ"
+msgstr "不支持的磁盘类型"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
-msgstr ""
+msgstr "不支持的磁盘格式"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
-msgstr ""
+msgstr "磁盘正被使用"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
-msgstr ""
+msgstr "配置文件语法错误"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
-msgstr ""
+msgstr "卷标已损坏"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
-msgstr ""
+msgstr "数据集名称已损坏"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
-msgstr ""
+msgstr "内存配置失败"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
-msgstr ""
+msgstr "设备验证失败"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
+msgstr "指定设备并非有效的 DASD 设备"
+
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
 msgstr ""
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
-#, fuzzy
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
-msgstr "ÖÂÃü´íÎó"
+msgstr "致命错误"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
-msgstr ""
+msgstr "没有空间可用于卷标。"
 
-#: libparted/labels/fdasd.c:274
-#, fuzzy
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
-msgstr "ÕÒ²»µ½ÓÐЧµÄ·ÖÇøÓ³Éä¡£"
+msgstr "没有空间可用于分区信息。"
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
-msgstr ""
+msgstr "无效的 VTOC。"
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
-msgstr ""
+msgstr "无法获取 API 版本。"
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
-msgstr ""
+msgstr "目前的 API 版本“%d”不匹配 dasd 驱动程序 API 版本“%d”!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
 #, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "无法获取磁盘信息。"
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
-msgstr "ÎÞ·¨¶ÁÈ¡ %s - %s µÄ¼¸ºÎ½á¹¹¡£"
+msgstr "无法获取磁盘几何位置信息。"
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
-msgstr ""
+msgstr "无法获取区块大小信息。"
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
 msgstr ""
 
-#: libparted/labels/gpt.c:532
-#, fuzzy
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
-msgstr "¶Ô ext2 À´ËµÎļþϵͳ¹ýС¡£"
+msgstr "设备对 GPT 来说太小"
 
-#: libparted/labels/gpt.c:734
-#, fuzzy, c-format
+#: libparted/labels/gpt.c:733
+#, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
 "what Parted can recognise.  Please report this!"
 msgstr ""
-"GPT ·ÖÇø±íµÄ¸ñʽ°æ±¾Îª %x£¬Ëü±È Parted ËùÄÜʶ±ðµÄ°æ±¾ÒªÐ¡£Çë¸æËßÎÒÃÇ£¡bug-"
-"parted@gnu.org"
+"GPT 分区表的格式版本为 %x,它比 Parted 所能辨识的版本要新。请报告这个状况!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
 "to use all of the space (an extra %llu blocks) or continue with the current "
 "setting? "
 msgstr ""
+"并非所有可用于 %s 的空间都被用到了,您可以修正 GPT 以使用所有的空间 (额外的 "
+"%llu 个区块),还是说要继续使用目前的设置?"
 
-#: libparted/labels/gpt.c:1006
-#, fuzzy
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
 msgstr ""
-"±¸·Ý GPT ±í²»ÏñÓ¦¸ÃµÄÄÇÑù³öÏÖÔÚ´ÅÅ̵Äĩβ¡£Õâ¿ÉÄÜÒâζÕâÆäËü²Ù×÷ϵͳÏàÐÅ´ÅÅÌС"
-"һЩ¡£Í¨¹ý½«±¸·ÝÒÆ¶¯µ½Ä©Î² (²¢É¾³ý¾É±¸·Ý) À´ÐÞÕý£¿"
+"备份 GPT 分区表不如它应当的那样在磁盘末端。要通过移动过去(并且删除旧备份)的"
+"方式修复吗?"
 
-#: libparted/labels/gpt.c:1024
-#, fuzzy
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
 msgstr ""
-"Ö÷ GPT ºÍ±¸·Ý GPT ¶¼Ëð»µÁË¡£ÊÔͼ´´½¨ÐÂ±í²¢Ê¹ÓàParted µÄ¼±¾È¹¦ÄÜÒÔÐÞ¸´·ÖÇø"
-"񡭜"
+"主 GPT 和备份 GPT 都损坏了。试着创建新表,然后使用 Parted 的急救功能以修复分"
+"区表。"
 
-#: libparted/labels/gpt.c:1035
-#, fuzzy
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
-msgstr "Ö÷ GPT ±íË𻵣¬µ«±¸·ÝËÆºõÊÇÕýÈ·µÄ£¬ËùÒÔʹÓñ¸·Ý¡£"
+msgstr "备份 GPT 表损坏,但主表似乎是正确的,所以使用备份。"
 
-#: libparted/labels/gpt.c:1047
-#, fuzzy
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
-msgstr "Ö÷ GPT ±íË𻵣¬µ«±¸·ÝËÆºõÊÇÕýÈ·µÄ£¬ËùÒÔʹÓñ¸·Ý¡£"
+msgstr "主 GPT 表损坏,但备份似乎是正确的,所以使用备份。"
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
-msgstr ""
+msgstr "主分区表的数组循环冗余检查 (CRC) 值不匹配"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
-#, fuzzy
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
-msgstr "Ä¿±ê·ÖÇø±àºÅ£¿"
+msgstr "未能转换分区名称"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
-msgstr "ÎÞЧµÄ Mac ´ÅÅ̱êǩǩÃû %x¡£"
+msgstr "无效的 Mac 磁盘卷标签名 %x。"
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
-msgstr "·ÖÇøÓ³Éä²»º¬ÓзÖÇøÓ³ÉäÌõÄ¿£¡"
+msgstr "分区映射不含有分区映射条目!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
-msgstr "%s ¶Ô Mac ´ÅÅ̱êÇ©À´ËµÌ«Ð¡ÁË£¡"
+msgstr "%s 对 Mac 磁盘卷标来说太小了!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
-msgstr "·ÖÇø %d º¬ÓÐÎÞЧµÄÇ©Ãû %x¡£"
+msgstr "分区 %d 含有无效的签名 %x。"
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
-msgstr "·ÖÇø %d º¬ÓÐÎÞЧµÄ³¤¶È 0 ×Ö½Ú£¡"
+msgstr "分区 %d 含有无效的长度 0 字节!"
 
-#: libparted/labels/mac.c:554
-#, fuzzy
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
-msgstr "Êý¾ÝÇø²¢Î´´Ó·ÖÇøµÄÆðµã¿ªÊ¼"
+msgstr "数据区并未从分区的起点开始."
 
-#: libparted/labels/mac.c:571
-#, fuzzy
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
-msgstr "Æô¶¯ÇøÓò²¢Î´´Ó·ÖÇøµÄÆðµã¿ªÊ¼"
+msgstr "启动区域并未从分区的起点开始."
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
-msgstr "·ÖÇøµÄÆô¶¯ÇøÓò²¢Î´Õ¼ÓÃÕû¸ö·ÖÇø¡£"
+msgstr "分区的启动区域并未占用整个分区。"
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
-msgstr "·ÖÇøµÄÊý¾ÝÇøÓò²¢Î´Õ¼ÓÃÕû¸ö·ÖÇø¡£"
+msgstr "分区的数据区域并未占用整个分区。"
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
-msgstr "É豸ÃèÊöÖгöÏֹŹֵĿé´óС£º%d ×Ö½Ú²»Äܱ» 512 Õû³ý¡£"
+msgstr "设备描述中出现古怪的块大小:%d 字节不能被 512 整除。"
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
 "says it is %d bytes."
-msgstr "´ÅÅÌÃèÊö±íÃ÷ÎïÀí¿é´óСΪ %d ×Ö½Ú£¬µ« Linux ÈÏΪËüÊÇ %d ×Ö½Ú¡£"
+msgstr "磁盘描述表明物理块大小为 %d 字节,但 Linux 认为它是 %d 字节。"
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
-msgstr "ÕÒ²»µ½ÓÐЧµÄ·ÖÇøÓ³Éä¡£"
+msgstr "找不到有效的分区映射。"
 
-#: libparted/labels/mac.c:787
-#, fuzzy, c-format
+#: libparted/labels/mac.c:789
+#, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
 "says it is %d!"
-msgstr "·ÖÇøÓ³ÉäÌõÄ¿´óС³åÍ»£¡ÌõÄ¿ 1 ËµËüÊÇ %d£¬µ«ÌõÄ¿ %d ËµËüÊÇ %d£¡"
+msgstr "分区映射条目大小冲突!条目 1 说它是 %d,但条目 %d 说它是 %d!"
 
-#: libparted/labels/mac.c:818
-#, fuzzy
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
-msgstr "Ææ¹Ö - Á½¸ö·ÖÇøÓ³ÉäÌõÄ¿£¡"
+msgstr "奇怪 - 有两个分区映射条目!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
-msgstr "¸Ä±ä¸ù·ÖÇø»ò¶Ô»»·ÖÇøµÄÃû³Æ½«µ¼Ö Linux ÎÞ·¨Ê¶±ðËü¡£"
+msgstr "改变根分区或交换分区的名称将导致 Linux 无法识别它。"
 
-#: libparted/labels/mac.c:1455
-#, fuzzy
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
-msgstr "ÎÞ·¨Ìí¼ÓÁíÒ»¸ö·ÖÇø - ·ÖÇøÓ³Éä¹ýС£¡"
+msgstr "无法添加另一个分区 -- 分区图过小!"
 
 #: libparted/labels/pc98.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid partition table on %s."
-msgstr "%s µÄ·ÖÇø±íÎÞЧ"
+msgstr "%s 的分区表无效。"
 
 #: libparted/labels/pc98.c:337 libparted/labels/pc98.c:415
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Partition %d isn't aligned to cylinder boundaries.  This is still "
 "unsupported."
-msgstr "·ÖÇø %d ²¢Î´¶ÔÆëµ½ÖùÃæ±ß½ç¡£ÐèÒªÌí¼Ó¶ÔËüµÄÖ§³Ö¡£"
+msgstr "分区 %d 未对齐到柱面边界。此功能尚未被支持。"
 
 #: libparted/labels/pc98.c:733
 msgid "Can't add another partition."
-msgstr "ÎÞ·¨Ìí¼ÓÆäËü·ÖÇø¡£"
+msgstr "无法添加其它分区。"
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
 "maximum of %jd"
-msgstr ""
+msgstr "分区的 %1$jd 扇区长度超出 %3$jd 的 %2$s-partition-table-imposed 最大值"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
-msgstr ""
+msgstr "起始扇区编号 %1$jd 超出 %3$jd 的 %2$s-partition-table-imposed 最大值"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
-msgstr ""
+msgstr "%s:区块 %llu 的类型 %s 有不当的校验和。"
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
-msgstr ""
+msgstr "%s:无法找到 rdb 区块,这不该发生。"
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
-msgstr ""
+msgstr "%s:于区块 %d 侦测到循环。"
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
-msgstr ""
+msgstr "%1$s:区块 %3$s 处似有不当 %2$s 列表。"
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
-msgstr ""
+msgstr "%s:列出坏块时失败。"
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
-msgstr ""
+msgstr "%s:列出分区区块时失败。"
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
-msgstr ""
+msgstr "%s:列出文件系统区块时失败。"
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
-msgstr ""
+msgstr "%s:列出启动区块时失败。"
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
-msgstr ""
-
-#: libparted/labels/rdb.c:1080
-#, fuzzy
-msgid "Unable to allocate a partition number."
-msgstr "ÐèÒª·ÖÇø±àºÅ¡£"
+msgstr "写入分区区块 %d 时失败。"
 
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
-msgstr "¼ì²âµ½Ëð»µÁ˵ĠSun ´ÅÅ̱êÇ©¡£"
+msgstr "检测到损坏了的 Sun 磁盘卷标。"
 
-#: libparted/labels/sun.c:276
-#, fuzzy, c-format
+#: libparted/labels/sun.c:277
+#, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
 "match the geometry stored on the disk label (%d,%d,%d)."
 msgstr ""
-"´ÅÅÌ CHS ¼¸ºÎ½á¹¹ (%d,%d,%d) ÓÚ±£´æÔÚ´ÅÅ̱êÇ© (%d,%d,%d) Öеļ¸ºÎ½á¹¹²»Æ¥Åä¡£"
+"由操作系统报告的磁盘 CHS 几何结构 (%d,%d,%d) 与保存在磁盘卷标中的几何结构 "
+"(%d,%d,%d) 不符合。"
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
-msgstr "´ÅÅ̱êÇ©ÃèÊöµÄ´ÅÅÌ´óÓÚ %s¡£"
+msgstr "磁盘卷标描述的磁盘大于 %s。"
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
-msgstr ""
+msgstr "该磁盘具有 %d 圈柱面,已超过 65536 的最大限制。"
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
 "not be able to boot without it, and SILO (the sparc boot loader) appreciates "
 "it as well."
 msgstr ""
+"整个磁盘分区是惟一还留下的可用区块。一般而言,以真实的区块来覆写这块分区并不"
+"是个好主意。没有了它,Solaris 也许就无法启动,并且 SILO (sparc 启动引导程序) "
+"也需要它。"
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
-msgstr "Sun ´ÅÅ̱êÇ©ÒÑÂú¡£"
+msgstr "Sun 磁盘卷标已满。"
 
 #: libparted/labels/vtoc.c:164
 msgid "opening of device failed"
-msgstr ""
+msgstr "设备打开时失败"
 
 #: libparted/labels/vtoc.c:168
 msgid "seeking on device failed"
-msgstr ""
+msgstr "设备寻找时失败"
 
 #: libparted/labels/vtoc.c:172
 msgid "writing to device failed"
-msgstr ""
+msgstr "设备写入时失败"
 
 #: libparted/labels/vtoc.c:176
 msgid "reading from device failed"
-msgstr ""
+msgstr "从设备读取时失败"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
-#, fuzzy
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
-msgstr "ÎÞ·¨¶ÁÈ¡ %s - %s µÄ¼¸ºÎ½á¹¹¡£"
+msgstr "无法读取卷标。"
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
-#, fuzzy
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
-msgstr "ÎÞ·¨¼ì²âÎļþϵͳ¡£"
+msgstr "无法写入卷标。"
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
-msgstr ""
+msgstr "无法读取 VTOC 卷标。"
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
-msgstr ""
+msgstr "无法读取 VTOC FMT1 DSCB。"
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
-msgstr ""
+msgstr "无法读取 VTOC FMT4 DSCB。"
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
-msgstr ""
+msgstr "无法读取 VTOC FMT5 DSCB。"
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
-msgstr ""
+msgstr "无法读取 VTOC FMT7 DSCB。"
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
-msgstr ""
+msgstr "无法写入 VTOC 卷标。"
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
-msgstr ""
+msgstr "无法写入 VTOC FMT1 DSCB。"
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
-msgstr ""
+msgstr "无法写入 VTOC FMT4 DSCB。"
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
-msgstr ""
+msgstr "无法写入 VTOC FMT5 DSCB。"
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
-msgstr ""
+msgstr "无法写入 VTOC FMT7 DSCB。"
 
-#: libparted/labels/vtoc.c:626
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
-msgstr ""
+msgstr "无法写入 VTOC FMT9 DSCB。"
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
-msgstr "ÄÚ´æºÄ¾¡¡£"
+msgstr "内存耗尽。"
 
 #: libparted/unit.c:139
 msgid "Cannot get unit size for special unit 'COMPACT'."
-msgstr ""
+msgstr "无法获得特殊单位“COMPACT”所用的大小。"
 
 #: libparted/unit.c:385
 #, c-format
 msgid "\"%s\" has invalid syntax for locations."
-msgstr ""
+msgstr "定位“%s”时语法无效。"
 
 #: libparted/unit.c:393
 #, c-format
 msgid "The maximum head value is %d."
-msgstr ""
+msgstr "磁头数量的最大值为 %d。"
 
 #: libparted/unit.c:400
 #, c-format
 msgid "The maximum sector value is %d."
-msgstr ""
+msgstr "扇区数量的最大值为 %d。"
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
-msgstr ""
+msgstr "位置 %s 超出设备 %s 的范围。"
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
-msgstr ""
+msgstr "无效的数字。"
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
-msgstr ""
+msgstr "使用较小单位以代替 < 1 的值"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
-msgstr ""
+msgstr "%s:配置分区区块时失败\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
-msgstr ""
+msgstr "%s:配置区块时失败\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
-msgstr ""
+msgstr "%s:无法读取启动区块 %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
-msgstr ""
+msgstr "%s:无法读取根区块 %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
-msgstr ""
+msgstr "%s:配置 ID 列表元素时失败\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
-msgstr ""
+msgstr "%s:无法读取区块 %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
-msgstr ""
+msgstr "%s:区块 %llu 的类型 %s 有不当的校验和\n"
 
-#: libparted/fs/amiga/amiga.c:211
-#, fuzzy, c-format
+#: libparted/fs/amiga/amiga.c:212
+#, c-format
 msgid "%s : Couldn't write block %d\n"
-msgstr "ÔÚдÈë %2$s Ê± %1$s"
+msgstr "%s:无法写入区块 %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
-msgstr ""
+msgstr "%s:配置磁盘特定的 rdb 区块时失败\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
-msgstr ""
+msgstr "%s:无法找到 rdb 区块,这不应该发生\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
-msgstr ""
+msgstr "%s:读取分区区块 %llu 时失败\n"
 
 #: libparted/fs/fat/fat.c:148 libparted/fs/r/fat/fat.c:811
-#, fuzzy
 msgid ""
 "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes.  FAT "
 "support will be disabled."
-msgstr "GNU parted ±àÒë´íÎó£ºFAT Æô¶¯ÉÈÇøÓ¦Îª 512 ×Ö½Ú¡£FAT Ö§³Ö½«±»¹Ø±Õ¡£"
+msgstr "GNU parted 编译时有误:FAT 启动扇区应为 512 字节。FAT 支持将被关闭。"
 
 #: libparted/fs/fat/bootsector.c:50 libparted/fs/r/fat/bootsector.c:49
 msgid "File system has an invalid signature for a FAT file system."
-msgstr "Îļþϵͳº¬ÓÐÎÞЧµÄ FAT ÎļþϵͳǩÃû¡£"
+msgstr "文件系统含有无效的 FAT 文件系统签名。"
 
 #: libparted/fs/fat/bootsector.c:58 libparted/fs/r/fat/bootsector.c:57
 msgid "File system has an invalid sector size for a FAT file system."
-msgstr "ÎļþϵͳµÄÉÈÇø´óС¶Ô FAT ÎļþϵͳÀ´ËµÎÞЧ¡£"
+msgstr "文件系统的扇区大小对 FAT 文件系统来说无效。"
 
 #: libparted/fs/fat/bootsector.c:65 libparted/fs/r/fat/bootsector.c:64
 msgid "File system has an invalid cluster size for a FAT file system."
-msgstr "ÎļþϵͳµÄ´Ø´óС¶Ô FAT ÎļþϵͳÀ´ËµÎÞЧ¡£"
+msgstr "文件系统的簇大小对 FAT 文件系统来说无效。"
 
 #: libparted/fs/fat/bootsector.c:72 libparted/fs/r/fat/bootsector.c:71
-#, fuzzy
 msgid ""
 "File system has an invalid number of reserved sectors for a FAT file system."
-msgstr "ÎļþϵͳµÄ±£ÁôÉÈÇøÊý¶Ô FAT ÎļþϵͳÀ´ËµÎÞЧ¡£"
+msgstr "文件系统的保留扇区数对 FAT 文件系统来说无效。"
 
 #: libparted/fs/fat/bootsector.c:79 libparted/fs/r/fat/bootsector.c:78
-#, fuzzy
 msgid "File system has an invalid number of FATs."
-msgstr "ÎļþϵͳµÄ FATS ÊýÁ¿ÎÞЧ¡£"
+msgstr "文件系统的文件分配表 (FATs) 数量无效。"
 
 #: libparted/fs/fat/bootsector.c:162
 #, c-format
@@ -1608,56 +1730,48 @@ msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
 "partition table's CHS geometry is (%d, %d, %d)."
 msgstr ""
+"文件系统的 CHS 几何数据是 (%d, %d, %d),该项无效。分区表的 CHS 位置与尺寸是 "
+"(%d, %d, %d)。"
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
-msgstr "FAT Æô¶¯ÉÈÇøÉù³ÆÂß¼­ÉÈÇøµÄ´óСΪÁã¡£ÕâºÜÆæ¹Ö¡£"
+msgstr "FAT 启动扇区声称逻辑扇区的大小为零。这很奇怪。"
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
-msgstr "FAT Æô¶¯ÉÈÇøÉù³ÆÃ»ÓРFAT ±í¡£ÕâºÜÆæ¹Ö¡£"
+msgstr "FAT 启动扇区声称没有 FAT 表。这很奇怪。"
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
-msgstr "FAT Æô¶¯ÉÈÇøÉù³Æ×äÊÇÁãÉÈÇø¡£ÕâºÜÆæ¹Ö¡£"
+msgstr "FAT 启动扇区声称簇是零扇区。这很奇怪。"
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
-#, fuzzy
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
-msgstr "ÎļþϵͳΪ FAT12£¬²»Ö§³Ö¡£"
+msgstr "文件系统为 FAT12,不支持。"
 
-#: libparted/fs/linux_swap/linux_swap.c:230
-#, fuzzy, c-format
+#: libparted/fs/linux_swap/linux_swap.c:231
+#, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
-msgstr "ÎÞ·¨Ê¶±ðµÄ linux ¶Ô»»Ç©Ãû¡°%10s¡±¡£"
+msgstr "无法辨识的旧式 linux 交换签名“%10s”。"
 
-#: libparted/fs/linux_swap/linux_swap.c:268
-#, fuzzy, c-format
+#: libparted/fs/linux_swap/linux_swap.c:269
+#, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
-msgstr "ÎÞ·¨Ê¶±ðµÄ linux ¶Ô»»Ç©Ãû¡°%10s¡±¡£"
+msgstr "无法辨识的新式 linux 交换签名“%10s”。"
 
-#: libparted/fs/linux_swap/linux_swap.c:308
-#, fuzzy, c-format
+#: libparted/fs/linux_swap/linux_swap.c:309
+#, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
-msgstr "ÎÞ·¨Ê¶±ðµÄ linux ¶Ô»»Ç©Ãû¡°%10s¡±¡£"
+msgstr "无法辨识的 swsusp linux 交换签名“%9s”。"
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
-msgstr ""
-
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"´ËÎļþϵͳµÄÂß¼­ÉÈÇø´óСΪ %d¡£GNU Parted ²»ÄÜÔÚÉÈÇø´óС²»ÊÇ 512 ×Ö½ÚµÄÇé¿öÏÂ"
-"ÕýÈ·¹¤×÷¡£"
+msgstr "Parted 无法在其扇区大小不等于 %d 字节的磁盘上使用 HFS 文件系统。"
 
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1666,85 +1780,88 @@ msgid ""
 "file system's CHS geometry will be set to match the partition table's CHS "
 "geometry."
 msgstr ""
+"文件系统的 CHS 几何结构为 (%d, %d, %d),而其无效。分区表的 CHS 几何结构为 "
+"(%d, %d, %d)。如果您选择忽略,文件系统的 CHS 几何结构将会保留不变。如果您选择"
+"修复,文件系统的 CHS 几何结构将会被设置以符合分区表的 CHS 几何结构。"
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
 "and send in a bug report.  If you're desperate, it's probably safe to ignore."
 msgstr ""
-"ÐÅÏ¢ÉÈÇøµÄÇ©Ãû´íÎó (%x)¡£ÏÖÔÚÑ¡Ôñ·ÅÆú£¬²¢·¢ËÍ bug ±¨¸æ¡£Èç¹ûÄú²»¹ËÒ»ÇУ¬Ñ¡Ôñ"
-"ºöÂÔÓпÉÄÜÊÇ¡°°²È«¡±µÄ¡£"
+"信息扇区的签名错误 (%x)。现在选择放弃,并发送 bug 报告。如果您不顾一切,选择"
+"忽略有可能是“安全”的。"
 
 #: libparted/fs/r/fat/calc.c:134
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "You need %s of free disk space to shrink this partition to this size.  "
 "Currently, only %s is free."
 msgstr ""
-"ÄúÐèÒª %dM µÄ¿ÕÏпռäÀ´½«´Ë·ÖÇøÊÕËõµ½ÕâÒ»´óС (ÄúĿǰֻÓР%dM µÄ¿ÕÏпռä)"
+"您需要 %s 的可用磁盘空间以收缩这个分区到这个大小。目前,只有 %s 为可用。"
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
-msgstr "´ØÆðÊ¼Æ«ÒÆ = %d£¬²»ÊÇ´Ø´óС %d µÄÕûÊý±¶¡£"
+msgstr "簇起始偏移 = %d,不是簇大小 %d 的整数倍。"
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
-msgstr "%s µÄĿ¼ÌõÄ¿´íÎ󣺵ÚÒ»¸ö´Ø¾ÍÊÇÎļþ±êÖ¾µÄ½áÊø¡£"
+msgstr "%s 的目录条目错误:第一个簇就是文件标志的结束。"
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
-msgstr "´íÎóµÄ FAT£º%s µÄÁ´Î´ÖÕÖ¹¡£ÄúÓ¦¸ÃÔËÐРdosfsck »ò scandisk¡£"
+msgstr "错误的 FAT:%s 的链未终止。您应该运行 dosfsck 或 scandisk。"
 
-#: libparted/fs/r/fat/count.c:165
-#, fuzzy, c-format
+#: libparted/fs/r/fat/count.c:166
+#, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
 "dosfsck or scandisk."
 msgstr ""
-"´íÎóµÄ FAT£ºÔÚ%2$s µÄÁ´ÖУ¬´Ø %1$d ´¦ÓÚÎļþϵͳ֮Íâ¡£ÄúÓ¦¸ÃÔËÐРdosfsck »ò "
-"scandisk¡£"
+"不当的 FAT 分区表:%2$s 的链中有簇 %1$d 位于文件系统之外。您应该运行 dosfsck "
+"或 scandisk。"
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
 "scandisk."
-msgstr "´íÎóµÄ FAT£º´Ø %d Í¬ %s µÄÁ´½»²æÁË¡£ÄúÓ¦¸ÃÔËÐРdosfsck »ò scandisk¡£"
+msgstr "错误的 FAT:簇 %d 同 %s 的链交叉了。您应该运行 dosfsck 或 scandisk。"
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
-msgstr "%s Îª %dk£¬µ«º¬ÓР%d ¸ö´Ø (%dk)¡£"
+msgstr "%s 为 %dk,但含有 %d 个簇 (%dk)。"
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
 "some programs to stop working."
-msgstr "Îļþ %s ±»±ê¼ÇΪϵͳÎļþ¡£ÕâÒâζ×ÅÒÆ¶¯Ëü¿ÉÄܵ¼ÖÂijЩ³ÌÐòÍ£Ö¹¹¤×÷¡£"
+msgstr "文件 %s 被标记为系统文件。这意味着移动它可能导致某些程序停止工作。"
 
 #: libparted/fs/r/fat/fat.c:243
-#, fuzzy, c-format
+#, c-format
 msgid "Partition too big/small for a %s file system."
-msgstr "¶ÔÓÚ %s ÎļþϵͳÀ´Ëµ£¬·ÖÇø¹ý´ó»ò¹ýС"
+msgstr "对于 %s 文件系统而言,分区太大/太小。"
 
 #: libparted/fs/r/fat/fat.c:409
 msgid ""
 "The FATs don't match.  If you don't know what this means, then select "
 "cancel, run scandisk on the file system, and then come back."
 msgstr ""
-"FAT ²»Æ¥Åä¡£Èç¹ûÄã²»ÖªµÀËüµÄº¬Ò壬ÇëÑ¡Ôñ·ÅÆú£¬²¢¶ÔÎļþϵͳÔËÐРscandisk£¬¶øºó"
-"Ôڻص½ÕâÀïÀ´¡£"
+"FAT 不匹配。如果你不知道它的含义,请选择放弃,并对文件系统运行 scandisk,而后"
+"在回到这里来。"
 
 #: libparted/fs/r/fat/fat.c:449
 msgid "There are no possible configurations for this FAT type."
-msgstr "¶ÔÓÚ´Ë FAT ÀàÐÍûÓпÉÄܵÄÅäÖá£"
+msgstr "对于此 FAT 类型没有可能的配置。"
 
 #: libparted/fs/r/fat/fat.c:461
 #, c-format
@@ -1753,48 +1870,46 @@ msgid ""
 "size is %dk (%dk expected); number of clusters is %d (%d expected); size of "
 "FATs is %d sectors (%d expected)."
 msgstr ""
-"ÎļþϵͳµÄ´óС²»ÊÇ Windows ËùÏ£ÍûµÄ¡£´Ø´óСΪ %dk (ÆÚÍû %dk)£»´ØÊýÁ¿Îª %d (ÆÚ"
-"Íû %d)£»FAT µÄ´óСΪ %d ÉÈÇø (ÆÚÍû %d)¡£"
+"文件系统的大小不是 Windows 所希望的。簇大小为 %dk (期望 %dk);簇数量为 %d (期"
+"望 %d);FAT 的大小为 %d 扇区 (期望 %d)。"
 
 #: libparted/fs/r/fat/fat.c:484
 #, c-format
 msgid ""
 "File system is reporting the free space as %d clusters, not %d clusters."
-msgstr "Îļþϵͳ±¨¸æ¿ÕÏпռäΪ %d ´Ø£¬¶ø²»ÊÇ %d ´Ø¡£"
+msgstr "文件系统报告空闲空间为 %d 簇,而不是 %d 簇。"
 
 #: libparted/fs/r/fat/resize.c:158
-#, fuzzy
 msgid ""
 "There's not enough room in the root directory for all of the files.  Either "
 "cancel, or ignore to lose the files."
-msgstr "¸ùĿ¼ÏÂûÓб£´æËùÓÐÎļþµÄ×ã¹»¿Õ¼ä¡£·ÅÆú»òÕßÒÔËðʧÎļþΪ´ú¼ÛºöÂÔ¡£"
+msgstr "在根目录中空间不足以用于所有的文件。你可选择取消,或是忽略而遗失文件。"
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
-msgstr "дÈë¸ùĿ¼´íÎó¡£"
+msgstr "写入根目录错误。"
 
-#: libparted/fs/r/fat/resize.c:488
-#, fuzzy
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
-msgstr "Èç¹û½«ÄúµÄÎļþϵͳÀàÐͱ£³Ö FAT16 ²»±ä£¬ÄÇôÄã¾Í²»»áÓÐÎÊÌâ¡£"
+msgstr "如果您保留文件系统为 FAT16, 那么将不会有问题。"
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
 "should consult the Parted manual (or your distribution's manual)."
 msgstr ""
-"Èç¹ûÄúת»»Îª FAT16£¬²¢½« MS Windows °²×°µ½Õâ¸ö·ÖÇø£¬ÄÇôÄú±ØÐëÖØÐ°²×° MS "
-"Windows Æô¶¯¹ÜÀíÆ÷¡£Èç¹ûÄú´òËãÕâô×ö£¬ÄúÓ¦¸Ã²ÎÔÄ Parted µÄÊÖ²á (»òÄúµÄ·¢Ðаæ"
-"µÄÊÖ²á)¡£"
+"如果您转换为 FAT16,并将 MS Windows 安装到这个分区,那么您必须重新安装 MS "
+"Windows 启动管理器。如果您打算这么做,您应该参阅 Parted 的手册 (或您的发行版"
+"的手册)。"
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
-msgstr "Èç¹ûÄú±£³ÖÎļþϵͳÀàÐÍΪ FAT32 ²»±ä£¬ÄÇôÄú½«²»»áÓöµ½ÈκÎÐÂÎÊÌâ¡£"
+msgstr "如果您保持文件系统类型为 FAT32 不变,那么您将不会遇到任何新问题。"
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1802,40 +1917,39 @@ msgid ""
 "converting to FAT32 will make the file system unreadable by MS DOS, MS "
 "Windows 95a, and MS Windows NT."
 msgstr ""
-"Èç¹ûÄúת»»Îª FAT32£¬²¢ÇÒ MS Windows °²×°ÔÚÕâ¸ö·ÖÇø£¬ÄÇôÄú±ØÐëÖØÐ°²×° MS "
-"Windows µÄÆô¶¯¹ÜÀíÆ÷¡£Èç¹ûÄú´òËãÕâÑù×÷£¬ÄúÓ¦¸Ã²ÎÔÄ Parted µÄÊÖ²á (»òÕßÄúµÄ·¢"
-"ÐаæµÄÊÖ²á)¡£´ËÍ⣬½«Îļþϵͳת»»Îª FAT32£¬Îļþϵͳ¾Í²»Äܹ»±» MS DOS¡¢MS "
-"Windows 95a ºÍ MS Windows NT Ëù·ÃÎÊÁË¡£"
+"如果您转换为 FAT32,并且 MS Windows 安装在这个分区,那么您必须重新安装 MS "
+"Windows 的启动管理器。如果您打算这样作,您应该参阅 Parted 的手册 (或者您的发"
+"行版的手册)。此外,将文件系统转换为 FAT32,文件系统就不能够被 MS DOS、MS "
+"Windows 95a 和 MS Windows NT 所访问了。"
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
-msgstr "ÄúÊÇ·ñÔ¸ÒâʹÓàFAT32£¿"
+msgstr "您是否愿意使用 FAT32?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
-msgstr "ÎļþϵͳµÄ´óСֻÄÜͨ¹ýת»»Îª FAT16 ¸Ä±äµ½ÕâÒ»´óС¡£"
+msgstr "文件系统的大小只能通过转换为 FAT16 改变到这一大小。"
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
-msgstr "ÎļþϵͳµÄ´óСֻÄÜͨ¹ýת»»Îª FAT32 ¸Ä±äµ½ÕâÒ»´óС¡£"
+msgstr "文件系统的大小只能通过转换为 FAT32 改变到这一大小。"
 
-#: libparted/fs/r/fat/resize.c:579
-#, fuzzy
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
-msgstr "GNU Parted ÎÞ·¨½«´Ë·ÖÇø×ª»»µ½ÕâÒ»´óС¡£ÎÒÃÇÕýÔÚʵÏÖËü£¡"
+msgstr "GNU Parted 无法调整这个分区为这样的大小。我们正为此努力!"
 
 #: libparted/fs/r/fat/table.c:136
 #, c-format
@@ -1843,379 +1957,378 @@ msgid ""
 "FAT %d media %x doesn't match the boot sector's media %x.  You should "
 "probably run scandisk."
 msgstr ""
-"FAT %d Ã½Ìå %x ºÍÆô¶¯ÉÈÇøËùÔÚµÄýÌå %x ²»Æ¥Åä¡£Äú¿ÉÄÜÓ¦¸ÃÔËÐРscandisk¡£"
+"FAT %d 媒体 %x 和启动扇区所在的媒体 %x 不匹配。您可能应该运行 scandisk。"
 
 #: libparted/fs/r/fat/table.c:268
-#, fuzzy, c-format
+#, c-format
 msgid "fat_table_set: cluster %ld outside file system"
-msgstr "fat_table_set£º´Ø %ld ´¦ÓÚÎļþϵͳ֮Íâ"
+msgstr "fat_table_set:簇 %ld 位于文件系统之外"
 
 #: libparted/fs/r/fat/table.c:300
-#, fuzzy, c-format
+#, c-format
 msgid "fat_table_get: cluster %ld outside file system"
-msgstr "fat_table_get£º´Ø %ld ´¦ÓÚÎļþϵͳ֮Íâ"
+msgstr "fat_table_get:簇 %ld 位于文件系统之外"
 
 #: libparted/fs/r/fat/table.c:342
 msgid "fat_table_alloc_cluster: no free clusters"
-msgstr "fat_table_alloc_cluster£ºÃ»ÓпÕÏдØ"
+msgstr "fat_table_alloc_cluster:没有空闲簇"
 
 #: libparted/fs/r/filesys.c:151
 msgid "Could not detect file system."
-msgstr "ÎÞ·¨¼ì²âÎļþϵͳ¡£"
+msgstr "无法检测文件系统。"
 
 #: libparted/fs/r/filesys.c:158 libparted/fs/r/filesys.c:285
-#, fuzzy, c-format
+#, c-format
 msgid "resizing %s file systems is not supported"
-msgstr "¸Ä±ä %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£"
+msgstr "不支持调整 %s 文件系统大小"
 
 #: libparted/fs/r/filesys.c:170
-#, fuzzy
 msgid "The file system is bigger than its volume!"
-msgstr "Îļþϵͳ±ÈËüµÄ¾í»¹´ó£¡"
+msgstr "文件系统大于其所在的卷!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
-msgstr ""
+msgstr "文件系统含有错误。"
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
-msgstr ""
+msgstr "无法读取不当的区块。"
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
+"尝试登记一个开始于 0x%X 的延伸区块,但是另一个已经存在于此位置。您应该检查一"
+"下文件系统!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
+"尝试将延伸区块从 Ox%X 移动到 Ox%X,但是另一个已经存在于此位置。这件事不应该发"
+"生!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
-msgstr ""
+msgstr "无法更新具有 CNID %X 的 HFS 文件延伸缓存。"
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
-msgstr ""
+msgstr "尝试读取 EOF 之后具有 CNID %X 的 HFS 文件。"
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
-msgstr ""
+msgstr "找不到具有 CNID %2$X 的 HFS 文件扇区 %1$lli。"
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
-msgstr ""
+msgstr "尝试写入 EOF 之后具有 CNID %X 的 HFS 文件。"
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
-msgstr ""
+msgstr "无法更新具有 CNID %X 的 HFS+ 文件延伸缓存。"
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
-msgstr ""
+msgstr "尝试读取 EOF 之后具有 CNID %X 的 HFS+ 文件。"
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
-msgstr ""
+msgstr "找不到具有 CNID %2$X 的 HFS+ 文件扇区 %1$lli。"
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
-msgstr ""
+msgstr "尝试写入 EOF 之后具有 CNID %X 的 HFS+ 文件。"
 
 #: libparted/fs/r/hfs/hfs.c:232
 msgid "Sorry, HFS cannot be resized that way yet."
-msgstr ""
+msgstr "抱歉,HFS 尚无法以该种方式调整大小。"
 
 #: libparted/fs/r/hfs/hfs.c:250 libparted/fs/r/hfs/hfs.c:629
 msgid "shrinking"
-msgstr "ÕýÔÚËõС"
+msgstr "正在缩小"
 
 #: libparted/fs/r/hfs/hfs.c:262 libparted/fs/r/hfs/hfs.c:641
 msgid "Data relocation has failed."
-msgstr ""
+msgstr "数据重寻址失败。"
 
 #: libparted/fs/r/hfs/hfs.c:281
 msgid "Data relocation left some data in the end of the volume."
-msgstr ""
+msgstr "数据重寻址在卷末端留下一些数据。"
 
 #: libparted/fs/r/hfs/hfs.c:320
-#, fuzzy
 msgid "writing HFS Master Directory Block"
-msgstr "дÈë¸ùĿ¼´íÎó¡£"
+msgstr "正写入 HFS 主目录区块"
 
 #: libparted/fs/r/hfs/hfs.c:468
 msgid "No valid HFS[+X] signature has been found while opening."
-msgstr ""
+msgstr "打开时找不到任何有效的 HFS[+X] 签名。"
 
 #: libparted/fs/r/hfs/hfs.c:478
 #, c-format
 msgid "Version %d of HFS+ isn't supported."
-msgstr ""
+msgstr "不支持 HFS+ 的版本 %d。"
 
 #: libparted/fs/r/hfs/hfs.c:489
 #, c-format
 msgid "Version %d of HFSX isn't supported."
-msgstr ""
+msgstr "不支持 HFSX 的版本 %d。"
 
 #: libparted/fs/r/hfs/hfs.c:672
 msgid "Data relocation left some data at the end of the volume."
-msgstr ""
+msgstr "数据重寻址在卷末端留下一些数据。"
 
 #: libparted/fs/r/hfs/hfs.c:720
-#, fuzzy
 msgid "Error while writing the allocation file."
-msgstr "дÈë¸ùĿ¼´íÎó¡£"
+msgstr "写入配额文件时发生错误。"
 
 #: libparted/fs/r/hfs/hfs.c:735
 msgid "Error while writing the compatibility part of the allocation file."
-msgstr ""
+msgstr "写入配额文件的兼容部分时发生错误。"
 
 #: libparted/fs/r/hfs/hfs.c:750
 msgid "writing HFS+ Volume Header"
-msgstr ""
+msgstr "正写入 HFS+ 卷标头"
 
 #: libparted/fs/r/hfs/hfs.c:850
 msgid "An error occurred while looking for the mandatory bad blocks file."
-msgstr ""
+msgstr "找寻必要的坏块文件时发生了错误。"
 
 #: libparted/fs/r/hfs/hfs.c:904
 msgid ""
 "It seems there is an error in the HFS wrapper: the bad blocks file doesn't "
 "contain the embedded HFS+ volume."
-msgstr ""
+msgstr "在 HFS 包装程序中似乎出现错误:坏块文件未包含嵌入式 HFS+ 卷。"
 
 #: libparted/fs/r/hfs/hfs.c:940
 msgid "Sorry, HFS+ cannot be resized that way yet."
-msgstr ""
+msgstr "抱歉,HFS+ 尚无法以该种方式调整大小。"
 
 #: libparted/fs/r/hfs/hfs.c:975
 msgid "shrinking embedded HFS+ volume"
-msgstr ""
+msgstr "正收缩嵌入式 HFS+ 卷"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
-msgstr ""
+msgstr "调整 HFS+ 卷大小失败。"
 
-#: libparted/fs/r/hfs/hfs.c:998
-#, fuzzy
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
-msgstr "ÕýÔÚËõС"
+msgstr "正收缩 HFS 包装程序"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
-msgstr ""
+msgstr "正更新 HFS 包装程序失败。"
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
-msgstr ""
+msgstr "这不是真实的 %s 检查。这是为了调试的目的而抽出特殊的低级文件。"
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
-msgstr ""
+msgstr "不当的块清单标头校验和。"
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
-msgstr ""
+msgstr "重播日志时出现无效的事务作业区块大小 (%i 字节)。"
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
-msgstr ""
+msgstr "不支持保存于卷之外的日志。请尝试停用日志并再次运行 Parted。"
 
-#: libparted/fs/r/hfs/journal.c:270
-#, fuzzy
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
-msgstr "´ØÆðÊ¼Æ«ÒÆ = %d£¬²»ÊÇ´Ø´óС %d µÄÕûÊý±¶¡£"
+msgstr "日志的偏移值或大小并非扇区大小的倍数。"
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
-msgstr ""
+msgstr "日志标头中有不正确的幻数。"
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
-msgstr ""
+msgstr "日志信息区块与日志标头中的日志大小不匹配。"
 
-#: libparted/fs/r/hfs/journal.c:313
-#, fuzzy
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
-msgstr "´ØÆðÊ¼Æ«ÒÆ = %d£¬²»ÊÇ´Ø´óС %d µÄÕûÊý±¶¡£"
+msgstr "某些标头字段不是扇区大小的倍数。"
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
+"保存在日志中的扇区大小不是 512 字节。Parted 只支持 512 字节长度的扇区。"
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
-msgstr ""
+msgstr "不当的日志校验和。"
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
 msgstr ""
+"日志非空。Parted 必须于打开文件系统之前重播事务作业。这将会修改文件系统。"
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
-msgstr ""
+msgstr "重播日志时,卷标头或主目录区块已变更。您应该重新启动 Parted。"
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
-msgstr ""
+msgstr "某个延伸未被重寻址。"
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
-msgstr ""
+msgstr "某个延伸的参考来自它不该来的地方。您应该检查一下文件系统!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
-msgstr ""
+msgstr "这个 HFS 卷没有任何目录文件。这是很不寻常的!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
-msgstr ""
+msgstr "这个 HFS 卷没有任何延伸溢出文件。这是相当不寻常的!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
-msgstr ""
+msgstr "延伸溢出文件不应该包含其本身的延伸! 您应该检查一下文件系统。"
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
-#, fuzzy
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
-msgstr "ÎÞ·¨¼ì²âÎļþϵͳ¡£"
+msgstr "无法将文件系统缓存在内存中。"
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
-msgstr ""
+msgstr "无法加载坏块清单。"
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
-msgstr ""
+msgstr "在延伸重寻址的期间发生了错误。"
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
-msgstr ""
+msgstr "这个 HFS+ 卷没有任何类别文件。这是很不寻常的!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
-msgstr ""
+msgstr "这个 HFS+ 卷没有任何延伸溢出文件。这是相当不寻常的!"
 
 #: parted/parted.c:125
 msgid "displays this help message"
-msgstr "ÏÔʾ´ËÇóÖúÐÅÏ¢"
+msgstr "显示此求助信息"
 
 #: parted/parted.c:126
 msgid "lists partition layout on all block devices"
-msgstr ""
+msgstr "列出所有块设备的分区配置"
 
 #: parted/parted.c:127
 msgid "displays machine parseable output"
-msgstr ""
+msgstr "显示机器可解析的输出"
 
 #: parted/parted.c:128
 msgid "never prompts for user intervention"
-msgstr "´Ó²»ÌáʾÓû§"
+msgstr "从不提示用户"
 
 #: parted/parted.c:129
 msgid "displays the version"
-msgstr "ÏÔʾ°æ±¾"
+msgstr "显示版本"
 
 #: parted/parted.c:130
-#, fuzzy
 msgid "alignment for new partitions"
-msgstr "²»ÄÜÖ»¸´ÖÆÀ©Õ¹·ÖÇø¡£"
+msgstr "新分区的对齐"
 
 #: parted/parted.c:142
-#, fuzzy
 msgid ""
 "NUMBER is the partition number used by Linux.  On MS-DOS disk labels, the "
 "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n"
 msgstr ""
-"MINOR ÊÇ Linux Ê¹ÓõķÖÇø±àºÅ¡£ÔÚ msdos ´ÅÅÌ    ±êÇ©ÖУ¬Ö÷·ÖÇø±àºÅΪ 1 - 4£¬"
-"Âß¼­·ÖÇø´Ó 5 ¿ªÊ¼¡£\n"
+"NUMBER 是 Linux 使用的分区编号。在 MS-DOS 磁盘卷标中,主分区编号为 1 - 4,逻"
+"辑分区从 5 开始。\n"
 
 #: parted/parted.c:145
 msgid "LABEL-TYPE is one of: "
-msgstr "¡°±êÇ©ÀàÐÍ¡±ÊÇÒÔÏÂÈÎÒâÒ»Ï"
+msgstr "“卷标类型”是以下任意一项:"
 
 #: parted/parted.c:146 parted/parted.c:147
 msgid "FLAG is one of: "
-msgstr "¡°±êÖ¾¡±ÊÇÒÔÏÂÈÎÒâÒ»Ï"
+msgstr "“标志”是以下任意一项:"
 
 #: parted/parted.c:148
-#, fuzzy
 msgid "UNIT is one of: "
-msgstr "¡°±êÖ¾¡±ÊÇÒÔÏÂÈÎÒâÒ»Ï"
+msgstr "UNIT 是以下任意一项:"
 
 #: parted/parted.c:149
 msgid "desired alignment: minimum or optimal"
-msgstr ""
+msgstr "预想获得的对齐:最小或最佳化"
 
 #: parted/parted.c:150
 msgid "PART-TYPE is one of: primary, logical, extended\n"
-msgstr "¡°·ÖÇøÀàÐÍ¡±ÊÇÖ÷·ÖÇø¡¢Âß¼­·ÖÇø¡¢À©Õ¹·ÖÇøÖ®Ò»\n"
+msgstr "“分区类型”是主分区、逻辑分区、扩展分区之一\n"
 
 #: parted/parted.c:152
 msgid "FS-TYPE is one of: "
-msgstr "¡°ÎļþϵͳÀàÐÍ¡±ÊÇÒÔÏÂÈÎÒâÒ»Ï"
+msgstr "“文件系统类型”是以下任意一项:"
 
 #: parted/parted.c:153
-#, fuzzy
 msgid ""
 "START and END are disk locations, such as 4GB or 10%.  Negative values count "
 "from the end of the disk.  For example, -1s specifies exactly the last "
 "sector.\n"
-msgstr "¡°Æðʼµã¡±ºÍ¡°ÖÕÖ¹µã¡±ÒÔÕ×Ϊµ¥Î»¡£¸ºÖµ±íʾ´Ó´ÅÅÌÄ©¶Î¿ªÊ¼¼ÆÊý¡£\n"
+msgstr ""
+"START 和 END 都是磁盘位置,如 4 GB 或 10%。负值从磁盘的末尾数起。例如,-1s 指"
+"定确切的最后环节。\n"
 
 #: parted/parted.c:156
 msgid ""
 "END is disk location, such as 4GB or 10%.  Negative value counts from the "
 "end of the disk.  For example, -1s specifies exactly the last sector.\n"
 msgstr ""
+"END 指的是磁盘位置,例如 4GB 或 10%。负数值将从磁盘末端倒数过来。例如,-1s 指"
+"定最后一个扇区。\n"
 
 #: parted/parted.c:159
 msgid "STATE is one of: on, off\n"
-msgstr "״̬Ϊ£º¿ª¡¢¹Ø\n"
+msgstr "状态为:开、关\n"
 
 #: parted/parted.c:160
 msgid "DEVICE is usually /dev/hda or /dev/sda\n"
-msgstr "DEVICE Í¨³£Îª /dev/hda »ò /dev/sda\n"
+msgstr "DEVICE 通常为 /dev/hda 或 /dev/sda\n"
 
 #: parted/parted.c:161
 msgid "NAME is any word you want\n"
-msgstr "NAME ÊÇÄúÐèÒªµÄÈκε¥´Ê\n"
+msgstr "NAME 是您需要的任何单词\n"
 
 #: parted/parted.c:164
-#, fuzzy
 msgid ""
 "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n"
 "This program is free software, covered by the GNU General Public License.\n"
@@ -2226,464 +2339,466 @@ msgid ""
 "GNU General Public License for more details.\n"
 "\n"
 msgstr ""
-"°æÈ¨ËùÓР(C) 1998, 1999, 2000, 2001, 2002, 2003 ×ÔÓÉÈí¼þ»ù½ð»á¡£\n"
-"±¾³ÌÐòΪ×ÔÓÉÈí¼þ£¬°´ GNU Í¨Óù«¹²Ðí¿ÉÖ¤·¢ÐС£\n"
+"Copyright © 1998 - 2006 自由软件基金会。\n"
+"本程序为自由软件,受 GNU 通用公共许可证规范。\n"
+"\n"
+"发行本程序是希望它能够有用,但是不含任何担保;\n"
+"甚至不包括隐含的适销性和适合特定用途的保证。\n"
+"详情请参见 GNU 通用公共许可证。\n"
 "\n"
-"·¢Ðб¾³ÌÐòÊÇÏ£ÍûËüÄܹ»ÓÐÓ㬵«Ã»ÓÐÈκε£±££»ÉõÖÁ²»°üÀ¨Òþº¬µÄÊÊÏúºÍÊʺÏÌØ¶¨ÓÃ"
-";µÄ±£Ö¤¡£ÏêÇéÇë²Î¼û GNU Í¨Óù«¹²Ðí¿ÉÖ¤¡£\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
-msgstr "%0.f%%\t(Ê£Óàʱ¼ä %.2d:%.2d)"
+msgstr "%0.f%%\t(剩余时间 %.2d:%.2d)"
 
-#: parted/parted.c:230
-#, fuzzy, c-format
+#: parted/parted.c:231
+#, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
-msgstr "ÕýÔÚʹÓ÷ÖÇø %s¡£ÔÚʹÓÃʱÐÞ¸ÄËû½«µ¼ÖÂÑÏÖØµÄÆÆ»µ¡£"
+msgstr "分区 %s 正被使用。你确定要继续吗?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
-msgstr "ÕýÔÚʹÓà%s ÉϵķÖÇø¡£"
+msgstr "正在使用 %s 上的分区。"
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
 "will be lost. Do you want to continue?"
 msgstr ""
+"现有 %s 上的磁盘卷标将被销毁,而所有在这个磁盘上的数据将会丢失。您要继续吗?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
-msgstr "еĴÅÅ̱êÇ©ÀàÐÍ£¿"
+msgstr "新的磁盘卷标类型?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
-msgstr "·ÖÇøÀàÐÍ£¿"
+msgstr "分区类型?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
-msgstr "·ÖÇøÃû³Æ£¿"
+msgstr "分区名称?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
-msgstr "ÎļþϵͳÀàÐÍ£¿"
+msgstr "文件系统类型?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
-msgstr "Æðʼµã£¿"
+msgstr "起始点?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
-msgstr "½áÊøµã£¿"
+msgstr "结束点?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
 "The closest location we can manage is %s to %s (sectors %llu..%llu).%s"
 msgstr ""
+"您要求将分区从 %s 移动到 %s (扇区 %llu..%llu)。\n"
+"我们可以管理的最近的分区是从 %s 到 %s (扇区 %llu..%llu).%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
 msgstr ""
+"\n"
+"这样您还可以接受吗?"
+
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
+msgstr "所产生的分区没有适当为获得最佳性能而对齐。"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
 msgstr ""
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s 磁盘卷标不支持扩展分区。"
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
-msgstr "·ÖÇø±àºÅ£¿"
+msgstr "分区编号?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
-msgstr ""
+msgstr "BIOS 的柱面、磁头、扇区几何结构:%d,%d,%d。每圈柱面是 %s。\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
-msgstr ""
+msgstr "型号:%s (%s)\n"
 
-#: parted/parted.c:1003
-#, fuzzy, c-format
+#: parted/parted.c:1019
+#, c-format
 msgid "Disk %s: %s\n"
-msgstr "´ÅÅ̱êÇ©ÀàÐÍ£º%s\n"
+msgstr "磁盘 %s:%s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
-msgstr ""
+msgstr "扇区大小 (逻辑/物理):%lldB/%lldB\n"
 
-#: parted/parted.c:1016
-#, fuzzy, c-format
+#: parted/parted.c:1032
+#, c-format
 msgid "Partition Table: %s\n"
-msgstr "·ÖÇøÃû³Æ£¿"
+msgstr "分区表:%s\n"
 
-#: parted/parted.c:1017
-#, fuzzy, c-format
+#: parted/parted.c:1033
+#, c-format
 msgid "Disk Flags: %s\n"
-msgstr "´ÅÅ̱êÇ©ÀàÐÍ£º%s\n"
+msgstr "磁盘标志:%s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
-msgstr ""
+msgstr "编号"
 
-#: parted/parted.c:1139 parted/parted.c:1142
-#, fuzzy
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
-msgstr "Æðʼµã£¿"
+msgstr "起始点"
 
-#: parted/parted.c:1140 parted/parted.c:1143
-#, fuzzy
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
-msgstr "½áÊøµã£¿"
+msgstr "结束点"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
-msgstr ""
+msgstr "大小"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
-msgstr ""
+msgstr "类型"
 
-#: parted/parted.c:1149
-#, fuzzy
+#: parted/parted.c:1163
 msgid "File system"
-msgstr "Îļþϵͳ£¿"
+msgstr "文件系统"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
-msgstr ""
+msgstr "名称"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
-msgstr "±êÖ¾"
+msgstr "标志"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
-msgstr ""
+msgstr "可用空间"
 
-#: parted/parted.c:1371
-#, fuzzy, c-format
+#: parted/parted.c:1385
+#, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
 "partition table?"
 msgstr ""
-"ÔÚ %3$.3fMb -> %4$.3fMb ´¦ÕÒµ½Ò»¸ö %1$s %2$s ·ÖÇø¡£ÄúÏ£Íû½«ÆäÌí¼Óµ½·ÖÇø±íÖÐ"
-"Âð£¿"
+"在 %3$s -> %4$s 处找到一个 %1$s %2$s 分区。您希望将其添加到分区表中吗?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
-msgstr "ÕýÔÚËÑË÷Îļþϵͳ"
+msgstr "正在搜索文件系统"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
-msgstr ""
+msgstr "resize 命令已在 parted 3.0 移除"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
-msgstr ""
+msgstr "缩小分区可导致数据丢失,你确定要继续吗?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
-msgstr "ÐÂÉ豸£¿"
+msgstr "新设备?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
-msgstr ""
+msgstr "对齐类型 (最小/最佳)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
-msgstr ""
+msgstr "%d 已对齐\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
-msgstr ""
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
+msgstr "%d 未对齐\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
-#, fuzzy
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
-msgstr "ÒªÐ޸ĵıêÖ¾£¿"
+msgstr "要反转的标志?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
-msgstr "ÐÂ״̬£¿"
+msgstr "新状态?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
-msgstr ""
+msgstr "单位?"
 
-#: parted/parted.c:1913
-#, fuzzy
+#: parted/parted.c:1969
 msgid "align-check"
-msgstr "¼ì²é"
+msgstr "对齐检查"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
+"align-check 类型 N                         检查分区 N 是否为 (最小=min|最佳"
+"=opt) 对齐类型"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
-#, fuzzy
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
-msgstr "help [COMMAND]                ´òӡͨÓÃÇóÖúÐÅÏ¢£¬»ò¹ØÓÚ COMMAND µÄÐÅÏ¢"
+msgstr ""
+"help [COMMAND]                           打印通用求助信息,或 COMMAND 的帮助"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
-msgstr ""
+msgstr "mktable"
 
-#: parted/parted.c:1936
-#, fuzzy
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
-msgstr "mklabel ±êÇ©ÀàÐÍ              ´´½¨ÐµĴÅÅ̱êÇ© (·ÖÇø±í)"
+msgstr "mklabel,mktable LABEL-TYPE               创建新的磁盘卷标 (分区表)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
-#, fuzzy
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
-msgstr "mkpart ·ÖÇøÀàÐÍ [ÎļþϵͳÀàÐÍ] Æðʼµã ÖÕÖ¹µã      ´´½¨Ò»¸ö·ÖÇø"
+msgstr "mkpart 分区类型 [文件系统类型] 起始点 结束点 创建一个分区"
 
-#: parted/parted.c:1951
-#, fuzzy
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
 msgstr ""
-"mkpart ´´½¨·ÖÇø¶ø²»ÔÚ·ÖÇøÉÏ´´½¨ÐÂÎļþϵͳ¡£¡°ÎļþϵͳÀàÐÍ¡±¿ÉÒÔÓÃÓÚÉèÖÃÊʵ±µÄ"
-"·ÖÇø±êʶ¡£\n"
+"“mkpart”创建分区而不在分区上创建新文件系统。“文件系统类型”可以用于设置适当的"
+"分区辨识号。\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
-#, fuzzy
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
-msgstr "name MINOR Ãû³Æ               ½«±àºÅΪ MINOR µÄ·ÖÇøÃüÃûΪ¡°Ãû³Æ¡±"
+msgstr ""
+"name 编号 名称                           将指定“编号”的分区命名为“名称”"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
+"print [devices|free|list,all|数字]        显示分区表、可用设备、剩余空间、所"
+"有分区或特殊分区"
 
-#: parted/parted.c:1972
-#, fuzzy
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
 msgstr ""
-"²»´ø²ÎÊý£¬print ÏÔʾÕû¸ö·ÖÇø±í¡£\n"
-"Èç¹û¸ø³öÁË·ÖÇø±í£¬¾ÍÏÔʾ¸ü¶à\n"
-"¹ØÓÚ·ÖÇøµÄÏêϸÐÅÏ¢¡£\n"
+"“print”不加参数可显示整个分区表。然而借由下列参数它能运行各种其他动作。\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
-msgstr ""
+msgstr "  devices  :显示所有作用中的块设备\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
-msgstr ""
+msgstr "  free     :显示在目前块设备上未分区的可用空间信息\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
-msgstr ""
+msgstr "  list, all : 显示所有作用中块设备的分区表\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
-msgstr ""
+msgstr "  数字      : 显示此一特殊分区更详细的信息\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
-#, fuzzy
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
-msgstr "quit                          Í˳ö³ÌÐò"
+msgstr "quit                                     退出程序"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
-#, fuzzy
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
 msgstr ""
-"rescue Æðʼµã ÖÕÖ¹µã          Íì¾ÈÁÙ½ü¡°Æðʼµã¡±¡¢¡°ÖÕÖ¹µã¡±µÄÒÅʧµÄ·ÖÇø"
+"rescue 起始点 终止点                      挽救临近“起始点”、“终止点”的遗失的"
+"分区"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
 msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
-msgstr ""
+msgstr "resize 命令已在 parted 3.0 移除\n"
 
-#: parted/parted.c:2006
-#, fuzzy
+#: parted/parted.c:2062
 msgid "resizepart"
-msgstr "resize"
+msgstr "resizepart"
 
-#: parted/parted.c:2009
-#, fuzzy
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
-msgstr "rm MINOR                      É¾³ý±àºÅΪ MINOR µÄ·ÖÇø"
+msgstr "resizepart NUMBER END                    改变 NUMBER 的大小"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
-#, fuzzy
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
-msgstr "rm MINOR                      É¾³ý±àºÅΪ MINOR µÄ·ÖÇø"
+msgstr "rm NUMBER                                删除编号为 NUMBER 的分区"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
-#, fuzzy
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
-msgstr "select É豸                 Ñ¡ÔñÒª±à¼­µÄÉ豸"
+msgstr "select 设备                              选择要编辑的设备"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
-msgstr ""
+msgstr "disk_set"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
-msgstr ""
+msgstr "disk_set 旗标 状态                       变更已选设备上的旗标"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
-msgstr ""
+msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
-msgstr ""
+msgstr "disk_toggle [旗标]                       切换已选设备上的旗标状态"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
-#, fuzzy
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
-msgstr "set MINOR ±êÖ¾ ×´Ì¬           ¸Ä±ä±àºÅΪ MINOR µÄ·ÖÇøµÄ±êÖ¾"
+msgstr "set 编号 旗标 状态                       改变指定“编号”分区的旗标"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
-msgstr ""
+msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
-msgstr ""
+msgstr "toggle [编号 [旗标]]                     切换“编号”分区上的“旗标”状态"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
-msgstr ""
+msgstr "unit"
 
-#: parted/parted.c:2068
-#, fuzzy
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
-msgstr "quit                          Í˳ö³ÌÐò"
+msgstr "unit 单位                                设置缺省的“单位”"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
-msgstr ""
+msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
+"version                                  显示目前 GNU Parted 的版本与版权信息"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
-msgstr ""
+msgstr "'version' 显示此份 GNU Parted 的版权与版本信息\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
-msgstr ""
+msgstr "用法:%s [-hlmsv] [-a<align>] [设备 [命令 [参数]]…]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
-msgstr "ûÓÐÕÒµ½É豸"
+msgstr "未找到设备"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
-msgstr ""
+msgstr "警告:您不是超级用户。注意权限问题。\n"
 
-#: parted/parted.c:2269
-#, fuzzy
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
-msgstr "Èç¹û±ØÒª£¬²»ÒªÍü¼Ç¸üР/etc/fstab¡£\n"
+msgstr "你可能需要 /etc/fstab。\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
-msgstr ""
+msgstr "欢迎使用 GNU Parted!输入 'help' 来查看命令列表。\n"
 
-#: parted/ui.c:165
-#, fuzzy
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
 "in\n"
 "interactive mode.\n"
 msgstr ""
-"Ó÷¨£ºparted [Ñ¡Ïî]... [É豸 [ÃüÁî [²ÎÊý]...]...]\n"
-"½«´øÓС°²ÎÊý¡±µÄÃüÁîÓ¦ÓÃÓÚ¡°É豸¡±¡£Èç¹ûûÓиø³ö¡°ÃüÁ£¬ÔòÒÔ½»»¥Ä£Ê½ÔË"
-"ÐС£\n"
+"用法:parted [选项]... [设备 [命令 [参数]...]...]\n"
+"将命令带着参数应用于“设备”。如果没有给出“命令”,则以交互模式运行。\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2716,222 +2831,345 @@ msgid ""
 "Also include any additional information about your setup you\n"
 "consider important.\n"
 msgstr ""
+"\n"
+"\n"
+"您找到了 GNU Parted 中的一个错误!以下是您必须进行的事:\n"
+"\n"
+"不必慌张!此一错误不太可能会影响到您的任何数据。\n"
+"请用以下方法来帮助我们修正这个错误:\n"
+"\n"
+"从这里获取最新版 GNU parted:\n"
+"\n"
+"\thttp://ftp.gnu.org/gnu/parted/\n"
+"\n"
+"确认这个错误是否已被修正。\n"
+"请于报告错误前先检查此一版本。\n"
+"\n"
+"如果这尚未被修正,或是您不知道如何去检查,\n"
+"请访问 GNU Parted 网址:\n"
+"\n"
+"\thttp://www.gnu.org/software/parted\n"
+"\n"
+"以获得进一步的信息。\n"
+"\n"
+"您的报告应该要包含发布的版本编号 (%s)\n"
+"以及其下的错误消息,下列命令\n"
+"\n"
+"\tparted <设备> unit co print unit s print\n"
+"\n"
+"的输出结果和其他您认为重要的设置信息。\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
 msgstr ""
+"\n"
+"命令历史:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
 msgstr ""
+"\n"
+"错误:SEGV_MAPERR (地址未对应到对象)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
 msgstr ""
+"\n"
+"错误:SEGV_ACCERR (对应的对象权限无效)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
 msgstr ""
+"\n"
+"错误: 遇到一般的 SIGSEGV 信号。\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
 msgstr ""
+"\n"
+"错误: FPE_INTDIV (整数: 除零)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
 msgstr ""
+"\n"
+"错误: FPE_INTOVF (整数: 上溢)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
 msgstr ""
+"\n"
+"错误:FPE_FLTDIV (浮点数: 除零)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
 msgstr ""
+"\n"
+"错误: FPE_FLTOVF (浮点数: 上溢)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
 msgstr ""
+"\n"
+"错误: FPE_FLTUND (浮点数: 下溢)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
 msgstr ""
+"\n"
+"错误: FPE_FLTRES (浮点数: 不精确的结果)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
 msgstr ""
+"\n"
+"错误: FPE_FLTINV (浮点数: 无效的操作)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
 msgstr ""
+"\n"
+"错误: FPE_FLTSUB (浮点数: 注标超出范围)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
 msgstr ""
+"\n"
+"错误: 遇到一般的 SIGFPE 信号。"
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
 msgstr ""
+"\n"
+"错误: ILL_ILLOPC (不合法的操作码)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
 msgstr ""
+"\n"
+"错误: ILL_ILLOPN (不合法的算符)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
 msgstr ""
+"\n"
+"错误: ILL_ILLADR (不合法的寻址模式)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
 msgstr ""
+"\n"
+"错误: ILL_ILLTRP (不合法的陷阱)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
 msgstr ""
+"\n"
+"错误: ILL_PRVOPC (需要特权的操作码)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
 msgstr ""
+"\n"
+"错误: ILL_PRVREG (需要特权的寄存器)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
 msgstr ""
+"\n"
+"错误: ILL_COPROC (辅助处理器错误)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
 msgstr ""
+"\n"
+"错误: ILL_BADSTK (内部堆栈错误)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
 msgstr ""
+"\n"
+"错误: 遇到一般的 SIGILL 信号。"
 
-#: parted/ui.c:883
-#, fuzzy, c-format
+#: parted/ui.c:888
+#, c-format
 msgid "invalid token: %s"
-msgstr "%s µÄ·ÖÇø±íÎÞЧ"
+msgstr "无效的字组:%s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
-msgstr "ÐèÒª·ÖÇø±àºÅ¡£"
+msgstr "需要分区编号。"
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
-msgstr "·ÖÇø²»´æÔÚ¡£"
+msgstr "分区不存在。"
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
-msgstr "ÐèÒªÎļþϵͳÀàÐÍ¡£"
+msgstr "需要文件系统类型。"
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
-msgstr "δ֪µÄÎļþϵͳÀàÐÍ¡°%s¡±¡£"
+msgstr "未知的文件系统类型“%s”。"
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
-msgstr "ÐèÒª´ÅÅ̱êÇ©ÀàÐÍ¡£"
+msgstr "需要磁盘卷标类型。"
+
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
 
-#: parted/ui.c:1231
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
-msgstr "ÎÞ·¨´´½¨¸ü¶à·ÖÇø¡£"
+msgstr "无法创建更多分区。"
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
-msgstr "ÐèÒª·ÖÇøÀàÐÍ¡£"
+msgstr "需要分区类型。"
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
-msgstr "¿ª"
+msgstr ""
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
-msgstr "¹Ø"
+msgstr ""
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
-msgstr ""
+msgstr "最佳"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
-msgstr ""
+msgstr "最小"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
-msgstr "Ñ¡Ï"
+msgstr "选项:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
-msgstr "ÃüÁ"
+msgstr "命令:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
 "Report bugs to %s\n"
 msgstr ""
+"\n"
+"将错误报告给 %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
-msgstr "ʹÓà%s\n"
+msgstr "使用 %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
-msgstr ""
+msgstr "这个命令在非交互模式中不具任何意义。\n"
+
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s:选项“--%s”不允许有参数\n"
+
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s:无法辨识的选项“--%s”\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s:选项“-W %s”不允许有参数\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s:选项“-W %s”需要一个参数\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "%s 首页:<http://www.gnu.org/software/%s/>\n"
+
+#~ msgid ""
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
+#~ msgstr ""
+#~ "此文件系统的逻辑扇区大小为 %d。GNU Parted 不能在扇区大小不是 512 字节的情"
+#~ "况下正确工作。"
+
+#, fuzzy
+#~ msgid "Failed to add partition %d (%s)"
+#~ msgstr "加入分割区 %d (%s) 时失败"
+
+#, fuzzy
+#~ msgid ""
+#~ "parted was unable to re-read the partition table on %s (%s).  This means "
+#~ "Linux won't know anything about the modifications you made. "
+#~ msgstr ""
+#~ "parted 无法重新读取 %s (%s) 上的分割表区表。 这意味着 Linux 在您重新启动之"
+#~ "前无法知道任何修改。"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s contains GPT signatures, indicating that it has a GPT table.  However, "
+#~ "it does not have a valid fake msdos partition table, as it should.  "
+#~ "Perhaps it was corrupted -- possibly by a program that doesn't understand "
+#~ "GPT partition tables.  Or perhaps you deleted the GPT table, and are now "
+#~ "using an msdos partition table.  Is this a GPT partition table?"
+#~ msgstr ""
+#~ "%s 含有 GPT 签名,标明它含有 GPT 表。然而,它并不像应该的那样含有有效的伪 "
+#~ "msdos 分割区表。可能它已经损坏 - 可能是不理解 GPT 分割区表的程序所导致的。"
+#~ "或者您删除了 GPT 表,而现在使用 msdos 分割区表。这是 GPT 分割区表吗?"
 
 #~ msgid ""
 #~ "The sector size on %s is %d bytes.  Parted is known not to work properly "
 #~ "with drives with sector sizes other than %d bytes"
 #~ msgstr ""
-#~ "%s ÉϵÄÉÈÇø´óСΪ %d ×Ö½Ú¡£Ä¿Ç° Parted ²»ÄÜÔÚÉÈÇø´óС²»ÊÇ %d ×ֽڵĴÅÅÌÉÏ"
-#~ "ÕýÈ·¹¤×÷¡£"
+#~ "%s 上的扇区大小为 %d 字节。目前 Parted 不能在扇区大小不是 %d 字节的磁盘上"
+#~ "正确工作。"
 
 #~ msgid "Device %s has dodgey geometry."
-#~ msgstr "É豸 %s µÄ¼¸ºÎ½á¹¹ºÜÆæ¹Ö¡£"
+#~ msgstr "设备 %s 的几何结构很奇怪。"
 
 #~ msgid "IDE"
 #~ msgstr "IDE"
@@ -2940,18 +3178,18 @@ msgstr ""
 #~ msgstr "SCSI"
 
 #~ msgid "Device %s is neither a SCSI nor IDE drive."
-#~ msgstr "É豸 %s ¼´²»ÊÇ SCSI ´ÅÅÌÒ²²»ÊÇ IDE ´ÅÅÌ¡£"
+#~ msgstr "设备 %s 即不是 SCSI 磁盘也不是 IDE 磁盘。"
 
 #~ msgid "Error reading %s (%s) to determine if partition is mounted."
-#~ msgstr "Ϊȷ¶¨·ÖÇøÊÇ·ñ¼ÓÔØ¶ø¶ÁÈ¡ %s (%s) Ê±³ö´í¡£"
+#~ msgstr "为确定分区是否加载而读取 %s (%s) 时出错。"
 
 #~ msgid ""
 #~ "Unable to determine if partitions are mounted via /proc/mounts or /etc/"
 #~ "mtab.  Make sure you don't attempt to resize or modify mounted file "
 #~ "systems.  (Even read-only mounted)"
 #~ msgstr ""
-#~ "ÎÞ·¨È·¶¨·ÖÇøÊÇ·ñÊÇͨ¹ý /proc/mounts »ò /etc/mtab ¼ÓÔØµÄ¡£ÇëÈ·ÈÏÄú²»»áÊÔͼ"
-#~ "¸Ä±äÎļþϵͳµÄ´óС»òÕßÐ޸ļÓÔØµÄÎļþϵͳ¡£(¼´Ê¹°´Ö»¶Á·½Ê½¼ÓÔØÒ²²»ÐÐ)"
+#~ "无法确定分区是否是通过 /proc/mounts 或 /etc/mtab 加载的。请确认您不会试图"
+#~ "改变文件系统的大小或者修改加载的文件系统。(即使按只读方式加载也不行)"
 
 #~ msgid ""
 #~ "The kernel was unable to re-read the partition table on %s (%s).  This "
@@ -2959,8 +3197,8 @@ msgstr ""
 #~ "until you reboot.  You should reboot your computer before doing anything "
 #~ "with %s."
 #~ msgstr ""
-#~ "ÄÚºËÎÞ·¨ÖØÐ¶ÁÈ¡ %s (%s) ÉϵķÖÇø±í¡£ÕâÒâζÕâ Linux ÔÚÄúÖØÐÂÆô¶¯Ö®Ç°ÎÞ·¨Öª"
-#~ "µÀÈκÎÐ޸ġ£ÄúÓ¦¸ÃÔÚ¶Ô %s ×öÈκβÙ×÷  Ö®Ç°ÖØÐÂÆô¶¯ÄúµÄ¼ÆËã»ú¡£"
+#~ "内核无法重新读取 %s (%s) 上的分区表。这意味这 Linux 在您重新启动之前无法知"
+#~ "道任何修改。您应该在对 %s 做任何操作  之前重新启动您的计算机。"
 
 #~ msgid ""
 #~ "The partition table on %s is inconsistent.  There are many reasons why "
@@ -2973,12 +3211,12 @@ msgstr ""
 #~ "geometry is correct, you may select Ignore to continue (and fix Linux "
 #~ "later).  Otherwise, select Cancel (and fix Linux and/or the BIOS now)."
 #~ msgstr ""
-#~ "%s ÉϵķÖÇø²»Ð­µ÷¡£²úÉúÕâÖÖÇé¿öµÄÔ­ÒòºÜ¶à¡£È»¶ø£¬×î¿ÉÄܵÄÔ­ÒòÊÇ Linux ¼ì²â"
-#~ "µ½µÄ BIOS ¹ØÓÚ %s µÄ¼¸ºÎ½á¹¹ÊÇ´íÎóµÄ¡£GNU Parted »³ÒÉʵ¼ÊµÄ¼¸ºÎ½á¹¹Îª %d/"
-#~ "%d/%d (¶ø²»ÊÇ %d/%d/%d)¡£ÒòΪ BIOS ¿ÉÄܲ»ÕýÈ·£¬ÄúÓ¦¸ÃÊ×Ïȼì²éÄúµÄ BIOS¡£Äú"
-#~ "¿ÉÒÔͨ¹ýÔÚÃüÁîÐÐÖÐÌí¼Ó²ÎÊý %s=%d,%d,%d À´Í¨Öª Linux¡£ÏêÇéÇë²Î¼û LILO »ò "
-#~ "GRUB µÄÎĵµ¡£Èç¹ûÄúÈÏΪ Parted Ëù½¨ÒéµÄ¼¸ºÎ½á¹¹ÊÇÕýÈ·µÄ£¬Äú¿ÉÒÔºöÂÔ²¢¼ÌÐø "
-#~ "(²¢ÔÚÒÔºóÐÞÕý Linux)¡£·ñÔò£¬Ñ¡Ôñ·ÅÆú (²¢ÂíÉÏÐÞÕý Linux ²¢ÇÒ/»òÕß BIOS)¡£"
+#~ "%s 上的分区不协调。产生这种情况的原因很多。然而,最可能的原因是 Linux 检测"
+#~ "到的 BIOS 关于 %s 的几何结构是错误的。GNU Parted 怀疑实际的几何结构为 %d/"
+#~ "%d/%d (而不是 %d/%d/%d)。因为 BIOS 可能不正确,您应该首先检查您的 BIOS。您"
+#~ "可以通过在命令行中添加参数 %s=%d,%d,%d 来通知 Linux。详情请参见 LILO 或 "
+#~ "GRUB 的文档。如果您认为 Parted 所建议的几何结构是正确的,您可以忽略并继续 "
+#~ "(并在以后修正 Linux)。否则,选择放弃 (并马上修正 Linux 并且/或者 BIOS)。"
 
 #~ msgid ""
 #~ "The partition table on %s is inconsistent.  There are many reasons why "
@@ -2988,10 +3226,10 @@ msgstr ""
 #~ "with some boot loaders, and may cause problems with FAT file systems.  "
 #~ "Using LBA is recommended."
 #~ msgstr ""
-#~ "%s ÉϵķÖÇø±í²»Ð­µ÷¡£¿ÉÄܵ¼ÖÂÕâÖÖÇé¿öµÄÔ­ÒòÓкܶࡣͨ³££¬Ô­ÒòÊÇ Linux ¼ì²â"
-#~ "µ½µÄ BIOS ¼¸ºÎ½á¹¹ÊÇ´íÎóµÄ¡£È»¶ø£¬ÏÖÔÚËÆºõ²¢²»ÊÇÕâÖÖÇé¿ö¡£ºöÂÔÊǰ²È«µÄ£¬µ«"
-#~ "ÊǺöÂÔ¿ÉÄܵ¼ÖÂijЩÆô¶¯¹ÜÀíÆ÷µÄÎÊÌâ (¿ÉÐÞ¸´µÄ)£¬»¹¿ÉÄܵ¼Ö FAT Îļþϵͳ³öÏÖ"
-#~ "ÎÊÌâ¡£½¨ÒéʹÓàLBA¡£"
+#~ "%s 上的分区表不协调。可能导致这种情况的原因有很多。通常,原因是 Linux 检测"
+#~ "到的 BIOS 几何结构是错误的。然而,现在似乎并不是这种情况。忽略是安全的,但"
+#~ "是忽略可能导致某些启动管理器的问题 (可修复的),还可能导致 FAT 文件系统出现"
+#~ "问题。建议使用 LBA。"
 
 #~ msgid ""
 #~ "Unable to align partition properly.  This probably means that another "
@@ -2999,9 +3237,9 @@ msgstr ""
 #~ "didn't have the correct BIOS geometry.  It is safe to ignore,but ignoring "
 #~ "may cause (fixable) problems with some boot loaders."
 #~ msgstr ""
-#~ "ÎÞ·¨ÕýÈ·µØ¶ÔÆë·ÖÇø¡£Õâ¿ÉÄÜÒâζ×ÅÆäËü·ÖÇø¹¤¾ßÓÉÓÚûÓеõ½ÕýÈ·µÄ BIOS ¼¸ºÎ½á"
-#~ "¹¹¶øÉú³ÉÁË´íÎóµÄ·ÖÇø±í¡£ºöÂÔÊǰ²È«µÄ£¬µ«ºöÂÔ¿ÉÄܵ¼ÖÂijЩÆô¶¯¹ÜÀíÆ÷³öÏÖ¿ÉÐÞ"
-#~ "¸´µÄÎÊÌâ¡£"
+#~ "无法正确地对齐分区。这可能意味着其它分区工具由于没有得到正确的 BIOS 几何结"
+#~ "构而生成了错误的分区表。忽略是安全的,但忽略可能导致某些启动管理器出现可修"
+#~ "复的问题。"
 
 #~ msgid ""
 #~ "%s contains GPT signatures, indicating that it has a GPT table.  However, "
@@ -3010,24 +3248,24 @@ msgstr ""
 #~ "GPT partition tables.  Or perhaps you deleted the GPT table, and are now "
 #~ "using an msdos partition table.  Is this a GPT partition table?"
 #~ msgstr ""
-#~ "%s º¬ÓРGPT Ç©Ãû£¬±êÃ÷Ëüº¬ÓРGPT ±í¡£È»¶ø£¬Ëü²¢²»ÏñÓ¦¸ÃµÄÄÇÑùº¬ÓÐÓÐЧµÄα "
-#~ "msdos ·ÖÇø±í¡£¿ÉÄÜËüÒѾ­Ë𻵠- ¿ÉÄÜÊDz»Àí½â GPT ·ÖÇø±íµÄ³ÌÐòµ¼Öµġ£»òÕßÄú"
-#~ "ɾ³ýÁË GPT ±í£¬ÏÖÔÚʹÓàmsdos ·ÖÇø±í¡£ÕâÊÇ GPT ·ÖÇø±íÂð£¿"
+#~ "%s 含有 GPT 签名,标明它含有 GPT 表。然而,它并不像应该的那样含有有效的伪 "
+#~ "msdos 分区表。可能它已经损坏 - 可能是不理解 GPT 分区表的程序导致的。或者您"
+#~ "删除了 GPT 表,现在使用 msdos 分区表。这是 GPT 分区表吗?"
 
 #~ msgid "Support for opening %s file systems is not implemented yet."
-#~ msgstr "¹ØÓÚ´ò¿ª %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£"
+#~ msgstr "关于打开 %s 文件系统的支持尚未实现。"
 
 #~ msgid "Support for checking %s file systems is not implemented yet."
-#~ msgstr "¹ØÓÚ¼ì²é %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£"
+#~ msgstr "关于检查 %s 文件系统的支持尚未实现。"
 
 #~ msgid "raw block copying"
-#~ msgstr "ԭʼ¿é¸´ÖÆ"
+#~ msgstr "原始块复制"
 
 #~ msgid "growing file system"
-#~ msgstr "ÕýÔÚÀ©´óÎļþϵͳ"
+#~ msgstr "正在扩大文件系统"
 
 #~ msgid "Can't copy onto an overlapping partition."
-#~ msgstr "ÎÞ·¨¸´ÖƵ½ÖصþµÄ·ÖÇø¡£"
+#~ msgstr "无法复制到重叠的分区。"
 
 #~ msgid ""
 #~ "Direct support for copying file systems is not yet implemented for %s.  "
@@ -3036,179 +3274,176 @@ msgstr ""
 #~ "So, either shrink the partition you are trying to copy, or copy to a "
 #~ "bigger partition."
 #~ msgstr ""
-#~ "¶Ô %s À´ËµÉв»Ö§³ÖÖ±½ÓµÄÎļþϵͳ¸´ÖÆ¡£µ«Ö§³Ö¸Ä±ä´óС¡£Òò´Ë£¬Ö»ÒªÐ·ÖÇø±ÈÔ­"
-#~ "·ÖÇø´ó£¬¾ÍÄܹ»¸´ÖÆÎļþϵͳ¡£ËùÒÔ£¬ËõСÄúÊÔͼ¸´ÖƵķÖÇø£¬»ò¸´ÖƵ½½Ï´óµÄ·Ö"
-#~ "Çø¡£"
+#~ "对 %s 来说尚不支持直接的文件系统复制。但支持改变大小。因此,只要新分区比原"
+#~ "分区大,就能够复制文件系统。所以,缩小您试图复制的分区,或复制到较大的分"
+#~ "区。"
 
 #~ msgid "Support for copying %s file systems is not implemented yet."
-#~ msgstr "¹ØÓÚ¸´ÖÆ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£"
+#~ msgstr "关于复制 %s 文件系统的支持尚未实现。"
 
 #~ msgid ""
 #~ "A bug has been detected in GNU parted.  Please email a bug report to bug-"
 #~ "parted@gnu.org containing the version (%s) and the following message:"
 #~ msgstr ""
-#~ "·¢ÏÖ GNU Parted ÖеĠbug¡£Ç뽫º¬Óа汾 (%s) ºÍÒÔÏÂÐÅÏ¢µÄ bug ±¨¸æ·¢Ë͵½ "
-#~ "bug-parted@gnu.org£º"
+#~ "发现 GNU Parted 中的 bug。请将含有版本 (%s) 和以下信息的 bug 报告发送到 "
+#~ "bug-parted@gnu.org"
 
 #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s"
-#~ msgstr "ÊÔͼ¶ÁÈ¡ %3$s ÉÏ·ÖÇøÖ®ÍâµÄÉÈÇø %1$ld-%2$ld"
+#~ msgstr "试图读取 %3$s 上分区之外的扇区 %1$ld-%2$ld"
 
 #~ msgid "Inconsistent group descriptors!"
-#~ msgstr "²»Ò»ÖµÄ×éÃèÊö·û£¡"
+#~ msgstr "不一致的组描述符!"
 
 #~ msgid "Filesystem full!"
-#~ msgstr "ÎļþϵͳÒÑÂú£¡"
+#~ msgstr "文件系统已满!"
 
 #~ msgid ""
 #~ "This ext2 filesystem has a rather strange layout!  Parted can't resize "
 #~ "this (yet)."
-#~ msgstr "¸Ã ext2 ÎļþϵͳµÄ²¼¾ÖÏàµ±Ææ¹Ö£¡Parted ÉÐÇÒÎÞ·¨¸Ä±äËüµÄ´óС¡£"
+#~ msgstr "该 ext2 文件系统的布局相当奇怪!Parted 尚且无法改变它的大小。"
 
 #~ msgid "Invalid superblock.  Are you sure this is an ext2 filesystem?"
-#~ msgstr "ÎÞЧµÄ³¬¿é¡£ÄúÈ·ÈÏËüÊÇÒ»¸ö ext2 Îļþϵͳ£¿"
+#~ msgstr "无效的超块。您确认它是一个 ext2 文件系统?"
 
 #~ msgid "Filesystem has errors!  You should run e2fsck."
-#~ msgstr "Îļþϵͳ´íÎó£¡ÄúÓ¦¸ÃÔËÐРe2fsck¡£"
+#~ msgstr "文件系统错误!您应该运行 e2fsck。"
 
 #~ msgid ""
 #~ "Filesystem was not cleanly unmounted!  You should e2fsck.  Modifying an "
 #~ "unclean filesystem could cause severe corruption."
 #~ msgstr ""
-#~ "ÎļþϵͳûÓб»¸É¾»µØÐ¶ÔØ£¡ÄúÓ¦¸ÃÔËÐРe2fsck¡£Ð޸IJ»¸É¾»µÄÎļþϵͳ½«µ¼ÖÂÑÏ"
-#~ "ÖØµÄË𻵡£"
+#~ "文件系统没有被干净地卸载!您应该运行 e2fsck。修改不干净的文件系统将导致严"
+#~ "重的损坏。"
 
 #~ msgid "Filesystem has incompatible feature enabled"
-#~ msgstr "ÎļþϵͳÆôÓÃÁ˲»¼æÈݵŦÄÜ"
+#~ msgstr "文件系统启用了不兼容的功能"
 
 #~ msgid "Error allocating buffer cache."
-#~ msgstr "·ÖÅ仺³åÇø cache ´íÎó¡£"
+#~ msgstr "分配缓冲区 cache 错误。"
 
 #~ msgid ""
 #~ "Found an inode with a incorrect link count.  Better go run e2fsck first."
-#~ msgstr "ÕÒµ½´øÓдíÎóÁ¬½Ó¼ÆÊýµÄ inode¡£×îºÃÏÈÔËÐРe2fsck¡£"
+#~ msgstr "找到带有错误连接计数的 inode。最好先运行 e2fsck。"
 
 #~ msgid "Not enough free inodes!"
-#~ msgstr "ûÓÐ×ã¹»µÄ¿ÕÏРinodes£¡"
+#~ msgstr "没有足够的空闲 inodes!"
 
 #~ msgid "Filesystem is too occupied to remove a group!"
-#~ msgstr "Îļþϵͳ±»¹ý¶ÉÕ¼ÓÃÒÔÖÂÎÞ·¨É¾³ý×飡"
+#~ msgstr "文件系统被过渡占用以致无法删除组!"
 
 #~ msgid "Filesystem has too many allocated inodes to remove a group!"
-#~ msgstr "ÎļþϵͳÖÐÒÑʹÓõĠinode ¹ý¶àÒÔÖÂÎÞ·¨É¾³ý×飡"
+#~ msgstr "文件系统中已使用的 inode 过多以致无法删除组!"
 
 #~ msgid "adding groups"
-#~ msgstr "Ìí¼Ó×é"
+#~ msgstr "添加组"
 
 #~ msgid "Your filesystem is too occupied to resize it to %i blocks. Sorry."
-#~ msgstr "ÄúµÄÎļþϵͳ±»¹ý¶ÉÕ¼ÓÃÒÔÖÂÎÞ·¨½«ËüµÄ´óС¸Ä±äΪ %i ¸ö¿é¡£±§Ç¸¡£"
+#~ msgstr "您的文件系统被过渡占用以致无法将它的大小改变为 %i 个块。抱歉。"
 
 #~ msgid ""
 #~ "Your filesystem has too much occupied inodes to resize it to %i blocks. "
 #~ "Sorry."
 #~ msgstr ""
-#~ "ÄúµÄÎļþϵͳÖÐÒÑʹÓõĠinode ¹ý¶àÒÔÖÂÎÞ·¨½«Æä´óС¸Ä±äΪ %i ¸ö¿é¡£±§Ç¸¡£"
+#~ "您的文件系统中已使用的 inode 过多以致无法将其大小改变为 %i 个块。抱歉。"
 
 #~ msgid "Filesystem was not cleanly unmounted!  You should e2fsck."
-#~ msgstr "ÎļþϵͳûÓиɾ»µØÐ¶ÔØ£¡ÄúÓ¦¸ÃÔËÐРe2fsck¡£"
+#~ msgstr "文件系统没有干净地卸载!您应该运行 e2fsck。"
 
 #~ msgid "Cross-linked blocks found! better go run e2fsck first!"
-#~ msgstr "·¢ÏÖ½»²æÁ¬½Ó¿é£¡×îºÃÏÈÔËÐРe2fsck£¡"
+#~ msgstr "发现交叉连接块!最好先运行 e2fsck!"
 
 #~ msgid "Block %i has no reference?  Weird"
-#~ msgstr "¿é %i Ã»ÓÐÒýÓã¿Ææ¹Ö"
+#~ msgstr "块 %i 没有引用?奇怪"
 
 #~ msgid "Block %i shouldn't have been marked!"
-#~ msgstr "¿é %i ²»Ó¦¸ÃÒѱ»±ê¼Ç£¡"
+#~ msgstr "块 %i 不应该已被标记!"
 
 #~ msgid ""
 #~ "The ext2 filesystem passed a basic check.  For a more comprehensive "
 #~ "check, use the e2fsck program."
-#~ msgstr "ext2 Îļþϵͳͨ¹ý»ù±¾¼ì²é¡£ÖÁÓÚ¸ü¸ºÔصļì²é£¬Ê¹Óàe2fsck ³ÌÐò¡£"
+#~ msgstr "ext2 文件系统通过基本检查。至于更负载的检查,使用 e2fsck 程序。"
 
 #~ msgid "Sorry, can't move the start of ext2 partitions yet!"
-#~ msgstr "´íÎó£¬ÉÐÎÞ·¨Òƶ¯ ext2 ·ÖÇøµÄÆðµã£¡"
+#~ msgstr "错误,尚无法移动 ext2 分区的起点!"
 
 #~ msgid "Couldn't flush buffer cache!"
-#~ msgstr "ÎÞ·¨Ë¢Ð»º³åÇø cache£¡"
+#~ msgstr "无法刷新缓冲区 cache!"
 
 #~ msgid "writing per-group metadata"
-#~ msgstr "дÈëÿ¸ö×é¶¼ÓеÄÔªÊý¾Ý"
+#~ msgstr "写入每个组都有的元数据"
 
 #~ msgid "File system has an invalid signature for a FAT file systems."
-#~ msgstr "Îļþϵͳº¬ÓÐÎÞЧµÄ FAT ÎļþϵͳǩÃû¡£"
+#~ msgstr "文件系统含有无效的 FAT 文件系统签名。"
 
 #~ msgid "Too many bad pages."
-#~ msgstr "¹ý¶àµÄ»µÒ³¡£"
+#~ msgstr "过多的坏页。"
 
 #~ msgid "where necessary, prompts for user intervention"
-#~ msgstr "ÔÚ±ØÒªÊ±£¬ÌáʾÓû§"
+#~ msgstr "在必要时,提示用户"
 
 #~ msgid "Source partition number?"
-#~ msgstr "Ô´·ÖÇø±àºÅ£¿"
+#~ msgstr "源分区编号?"
 
 #~ msgid ""
 #~ "You requested to create a partition at %.3f-%.3fMb. The closest Parted "
 #~ "can manage is %.3f-%.3fMb."
 #~ msgstr ""
-#~ "ÄúÒªÇóÔÚ %.3f - %.3fMb µÄλÖô´½¨·ÖÇø¡£¿É¹ÜÀíµÄ×îÏà½ü·ÖÇøÎª %.3f-%.3fMb¡£"
+#~ "您要求在 %.3f - %.3fMb 的位置创建分区。可管理的最相近分区为 %.3f-%.3fMb。"
 
 #~ msgid "Extended partitions can't have file systems.  Did you want mkpart?"
-#~ msgstr "À©Õ¹·ÖÇø²»Äܺ¬ÓÐÎļþϵͳ¡£ÄúÊÇÒªÓàmkpart °É£¿"
-
-#~ msgid "Can't move extended partitions."
-#~ msgstr "ÎÞ·¨Òƶ¯À©Õ¹·ÖÇø¡£"
+#~ msgstr "扩展分区不能含有文件系统。您是要用 mkpart 吧?"
 
 #~ msgid "Can't move a partition onto itself.  Try using resize, perhaps?"
-#~ msgstr "ÎÞ·¨½«·ÖÇøÒÆ¶¯µ½Ëü×ÔÉí¡£ÊÔÓøıä´óС£¬¿ÉÄÜ£¿"
+#~ msgstr "无法将分区移动到它自身。试用改变大小,可能?"
 
 #~ msgid ""
 #~ "You requested to move the partition to %.3f-%.3fMb. The closest Parted "
 #~ "can manage is %.3f-%.3fMb."
 #~ msgstr ""
-#~ "ÄúÇëÇ󽫷ÖÇøÒÆ¶¯µ½ %.3f - %.3fMb¡£¿É¹ÜÀí×îÌù½üµÄ·ÖÇøÎª %.3f - %.3fMB¡£"
+#~ "您请求将分区移动到 %.3f - %.3fMb。可管理最贴近的分区为 %.3f - %.3fMB。"
 
 #~ msgid "Minor: %d\n"
-#~ msgstr "Minor£º%d\n"
+#~ msgstr "Minor%d\n"
 
 #~ msgid "Flags: "
-#~ msgstr "±êÖ¾£º"
+#~ msgstr "标志:"
 
 #~ msgid "File System: %s\n"
-#~ msgstr "Îļþϵͳ£º%s\n"
+#~ msgstr "文件系统:%s\n"
 
 #~ msgid "Size:         %10.3fMb (%d%%)\n"
-#~ msgstr "´óС£º         %10.3fMb (%d%%)\n"
+#~ msgstr "大小:         %10.3fMb (%d%%)\n"
 
 #~ msgid "Minimum size: %10.3fMb (%d%%)\n"
-#~ msgstr "×îС³ß´ç£º     %10.3fMb (%d%%)\n"
+#~ msgstr "最小尺寸:     %10.3fMb (%d%%)\n"
 
 #~ msgid "Maximum size: %10.3fMb (%d%%)\n"
-#~ msgstr "×î´ó³ß´ç£º     %10.3fMb (%d%%)\n"
+#~ msgstr "最大尺寸:     %10.3fMb (%d%%)\n"
 
 #~ msgid "Disk geometry for %s: 0.000-%.3f megabytes\n"
-#~ msgstr "%s µÄ´ÅÅ̼¸ºÎ½á¹¹£º0.000-%.3f Õ××Ö½Ú\n"
+#~ msgstr "%s 的磁盘几何结构:0.000-%.3f 兆字节\n"
 
 #~ msgid "Minor    Start       End     "
-#~ msgstr "Minor    Æðʼµã        ÖÕÖ¹µã  "
+#~ msgstr "Minor    起始点        终止点  "
 
 #~ msgid "Type      "
-#~ msgstr "ÀàÐÍ      "
+#~ msgstr "类型      "
 
 #~ msgid "Filesystem  "
-#~ msgstr "Îļþϵͳ    "
+#~ msgstr "文件系统    "
 
 #~ msgid "Name                  "
-#~ msgstr "Ãû³Æ                  "
+#~ msgstr "名称                  "
 
 #~ msgid ""
 #~ "You requested to resize the partition to %.3f-%.3fMb. The closest Parted "
 #~ "can manage is %.3f-%.3fMb."
 #~ msgstr ""
-#~ "ÄúÒªÇ󽫷ÖÇø¸Ä±ä´óС²¢±£´æµ½ %.3f - %.3fMb¡£¿É¹ÜÀí×î½Ó½üµÄ·ÖÇøÎª %.3f - "
-#~ "%.3fMb¡£"
+#~ "您要求将分区改变大小并保存到 %.3f - %.3fMb。可管理最接近的分区为 %.3f - "
+#~ "%.3fMb"
 
 #~ msgid "check MINOR                   do a simple check on the filesystem"
-#~ msgstr "¼ì²é  MINOR                   ¶ÔÎļþϵͳ½øÐÐÒ»¸ö¼òµ¥µÄ¼ì²é"
+#~ msgstr "检查  MINOR                   对文件系统进行一个简单的检查"
 
 #~ msgid "cp"
 #~ msgstr "cp"
@@ -3217,7 +3452,7 @@ msgstr ""
 #~ "cp [FROM-DEVICE] FROM-MINOR TO-MINOR      copy filesystem to another "
 #~ "partition"
 #~ msgstr ""
-#~ "cp [FROM-DEVICE] FROM-MINOR TO-MINOR      ½«Îļþϵͳ¸´ÖƵ½ÁíÒ»¸ö·ÖÇø"
+#~ "cp [FROM-DEVICE] FROM-MINOR TO-MINOR      将文件系统复制到另一个分区"
 
 #~ msgid "mkfs"
 #~ msgstr "mkfs"
@@ -3226,8 +3461,7 @@ msgstr ""
 #~ "mkfs MINOR FS-TYPE            make a filesystem FS-TYPE on partititon "
 #~ "MINOR"
 #~ msgstr ""
-#~ "mkfs MINOR ÎļþϵͳÀàÐÍ       ÔÚ MINOR ´´½¨ÀàÐÍΪ¡°ÎļþϵͳÀàÐÍ¡±µÄÎļþϵ"
-#~ "ͳ"
+#~ "mkfs MINOR 文件系统类型       在 MINOR 创建类型为“文件系统类型”的文件系统"
 
 #~ msgid "mkpartfs"
 #~ msgstr "mkpartfs"
@@ -3236,28 +3470,28 @@ msgstr ""
 #~ "mkpartfs PART-TYPE FS-TYPE START END      make a partition with a "
 #~ "filesystem"
 #~ msgstr ""
-#~ "mkpartfs ·ÖÇøÀàÐÍ ÎļþϵͳÀàÐÍ Æðʼµã ÖÕÖ¹µã  ´´½¨Ò»¸ö´øÓÐÎļþϵͳµÄ·ÖÇø"
+#~ "mkpartfs 分区类型 文件系统类型 起始点 终止点  创建一个带有文件系统的分区"
 
 #~ msgid "move"
 #~ msgstr "move"
 
 #~ msgid "move MINOR START END          move partition MINOR"
-#~ msgstr "move MINOR Æðʼµã ÖÕÖ¹µã      Òƶ¯±àºÅΪ MINOR µÄ·ÖÇø"
+#~ msgstr "move MINOR 起始点 终止点      移动编号为 MINOR 的分区"
 
 #~ msgid ""
 #~ "print [MINOR]                 display the partition table, or a partition"
-#~ msgstr "print [MINOR]                 ´òÓ¡·ÖÇø±í£¬»òÕß·ÖÇø"
+#~ msgstr "print [MINOR]                 打印分区表,或者分区"
 
 #~ msgid "resize MINOR START END        resize filesystem on partition MINOR"
 #~ msgstr ""
-#~ "resize MINOR Æðʼµã ÖÕÖ¹µã    ¸Ä±äλÓÚ±àºÅΪ MINOR µÄ·ÖÇøÖÐÎļþϵͳµÄ´óС"
+#~ "resize MINOR 起始点 终止点    改变位于编号为 MINOR 的分区中文件系统的大小"
 
 #~ msgid ""
 #~ "You found a bug in GNU Parted.  Please email a bug report to bug-"
 #~ "parted@gnu.org containing the version (%s), and the following message:\n"
 #~ msgstr ""
-#~ "ÄúÕÒµ½ÁË GNU Parted µÄ bug¡£Ç뽫º¬Óа汾 (%s) ºÍÒÔÏÂÐÅÏ¢µÄ bug ±¨¸æ·¢Ë͵½ "
-#~ "bug-parted@gnu.org£º\n"
+#~ "您找到了 GNU Parted 的 bug。请将含有版本 (%s) 和以下信息的 bug 报告发送到 "
+#~ "bug-parted@gnu.org\n"
 
 #~ msgid ""
 #~ "  You have Windows FAT partition(s) that are not using LBA.  If your BIOS "
@@ -3265,15 +3499,15 @@ msgstr ""
 #~ "all FAT partitions.  Otherwise, make sure the operating system and the "
 #~ "BIOS have the same geometry before resizing any FAT partitions."
 #~ msgstr ""
-#~ "ÄúʹÓÃÁ˲»Ê¹ÓàLBA µÄ Windows FAT ·ÖÇø¡£Èç¹ûÄúµÄ BIOS Ö§³Ö LBA£¬ÄÇôÄúÓ¦¸Ã"
-#~ "ͨ¹ýÔÚËùÓРFAT ·ÖÇøÉÏÉèÖàLBA ±êÖ¾ÒÔÇл»µ½ LBA Ä£Ê½¡£·ñÔò£¬ÔڸıäÈκΠFAT "
-#~ "·ÖÇø´óСµÄʱºòÈ·ÈϲÙ×÷ϵͳºÍ BIOS Ê¹ÓÃÏàͬµÄ¼¸ºÎ½á¹¹¡£"
+#~ "您使用了不使用 LBA 的 Windows FAT 分区。如果您的 BIOS 支持 LBA,那么您应该"
+#~ "通过在所有 FAT 分区上设置 LBA 标志以切换到 LBA 模式。否则,在改变任何 FAT "
+#~ "分区大小的时候确认操作系统和 BIOS 使用相同的几何结构。"
 
 #~ msgid ""
 #~ "The operating system thinks the geometry on %s is %d/%d/%d.  Therefore, "
 #~ "cylinder 1024 ends at %.3fM.%s"
 #~ msgstr ""
-#~ "²Ù×÷ϵͳÈÏΪ %s µÄ¼¸ºÎ½á¹¹Îª %d/%d/%d¡£Òò´Ë£¬ÖùÃæ 1024 ½áÊøÓÚ %.3fM.%s"
+#~ "操作系统认为 %s 的几何结构为 %d/%d/%d。因此,柱面 1024 结束于 %.3fM.%s"
 
 #~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s"
-#~ msgstr "²Ù×÷ϵͳÈÏΪ %s µÄ¼¸ºÎ½á¹¹ %d/%d/%d.%s"
+#~ msgstr "操作系统认为 %s 的几何结构 %d/%d/%d.%s"
index f8c9599ced2b507850b9a129b883c1cb3a96d174..2ba1ba6c9a311f5c83cc5d36c02fe8330bf837c7 100644 (file)
Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ
index d799e3eefd299e3e83b5ee6c5350c9c75ee010d7..903bbece4ec27f75a396d4e027496305db873076 100644 (file)
@@ -2,99 +2,81 @@
 # Copyright (C) 2003, 05, 06 Free Software Foundation, Inc.
 # This file is distributed under the same license as the parted package.
 # Wang Li <charles@linux.net.cn>, 2003.
-# Wei-Lun Chao <william.chao@ossii.com.tw>, 2011.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2012, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2011, 2012, 2013, 2015, 2016.
+# pan93412 <pan93412@gmail.com>, 2019.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: parted 3.1\n"
+"Project-Id-Version: parted 3.1.90\n"
 "Report-Msgid-Bugs-To: bug-parted@gnu.org\n"
-"POT-Creation-Date: 2014-07-28 23:04-0400\n"
-"PO-Revision-Date: 2013-05-31 23:39+0800\n"
-"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
+"POT-Creation-Date: 2019-10-10 16:35-0700\n"
+"PO-Revision-Date: 2019-05-27 00:55+0800\n"
+"Last-Translator: pan93412 <pan93412@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
 "Language: zh_TW\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"
 
-#: lib/argmatch.c:133
+#: lib/argmatch.c:132
 #, c-format
 msgid "invalid argument %s for %s"
-msgstr "無效的引數 %s 用於 %s"
+msgstr "傳入 %2$s 之參數 %1$s 無效"
 
-#: lib/argmatch.c:134
+#: lib/argmatch.c:133
 #, c-format
 msgid "ambiguous argument %s for %s"
-msgstr "模稜兩可的引數 %s 用於 %s"
+msgstr "傳入 %2$s 之參數 %1$s 不明確"
 
-#: lib/argmatch.c:153
+#: lib/argmatch.c:152 lib/argmatch.h:223
 msgid "Valid arguments are:"
-msgstr "æ\9c\89æ\95\88ç\9a\84å¼\95æ\95¸æ\98¯:"
+msgstr "æ\9c\89æ\95\88ç\9a\84å\8f\83æ\95¸ç\82º:"
 
-#: lib/closeout.c:112 libparted/labels/fdasd.c:151
+#: lib/closeout.c:122 libparted/labels/fdasd.c:145
 msgid "write error"
-msgstr "寫入錯誤"
+msgstr "寫入時發生錯誤"
 
-#: lib/error.c:188
+#: lib/error.c:195
 msgid "Unknown system error"
-msgstr "不明的系統錯誤"
+msgstr "未知系統錯誤"
 
-#: lib/getopt.c:547 lib/getopt.c:576
-#, c-format
-msgid "%s: option '%s' is ambiguous; possibilities:"
+#: lib/getopt.c:278
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s:選項「-W %s」是模稜兩可的\n"
+
+#: lib/getopt.c:284
+#, fuzzy, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
 msgstr "%s:選項「%s」是模稜兩可的;可能性包括:"
 
-#: lib/getopt.c:624 lib/getopt.c:628
-#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s:選項「--%s」不允許有引數\n"
+#: lib/getopt.c:319
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s:無法辨識的選項「%c%s」\n"
 
-#: lib/getopt.c:637 lib/getopt.c:642
-#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+#: lib/getopt.c:345
+#, fuzzy, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
 msgstr "%s:選項「%c%s」不允許有引數\n"
 
-#: lib/getopt.c:685 lib/getopt.c:704
-#, c-format
-msgid "%s: option '--%s' requires an argument\n"
+#: lib/getopt.c:360
+#, fuzzy, c-format
+msgid "%s: option '%s%s' requires an argument\n"
 msgstr "%s:選項「--%s」需要一個引數\n"
 
-#: lib/getopt.c:742 lib/getopt.c:745
-#, c-format
-msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s:無法辨識的選項「--%s」\n"
-
-#: lib/getopt.c:753 lib/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s:無法辨識的選項「%c%s」\n"
-
-#: lib/getopt.c:805 lib/getopt.c:808
+#: lib/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s:無效的選項 --「%c」\n"
+msgstr "%s:無效選項 -- '%c'\n"
 
-#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#: lib/getopt.c:636 lib/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s:選項需要一個引數 --「%c」\n"
-
-#: lib/getopt.c:934 lib/getopt.c:950
-#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s:選項「-W %s」是模稜兩可的\n"
-
-#: lib/getopt.c:974 lib/getopt.c:992
-#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s:選項「-W %s」不允許有引數\n"
-
-#: lib/getopt.c:1013 lib/getopt.c:1031
-#, c-format
-msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s:選項「-W %s」需要一個引數\n"
+msgstr "%s:選項需要參數 -- '%c'\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
@@ -115,87 +97,88 @@ msgstr "%s:選項「-W %s」需要一個引數\n"
 #. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:312
+#: lib/quotearg.c:362
 msgid "`"
 msgstr "「"
 
-#: lib/quotearg.c:313
+#: lib/quotearg.c:363
 msgid "'"
 msgstr "」"
 
-#: lib/regcomp.c:131
+#: lib/regcomp.c:135
 msgid "Success"
 msgstr "成功"
 
-#: lib/regcomp.c:134
+#: lib/regcomp.c:138
 msgid "No match"
-msgstr "無吻合"
+msgstr "無符合項目"
 
-#: lib/regcomp.c:137
+#: lib/regcomp.c:141
 msgid "Invalid regular expression"
-msgstr "無效的正規表示式"
+msgstr "正規表示式無效"
 
-#: lib/regcomp.c:140
+#: lib/regcomp.c:144
 msgid "Invalid collation character"
-msgstr "無效的定序字元"
+msgstr "定序字元無效"
 
-#: lib/regcomp.c:143
+#: lib/regcomp.c:147
 msgid "Invalid character class name"
-msgstr "無效字元類別名稱"
+msgstr "字元類型名稱無效"
 
-#: lib/regcomp.c:146
+#: lib/regcomp.c:150
 msgid "Trailing backslash"
-msgstr "尾隨反斜線"
+msgstr "末尾反斜線"
 
-#: lib/regcomp.c:149
+#: lib/regcomp.c:153
 msgid "Invalid back reference"
-msgstr "無效的回溯參考"
+msgstr "向後參考無效"
 
-#: lib/regcomp.c:152
-msgid "Unmatched [ or [^"
+#: lib/regcomp.c:156
+#, fuzzy
+msgid "Unmatched [, [^, [:, [., or [="
 msgstr "不符合的 [ 或 [^"
 
-#: lib/regcomp.c:155
+#: lib/regcomp.c:159
 msgid "Unmatched ( or \\("
-msgstr "不符合的 ( 或 \\("
+msgstr "不對稱的 ( 或 \\("
 
-#: lib/regcomp.c:158
+#: lib/regcomp.c:162
 msgid "Unmatched \\{"
-msgstr "不符合的 \\{"
+msgstr "不對稱的 \\{"
 
-#: lib/regcomp.c:161
+#: lib/regcomp.c:165
 msgid "Invalid content of \\{\\}"
-msgstr "無效的 \\{\\} 內容"
+msgstr "\\{\\} 中內容無效"
 
-#: lib/regcomp.c:164
+#: lib/regcomp.c:168
 msgid "Invalid range end"
-msgstr "ç\84¡æ\95\88ç\9a\84ç¯\84å\9c\8dçµ\90æ\9d\9f"
+msgstr "çµ\90æ\9d\9fç¯\84å\9c\8dç\84¡æ\95\88"
 
-#: lib/regcomp.c:167
+#: lib/regcomp.c:171
 msgid "Memory exhausted"
-msgstr "記憶體已耗盡"
+msgstr "記憶體盡"
 
-#: lib/regcomp.c:170
+#: lib/regcomp.c:174
 msgid "Invalid preceding regular expression"
-msgstr "無效的前繼正規表示式"
+msgstr "前置正規表示式無效"
 
-#: lib/regcomp.c:173
+#: lib/regcomp.c:177
 msgid "Premature end of regular expression"
-msgstr "過早結束的正規表示式"
+msgstr "正規表示式過早結束"
 
-#: lib/regcomp.c:176
+#: lib/regcomp.c:180
 msgid "Regular expression too big"
-msgstr "正規表示式太大"
+msgstr "正規表示式過長"
 
-#: lib/regcomp.c:179
+#: lib/regcomp.c:183
 msgid "Unmatched ) or \\)"
-msgstr "不符合的 ) 或 \\)"
+msgstr "不對稱的 ) 或 \\)"
 
-#: lib/regcomp.c:707
+#: lib/regcomp.c:676
 msgid "No previous regular expression"
-msgstr "無前一個正規表示式"
+msgstr "沒有上一個正規表示式"
 
 #. TRANSLATORS: A regular expression testing for an affirmative answer
 #. (english: "yes").  Testing the first character may be sufficient.
@@ -217,31 +200,30 @@ msgstr "^[yY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: lib/version-etc.c:74
+#: lib/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
-msgstr "套件由 %s (%s) 所打包\n"
+msgstr "由 %s (%s) 打包\n"
 
-#: lib/version-etc.c:77
+#: lib/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
-msgstr "套件由 %s 所打包\n"
+msgstr "由 %s 打包\n"
 
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
-#: lib/version-etc.c:84
+#: lib/version-etc.c:83
 msgid "(C)"
-msgstr "©"
+msgstr "(C)"
 
-#: lib/version-etc.c:86
+#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
+#: lib/version-etc.c:88
+#, fuzzy, c-format
 msgid ""
-"\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>.\n"
+"License GPLv3+: GNU GPL version 3 or later <%s>.\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
 msgstr ""
 "\n"
 "授權 GPLv3+: GNU GPL 第三版或後續版本 <http://gnu.org/licenses/gpl.html>\n"
@@ -250,221 +232,214 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: lib/version-etc.c:102
+#: lib/version-etc.c:105
 #, c-format
 msgid "Written by %s.\n"
 msgstr "由 %s 編寫。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:106
+#: lib/version-etc.c:109
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "由 %s 和 %s 編寫。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: lib/version-etc.c:110
+#: lib/version-etc.c:113
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr "由 %s%s 和 %s 編寫。\n"
+msgstr "由 %s%s 和 %s 編寫。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:117
+#: lib/version-etc.c:120
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
-"由 %s, %s, %s\n"
+"由 %s、%s、%s\n"
 "和 %s 編寫。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:124
+#: lib/version-etc.c:127
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
-"由 %s, %s, %s,\n"
+"由 %s、%s、%s、\n"
 "%s 和 %s 編寫。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:131
+#: lib/version-etc.c:134
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
-"由 %s, %s, %s,\n"
-"%s%s 和 %s 編寫。\n"
+"由 %s、%s、%s、\n"
+"%s%s 和 %s 編寫。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:139
+#: lib/version-etc.c:142
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
-"由 %s, %s, %s,\n"
-"%s, %s, %s 和 %s 編寫。\n"
+"由 %s、%s、%s、%s、\n"
+"%s%s 和 %s 編寫。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:147
+#: lib/version-etc.c:150
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
-"由 %s, %s, %s,\n"
-"%s, %s, %s, %s\n"
-"和 %s 編寫。\n"
+"由 %s、%s、%s、%s、\n"
+"%s、%s、%s 和 %s 編寫。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:156
+#: lib/version-etc.c:159
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
-"由 %s, %s, %s,\n"
-"%s, %s, %s, %s,\n"
-"%s 和 %s 編寫。\n"
+"由 %s、%s、%s、%s、\n"
+"%s、%s、%s、%s\n"
+"和 %s 編寫。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: lib/version-etc.c:167
+#: lib/version-etc.c:170
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "%s, %s, and others.\n"
 msgstr ""
-"由 %s, %s, %s,\n"
-"%s, %s, %s, %s,\n"
-"%s, %s 和其他人編寫。\n"
+"由 %s、%s、%s、%s、\n"
+"%s、%s、%s、%s\n"
+"和 %s 等人編寫。\n"
 
 #. TRANSLATORS: The placeholder indicates the bug-reporting address
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: lib/version-etc.c:245
-#, c-format
-msgid ""
-"\n"
-"Report bugs to: %s\n"
+#: lib/version-etc.c:249
+#, fuzzy, c-format
+msgid "Report bugs to: %s\n"
 msgstr ""
 "\n"
 "將錯誤回報給:%s\n"
 
-#: lib/version-etc.c:247
+#: lib/version-etc.c:251
 #, c-format
 msgid "Report %s bugs to: %s\n"
-msgstr "將錯誤 %s 回報給:%s\n"
+msgstr "請將 %s 的臭蟲匯報至:%s\n"
 
-#: lib/version-etc.c:251
+#: lib/version-etc.c:255 lib/version-etc.c:257
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s 首頁:<%s>\n"
 
-#: lib/version-etc.c:253
-#, c-format
-msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "%s 首頁:<http://www.gnu.org/software/%s/>\n"
-
-#: lib/version-etc.c:256
-msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+#: lib/version-etc.c:260
+#, fuzzy, c-format
+msgid "General help using GNU software: <%s>\n"
 msgstr "使用 GNU 軟體的一般說明:<http://www.gnu.org/gethelp/>\n"
 
 #: lib/xalloc-die.c:34
 msgid "memory exhausted"
-msgstr "記憶體已耗盡"
+msgstr "記憶體盡"
 
 #: lib/xstrtol-error.c:63
 #, c-format
 msgid "invalid %s%s argument '%s'"
-msgstr "無效的 %s%s 引數 %s"
+msgstr "%s%s 參數「%s」無效"
 
 #: lib/xstrtol-error.c:68
 #, c-format
 msgid "invalid suffix in %s%s argument '%s'"
-msgstr "在 %s%s 的引數 %s 中有無效的字尾"
+msgstr "%s%s 參數「%s」有無效後綴"
 
 #: lib/xstrtol-error.c:72
 #, c-format
 msgid "%s%s argument '%s' too large"
-msgstr "%s%s å¼\95æ\95¸ %s å¤ªå¤§"
+msgstr "%s%s å\8f\83æ\95¸ã\80\8c%sã\80\8dé\81\8eé\95·"
 
 #: libparted/arch/beos.c:245
 msgid "Disk Image"
 msgstr "磁碟影像"
 
 #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277
-#: libparted/arch/linux.c:1639
+#: libparted/arch/linux.c:1731
 #, c-format
 msgid "Error opening %s: %s"
 msgstr "開啟 %s 時出錯:%s"
 
 #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287
-#: libparted/arch/linux.c:1650
+#: libparted/arch/linux.c:1742
 #, c-format
 msgid "Unable to open %s read-write (%s).  %s has been opened read-only."
 msgstr "無法開啟 %s 以讀寫 (%s)。%s 已用唯讀的方式開啟。"
 
-#: libparted/arch/beos.c:419 libparted/arch/linux.c:1806
+#: libparted/arch/beos.c:419 libparted/arch/linux.c:1907
 #, c-format
 msgid "%s during seek for read on %s"
 msgstr "在為讀取 %2$s 而呼叫 seek 時 %1$s"
 
 #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564
-#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1766
-#: libparted/arch/linux.c:1847
+#: libparted/arch/gnu.c:692 libparted/arch/linux.c:1867
+#: libparted/arch/linux.c:1949
 #, c-format
 msgid "%s during read on %s"
 msgstr "在讀取 %2$s 期間 %1$s"
 
 #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525
-#: libparted/arch/linux.c:1923
+#: libparted/arch/linux.c:2026
 #, c-format
 msgid "Can't write to %s, because it is opened read-only."
 msgstr "由於 %s 是以唯讀方式開啟,因此無法寫入。"
 
-#: libparted/arch/beos.c:504 libparted/arch/linux.c:1948
+#: libparted/arch/beos.c:504 libparted/arch/linux.c:2051
 #, c-format
 msgid "%s during seek for write on %s"
 msgstr "在為寫入 %2$s 呼叫 seek 時 %1$s"
 
 #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646
-#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1896
-#: libparted/arch/linux.c:1990 libparted/arch/linux.c:2062
+#: libparted/arch/gnu.c:723 libparted/arch/linux.c:1999
+#: libparted/arch/linux.c:2094 libparted/arch/linux.c:2167
 #, c-format
 msgid "%s during write on %s"
 msgstr "在寫入 %2$s 時 %1$s"
 
-#: partprobe/partprobe.c:143
+#: partprobe/partprobe.c:148
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "嘗試「%s --help」以獲得更多資訊。\n"
 
-#: partprobe/partprobe.c:147
+#: partprobe/partprobe.c:152
 #, c-format
 msgid "Usage: %s [OPTION] [DEVICE]...\n"
 msgstr "用法:%s [選項] [裝置]…\n"
 
-#: partprobe/partprobe.c:148
+#: partprobe/partprobe.c:153
 msgid ""
 "Inform the operating system about partition table changes.\n"
 "\n"
@@ -480,7 +455,7 @@ msgstr ""
 "  -h, --help       顯示這個說明然後離開\n"
 "  -v, --version    輸出版本資訊然後離開\n"
 
-#: partprobe/partprobe.c:156
+#: partprobe/partprobe.c:161
 msgid ""
 "\n"
 "When no DEVICE is given, probe all partitions.\n"
@@ -488,7 +463,7 @@ msgstr ""
 "\n"
 "如果沒有指定任何裝置,就探查所有分割區。\n"
 
-#: partprobe/partprobe.c:160
+#: partprobe/partprobe.c:165
 #, c-format
 msgid ""
 "\n"
@@ -504,7 +479,7 @@ msgstr "無法開啟 %s。"
 
 #: libparted/arch/gnu.c:130
 msgid "Unable to probe store."
-msgstr "ç\84¡æ³\95å\81µæ¸¬å\84²å­\98設å\82\99。"
+msgstr "ç\84¡æ³\95å\81µæ¸¬å\84²å­\98è£\9dç½®。"
 
 #: libparted/arch/gnu.c:368
 msgid ""
@@ -530,7 +505,7 @@ msgstr ""
 "%s 上的分割區表無法被重新讀取 (%s)。這意味著 Hurd 不知道任何您所作的修改。您"
 "應該在對 %s 做任何操作之前重新啟動您的電腦。"
 
-#: libparted/arch/gnu.c:396 parted/parted.c:2262
+#: libparted/arch/gnu.c:396 parted/parted.c:2318
 msgid ""
 "You should reinstall your boot loader before rebooting.  Read section 4 of "
 "the Parted User documentation for more information."
@@ -543,17 +518,17 @@ msgstr ""
 msgid "%s trying to sync %s to disk"
 msgstr "%s 試圖將 %s 同步到磁碟上"
 
-#: libparted/arch/linux.c:622
+#: libparted/arch/linux.c:633
 #, c-format
 msgid "Could not stat device %s - %s."
-msgstr "ç\84¡æ³\95å°\8d設å\82\99 %s - %s 進行 stat 操作。"
+msgstr "ç\84¡æ³\95å°\8dè£\9dç½® %s - %s 進行 stat 操作。"
 
-#: libparted/arch/linux.c:679
+#: libparted/arch/linux.c:690
 #, c-format
 msgid "Unable to determine the dm type of %s."
 msgstr "無法決定 %s 的 dm 型態。"
 
-#: libparted/arch/linux.c:757
+#: libparted/arch/linux.c:774 libparted/arch/linux.c:907
 #, c-format
 msgid ""
 "Could not determine sector size for %s: %s.\n"
@@ -562,7 +537,7 @@ msgstr ""
 "無法決定用於 %s:%s 的磁區大小。\n"
 "使用預設磁區大小 (%lld)。"
 
-#: libparted/arch/linux.c:778
+#: libparted/arch/linux.c:795
 #, c-format
 msgid ""
 "Could not determine physical sector size for %s.\n"
@@ -571,21 +546,21 @@ msgstr ""
 "無法決定 %s 的實體磁區大小。\n"
 "將使用邏輯磁區大小 (%lld)。"
 
-#: libparted/arch/linux.c:834
+#: libparted/arch/linux.c:855
 #, c-format
 msgid "Unable to determine the size of %s (%s)."
 msgstr "無法確定 %s (%s) 的大小。"
 
-#: libparted/arch/linux.c:920
-#, c-format
-msgid "Could not get identity of device %s - %s"
-msgstr "無法獲取設備 %s - %s 的標識"
-
-#: libparted/arch/linux.c:929
+#: libparted/arch/linux.c:958 libparted/arch/linux.c:973
 msgid "Generic IDE"
 msgstr "一般 IDE"
 
-#: libparted/arch/linux.c:950
+#: libparted/arch/linux.c:963
+#, c-format
+msgid "Could not get identity of device %s - %s"
+msgstr "無法獲取裝置 %s - %s 的標識"
+
+#: libparted/arch/linux.c:994
 #, c-format
 msgid ""
 "Device %s has multiple (%d) logical sectors per physical sector.\n"
@@ -598,20 +573,20 @@ msgstr ""
 "ext2/3。\n"
 "請參照網頁以獲得最新的資訊。"
 
-#: libparted/arch/linux.c:1127
+#: libparted/arch/linux.c:1172
 #, c-format
 msgid "Error initialising SCSI device %s - %s"
-msgstr "å\88\9då§\8bå\8c\96 SCSI è¨­å\82\99 %s - %s 時出錯"
+msgstr "å\88\9då§\8bå\8c\96 SCSI è£\9dç½® %s - %s 時出錯"
 
-#: libparted/arch/linux.c:1191
+#: libparted/arch/linux.c:1236
 #, c-format
 msgid ""
 "The device %s is so small that it cannot possibly store a file system or "
 "partition table.  Perhaps you selected the wrong device?"
 msgstr ""
-"裝置 %s 太小,因此可能無法存檔案系統或分割區表。 也許您選擇了錯誤的裝置?"
+"裝置 %s 太小,因此可能無法存檔案系統或分割區表。 也許您選擇了錯誤的裝置?"
 
-#: libparted/arch/linux.c:1304
+#: libparted/arch/linux.c:1349
 #, c-format
 msgid ""
 "Unable to determine geometry of file/device %s.  You should not use Parted "
@@ -619,86 +594,99 @@ msgid ""
 msgstr ""
 "無法決定檔案/裝置 %s 的幾何位置。您不應使用 Parted 除非您真的知道在做什麼!"
 
-#: libparted/arch/linux.c:1364
+#: libparted/arch/linux.c:1410
 msgid "Generic SD/MMC Storage Card"
 msgstr "通用 SD/MMC 記憶卡"
 
-#: libparted/arch/linux.c:1421
+#: libparted/arch/linux.c:1422
+#, fuzzy
+msgid "NVMe Device"
+msgstr "新裝置?"
+
+#: libparted/arch/linux.c:1483
 msgid "DAC960 RAID controller"
 msgstr "DAC960 RAID 控制器"
 
-#: libparted/arch/linux.c:1426
+#: libparted/arch/linux.c:1488
 msgid "Promise SX8 SATA Device"
 msgstr "Promise SX8 SATA 裝置"
 
-#: libparted/arch/linux.c:1431
+#: libparted/arch/linux.c:1493
 msgid "ATA over Ethernet Device"
 msgstr "乙太網路 ATA 裝置"
 
-#: libparted/arch/linux.c:1437
+#: libparted/arch/linux.c:1499
 msgid "IBM S390 DASD drive"
 msgstr "IBM S390 DASD 磁碟機"
 
-#: libparted/arch/linux.c:1443
+#: libparted/arch/linux.c:1505
 msgid "IBM iSeries Virtual DASD"
 msgstr "IBM iSeries 虛擬 DASD"
 
-#: libparted/arch/linux.c:1448
+#: libparted/arch/linux.c:1510
 msgid "Compaq Smart Array"
 msgstr "Compaq 智慧型陣列"
 
-#: libparted/arch/linux.c:1453
+#: libparted/arch/linux.c:1520
+msgid "NVDIMM Device"
+msgstr ""
+
+#: libparted/arch/linux.c:1525
 msgid "ATARAID Controller"
 msgstr "ATARAID 控制器"
 
-#: libparted/arch/linux.c:1458
+#: libparted/arch/linux.c:1530
 msgid "I2O Controller"
 msgstr "I2O 控制器"
 
-#: libparted/arch/linux.c:1463
+#: libparted/arch/linux.c:1535
 msgid "User-Mode Linux UBD"
 msgstr "使用者模式 Linux UBD"
 
-#: libparted/arch/linux.c:1473
+#: libparted/arch/linux.c:1545
 msgid "Loopback device"
 msgstr "迴路裝置"
 
-#: libparted/arch/linux.c:1481
+#: libparted/arch/linux.c:1553
 #, c-format
 msgid "Linux device-mapper (%s)"
 msgstr "Linux 裝置映射程式 (%s)"
 
-#: libparted/arch/linux.c:1492
+#: libparted/arch/linux.c:1564
 msgid "Xen Virtual Block Device"
 msgstr "Xen 虛擬區段裝置"
 
-#: libparted/arch/linux.c:1497
+#: libparted/arch/linux.c:1569
 msgid "Unknown"
-msgstr "未知"
+msgstr "不明"
 
-#: libparted/arch/linux.c:1506
+#: libparted/arch/linux.c:1578
 msgid "Virtio Block Device"
 msgstr "Virtio 區塊裝置"
 
-#: libparted/arch/linux.c:1511
+#: libparted/arch/linux.c:1583
 msgid "Linux Software RAID Array"
 msgstr "Linux 軟體 RAID 陣列"
 
-#: libparted/arch/linux.c:1518
+#: libparted/arch/linux.c:1588
+msgid "RAM Drive"
+msgstr ""
+
+#: libparted/arch/linux.c:1595
 msgid "ped_device_new()  Unsupported device type"
-msgstr "ped_device_new()  ä¸\8dæ\94¯æ\8f´ç\9a\84設å\82\99類型"
+msgstr "ped_device_new()  ä¸\8dæ\94¯æ\8f´ç\9a\84è£\9dç½®類型"
 
-#: libparted/arch/linux.c:1612 libparted/arch/linux.c:1682
+#: libparted/arch/linux.c:1689 libparted/arch/linux.c:1774
 #, c-format
 msgid "Error fsyncing/closing %s: %s"
 msgstr "檔案同步/關閉 %s 時發生錯誤:%s"
 
-#: libparted/arch/linux.c:1846
+#: libparted/arch/linux.c:1948
 #, c-format
 msgid "%0.0send of file while reading %s"
 msgstr "%0.0s 出現檔案結尾於讀取 %s 時"
 
-#: libparted/arch/linux.c:2564
+#: libparted/arch/linux.c:2687
 #, c-format
 msgid ""
 "Error informing the kernel about modifications to partition %s -- %s.  This "
@@ -709,12 +697,12 @@ msgstr ""
 "道您針對 %s 所作的任何修改 - 所以您也不能在重新啟動之前掛載或以任何方式使用"
 "它。"
 
-#: libparted/arch/linux.c:2683
+#: libparted/arch/linux.c:2807
 #, c-format
 msgid "Unable to determine the start and length of %s."
-msgstr "無法決定 %s 的啟始和長度。"
+msgstr "無法決定 %s 的起點和長度。"
 
-#: libparted/arch/linux.c:3080
+#: libparted/arch/linux.c:3220
 #, c-format
 msgid ""
 "Partition(s) %s on %s have been written, but we have been unable to inform "
@@ -726,204 +714,202 @@ msgstr ""
 "們正在使用中,結果造成繼續使用舊的分割區。在進行進一步的變更之前,您應該立刻"
 "重新開機。"
 
-#: libparted/cs/geom.c:162
+#: libparted/cs/geom.c:163
 #, c-format
 msgid "Can't have the end before the start! (start sector=%jd length=%jd)"
-msgstr "çµ\90æ\9d\9fä¸\8då\8f¯ä½\8dæ\96¼é\96\8bå§\8bä¹\8bå\89\8dï¼\81(èµ·å§\8bç£\81å\8d\80=%jd 長度=%jd)"
+msgstr "çµ\82é»\9eä¸\8då\8f¯ä½\8dæ\96¼èµ·é»\9eä¹\8bå\89\8dï¼\81(ç£\81å\8d\80èµ·é»\9e=%jd 長度=%jd)"
 
-#: libparted/cs/geom.c:378
+#: libparted/cs/geom.c:379
 #, c-format
 msgid "Attempt to write sectors %ld-%ld outside of partition on %s."
 msgstr "試圖寫入 %3$s 上分割區之外的磁區 %1$ld-%2$ld。"
 
-#: libparted/cs/geom.c:418
+#: libparted/cs/geom.c:419
 msgid "checking for bad blocks"
 msgstr "檢查壞區塊"
 
-#: libparted/debug.c:96
+#: libparted/debug.c:97
 #, c-format
 msgid "Backtrace has %d calls on stack:\n"
 msgstr "回溯區有 %d 個呼叫關於堆疊:\n"
 
-#: libparted/debug.c:109
+#: libparted/debug.c:110
 #, c-format
 msgid "Assertion (%s) at %s:%d in function %s() failed."
 msgstr "判定 (%s) 於 %s:%d 在函式 %s() 中失敗。"
 
-#: libparted/disk.c:193
+#: libparted/disk.c:194
 #, c-format
 msgid "%s: unrecognised disk label"
 msgstr "%s: 無法辨識的磁碟標籤"
 
-#: libparted/disk.c:486
+#: libparted/disk.c:487
 #, c-format
 msgid ""
 "This libparted doesn't have write support for %s.  Perhaps it was compiled "
 "read-only."
 msgstr "這個 libparted 不支援對 %s 的寫入操作。也許它是以唯讀方式編譯。"
 
-#: libparted/disk.c:631
+#: libparted/disk.c:632
 #, c-format
 msgid "Partition %d is %s, but the file system is %s."
 msgstr "分割區 %d 大小為 %s,但檔案系統大小為 %s。"
 
-#: libparted/disk.c:840
+#: libparted/disk.c:841
 msgid "cylinder_alignment"
 msgstr "cylinder_alignment"
 
-#: libparted/disk.c:842
+#: libparted/disk.c:843
 msgid "pmbr_boot"
 msgstr "pmbr_boot"
 
-#: libparted/disk.c:847
+#: libparted/disk.c:848
 #, c-format
 msgid "Unknown disk flag, %d."
 msgstr "不明的磁碟旗標,%d。"
 
-#: libparted/disk.c:1288
+#: libparted/disk.c:1289
 #, c-format
 msgid "%s disk labels do not support extended partitions."
 msgstr "%s 磁碟標籤不支援擴充分割區。"
 
-#: libparted/disk.c:1820
+#: libparted/disk.c:1821
 #, c-format
 msgid "%s disk labels don't support logical or extended partitions."
 msgstr "%s 磁碟標籤不支援邏輯或擴充分割區。"
 
-#: libparted/disk.c:1833
+#: libparted/disk.c:1834
 msgid "Too many primary partitions."
 msgstr "過多的主分割區。"
 
-#: libparted/disk.c:1842
+#: libparted/disk.c:1843
 #, c-format
 msgid ""
 "Can't add a logical partition to %s, because there is no extended partition."
-msgstr "ç\94±æ\96¼æ²\92æ\9c\89æ\93´å\85\85å\88\86å\89²å\8d\80ï¼\8cç\84¡æ³\95å°\87é\82\8f輯å\88\86å\89²å\8d\80æ·»å\8a 到 %s。"
+msgstr "ç\94±æ\96¼æ²\92æ\9c\89æ\93´å\85\85å\88\86å\89²å\8d\80ï¼\8cç\84¡æ³\95å°\87é\82\8f輯å\88\86å\89²å\8d\80æ\96°å¢\9e到 %s。"
 
-#: libparted/disk.c:1866
+#: libparted/disk.c:1867
 #, c-format
 msgid "Can't have more than one extended partition on %s."
 msgstr "%s 上不能含有多於一個的擴充分割區。"
 
-#: libparted/disk.c:1876
+#: libparted/disk.c:1877
 msgid "Can't have logical partitions outside of the extended partition."
 msgstr "邏輯分割區不能位於擴充分割區之外。"
 
-#: libparted/disk.c:1901
+#: libparted/disk.c:1902
 #, c-format
 msgid "Can't have a logical partition outside of the extended partition on %s."
 msgstr "%s 上的邏輯分割區不能位於擴充分割區之外。"
 
-#: libparted/disk.c:1911
+#: libparted/disk.c:1912
 msgid "Can't have a primary partition inside an extended partition."
 msgstr "擴充分割區中不能含有主分割區。"
 
-#: libparted/disk.c:1920
+#: libparted/disk.c:1921
 msgid "Can't have a partition outside the disk!"
 msgstr "無法讓分割區超出磁碟!"
 
-#: libparted/disk.c:1971 libparted/disk.c:2149
+#: libparted/disk.c:1972 libparted/disk.c:2150
 msgid "Can't have overlapping partitions."
 msgstr "分割區不能重疊。"
 
-#: libparted/disk.c:2350
+#: libparted/disk.c:2351
 msgid "metadata"
 msgstr "中繼資料"
 
-#: libparted/disk.c:2352
+#: libparted/disk.c:2353
 msgid "free"
 msgstr "自由空間"
 
-#: libparted/disk.c:2354 parted/ui.c:1222 parted/ui.c:1250
+#: libparted/disk.c:2355 parted/ui.c:1258 parted/ui.c:1286
 msgid "extended"
 msgstr "擴充分割區"
 
-#: libparted/disk.c:2356 parted/ui.c:1226 parted/ui.c:1254
+#: libparted/disk.c:2357 parted/ui.c:1262 parted/ui.c:1290
 msgid "logical"
 msgstr "邏輯分割區"
 
-#: libparted/disk.c:2358 parted/ui.c:1218 parted/ui.c:1246
+#: libparted/disk.c:2359 parted/ui.c:1254 parted/ui.c:1282
 msgid "primary"
 msgstr "主分割區"
 
-#: libparted/disk.c:2374
+#: libparted/disk.c:2375
 msgid "boot"
 msgstr "啟動"
 
-#: libparted/disk.c:2376
+#: libparted/disk.c:2377
 msgid "bios_grub"
 msgstr "bios_grub"
 
-#: libparted/disk.c:2378
+#: libparted/disk.c:2379
 msgid "root"
 msgstr "根"
 
-#: libparted/disk.c:2380
+#: libparted/disk.c:2381
 msgid "swap"
 msgstr "交換分割區"
 
-#: libparted/disk.c:2382
+#: libparted/disk.c:2383
 msgid "hidden"
 msgstr "隱藏分割區"
 
-#: libparted/disk.c:2384
+#: libparted/disk.c:2385
 msgid "raid"
 msgstr "raid"
 
-#: libparted/disk.c:2386
+#: libparted/disk.c:2387
 msgid "lvm"
 msgstr "lvm"
 
-#: libparted/disk.c:2388
+#: libparted/disk.c:2389
 msgid "lba"
 msgstr "lba"
 
-#: libparted/disk.c:2390
+#: libparted/disk.c:2391
 msgid "hp-service"
 msgstr "hp-服務"
 
-#: libparted/disk.c:2392
+#: libparted/disk.c:2393
 msgid "palo"
 msgstr "palo"
 
-#: libparted/disk.c:2394
+#: libparted/disk.c:2395
 msgid "prep"
 msgstr "prep"
 
-#: libparted/disk.c:2396
+#: libparted/disk.c:2397
 msgid "msftres"
 msgstr "msftres"
 
-#: libparted/disk.c:2398
-#, fuzzy
+#: libparted/disk.c:2399
 msgid "msftdata"
-msgstr "中繼資料"
+msgstr "msftdata"
 
-#: libparted/disk.c:2400
+#: libparted/disk.c:2401
 msgid "atvrecv"
 msgstr "atvrecv"
 
-#: libparted/disk.c:2402
+#: libparted/disk.c:2403
 msgid "diag"
 msgstr "diag"
 
-#: libparted/disk.c:2404
+#: libparted/disk.c:2405
 msgid "legacy_boot"
 msgstr "legacy_boot"
 
-#: libparted/disk.c:2406
+#: libparted/disk.c:2407
 msgid "irst"
-msgstr ""
+msgstr "irst"
 
-#: libparted/disk.c:2408
-#, fuzzy
+#: libparted/disk.c:2409
 msgid "esp"
-msgstr ""
+msgstr "esp"
 
-#: libparted/disk.c:2414
+#: libparted/disk.c:2415
 #, c-format
 msgid "Unknown partition flag, %d."
-msgstr "未知的分割區旗標,%d。"
+msgstr "不明的分割區旗標,%d。"
 
 #: libparted/exception.c:78
 msgid "Information"
@@ -989,94 +975,198 @@ msgstr ""
 "parted/parted.html 以獲得更多有關提交錯誤報告的有用資訊!請發送給 %s 至少含有"
 "版本 (%s) 和以下資訊的錯誤報告: "
 
-#: libparted/labels/aix.c:103
+#: libparted/labels/aix.c:91
 msgid "Support for reading AIX disk labels is is not implemented yet."
 msgstr "尚未實作支援讀取 AIX 磁碟標籤。"
 
-#: libparted/labels/aix.c:114
+#: libparted/labels/aix.c:102
 msgid "Support for writing AIX disk labels is is not implemented yet."
 msgstr "尚未實作支援寫入 AIX 磁碟標籤。"
 
-#: libparted/labels/aix.c:127
+#: libparted/labels/aix.c:115
 msgid ""
 "Support for adding partitions to AIX disk labels is not implemented yet."
 msgstr "尚未實作支援加入分割區到 AIX 磁碟標籤。"
 
-#: libparted/labels/aix.c:137
+#: libparted/labels/aix.c:125
 msgid ""
 "Support for duplicating partitions in AIX disk labels is not implemented yet."
 msgstr "尚未實作支援在 AIX 磁碟標籤中重製分割區。"
 
-#: libparted/labels/aix.c:155
+#: libparted/labels/aix.c:143
 msgid ""
 "Support for setting system type of partitions in AIX disk labels is not "
 "implemented yet."
 msgstr "尚未實作支援在 AIX 磁碟標籤中設定分割區的系統類型。"
 
-#: libparted/labels/aix.c:165
+#: libparted/labels/aix.c:153
 msgid "Support for setting flags in AIX disk labels is not implemented yet."
 msgstr "尚未實作支援在 AIX 磁碟標籤中設定旗標。"
 
-#: libparted/labels/bsd.c:571 libparted/labels/dasd.c:874
-#: libparted/labels/dos.c:2237 libparted/labels/dvh.c:769
-#: libparted/labels/gpt.c:2015 libparted/labels/loop.c:243
-#: libparted/labels/mac.c:1420 libparted/labels/pc98.c:701
-#: libparted/labels/rdb.c:1052 libparted/labels/sun.c:780
+#: libparted/labels/atari.c:273
+#, fuzzy, c-format
+msgid ""
+"Can't use Atari partition tables on disks with a sector size not equal to %d "
+"bytes."
+msgstr "Parted 無法在其磁區大小不等於 %d 位元組的磁碟上使用 HFS 檔案系統。"
+
+#: libparted/labels/atari.c:285
+#, c-format
+msgid "Can't use Atari partition tables on disks with more than %d sectors."
+msgstr ""
+
+#: libparted/labels/atari.c:398
+msgid ""
+"Too many Atari partitions detected.  Maybe there is a loop in the XGM linked "
+"list.  Aborting."
+msgstr ""
+
+#: libparted/labels/atari.c:596
+#, c-format
+msgid "No data partition found in the ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:617
+#, c-format
+msgid ""
+"The entry of the next logical ARS is not of type XGM in ARS at sector %lli."
+msgstr ""
+
+#: libparted/labels/atari.c:648
+#, c-format
+msgid ""
+"There doesn't seem to be an Atari partition table on this disk (%s), or it "
+"is corrupted."
+msgstr ""
+
+#: libparted/labels/atari.c:878
+#, c-format
+msgid "No room at sector %lli to store ARS of logical partition %d."
+msgstr ""
+
+#: libparted/labels/atari.c:885
+#, c-format
+msgid "No room at sector %lli to store ARS."
+msgstr ""
+
+#: libparted/labels/atari.c:962
+msgid ""
+"The sector count that is stored in the partition table does not correspond "
+"to the size of your device.  Do you want to fix the partition table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1003
+#, c-format
+msgid "No room at sector %lli to store BSL."
+msgstr ""
+
+#: libparted/labels/atari.c:1111
+msgid "There were remaining partitions after filling the main AHDI table."
+msgstr ""
+
+#: libparted/labels/atari.c:1130
+msgid ""
+"The main AHDI table has been filled with all partitions but the ICD table is "
+"not empty so more partitions of unknown size and position will be detected "
+"by ICD compatible software.  Do you want to invalidate the ICD table?"
+msgstr ""
+
+#: libparted/labels/atari.c:1164
+msgid "ICD entries can't contain extended or logical partitions."
+msgstr ""
+
+#: libparted/labels/atari.c:1186
+msgid "There were remaining partitions after filling the tables."
+msgstr ""
+
+#: libparted/labels/atari.c:1226
+#, c-format
+msgid ""
+"You can't use an extended XGM partition in ICD mode (more than %d primary "
+"partitions, if XGM is the first one it counts for two)."
+msgstr ""
+
+#: libparted/labels/atari.c:1657 libparted/labels/bsd.c:567
+#: libparted/labels/dasd.c:894 libparted/labels/dos.c:2276
+#: libparted/labels/dvh.c:770 libparted/labels/gpt.c:2050
+#: libparted/labels/loop.c:243 libparted/labels/mac.c:1423
+#: libparted/labels/pc98.c:701 libparted/labels/rdb.c:1054
+#: libparted/labels/sun.c:781
 msgid "Unable to satisfy all constraints on the partition."
 msgstr "無法滿足分割區的所有限制。"
 
-#: libparted/labels/bsd.c:596
+#: libparted/labels/atari.c:1757
+#, c-format
+msgid ""
+"You can't use more than %d primary partitions (ICD mode) if you use an "
+"extended XGM partition.  If XGM is the first partition it counts for two."
+msgstr ""
+
+#: libparted/labels/atari.c:1823 libparted/labels/rdb.c:1082
+msgid "Unable to allocate a partition number."
+msgstr "無法定位分割區編號。"
+
+#: libparted/labels/bsd.c:592
 msgid "Unable to allocate a bsd disklabel slot."
 msgstr "無法定位 bsd 磁碟標籤槽。"
 
-#: libparted/labels/dasd.c:900
+#: libparted/labels/dasd.c:625
+msgid "The partition table of DASD-LDL device cannot be changed.\n"
+msgstr ""
+
+#: libparted/labels/dasd.c:920
 msgid "Unable to allocate a dasd disklabel slot"
-msgstr "無法配置 dasd 磁碟標籤槽"
+msgstr "無法配置 dasd 磁碟標籤槽"
 
-#: libparted/labels/dos.c:1001
+#: libparted/labels/dos.c:1003
 #, c-format
 msgid "Invalid partition table on %s -- wrong signature %x."
 msgstr "%s 上的分割區表無效 - 錯誤的簽名 %x。"
 
-#: libparted/labels/dos.c:1029
+#: libparted/labels/dos.c:1031
 #, c-format
 msgid "Invalid partition table - recursive partition on %s."
-msgstr "無效的分割區表 - %s 出現遞分割區。"
+msgstr "無效的分割區表 - %s 出現遞分割區。"
 
-#: libparted/labels/dos.c:1545
+#: libparted/labels/dos.c:1560
 msgid "Extended partitions cannot be hidden on msdos disk labels."
 msgstr "擴充分割區無法隱藏於 msdos 磁碟標籤之上。"
 
-#: libparted/labels/dos.c:2219
+#: libparted/labels/dos.c:1572
+#, fuzzy
+msgid "Extended partitions cannot be recovery partitions on msdos disk labels."
+msgstr "擴充分割區無法隱藏於 msdos 磁碟標籤之上。"
+
+#: libparted/labels/dos.c:2258
 msgid "Parted can't resize partitions managed by Windows Dynamic Disk."
 msgstr "Parted 無法改變由「視窗動態磁碟」所管理的分割區大小。"
 
-#: libparted/labels/dos.c:2475
+#: libparted/labels/dos.c:2514
 msgid "cannot create any more partitions"
 msgstr "無法再建立任何分割區"
 
-#: libparted/labels/dvh.c:182
+#: libparted/labels/dvh.c:183
 #, c-format
 msgid "%s has no extended partition (volume header partition)."
 msgstr "%s 沒有擴充分割區 (卷頭分割區)。"
 
-#: libparted/labels/dvh.c:308
+#: libparted/labels/dvh.c:309
 msgid "Checksum is wrong, indicating the partition table is corrupt."
 msgstr "總和檢查錯誤,標明分割區表已損壞。"
 
-#: libparted/labels/dvh.c:613
+#: libparted/labels/dvh.c:614
 msgid "Only primary partitions can be root partitions."
 msgstr "只有主分割區可以做為根分割區。"
 
-#: libparted/labels/dvh.c:627
+#: libparted/labels/dvh.c:628
 msgid "Only primary partitions can be swap partitions."
 msgstr "只有主分割區可以是交換分割區。"
 
-#: libparted/labels/dvh.c:641
+#: libparted/labels/dvh.c:642
 msgid "Only logical partitions can be a boot file."
 msgstr "只有邏輯分割區可以是個開機檔案。"
 
-#: libparted/labels/dvh.c:718
+#: libparted/labels/dvh.c:719
 #, c-format
 msgid ""
 "failed to set dvh partition name to %s:\n"
@@ -1085,109 +1175,118 @@ msgstr ""
 "設定 dvh 分割名稱為 %s 時失敗:\n"
 "只有邏輯分割區 (開機檔案) 擁有名稱。"
 
-#: libparted/labels/dvh.c:811
+#: libparted/labels/dvh.c:812
 msgid "Too many primary partitions"
 msgstr "過多的主分割區"
 
-#: libparted/labels/fdasd.c:142
+#: libparted/labels/fdasd.c:136
 msgid "open error"
 msgstr "開啟錯誤"
 
-#: libparted/labels/fdasd.c:145
+#: libparted/labels/fdasd.c:139
 msgid "seek error"
 msgstr "尋找錯誤"
 
-#: libparted/labels/fdasd.c:148
+#: libparted/labels/fdasd.c:142
 msgid "read error"
 msgstr "讀取錯誤"
 
-#: libparted/labels/fdasd.c:154
+#: libparted/labels/fdasd.c:148
 msgid "ioctl() error"
 msgstr "ioctl() 錯誤"
 
-#: libparted/labels/fdasd.c:158
+#: libparted/labels/fdasd.c:152
 msgid "API version mismatch"
 msgstr "API 版本不符"
 
-#: libparted/labels/fdasd.c:162
+#: libparted/labels/fdasd.c:156
 msgid "Unsupported disk type"
 msgstr "不支援的磁碟型態"
 
-#: libparted/labels/fdasd.c:166
+#: libparted/labels/fdasd.c:160
 msgid "Unsupported disk format"
 msgstr "不支援的磁碟格式"
 
-#: libparted/labels/fdasd.c:170
+#: libparted/labels/fdasd.c:164
 msgid "Disk is in use"
 msgstr "磁碟為正在使用中"
 
-#: libparted/labels/fdasd.c:174
+#: libparted/labels/fdasd.c:168
 msgid "Syntax error in config file"
 msgstr "組配檔案中語法錯誤"
 
-#: libparted/labels/fdasd.c:178
+#: libparted/labels/fdasd.c:172
 msgid "Volume label is corrupted"
-msgstr "卷冊標籤已損壞"
+msgstr "磁碟區標籤已損壞"
 
-#: libparted/labels/fdasd.c:182
+#: libparted/labels/fdasd.c:176
 msgid "A data set name is corrupted"
 msgstr "資料集名稱已損壞"
 
-#: libparted/labels/fdasd.c:186
+#: libparted/labels/fdasd.c:180
 msgid "Memory allocation failed"
 msgstr "記憶體配置失敗"
 
-#: libparted/labels/fdasd.c:190
+#: libparted/labels/fdasd.c:184
 msgid "Device verification failed"
 msgstr "裝置查核失敗"
 
-#: libparted/labels/fdasd.c:191
+#: libparted/labels/fdasd.c:185
 msgid "The specified device is not a valid DASD device"
 msgstr "指定裝置並非有效的 DASD 裝置"
 
-#: libparted/labels/fdasd.c:194 libparted/labels/vtoc.c:179
+#: libparted/labels/fdasd.c:188
+msgid "VOLSER not found on device"
+msgstr ""
+
+#: libparted/labels/fdasd.c:191 libparted/labels/vtoc.c:179
 msgid "Fatal error"
 msgstr "嚴重錯誤"
 
-#: libparted/labels/fdasd.c:266
+#: libparted/labels/fdasd.c:243
 msgid "No room for volume label."
-msgstr "沒有空間可用於卷冊標籤。"
+msgstr "沒有空間可用於磁碟區標籤。"
 
-#: libparted/labels/fdasd.c:274
+#: libparted/labels/fdasd.c:251
 msgid "No room for partition info."
 msgstr "沒有空間可用於分割區資訊。"
 
-#: libparted/labels/fdasd.c:854
+#: libparted/labels/fdasd.c:828
 msgid "Invalid VTOC."
 msgstr "無效的 VTOC。"
 
-#: libparted/labels/fdasd.c:938
+#: libparted/labels/fdasd.c:912
 msgid "Could not retrieve API version."
 msgstr "無法取回 API 版本。"
 
-#: libparted/labels/fdasd.c:941
+#: libparted/labels/fdasd.c:915
 #, c-format
 msgid ""
 "The current API version '%d' doesn't match dasd driver API version '%d'!"
 msgstr "目前的 API 版本「%d」不吻合 dasd 驅動程式 API 版本「%d」!"
 
-#: libparted/labels/fdasd.c:984
+#: libparted/labels/fdasd.c:1020
+#, fuzzy
+msgid "Could not retrieve disk size."
+msgstr "無法取回磁碟資訊。"
+
+#: libparted/labels/fdasd.c:1029
 msgid "Could not retrieve disk geometry information."
 msgstr "無法取回磁碟幾何位置資訊。"
 
-#: libparted/labels/fdasd.c:988
+#: libparted/labels/fdasd.c:1035
 msgid "Could not retrieve blocksize information."
 msgstr "無法取回區塊大小資訊。"
 
-#: libparted/labels/fdasd.c:993
-msgid "Could not retrieve disk information."
-msgstr "無法取回磁碟資訊。"
+#: libparted/labels/fdasd.c:1045
+msgid "Disk geometry does not match a DASD device of type 3390."
+msgstr ""
 
-#: libparted/labels/gpt.c:532
+#: libparted/labels/gpt.c:531
 msgid "device is too small for GPT"
-msgstr ""
+msgstr "裝置太小不適用 GPT"
 
-#: libparted/labels/gpt.c:734
+#: libparted/labels/gpt.c:733
 #, c-format
 msgid ""
 "The format of the GPT partition table is version %x, which is newer than "
@@ -1195,131 +1294,129 @@ msgid ""
 msgstr ""
 "GPT 分割區表的格式版本為 %x,它比 Parted 所能辨識的版本要新。請回報這個狀況!"
 
-#: libparted/labels/gpt.c:770
+#: libparted/labels/gpt.c:769
 #, c-format
 msgid ""
 "Not all of the space available to %s appears to be used, you can fix the GPT "
 "to use all of the space (an extra %llu blocks) or continue with the current "
 "setting? "
 msgstr ""
-"並非所有可用於 %s 的空間都被用到了,您可以修正 GPT 以使用所有的空間 (額外的 "
-"%llu 區塊),或是繼續使用目前的設定?"
+"並非使用了所有可用於 %s 的空間,您可以修正 GPT 以使用所有的空間 (額外的 %llu "
+"區塊),或是繼續使用目前的設定?"
 
-#: libparted/labels/gpt.c:1006
-#, fuzzy
+#: libparted/labels/gpt.c:1008
 msgid ""
 "The backup GPT table is not at the end of the disk, as it should be.  Fix, "
 "by moving the backup to the end (and removing the old backup)?"
 msgstr ""
-"備份 GPT 表不像應該的那樣出現在磁碟的末尾。這可能意味者其它操作系統相信磁碟小"
-"ä¸\80äº\9bã\80\82ç¶\93ç\94±å°\87å\82\99份移å\8b\95å\88°æ\9c«å°¾ (並å\88ªé\99¤è\88\8aå\82\99份) ä¾\86修正å®\83ï¼\9f"
+"備份 GPT 表不像應該的那樣出現在磁碟的末尾。經由將備份移動到末尾 (並刪除舊備"
+"份) 來修正它?"
 
-#: libparted/labels/gpt.c:1024
+#: libparted/labels/gpt.c:1026
 msgid ""
 "Both the primary and backup GPT tables are corrupt.  Try making a fresh "
 "table, and using Parted's rescue feature to recover partitions."
 msgstr ""
-"主 GPT 和備份 GPT 都損壞了。現在試圖建立新表,並使用 Parted 的回功能以重建"
+"主 GPT 和備份 GPT 都損壞了。現在試圖建立新表,並使用 Parted 的回功能以重建"
 "分割區表。"
 
-#: libparted/labels/gpt.c:1035
+#: libparted/labels/gpt.c:1037
 msgid ""
 "The backup GPT table is corrupt, but the primary appears OK, so that will be "
 "used."
 msgstr "GPT 備份表損壞,但是主表似乎是正確的,所以將會使用它。"
 
-#: libparted/labels/gpt.c:1047
+#: libparted/labels/gpt.c:1049
 msgid ""
 "The primary GPT table is corrupt, but the backup appears OK, so that will be "
 "used."
 msgstr "主 GPT 表損壞,但備份似乎是正確的,所以將會使用它。"
 
-#: libparted/labels/gpt.c:1071
+#: libparted/labels/gpt.c:1073
 msgid "primary partition table array CRC mismatch"
-msgstr "主分割表的陣列循環冗餘檢查不匹配"
+msgstr "主分割表的陣列循環冗餘檢查不符合"
 
-#: libparted/labels/gpt.c:1901 libparted/labels/gpt.c:1928
-#, fuzzy
+#: libparted/labels/gpt.c:1936 libparted/labels/gpt.c:1963
 msgid "failed to translate partition name"
-msgstr "無法定位分割區編號。"
+msgstr "無法翻譯分割區名稱。"
 
-#: libparted/labels/mac.c:184
+#: libparted/labels/mac.c:185
 #, c-format
 msgid "Invalid signature %x for Mac disk labels."
 msgstr "無效的 Mac 磁碟標籤簽名 %x。"
 
-#: libparted/labels/mac.c:231
+#: libparted/labels/mac.c:232
 msgid "Partition map has no partition map entry!"
 msgstr "分割區映射不含有分割區映射條目!"
 
-#: libparted/labels/mac.c:279
+#: libparted/labels/mac.c:280
 #, c-format
 msgid "%s is too small for a Mac disk label!"
 msgstr "%s 對 Mac 磁碟標籤來說太小了!"
 
-#: libparted/labels/mac.c:506
+#: libparted/labels/mac.c:507
 #, c-format
 msgid "Partition %d has an invalid signature %x."
 msgstr "分割區 %d 含有無效的簽名 %x。"
 
-#: libparted/labels/mac.c:523
+#: libparted/labels/mac.c:524
 #, c-format
 msgid "Partition %d has an invalid length of 0 bytes!"
 msgstr "分割區 %d 含有無效的長度 0 位元組!"
 
-#: libparted/labels/mac.c:554
+#: libparted/labels/mac.c:555
 msgid "The data region doesn't start at the start of the partition."
 msgstr "資料區並未從分割區的起點開始。"
 
-#: libparted/labels/mac.c:571
+#: libparted/labels/mac.c:572
 msgid "The boot region doesn't start at the start of the partition."
 msgstr "啟動區域並未從分割區的起點開始。"
 
-#: libparted/labels/mac.c:585
+#: libparted/labels/mac.c:586
 msgid "The partition's boot region doesn't occupy the entire partition."
 msgstr "分割區的啟動區域並未佔用整個分割區。"
 
-#: libparted/labels/mac.c:596
+#: libparted/labels/mac.c:597
 msgid "The partition's data region doesn't occupy the entire partition."
 msgstr "分割區的資料區域並未佔用整個分割區。"
 
-#: libparted/labels/mac.c:648
+#: libparted/labels/mac.c:649
 #, c-format
 msgid ""
 "Weird block size on device descriptor: %d bytes is not divisible by 512."
-msgstr "設å\82\99æ\8f\8f述中å\87ºç\8f¾å\8f¤æ\80ª的區塊大小:%d 位元組不能被 512 整除。"
+msgstr "è£\9dç½®æ\8f\8f述中å\87ºç\8f¾æ\80ªç\95°的區塊大小:%d 位元組不能被 512 整除。"
 
-#: libparted/labels/mac.c:661
+#: libparted/labels/mac.c:662
 #, c-format
 msgid ""
 "The driver descriptor says the physical block size is %d bytes, but Linux "
 "says it is %d bytes."
 msgstr "磁碟描述表明物理區塊大小為 %d 位元組,但 Linux 認為它是 %d 位元組。"
 
-#: libparted/labels/mac.c:714
+#: libparted/labels/mac.c:715
 msgid "No valid partition map found."
 msgstr "找不到有效的分割區映射。"
 
-#: libparted/labels/mac.c:787
+#: libparted/labels/mac.c:789
 #, c-format
 msgid ""
 "Conflicting partition map entry sizes!  Entry 1 says it is %d, but entry %d "
 "says it is %d!"
 msgstr "分割區映射條目大小發生衝突!條目 1 說它是 %d,但條目 %d 說它是 %d!"
 
-#: libparted/labels/mac.c:818
+#: libparted/labels/mac.c:820
 msgid "Weird!  There are 2 partitions map entries!"
 msgstr "奇怪!兩個分割區映射條目!"
 
-#: libparted/labels/mac.c:1356
+#: libparted/labels/mac.c:1359
 msgid ""
 "Changing the name of a root or swap partition will prevent Linux from "
 "recognising it as such."
 msgstr "改變根分割區或交換分割區的名稱將導致 Linux 無法辨識它。"
 
-#: libparted/labels/mac.c:1455
+#: libparted/labels/mac.c:1458
 msgid "Can't add another partition -- the partition map is too small!"
-msgstr "ç\84¡æ³\95æ·»å\8a 另一個分割區 -- 分割區映射過小!"
+msgstr "ç\84¡æ³\95æ\96°å¢\9e另一個分割區 -- 分割區映射過小!"
 
 #: libparted/labels/pc98.c:284
 #, c-format
@@ -1335,9 +1432,9 @@ msgstr "分割區 %d 並未對齊到磁柱邊界。此功能仍然尚未被支
 
 #: libparted/labels/pc98.c:733
 msgid "Can't add another partition."
-msgstr "ç\84¡æ³\95æ·»å\8a 其它分割區。"
+msgstr "ç\84¡æ³\95æ\96°å¢\9e其它分割區。"
 
-#: libparted/labels/pt-tools.c:133
+#: libparted/labels/pt-tools.c:134
 #, c-format
 msgid ""
 "partition length of %jd sectors exceeds the %s-partition-table-imposed "
@@ -1345,86 +1442,82 @@ msgid ""
 msgstr ""
 "分割區的 %1$jd 磁區長度超出 %3$jd 的 %2$s-partition-table-imposed 最大值"
 
-#: libparted/labels/pt-tools.c:146
+#: libparted/labels/pt-tools.c:147
 #, c-format
 msgid ""
 "starting sector number, %jd exceeds the %s-partition-table-imposed maximum "
 "of %jd"
-msgstr "起始磁區編號 %1$jd 超出 %3$jd 的 %2$s-partition-table-imposed 最大值"
+msgstr "磁區起點編號 %1$jd 超出 %3$jd 的 %2$s-partition-table-imposed 最大值"
 
-#: libparted/labels/rdb.c:169
+#: libparted/labels/rdb.c:170
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s."
 msgstr "%s:區塊 %llu 的類型 %s 有不當的總和檢查值。"
 
-#: libparted/labels/rdb.c:484
+#: libparted/labels/rdb.c:486
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen."
 msgstr "%s:無法找到 rdb 區塊,這不應該發生。"
 
-#: libparted/labels/rdb.c:573
+#: libparted/labels/rdb.c:575
 #, c-format
 msgid "%s : Loop detected at block %d."
 msgstr "%s:於區塊 %d 偵測到迴圈。"
 
-#: libparted/labels/rdb.c:592
+#: libparted/labels/rdb.c:594
 #, c-format
 msgid "%s : The %s list seems bad at block %s."
 msgstr "%1$s:區塊 %3$s 處似有不當 %2$s 列表。"
 
-#: libparted/labels/rdb.c:691
+#: libparted/labels/rdb.c:693
 #, c-format
 msgid "%s : Failed to list bad blocks."
 msgstr "%s:列舉不當區塊時失敗。"
 
-#: libparted/labels/rdb.c:699
+#: libparted/labels/rdb.c:701
 #, c-format
 msgid "%s : Failed to list partition blocks."
 msgstr "%s:列舉分割區區塊時失敗。"
 
-#: libparted/labels/rdb.c:707
+#: libparted/labels/rdb.c:709
 #, c-format
 msgid "%s : Failed to list file system blocks."
 msgstr "%s:列舉檔案系統區塊時失敗。"
 
-#: libparted/labels/rdb.c:715
+#: libparted/labels/rdb.c:717
 #, c-format
 msgid "%s : Failed to list boot blocks."
 msgstr "%s:列舉開機區塊時失敗。"
 
-#: libparted/labels/rdb.c:742
+#: libparted/labels/rdb.c:744
 #, c-format
 msgid "Failed to write partition block at %d."
 msgstr "寫入分割區區塊 %d 時失敗。"
 
-#: libparted/labels/rdb.c:1080
-msgid "Unable to allocate a partition number."
-msgstr "無法定位分割區編號。"
-
-#: libparted/labels/sun.c:161
+#: libparted/labels/sun.c:162
 msgid "Corrupted Sun disk label detected."
 msgstr "偵測到損壞的 Sun 磁碟標籤。"
 
-#: libparted/labels/sun.c:276
+#: libparted/labels/sun.c:277
 #, c-format
 msgid ""
 "The disk CHS geometry (%d,%d,%d) reported by the operating system does not "
 "match the geometry stored on the disk label (%d,%d,%d)."
 msgstr ""
-"由作業系統回報的磁碟 CHS 幾何結構 (%d,%d,%d) 與存在磁碟標籤中的幾何結構 "
+"由作業系統回報的磁碟 CHS 幾何結構 (%d,%d,%d) 與存在磁碟標籤中的幾何結構 "
 "(%d,%d,%d) 不符合。"
 
-#: libparted/labels/sun.c:298
+#: libparted/labels/sun.c:299
 #, c-format
 msgid "The disk label describes a disk bigger than %s."
 msgstr "磁碟標籤描述的磁碟大於 %s。"
 
-#: libparted/labels/sun.c:473
+#: libparted/labels/sun.c:474
 #, c-format
 msgid "The disk has %d cylinders, which is greater than the maximum of 65536."
 msgstr "該磁碟具有 %d 圈磁柱,已超過 65536 的最大限制。"
 
-#: libparted/labels/sun.c:812
+#: libparted/labels/sun.c:813
 msgid ""
 "The Whole Disk partition is the only available one left.  Generally, it is "
 "not a good idea to overwrite this partition with a real one.  Solaris may "
@@ -1435,7 +1528,7 @@ msgstr ""
 "並不是個好主意。沒有了它,Solaris 也許就無法開機,並且 SILO (sparc 開機載入程"
 "式) 也會因此而感激的。"
 
-#: libparted/labels/sun.c:827
+#: libparted/labels/sun.c:828
 msgid "Sun disk label is full."
 msgstr "Sun 磁碟標籤已滿。"
 
@@ -1455,61 +1548,60 @@ msgstr "裝置寫入時失敗"
 msgid "reading from device failed"
 msgstr "從裝置讀取時失敗"
 
-#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:380
-#: libparted/labels/vtoc.c:401 libparted/labels/vtoc.c:408
+#: libparted/labels/vtoc.c:371 libparted/labels/vtoc.c:378
+#: libparted/labels/vtoc.c:399 libparted/labels/vtoc.c:406
 msgid "Could not read volume label."
-msgstr "無法讀取卷冊標籤。"
+msgstr "無法讀取磁碟區標籤。"
 
-#: libparted/labels/vtoc.c:428 libparted/labels/vtoc.c:435
+#: libparted/labels/vtoc.c:426 libparted/labels/vtoc.c:431
 msgid "Could not write volume label."
-msgstr "無法寫入卷冊標籤。"
+msgstr "無法寫入磁碟區標籤。"
 
-#: libparted/labels/vtoc.c:541
+#: libparted/labels/vtoc.c:537
 msgid "Could not read VTOC labels."
 msgstr "無法讀取 VTOC 標籤。"
 
-#: libparted/labels/vtoc.c:547
+#: libparted/labels/vtoc.c:543
 msgid "Could not read VTOC FMT1 DSCB."
 msgstr "無法讀取 VTOC FMT1 DSCB。"
 
-#: libparted/labels/vtoc.c:554
+#: libparted/labels/vtoc.c:550
 msgid "Could not read VTOC FMT4 DSCB."
 msgstr "無法讀取 VTOC FMT4 DSCB。"
 
-#: libparted/labels/vtoc.c:561
+#: libparted/labels/vtoc.c:557
 msgid "Could not read VTOC FMT5 DSCB."
 msgstr "無法讀取 VTOC FMT5 DSCB。"
 
-#: libparted/labels/vtoc.c:568
+#: libparted/labels/vtoc.c:564
 msgid "Could not read VTOC FMT7 DSCB."
 msgstr "無法讀取 VTOC FMT7 DSCB。"
 
-#: libparted/labels/vtoc.c:589
+#: libparted/labels/vtoc.c:585
 msgid "Could not write VTOC labels."
 msgstr "無法寫入 VTOC 標籤。"
 
-#: libparted/labels/vtoc.c:595
+#: libparted/labels/vtoc.c:591
 msgid "Could not write VTOC FMT1 DSCB."
 msgstr "無法寫入 VTOC FMT1 DSCB。"
 
-#: libparted/labels/vtoc.c:602
+#: libparted/labels/vtoc.c:598
 msgid "Could not write VTOC FMT4 DSCB."
 msgstr "無法寫入 VTOC FMT4 DSCB。"
 
-#: libparted/labels/vtoc.c:609
+#: libparted/labels/vtoc.c:605
 msgid "Could not write VTOC FMT5 DSCB."
 msgstr "無法寫入 VTOC FMT5 DSCB。"
 
-#: libparted/labels/vtoc.c:616
+#: libparted/labels/vtoc.c:612
 msgid "Could not write VTOC FMT7 DSCB."
 msgstr "無法寫入 VTOC FMT7 DSCB。"
 
-#: libparted/labels/vtoc.c:626
-#, fuzzy
+#: libparted/labels/vtoc.c:622
 msgid "Could not write VTOC FMT9 DSCB."
-msgstr "無法寫入 VTOC FMT1 DSCB。"
+msgstr "無法寫入 VTOC FMT9 DSCB。"
 
-#: libparted/libparted.c:234
+#: libparted/libparted.c:242
 msgid "Out of memory."
 msgstr "記憶體耗盡。"
 
@@ -1532,73 +1624,73 @@ msgstr "磁頭數量的最大值為 %d。"
 msgid "The maximum sector value is %d."
 msgstr "磁區數量的最大值為 %d。"
 
-#: libparted/unit.c:412 libparted/unit.c:563
+#: libparted/unit.c:412 libparted/unit.c:564
 #, c-format
 msgid "The location %s is outside of the device %s."
 msgstr "位置 %s 超出裝置 %s 的範圍。"
 
-#: libparted/unit.c:532
+#: libparted/unit.c:526
 msgid "Invalid number."
 msgstr "無效的編號。"
 
-#: libparted/unit.c:538
+#: libparted/unit.c:532
 msgid "Use a smaller unit instead of a value < 1"
 msgstr "使用較小單位以代替值 < 1"
 
-#: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:57
-#: libparted/fs/amiga/asfs.c:71
+#: libparted/fs/amiga/affs.c:64 libparted/fs/amiga/apfs.c:58
+#: libparted/fs/amiga/asfs.c:72
 #, c-format
 msgid "%s : Failed to allocate partition block\n"
 msgstr "%s:配置分割區區塊時失敗\n"
 
-#: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:70
-#: libparted/fs/amiga/asfs.c:83
+#: libparted/fs/amiga/affs.c:79 libparted/fs/amiga/apfs.c:71
+#: libparted/fs/amiga/asfs.c:84
 #, c-format
 msgid "%s : Failed to allocate block\n"
 msgstr "%s:配置區塊時失敗\n"
 
-#: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:75
+#: libparted/fs/amiga/affs.c:84 libparted/fs/amiga/apfs.c:76
 #, c-format
 msgid "%s : Couldn't read boot block %llu\n"
 msgstr "%s:無法讀取啟動區塊 %llu\n"
 
-#: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:86
-#: libparted/fs/amiga/asfs.c:89 libparted/fs/amiga/asfs.c:103
+#: libparted/fs/amiga/affs.c:98 libparted/fs/amiga/apfs.c:87
+#: libparted/fs/amiga/asfs.c:90 libparted/fs/amiga/asfs.c:104
 #, c-format
 msgid "%s : Couldn't read root block %llu\n"
 msgstr "%s:無法讀取根區塊 %llu\n"
 
-#: libparted/fs/amiga/amiga.c:71
+#: libparted/fs/amiga/amiga.c:72
 #, c-format
 msgid "%s : Failed to allocate id list element\n"
 msgstr "%s:配置辨識清單元件時失敗\n"
 
-#: libparted/fs/amiga/amiga.c:188
+#: libparted/fs/amiga/amiga.c:189
 #, c-format
 msgid "%s : Couldn't read block %llu\n"
 msgstr "%s:無法讀取區塊 %llu\n"
 
-#: libparted/fs/amiga/amiga.c:201
+#: libparted/fs/amiga/amiga.c:202
 #, c-format
 msgid "%s : Bad checksum on block %llu of type %s\n"
 msgstr "%s:區塊 %llu 的類型 %s 有不當的總和檢查值\n"
 
-#: libparted/fs/amiga/amiga.c:211
+#: libparted/fs/amiga/amiga.c:212
 #, c-format
 msgid "%s : Couldn't write block %d\n"
 msgstr "%s:無法寫入區塊 %d\n"
 
-#: libparted/fs/amiga/amiga.c:277
+#: libparted/fs/amiga/amiga.c:278
 #, c-format
 msgid "%s : Failed to allocate disk_specific rdb block\n"
 msgstr "%s:配置磁碟特定的 rdb 區塊時失敗\n"
 
-#: libparted/fs/amiga/amiga.c:288
+#: libparted/fs/amiga/amiga.c:289
 #, c-format
 msgid "%s : Didn't find rdb block, should never happen\n"
 msgstr "%s:無法找到 rdb 區塊,這不應該發生\n"
 
-#: libparted/fs/amiga/amiga.c:317
+#: libparted/fs/amiga/amiga.c:318
 #, c-format
 msgid "%s : Failed to read partition block %llu\n"
 msgstr "%s:讀取分割區區塊 %llu 時失敗\n"
@@ -1639,54 +1731,45 @@ msgstr ""
 "檔案系統的 CHS 位置與尺寸是 (%d, %d, %d),該項無效。 分割表的 CHS 位置與尺寸"
 "是 (%d, %d, %d)。"
 
-#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:206
+#: libparted/fs/fat/bootsector.c:197 libparted/fs/r/fat/bootsector.c:194
 msgid "FAT boot sector says logical sector size is 0.  This is weird. "
 msgstr "FAT 啟動磁區聲稱邏輯磁區的大小為零。這很奇怪。"
 
-#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:212
+#: libparted/fs/fat/bootsector.c:203 libparted/fs/r/fat/bootsector.c:200
 msgid "FAT boot sector says there are no FAT tables.  This is weird. "
 msgstr "FAT 啟動磁區聲稱沒有 FAT 表。這很奇怪。"
 
-#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:218
+#: libparted/fs/fat/bootsector.c:209 libparted/fs/r/fat/bootsector.c:206
 msgid "FAT boot sector says clusters are 0 sectors.  This is weird. "
 msgstr "FAT 啟動磁區聲稱磁簇具有零磁區。這很奇怪。"
 
-#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:228
+#: libparted/fs/fat/bootsector.c:219 libparted/fs/r/fat/bootsector.c:216
 msgid "File system is FAT12, which is unsupported."
 msgstr "檔案系統為 FAT12,不支援。"
 
-#: libparted/fs/linux_swap/linux_swap.c:230
+#: libparted/fs/linux_swap/linux_swap.c:231
 #, c-format
 msgid "Unrecognised old style linux swap signature '%10s'."
 msgstr "無法辨識的舊式 linux 交換簽名「%10s」。"
 
-#: libparted/fs/linux_swap/linux_swap.c:268
+#: libparted/fs/linux_swap/linux_swap.c:269
 #, c-format
 msgid "Unrecognised new style linux swap signature '%10s'."
 msgstr "無法辨識的新式 linux 交換簽名「%10s」。"
 
-#: libparted/fs/linux_swap/linux_swap.c:308
+#: libparted/fs/linux_swap/linux_swap.c:309
 #, c-format
 msgid "Unrecognised swsusp linux swap signature '%9s'."
 msgstr "無法辨識的 swsusp linux 交換簽名「%9s」。"
 
-#: libparted/fs/hfs/probe.c:50 libparted/fs/r/hfs/probe.c:50
+#: libparted/fs/hfs/probe.c:51 libparted/fs/r/hfs/probe.c:51
 #, c-format
 msgid ""
 "Parted can't use HFS file systems on disks with a sector size not equal to "
 "%d bytes."
 msgstr "Parted 無法在其磁區大小不等於 %d 位元組的磁碟上使用 HFS 檔案系統。"
 
-#: libparted/fs/r/fat/bootsector.c:132
-#, c-format
-msgid ""
-"This file system has a logical sector size of %d.  GNU Parted is known not "
-"to work properly with sector sizes other than 512 bytes."
-msgstr ""
-"此檔案系統的邏輯磁區大小為 %d。GNU Parted 無法在磁區大小不是 512 位元組的情況"
-"下正確工作。"
-
-#: libparted/fs/r/fat/bootsector.c:157
+#: libparted/fs/r/fat/bootsector.c:145
 #, c-format
 msgid ""
 "The file system's CHS geometry is (%d, %d, %d), which is invalid.  The "
@@ -1699,7 +1782,7 @@ msgstr ""
 "為 (%d, %d, %d)。如果您選擇忽略,檔案系統的 CHS 幾何結構將會保留不變。如果您"
 "選擇修復,檔案系統的 CHS 幾何結構將會被設定以符合分割區表的 CHS 幾何結構。"
 
-#: libparted/fs/r/fat/bootsector.c:406
+#: libparted/fs/r/fat/bootsector.c:399
 #, c-format
 msgid ""
 "The information sector has the wrong signature (%x).  Select cancel for now, "
@@ -1716,48 +1799,48 @@ msgid ""
 msgstr ""
 "您需要 %s 的可用磁碟空間以收縮這個分割區到這個大小。 目前,只有 %s 為可用。"
 
-#: libparted/fs/r/fat/context.c:55
+#: libparted/fs/r/fat/context.c:56
 #, c-format
 msgid ""
 "Cluster start delta = %d, which is not a multiple of the cluster size %d."
-msgstr "磁簇啟始 delta = %d,它並非磁簇大小 %d 的倍數。"
+msgstr "磁簇起點 delta = %d,它並非磁簇大小 %d 的倍數。"
 
-#: libparted/fs/r/fat/count.c:143
+#: libparted/fs/r/fat/count.c:144
 #, c-format
 msgid "Bad directory entry for %s: first cluster is the end of file marker."
 msgstr "%s 有不當的目錄條目:第一個磁簇是檔案標記的結尾。"
 
-#: libparted/fs/r/fat/count.c:156
+#: libparted/fs/r/fat/count.c:157
 #, c-format
 msgid ""
 "Bad FAT: unterminated chain for %s.  You should run dosfsck or scandisk."
 msgstr ""
-"ä¸\8dç\95¶ç\9a\84 FAT å\88\86å\89²è¡¨ï¼\9a%s æ\9c\89æ\9cªçµ\82çµ\90ç\9a\84é\8f\88結。 您應該執行 dosfsck 或 scandisk。"
+"ä¸\8dç\95¶ç\9a\84 FAT å\88\86å\89²è¡¨ï¼\9a%s æ\9c\89æ\9cªçµ\82çµ\90ç\9a\84é\80£結。 您應該執行 dosfsck 或 scandisk。"
 
-#: libparted/fs/r/fat/count.c:165
+#: libparted/fs/r/fat/count.c:166
 #, c-format
 msgid ""
 "Bad FAT: cluster %d outside file system in chain for %s.  You should run "
 "dosfsck or scandisk."
 msgstr ""
-"ä¸\8dç\95¶ç\9a\84 FAT å\88\86å\89²è¡¨ï¼\9a%2$s ç\9a\84é\8f\88結中有磁簇 %1$d 位於檔案系統之外。 您應該執行 "
+"ä¸\8dç\95¶ç\9a\84 FAT å\88\86å\89²è¡¨ï¼\9a%2$s ç\9a\84é\80£結中有磁簇 %1$d 位於檔案系統之外。 您應該執行 "
 "dosfsck 或 scandisk。"
 
-#: libparted/fs/r/fat/count.c:175
+#: libparted/fs/r/fat/count.c:176
 #, c-format
 msgid ""
 "Bad FAT: cluster %d is cross-linked for %s.  You should run dosfsck or "
 "scandisk."
 msgstr ""
-"ä¸\8dç\95¶ç\9a\84 FAT å\88\86å\89²è¡¨ï¼\9a%2$s æ\9c\89ç£\81ç°\87 %1$d è¢«äº¤å\8f\89é\8f\88結。 您應該執行 dosfsck 或 "
+"ä¸\8dç\95¶ç\9a\84 FAT å\88\86å\89²è¡¨ï¼\9a%2$s æ\9c\89ç£\81ç°\87 %1$d è¢«äº¤å\8f\89é\80£結。 您應該執行 dosfsck 或 "
 "scandisk。"
 
-#: libparted/fs/r/fat/count.c:194
+#: libparted/fs/r/fat/count.c:195
 #, c-format
 msgid "%s is %dk, but it has %d clusters (%dk)."
 msgstr "%s 是 %dk,但是它有 %d 個磁簇 (%dk)。"
 
-#: libparted/fs/r/fat/count.c:257
+#: libparted/fs/r/fat/count.c:258
 #, c-format
 msgid ""
 "The file %s is marked as a system file.  This means moving it could cause "
@@ -1774,7 +1857,7 @@ msgid ""
 "The FATs don't match.  If you don't know what this means, then select "
 "cancel, run scandisk on the file system, and then come back."
 msgstr ""
-"FAT 分割表不匹配。 如果您不知道這表示什麼,就請選取取消、在檔案系統上執行 "
+"FAT 分割表不符合。 如果您不知道這表示什麼,就請選取取消、在檔案系統上執行 "
 "scandisk,然後回來。"
 
 #: libparted/fs/r/fat/fat.c:449
@@ -1803,15 +1886,15 @@ msgid ""
 "cancel, or ignore to lose the files."
 msgstr "在根目錄中空間不足以用於所有的檔案。 可選擇取消,或是忽略而遺失檔案。"
 
-#: libparted/fs/r/fat/resize.c:299
+#: libparted/fs/r/fat/resize.c:302
 msgid "Error writing to the root directory."
 msgstr "寫入根目錄時發生錯誤。"
 
-#: libparted/fs/r/fat/resize.c:488
+#: libparted/fs/r/fat/resize.c:495
 msgid "If you leave your file system as FAT16, then you will have no problems."
 msgstr "如果您保留檔案系統為 FAT16, 那麼將不會有問題。"
 
-#: libparted/fs/r/fat/resize.c:491
+#: libparted/fs/r/fat/resize.c:498
 msgid ""
 "If you convert to FAT16, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1821,13 +1904,13 @@ msgstr ""
 "Windows 的開機載入器。 如果您要這樣做,您應該查詢一下 Parted 手冊 (或是發行版"
 "手冊)。"
 
-#: libparted/fs/r/fat/resize.c:499
+#: libparted/fs/r/fat/resize.c:506
 msgid ""
 "If you leave your file system as FAT32, then you will not introduce any new "
 "problems."
 msgstr "如果您保留檔案系統為 FAT32, 那麼您將不會引入任何新問題。"
 
-#: libparted/fs/r/fat/resize.c:503
+#: libparted/fs/r/fat/resize.c:510
 msgid ""
 "If you convert to FAT32, and MS Windows is installed on this partition, then "
 "you must re-install the MS Windows boot loader.  If you want to do this, you "
@@ -1840,31 +1923,31 @@ msgstr ""
 "手冊)。 同時,轉換到 FAT32 將使得檔案系統無法讓 MS DOS、MS Windows 95a 和 MS "
 "Windows NT 讀取。"
 
-#: libparted/fs/r/fat/resize.c:517
+#: libparted/fs/r/fat/resize.c:524
 #, c-format
 msgid "%s  %s  %s"
 msgstr "%s  %s  %s"
 
-#: libparted/fs/r/fat/resize.c:518
+#: libparted/fs/r/fat/resize.c:525
 msgid "Would you like to use FAT32?"
 msgstr "您想要使用 FAT32 嗎?"
 
-#: libparted/fs/r/fat/resize.c:549 libparted/fs/r/fat/resize.c:565
+#: libparted/fs/r/fat/resize.c:556 libparted/fs/r/fat/resize.c:572
 #, c-format
 msgid "%s  %s"
 msgstr "%s  %s"
 
-#: libparted/fs/r/fat/resize.c:550
+#: libparted/fs/r/fat/resize.c:557
 msgid ""
 "The file system can only be resized to this size by converting to FAT16."
 msgstr "檔案系統只能藉由轉換到 FAT16 以調整為這樣的大小。"
 
-#: libparted/fs/r/fat/resize.c:566
+#: libparted/fs/r/fat/resize.c:573
 msgid ""
 "The file system can only be resized to this size by converting to FAT32."
 msgstr "檔案系統只能藉由轉換到 FAT32 以調整為這樣的大小。"
 
-#: libparted/fs/r/fat/resize.c:579
+#: libparted/fs/r/fat/resize.c:586
 msgid ""
 "GNU Parted cannot resize this partition to this size.  We're working on it!"
 msgstr "GNU Parted 無法調整這個分割區為這樣的大小。 我們正在努力中!"
@@ -1902,73 +1985,73 @@ msgstr "不支援調整 %s 檔案系統大小"
 
 #: libparted/fs/r/filesys.c:170
 msgid "The file system is bigger than its volume!"
-msgstr "檔案系統大於所屬的卷冊!"
+msgstr "檔案系統大於所屬的磁碟區!"
 
-#: libparted/fs/r/hfs/advfs.c:120 libparted/fs/r/hfs/advfs_plus.c:120
-#: libparted/fs/r/hfs/reloc.c:412 libparted/fs/r/hfs/reloc.c:506
-#: libparted/fs/r/hfs/reloc_plus.c:537 libparted/fs/r/hfs/reloc_plus.c:655
-#: libparted/fs/r/hfs/reloc_plus.c:768
+#: libparted/fs/r/hfs/advfs.c:121 libparted/fs/r/hfs/advfs_plus.c:121
+#: libparted/fs/r/hfs/reloc.c:413 libparted/fs/r/hfs/reloc.c:507
+#: libparted/fs/r/hfs/reloc_plus.c:538 libparted/fs/r/hfs/reloc_plus.c:656
+#: libparted/fs/r/hfs/reloc_plus.c:769
 msgid "The file system contains errors."
 msgstr "檔案系統含有錯誤。"
 
-#: libparted/fs/r/hfs/advfs_plus.c:284
+#: libparted/fs/r/hfs/advfs_plus.c:285
 msgid "Bad blocks could not be read."
 msgstr "無法讀取不當的區塊。"
 
-#: libparted/fs/r/hfs/cache.c:136
+#: libparted/fs/r/hfs/cache.c:137
 #, c-format
 msgid ""
 "Trying to register an extent starting at block 0x%X, but another one already "
 "exists at this position.  You should check the file system!"
 msgstr ""
-"嘗試登記一個開始於 0x%X 的延伸區塊,但是另一個已經存在於此位置。 您應該檢查一"
+"嘗試登記一個起點在 0x%X 的延伸區塊,但是另一個已經存在於此位置。 您應該檢查一"
 "下檔案系統!"
 
-#: libparted/fs/r/hfs/cache.c:213
-#, c-format
+#: libparted/fs/r/hfs/cache.c:214
+#, fuzzy, c-format
 msgid ""
-"Trying to move an extent from block Ox%X to block Ox%X, but another one "
+"Trying to move an extent from block 0x%X to block 0x%X, but another one "
 "already exists at this position.  This should not happen!"
 msgstr ""
 "嘗試將延伸區塊從 Ox%X 移動到 Ox%X,但是另一個已經存在於此位置。 這件事不應該"
 "發生!"
 
-#: libparted/fs/r/hfs/file.c:142
+#: libparted/fs/r/hfs/file.c:143
 #, c-format
 msgid "Could not update the extent cache for HFS file with CNID %X."
 msgstr "無法更新具有 CNID %X 的 HFS 檔案延伸快取。"
 
-#: libparted/fs/r/hfs/file.c:179
+#: libparted/fs/r/hfs/file.c:180
 #, c-format
 msgid "Trying to read HFS file with CNID %X behind EOF."
 msgstr "嘗試讀取 EOF 之後具有 CNID %X 的 HFS 檔案。"
 
-#: libparted/fs/r/hfs/file.c:189 libparted/fs/r/hfs/file.c:219
+#: libparted/fs/r/hfs/file.c:190 libparted/fs/r/hfs/file.c:220
 #, c-format
 msgid "Could not find sector %lli of HFS file with CNID %X."
 msgstr "找不到具有 CNID %2$X 的 HFS 檔案磁區 %1$lli。"
 
-#: libparted/fs/r/hfs/file.c:209
+#: libparted/fs/r/hfs/file.c:210
 #, c-format
 msgid "Trying to write HFS file with CNID %X behind EOF."
 msgstr "嘗試寫入 EOF 之後具有 CNID %X 的 HFS 檔案。"
 
-#: libparted/fs/r/hfs/file_plus.c:156
+#: libparted/fs/r/hfs/file_plus.c:157
 #, c-format
 msgid "Could not update the extent cache for HFS+ file with CNID %X."
 msgstr "無法更新具有 CNID %X 的 HFS+ 檔案延伸快取。"
 
-#: libparted/fs/r/hfs/file_plus.c:201
+#: libparted/fs/r/hfs/file_plus.c:202
 #, c-format
 msgid "Trying to read HFS+ file with CNID %X behind EOF."
 msgstr "嘗試讀取 EOF 之後具有 CNID %X 的 HFS+ 檔案。"
 
-#: libparted/fs/r/hfs/file_plus.c:212 libparted/fs/r/hfs/file_plus.c:255
+#: libparted/fs/r/hfs/file_plus.c:213 libparted/fs/r/hfs/file_plus.c:256
 #, c-format
 msgid "Could not find sector %lli of HFS+ file with CNID %X."
 msgstr "找不到具有 CNID %2$X 的 HFS+ 檔案磁區 %1$lli。"
 
-#: libparted/fs/r/hfs/file_plus.c:244
+#: libparted/fs/r/hfs/file_plus.c:245
 #, c-format
 msgid "Trying to write HFS+ file with CNID %X behind EOF."
 msgstr "嘗試寫入 EOF 之後具有 CNID %X 的 HFS+ 檔案。"
@@ -1987,7 +2070,7 @@ msgstr "資料重定址已失敗。"
 
 #: libparted/fs/r/hfs/hfs.c:281
 msgid "Data relocation left some data in the end of the volume."
-msgstr "資料重定址在卷冊末端留下一些資料。"
+msgstr "資料重定址在磁碟區末端留下一些資料。"
 
 #: libparted/fs/r/hfs/hfs.c:320
 msgid "writing HFS Master Directory Block"
@@ -2009,7 +2092,7 @@ msgstr "不支援 HFSX 的版本 %d。"
 
 #: libparted/fs/r/hfs/hfs.c:672
 msgid "Data relocation left some data at the end of the volume."
-msgstr "資料重定址在卷冊末端留下一些資料。"
+msgstr "資料重定址在磁碟區末端留下一些資料。"
 
 #: libparted/fs/r/hfs/hfs.c:720
 msgid "Error while writing the allocation file."
@@ -2021,7 +2104,7 @@ msgstr "寫入配額檔案的相容部分時發生錯誤。"
 
 #: libparted/fs/r/hfs/hfs.c:750
 msgid "writing HFS+ Volume Header"
-msgstr "寫入 HFS+ 卷冊標頭"
+msgstr "寫入 HFS+ 磁碟區標頭"
 
 #: libparted/fs/r/hfs/hfs.c:850
 msgid "An error occurred while looking for the mandatory bad blocks file."
@@ -2031,7 +2114,8 @@ msgstr "找尋必要的不當區塊檔案時發生了錯誤。"
 msgid ""
 "It seems there is an error in the HFS wrapper: the bad blocks file doesn't "
 "contain the embedded HFS+ volume."
-msgstr "在 HFS 包裝程式中似乎出現錯誤:不當區塊檔案並未包含嵌入式 HFS+ 卷冊。"
+msgstr ""
+"在 HFS 包裝程式中似乎出現錯誤:不當區塊檔案並未包含嵌入式 HFS+ 磁碟區。"
 
 #: libparted/fs/r/hfs/hfs.c:940
 msgid "Sorry, HFS+ cannot be resized that way yet."
@@ -2039,71 +2123,72 @@ msgstr "抱歉,HFS+ 尚無法以該種方式調整大小。"
 
 #: libparted/fs/r/hfs/hfs.c:975
 msgid "shrinking embedded HFS+ volume"
-msgstr "收縮嵌入式 HFS+ 卷冊"
+msgstr "收縮嵌入式 HFS+ 磁碟區"
 
-#: libparted/fs/r/hfs/hfs.c:991
+#: libparted/fs/r/hfs/hfs.c:992
 msgid "Resizing the HFS+ volume has failed."
-msgstr "調整 HFS+ 卷冊大小已失敗。"
+msgstr "調整 HFS+ 磁碟區大小已失敗。"
 
-#: libparted/fs/r/hfs/hfs.c:998
+#: libparted/fs/r/hfs/hfs.c:999
 msgid "shrinking HFS wrapper"
 msgstr "收縮 HFS 包裝程式"
 
-#: libparted/fs/r/hfs/hfs.c:1007
+#: libparted/fs/r/hfs/hfs.c:1008
 msgid "Updating the HFS wrapper has failed."
 msgstr "更新 HFS 包裝程式已失敗。"
 
-#: libparted/fs/r/hfs/hfs.c:1109 libparted/fs/r/hfs/hfs.c:1194
+#: libparted/fs/r/hfs/hfs.c:1110 libparted/fs/r/hfs/hfs.c:1195
 #, c-format
 msgid ""
 "This is not a real %s check.  This is going to extract special low level "
 "files for debugging purposes."
 msgstr "這不是真實的 %s 檢查。 這是為了偵錯的目的而抽出特殊的低階檔案。"
 
-#: libparted/fs/r/hfs/journal.c:154
+#: libparted/fs/r/hfs/journal.c:155
 msgid "Bad block list header checksum."
 msgstr "不當區塊清單標頭總和檢查碼。"
 
-#: libparted/fs/r/hfs/journal.c:167
+#: libparted/fs/r/hfs/journal.c:168
 #, c-format
 msgid ""
 "Invalid size of a transaction block while replaying the journal (%i bytes)."
 msgstr "重播日誌時出現無效的異動作業區塊大小 (%i 位元組)。"
 
-#: libparted/fs/r/hfs/journal.c:259
+#: libparted/fs/r/hfs/journal.c:260
+#, fuzzy
 msgid ""
-"Journal stored outside of the volume are not supported.  Try to desactivate "
+"Journal stored outside of the volume are not supported.  Try to deactivate "
 "the journal and run Parted again."
-msgstr "不支援儲存於卷冊之外的日誌。 請嘗試停用日誌並再次執行 Parted。"
+msgstr "不支援儲存於磁碟區之外的日誌。 請嘗試停用日誌並再次執行 Parted。"
 
-#: libparted/fs/r/hfs/journal.c:270
+#: libparted/fs/r/hfs/journal.c:271
 msgid "Journal offset or size is not multiple of the sector size."
 msgstr "日誌的偏移值或大小並非磁區大小的倍數。"
 
-#: libparted/fs/r/hfs/journal.c:291
+#: libparted/fs/r/hfs/journal.c:292
 msgid "Incorrect magic values in the journal header."
 msgstr "日誌標頭中有不正確的魔術值。"
 
-#: libparted/fs/r/hfs/journal.c:301
+#: libparted/fs/r/hfs/journal.c:302
 msgid "Journal size mismatch between journal info block and journal header."
-msgstr "日誌資訊區塊與日誌標頭中的日誌大小不匹配。"
+msgstr "日誌資訊區塊與日誌標頭中的日誌大小不符合。"
 
-#: libparted/fs/r/hfs/journal.c:313
+#: libparted/fs/r/hfs/journal.c:314
 msgid "Some header fields are not multiple of the sector size."
 msgstr "某些標頭欄位不是磁區大小的倍數。"
 
-#: libparted/fs/r/hfs/journal.c:322
+#: libparted/fs/r/hfs/journal.c:323
 msgid ""
 "The sector size stored in the journal is not 512 bytes.  Parted only "
 "supports 512 bytes length sectors."
 msgstr ""
 "儲存在日誌中的磁區大小不是 512 位元組。 Parted 只支援 512 位元組長度的磁區。"
 
-#: libparted/fs/r/hfs/journal.c:334
+#: libparted/fs/r/hfs/journal.c:335
 msgid "Bad journal checksum."
 msgstr "不當的日誌總和檢查碼。"
 
-#: libparted/fs/r/hfs/journal.c:352
+#: libparted/fs/r/hfs/journal.c:353
 msgid ""
 "The journal is not empty.  Parted must replay the transactions before "
 "opening the file system.  This will modify the file system."
@@ -2111,55 +2196,55 @@ msgstr ""
 "日誌並非為空。 Parted 必須於開啟檔案系統之前重播異動作業。 這將會修改檔案系"
 "統。"
 
-#: libparted/fs/r/hfs/journal.c:380
+#: libparted/fs/r/hfs/journal.c:381
 msgid ""
 "The volume header or the master directory block has changed while replaying "
 "the journal.  You should restart Parted."
-msgstr "重播日誌時,卷冊標頭或主目錄區塊已變更。 您應該重新啟動 Parted。"
+msgstr "重播日誌時,磁碟區標頭或主目錄區塊已變更。 您應該重新啟動 Parted。"
 
-#: libparted/fs/r/hfs/reloc.c:150 libparted/fs/r/hfs/reloc_plus.c:154
+#: libparted/fs/r/hfs/reloc.c:151 libparted/fs/r/hfs/reloc_plus.c:155
 msgid "An extent has not been relocated."
 msgstr "延伸未被重定址。"
 
-#: libparted/fs/r/hfs/reloc.c:249 libparted/fs/r/hfs/reloc_plus.c:306
+#: libparted/fs/r/hfs/reloc.c:250 libparted/fs/r/hfs/reloc_plus.c:307
 msgid ""
 "A reference to an extent comes from a place it should not.  You should check "
 "the file system!"
 msgstr "對於一個延伸有它不應該來自的參考地方。 您應該檢查一下檔案系統!"
 
-#: libparted/fs/r/hfs/reloc.c:379
+#: libparted/fs/r/hfs/reloc.c:380
 msgid "This HFS volume has no catalog file.  This is very unusual!"
-msgstr "這個 HFS 卷冊沒有任何類別檔。 這是很不尋常的!"
+msgstr "這個 HFS 磁碟區沒有任何類別檔。 這是很不尋常的!"
 
-#: libparted/fs/r/hfs/reloc.c:473
+#: libparted/fs/r/hfs/reloc.c:474
 msgid "This HFS volume has no extents overflow file.  This is quite unusual!"
-msgstr "這個 HFS 卷冊沒有任何延伸溢位檔案。 這是相當不尋常的!"
+msgstr "這個 HFS 磁碟區沒有任何延伸溢位檔案。 這是相當不尋常的!"
 
-#: libparted/fs/r/hfs/reloc.c:515 libparted/fs/r/hfs/reloc_plus.c:665
+#: libparted/fs/r/hfs/reloc.c:516 libparted/fs/r/hfs/reloc_plus.c:666
 msgid ""
 "The extents overflow file should not contain its own extents!  You should "
 "check the file system."
 msgstr "延伸溢位檔案不應該包含其本身的延伸! 您應該檢查一下檔案系統。"
 
-#: libparted/fs/r/hfs/reloc.c:572 libparted/fs/r/hfs/reloc_plus.c:843
+#: libparted/fs/r/hfs/reloc.c:573 libparted/fs/r/hfs/reloc_plus.c:844
 msgid "Could not cache the file system in memory."
 msgstr "無法將檔案系統快取在記憶體中。"
 
-#: libparted/fs/r/hfs/reloc.c:633 libparted/fs/r/hfs/reloc_plus.c:904
+#: libparted/fs/r/hfs/reloc.c:634 libparted/fs/r/hfs/reloc_plus.c:905
 msgid "Bad blocks list could not be loaded."
 msgstr "無法載入不當區塊清單。"
 
-#: libparted/fs/r/hfs/reloc.c:647 libparted/fs/r/hfs/reloc_plus.c:920
+#: libparted/fs/r/hfs/reloc.c:648 libparted/fs/r/hfs/reloc_plus.c:921
 msgid "An error occurred during extent relocation."
 msgstr "在延伸重定址的期間發生了錯誤。"
 
-#: libparted/fs/r/hfs/reloc_plus.c:493
+#: libparted/fs/r/hfs/reloc_plus.c:494
 msgid "This HFS+ volume has no catalog file.  This is very unusual!"
-msgstr "這個 HFS+ 卷冊沒有任何類別檔。 這是很不尋常的!"
+msgstr "這個 HFS+ 磁碟區沒有任何類別檔。 這是很不尋常的!"
 
-#: libparted/fs/r/hfs/reloc_plus.c:616
+#: libparted/fs/r/hfs/reloc_plus.c:617
 msgid "This HFS+ volume has no extents overflow file.  This is quite unusual!"
-msgstr "這個 HFS+ 卷冊沒有任何延伸溢位檔案。 這是相當不尋常的!"
+msgstr "這個 HFS+ 磁碟區沒有任何延伸溢位檔案。 這是相當不尋常的!"
 
 #: parted/parted.c:125
 msgid "displays this help message"
@@ -2183,7 +2268,7 @@ msgstr "顯示版本"
 
 #: parted/parted.c:130
 msgid "alignment for new partitions"
-msgstr "新分割區的對齊"
+msgstr "新分割區的對齊類型"
 
 #: parted/parted.c:142
 msgid ""
@@ -2227,13 +2312,12 @@ msgstr ""
 "如,-1s 指定最後一個磁區。\n"
 
 #: parted/parted.c:156
-#, fuzzy
 msgid ""
 "END is disk location, such as 4GB or 10%.  Negative value counts from the "
 "end of the disk.  For example, -1s specifies exactly the last sector.\n"
 msgstr ""
-"START 和 END 是磁碟用量,像是 4GB 或 10%。負數值則是從磁碟末端起算。例"
-"如,-1s 指定最後一個磁區。\n"
+"END 是磁碟用量,像是 4GB 或 10%。負數值則是從磁碟末端起算。例如,-1s 指定最後"
+"一個磁區。\n"
 
 #: parted/parted.c:159
 msgid "STATE is one of: on, off\n"
@@ -2267,22 +2351,22 @@ msgstr ""
 "GNU 通用公共授權。\n"
 "\n"
 
-#: parted/parted.c:211
+#: parted/parted.c:212
 #, c-format
 msgid "%0.f%%\t(time left %.2d:%.2d)"
 msgstr "%0.f%%\t(剩餘時間 %.2d:%.2d)"
 
-#: parted/parted.c:230
-#, fuzzy, c-format
+#: parted/parted.c:231
+#, c-format
 msgid "Partition %s is being used. Are you sure you want to continue?"
-msgstr "正在使用分割區 %s。您必須在以 Parted 更改它之前先將它卸載。"
+msgstr "正在使用分割區 %s。您確定要繼續嗎?"
 
-#: parted/parted.c:251
+#: parted/parted.c:252
 #, c-format
 msgid "Partition(s) on %s are being used."
 msgstr "正在使用 %s 上的分割區。"
 
-#: parted/parted.c:263
+#: parted/parted.c:264
 #, c-format
 msgid ""
 "The existing disk label on %s will be destroyed and all data on this disk "
@@ -2290,31 +2374,31 @@ msgid ""
 msgstr ""
 "現有 %s 上的磁碟標籤將被銷毀,而所有在這個磁碟上的資料將會失去。您要繼續嗎?"
 
-#: parted/parted.c:524
+#: parted/parted.c:525
 msgid "New disk label type?"
 msgstr "新的磁碟標籤類型?"
 
-#: parted/parted.c:661
+#: parted/parted.c:662
 msgid "Partition type?"
 msgstr "分割區類型?"
 
-#: parted/parted.c:679 parted/parted.c:869
+#: parted/parted.c:680 parted/parted.c:884
 msgid "Partition name?"
 msgstr "分割區名稱?"
 
-#: parted/parted.c:687
+#: parted/parted.c:690
 msgid "File system type?"
 msgstr "檔案系統類型?"
 
-#: parted/parted.c:693 parted/parted.c:1476
+#: parted/parted.c:695 parted/parted.c:1498
 msgid "Start?"
-msgstr "起點?"
+msgstr "起點?"
 
-#: parted/parted.c:696 parted/parted.c:1478 parted/parted.c:1546
+#: parted/parted.c:698 parted/parted.c:1500 parted/parted.c:1569
 msgid "End?"
-msgstr "çµ\90æ\9d\9f點?"
+msgstr "çµ\82點?"
 
-#: parted/parted.c:764
+#: parted/parted.c:766
 #, c-format
 msgid ""
 "You requested a partition from %s to %s (sectors %llu..%llu).\n"
@@ -2323,7 +2407,7 @@ msgstr ""
 "您要求將分割區從 %s 移動到 %s (磁區 %llu..%llu)。\n"
 "我們可以管理的最接近分割區是從 %s 到 %s (磁區 %llu..%llu).%s"
 
-#: parted/parted.c:773
+#: parted/parted.c:775
 msgid ""
 "\n"
 "Is this still acceptable to you?"
@@ -2331,386 +2415,396 @@ msgstr ""
 "\n"
 "這樣您還可以接受嗎?"
 
-#: parted/parted.c:795
-msgid "The resulting partition is not properly aligned for best performance."
+#: parted/parted.c:798
+#, fuzzy, c-format
+msgid ""
+"The resulting partition is not properly aligned for best performance: %s"
 msgstr "所產生的分割區沒有適當地對齊以獲得最佳效能。"
 
-#: parted/parted.c:866 parted/parted.c:1539 parted/parted.c:1587
-#: parted/parted.c:1661 parted/parted.c:1725
+#: parted/parted.c:800 parted/parted.c:1723
+msgid "unknown (malloc failed)"
+msgstr ""
+
+#: parted/parted.c:876
+#, fuzzy, c-format
+msgid "%s disk labels do not support partition name."
+msgstr "%s 磁碟標籤不支援擴充分割區。"
+
+#: parted/parted.c:881 parted/parted.c:1561 parted/parted.c:1612
+#: parted/parted.c:1706 parted/parted.c:1781
 msgid "Partition number?"
 msgstr "分割區編號?"
 
-#: parted/parted.c:960
+#: parted/parted.c:975
 #, c-format
 msgid "BIOS cylinder,head,sector geometry: %d,%d,%d.  Each cylinder is %s.\n"
 msgstr "BIOS 的磁柱、磁頭、磁區幾何結構:%d,%d,%d。每圈磁柱是 %s。\n"
 
-#: parted/parted.c:1001
+#: parted/parted.c:1017
 #, c-format
 msgid "Model: %s (%s)\n"
 msgstr "型號:%s (%s)\n"
 
-#: parted/parted.c:1003
+#: parted/parted.c:1019
 #, c-format
 msgid "Disk %s: %s\n"
 msgstr "磁碟 %s:%s\n"
 
-#: parted/parted.c:1004
+#: parted/parted.c:1020
 #, c-format
 msgid "Sector size (logical/physical): %lldB/%lldB\n"
 msgstr "磁區大小 (邏輯/物理):%lldB/%lldB\n"
 
-#: parted/parted.c:1016
+#: parted/parted.c:1032
 #, c-format
 msgid "Partition Table: %s\n"
 msgstr "分割區:%s\n"
 
-#: parted/parted.c:1017
+#: parted/parted.c:1033
 #, c-format
 msgid "Disk Flags: %s\n"
 msgstr "磁碟旗標:%s\n"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Number"
 msgstr "編號"
 
-#: parted/parted.c:1139 parted/parted.c:1142
+#: parted/parted.c:1153 parted/parted.c:1156
 msgid "Start"
-msgstr "起點"
+msgstr "起點"
 
-#: parted/parted.c:1140 parted/parted.c:1143
+#: parted/parted.c:1154 parted/parted.c:1157
 msgid "End"
-msgstr "çµ\90æ\9d\9f點"
+msgstr "çµ\82點"
 
-#: parted/parted.c:1143
+#: parted/parted.c:1157
 msgid "Size"
 msgstr "大小"
 
-#: parted/parted.c:1147
+#: parted/parted.c:1161
 msgid "Type"
 msgstr "類型"
 
-#: parted/parted.c:1149
+#: parted/parted.c:1163
 msgid "File system"
 msgstr "檔案系統"
 
-#: parted/parted.c:1152
+#: parted/parted.c:1166
 msgid "Name"
 msgstr "名稱"
 
-#: parted/parted.c:1154
+#: parted/parted.c:1168
 msgid "Flags"
 msgstr "旗標"
 
-#: parted/parted.c:1211
+#: parted/parted.c:1225
 msgid "Free Space"
 msgstr "可用空間"
 
-#: parted/parted.c:1371
+#: parted/parted.c:1385
 #, c-format
 msgid ""
 "A %s %s partition was found at %s -> %s.  Do you want to add it to the "
 "partition table?"
 msgstr ""
-"å\9c¨ %3$s -> %4$s è\99\95æ\89¾å\88°ä¸\80å\80\8b %1$s %2$s å\88\86å\89²å\8d\80ã\80\82æ\82¨å¸\8cæ\9c\9bå°\87å\85¶æ·»å\8a 到分割表中嗎?"
+"å\9c¨ %3$s -> %4$s è\99\95æ\89¾å\88°ä¸\80å\80\8b %1$s %2$s å\88\86å\89²å\8d\80ã\80\82æ\82¨å¸\8cæ\9c\9bå°\87å\85¶æ\96°å¢\9e到分割表中嗎?"
 
-#: parted/parted.c:1410
+#: parted/parted.c:1428
 msgid "searching for file systems"
 msgstr "正在搜尋檔案系統"
 
-#: parted/parted.c:1513
+#: parted/parted.c:1535
 msgid "The resize command has been removed in parted 3.0"
-msgstr ""
+msgstr "resize 指令已自 parted 3.0 中移除"
 
-#: parted/parted.c:1558
+#: parted/parted.c:1583
 msgid ""
 "Shrinking a partition can cause data loss, are you sure you want to continue?"
-msgstr ""
+msgstr "收縮分割區可能會造成資料漏失,您確定要繼續嗎?"
 
-#: parted/parted.c:1609
+#: parted/parted.c:1636
 msgid "New device?"
 msgstr "新裝置?"
 
-#: parted/parted.c:1659
+#: parted/parted.c:1704
 msgid "alignment type(min/opt)"
 msgstr "對齊型態 (最小/最佳)"
 
-#: parted/parted.c:1666
+#: parted/parted.c:1719
 #, c-format
 msgid "%d aligned\n"
 msgstr "%d 已對齊\n"
 
-#: parted/parted.c:1666
-#, c-format
-msgid "%d not aligned\n"
+#: parted/parted.c:1721
+#, fuzzy, c-format
+msgid "%d not aligned: %s\n"
 msgstr "%d 未對齊\n"
 
-#: parted/parted.c:1690 parted/parted.c:1727
+#: parted/parted.c:1746 parted/parted.c:1783
 msgid "Flag to Invert?"
 msgstr "要反向的旗標?"
 
-#: parted/parted.c:1695 parted/parted.c:1732
+#: parted/parted.c:1751 parted/parted.c:1788
 msgid "New state?"
 msgstr "新狀態?"
 
-#: parted/parted.c:1778
+#: parted/parted.c:1834
 msgid "Unit?"
 msgstr "單位?"
 
-#: parted/parted.c:1913
+#: parted/parted.c:1969
 msgid "align-check"
-msgstr "對齊檢查"
+msgstr "align-check"
 
-#: parted/parted.c:1916
+#: parted/parted.c:1972
+#, fuzzy
 msgid ""
-"align-check TYPE N                        check partition N for TYPE(min|"
-"opt) alignment"
+"align-check TYPE N                       check partition N for TYPE(min|opt) "
+"alignment"
 msgstr ""
-"對齊檢查型態 N                            檢查分割區 N 是否為 (最小|最佳) 對"
-"é½\8aå\9e\8bæ\85\8b"
+"align-check 類型 N                       檢查分割區 N 是否為 最小/最佳(min|"
+"opt) å°\8dé½\8aé¡\9eå\9e\8b"
 
-#: parted/parted.c:1924
+#: parted/parted.c:1980
 msgid "help"
 msgstr "help"
 
-#: parted/parted.c:1927
+#: parted/parted.c:1983
 msgid ""
 "help [COMMAND]                           print general help, or help on "
 "COMMAND"
 msgstr ""
-"help [命令]                              印出一般求助資訊,或關於「命令」的資"
+"help [指令]                              印出一般求助資訊,或關於「指令」的資"
 "訊"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mklabel"
 msgstr "mklabel"
 
-#: parted/parted.c:1933
+#: parted/parted.c:1989
 msgid "mktable"
 msgstr "mktable"
 
-#: parted/parted.c:1936
+#: parted/parted.c:1992
 msgid ""
 "mklabel,mktable LABEL-TYPE               create a new disklabel (partition "
 "table)"
-msgstr "mklabel,mktable LABEL-TYPE               建立新的磁碟標籤 (分割區表)"
+msgstr "mklabel,mktable 標籤類型                 建立新的磁碟標籤 (分割區表)"
 
-#: parted/parted.c:1942
+#: parted/parted.c:1998
 msgid "mkpart"
 msgstr "mkpart"
 
-#: parted/parted.c:1945
+#: parted/parted.c:2001
 msgid "mkpart PART-TYPE [FS-TYPE] START END     make a partition"
-msgstr "mkpart 分割區類型 [檔案系統類型] 起始點 結束點      建立一個分割區"
+msgstr "mkpart 分割區 [檔案系統] 起點 終點   建立一個分割區"
 
-#: parted/parted.c:1951
+#: parted/parted.c:2007
 msgid ""
 "'mkpart' makes a partition without creating a new file system on the "
 "partition.  FS-TYPE may be specified to set an appropriate partition ID.\n"
 msgstr ""
-"「mkpart」建立分割區而不在分割區上建立新檔案系統。「FS-TYPE」可以用於設適當"
-"ç\9a\84å\88\86å\89²å\8d\80辨è­\98è\99\9f。\n"
+"「mkpart」建立分割區而不在分割區上建立新檔案系統。「FS-TYPE」可以用於設適當"
+"ç\9a\84å\88\86å\89²å\8d\80è­\98å\88¥è\99\9f碼。\n"
 
-#: parted/parted.c:1956
+#: parted/parted.c:2012
 msgid "name"
 msgstr "name"
 
-#: parted/parted.c:1959
+#: parted/parted.c:2015
 msgid "name NUMBER NAME                         name partition NUMBER as NAME"
 msgstr ""
 "name 編號 名稱                           將指定「編號」的分割區命名為「名稱」"
 
-#: parted/parted.c:1964
+#: parted/parted.c:2020
 msgid "print"
 msgstr "print"
 
-#: parted/parted.c:1967
+#: parted/parted.c:2023
 msgid ""
 "print [devices|free|list,all|NUMBER]     display the partition table, "
 "available devices, free space, all found partitions, or a particular "
 "partition"
 msgstr ""
-"print [devices|free|list,all|數字]     顯示分割表、可用裝置、剩餘空間、所有分"
-"割區或特殊分割區"
+"print [devices|free|list,all|數字]       顯示分割表、可用裝置、剩餘空間、所有"
+"å\88\86å\89²å\8d\80æ\88\96ç\89¹æ®\8aå\88\86å\89²å\8d\80"
 
-#: parted/parted.c:1972
+#: parted/parted.c:2028
 msgid ""
 "Without arguments, 'print' displays the entire partition table. However with "
 "the following arguments it performs various other actions.\n"
 msgstr ""
 "「print」不加引數可顯示整個分割區表。然而藉由下列引數它能執行各種其他動作。\n"
 
-#: parted/parted.c:1974
+#: parted/parted.c:2030
 msgid "  devices   : display all active block devices\n"
 msgstr "  devices  :顯示所有作用中區段裝置\n"
 
-#: parted/parted.c:1975
+#: parted/parted.c:2031
 msgid ""
 "  free      : display information about free unpartitioned space on the "
 "current block device\n"
 msgstr "  free     :顯示在目前區段裝置上未分配於分割區的可用空間資訊\n"
 
-#: parted/parted.c:1977
+#: parted/parted.c:2033
 msgid ""
 "  list, all : display the partition tables of all active block devices\n"
 msgstr "  list,all:顯示所有作用中區段裝置的分割區表\n"
 
-#: parted/parted.c:1978
+#: parted/parted.c:2034
 msgid ""
 "  NUMBER    : display more detailed information about this particular "
 "partition\n"
 msgstr "  數字   :顯示此一特殊分割區更詳細的資訊\n"
 
-#: parted/parted.c:1983
+#: parted/parted.c:2039
 msgid "quit"
 msgstr "quit"
 
-#: parted/parted.c:1986
+#: parted/parted.c:2042
 msgid "quit                                     exit program"
 msgstr "quit                                     離開程式"
 
-#: parted/parted.c:1991
+#: parted/parted.c:2047
 msgid "rescue"
 msgstr "rescue"
 
-#: parted/parted.c:1994
+#: parted/parted.c:2050
 msgid ""
 "rescue START END                         rescue a lost partition near START "
 "and END"
 msgstr ""
-"rescue 起始點 結束點                     挽救臨近「起始點」、「結束點」的遺失"
-"的分割區"
+"rescue 起點 終點                     挽救臨近「起點」、「終點」的遺失的分割區"
 
-#: parted/parted.c:2000
+#: parted/parted.c:2056
 msgid "resize"
-msgstr ""
+msgstr "resize"
 
-#: parted/parted.c:2003
+#: parted/parted.c:2059
 msgid "The resize command was removed in parted 3.0\n"
-msgstr ""
+msgstr "resize 指令已自 parted 3.0 中移除\n"
 
-#: parted/parted.c:2006
+#: parted/parted.c:2062
 msgid "resizepart"
-msgstr ""
+msgstr "resizepart"
 
-#: parted/parted.c:2009
-#, fuzzy
+#: parted/parted.c:2065
 msgid "resizepart NUMBER END                    resize partition NUMBER"
-msgstr "rm 編號                                  刪除指定「編號」的分割區"
+msgstr "resizepart 編號 終點                     變更指定「編號」的分割區大小"
 
-#: parted/parted.c:2014
+#: parted/parted.c:2070
 msgid "rm"
 msgstr "rm"
 
-#: parted/parted.c:2017
+#: parted/parted.c:2073
 msgid "rm NUMBER                                delete partition NUMBER"
 msgstr "rm 編號                                  刪除指定「編號」的分割區"
 
-#: parted/parted.c:2022
+#: parted/parted.c:2078
 msgid "select"
 msgstr "select"
 
-#: parted/parted.c:2025
+#: parted/parted.c:2081
 msgid "select DEVICE                            choose the device to edit"
-msgstr "select è¨­å\82\99                              é\81¸æ\93\87è¦\81編輯ç\9a\84設å\82\99"
+msgstr "select è£\9dç½®                              é\81¸æ\93\87è¦\81編輯ç\9a\84è£\9dç½®"
 
-#: parted/parted.c:2030
+#: parted/parted.c:2086
 msgid "disk_set"
 msgstr "disk_set"
 
-#: parted/parted.c:2033
+#: parted/parted.c:2089
 msgid ""
 "disk_set FLAG STATE                      change the FLAG on selected device"
 msgstr "disk_set 旗標 狀態                       變更已選裝置上的旗標"
 
-#: parted/parted.c:2038
+#: parted/parted.c:2094
 msgid "disk_toggle"
 msgstr "disk_toggle"
 
-#: parted/parted.c:2041
+#: parted/parted.c:2097
 msgid ""
 "disk_toggle [FLAG]                       toggle the state of FLAG on "
 "selected device"
 msgstr "disk_toggle [旗標]                       切換已選裝置上的旗標狀態"
 
-#: parted/parted.c:2047
+#: parted/parted.c:2103
 msgid "set"
 msgstr "set"
 
-#: parted/parted.c:2050
+#: parted/parted.c:2106
 msgid ""
 "set NUMBER FLAG STATE                    change the FLAG on partition NUMBER"
 msgstr "set 編號 旗標 狀態                       改變指定「編號」分割區的旗標"
 
-#: parted/parted.c:2056
+#: parted/parted.c:2112
 msgid "toggle"
 msgstr "toggle"
 
-#: parted/parted.c:2059
+#: parted/parted.c:2115
 msgid ""
 "toggle [NUMBER [FLAG]]                   toggle the state of FLAG on "
 "partition NUMBER"
 msgstr ""
 "toggle [編號 [旗標]]                     切換「編號」分割區上的「旗標」狀態"
 
-#: parted/parted.c:2065
+#: parted/parted.c:2121
 msgid "unit"
 msgstr "unit"
 
-#: parted/parted.c:2068
+#: parted/parted.c:2124
 msgid "unit UNIT                                set the default unit to UNIT"
 msgstr "unit 單位                                設定預設的「單位」"
 
-#: parted/parted.c:2073
+#: parted/parted.c:2129
 msgid "version"
 msgstr "version"
 
-#: parted/parted.c:2076
+#: parted/parted.c:2132
 msgid ""
 "version                                  display the version number and "
 "copyright information of GNU Parted"
 msgstr ""
 "version                                  顯示目前 GNU Parted 的版本與版權資訊"
 
-#: parted/parted.c:2080
+#: parted/parted.c:2136
 msgid ""
 "'version' displays copyright and version information corresponding to this "
 "copy of GNU Parted\n"
 msgstr "version 依據此份 GNU Parted 顯示其版權與版本資訊\n"
 
-#: parted/parted.c:2148
+#: parted/parted.c:2204
 #, c-format
 msgid "Usage: %s [-hlmsv] [-a<align>] [DEVICE [COMMAND [PARAMETERS]]...]\n"
-msgstr "用法:%s [-hlmsv] [-a<align>] [裝置 [令 [參數]]…]\n"
+msgstr "用法:%s [-hlmsv] [-a<align>] [裝置 [令 [參數]]…]\n"
 
-#: parted/parted.c:2192
+#: parted/parted.c:2248
 msgid "No device found"
-msgstr "æ\89¾ä¸\8då\88°è¨­å\82\99"
+msgstr "æ\89¾ä¸\8då\88°è£\9dç½®"
 
-#: parted/parted.c:2229
+#: parted/parted.c:2285
 msgid "WARNING: You are not superuser.  Watch out for permissions.\n"
 msgstr "警告:您不是系統管理者。 當心權限。\n"
 
-#: parted/parted.c:2269
+#: parted/parted.c:2325
 msgid "You may need to update /etc/fstab.\n"
 msgstr "您也許會需要更新 /etc/fstab。\n"
 
-#: parted/ui.c:162
+#: parted/ui.c:164
 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"
-msgstr "歡迎使用 GNU Parted!輸入 'help' 來檢視令列表。\n"
+msgstr "歡迎使用 GNU Parted!輸入 'help' 來檢視令列表。\n"
 
-#: parted/ui.c:165
+#: parted/ui.c:167
 msgid ""
 "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n"
 "Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run "
 "in\n"
 "interactive mode.\n"
 msgstr ""
-"用法:parted [選項]… [裝置 [令 [參數]…]…]\n"
-"將帶有「參數」的「命令」應用於「裝置」。如果沒有指定「命令」,則以交談模式執"
+"用法:parted [選項]… [裝置 [令 [參數]…]…]\n"
+"將帶有「參數」的「指令」應用於「裝置」。如果沒有指定「指令」,則以交談模式執"
 "行。\n"
 
-#: parted/ui.c:170
+#: parted/ui.c:172
 #, c-format
 msgid ""
 "\n"
@@ -2765,21 +2859,21 @@ msgstr ""
 "以獲得進一步的資訊。\n"
 "\n"
 "您的回報應該要包含釋出的版本編號 (%s)\n"
-"以及其下的錯誤訊息,系列令\n"
+"以及其下的錯誤訊息,系列令\n"
 "\n"
 "\tparted 裝置 unit co print unit s print\n"
 "\n"
 "的輸出結果和其他您認為重要的設定資訊。\n"
 
-#: parted/ui.c:291
+#: parted/ui.c:293
 msgid ""
 "\n"
 "Command History:\n"
 msgstr ""
 "\n"
-"令歷史:\n"
+"令歷史:\n"
 
-#: parted/ui.c:354
+#: parted/ui.c:356
 msgid ""
 "\n"
 "Error: SEGV_MAPERR (Address not mapped to object)\n"
@@ -2787,7 +2881,7 @@ msgstr ""
 "\n"
 "錯誤:SEGV_MAPERR (位址並未對應到物件)\n"
 
-#: parted/ui.c:360
+#: parted/ui.c:362
 msgid ""
 "\n"
 "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n"
@@ -2795,7 +2889,7 @@ msgstr ""
 "\n"
 "錯誤:SEGV_ACCERR (對應的物件權限無效)\n"
 
-#: parted/ui.c:365
+#: parted/ui.c:367
 msgid ""
 "\n"
 "Error: A general SIGSEGV signal was encountered.\n"
@@ -2803,7 +2897,7 @@ msgstr ""
 "\n"
 "錯誤: 遇到一般的 SIGSEGV 訊號。\n"
 
-#: parted/ui.c:389
+#: parted/ui.c:391
 msgid ""
 "\n"
 "Error: FPE_INTDIV (Integer: divide by zero)"
@@ -2811,7 +2905,7 @@ msgstr ""
 "\n"
 "錯誤: FPE_INTDIV (整數: 被零除)"
 
-#: parted/ui.c:394
+#: parted/ui.c:396
 msgid ""
 "\n"
 "Error: FPE_INTOVF (Integer: overflow)"
@@ -2819,7 +2913,7 @@ msgstr ""
 "\n"
 "錯誤: FPE_INTOVF (整數: 向上溢位)"
 
-#: parted/ui.c:399
+#: parted/ui.c:401
 msgid ""
 "\n"
 "Error: FPE_FLTDIV (Float: divide by zero)"
@@ -2827,7 +2921,7 @@ msgstr ""
 "\n"
 "錯誤:FPE_FLTDIV (浮點數: 被零除)"
 
-#: parted/ui.c:404
+#: parted/ui.c:406
 msgid ""
 "\n"
 "Error: FPE_FLTOVF (Float: overflow)"
@@ -2835,7 +2929,7 @@ msgstr ""
 "\n"
 "錯誤: FPE_FLTOVF (浮點數: 向上溢位)"
 
-#: parted/ui.c:409
+#: parted/ui.c:411
 msgid ""
 "\n"
 "Error: FPE_FLTUND (Float: underflow)"
@@ -2843,7 +2937,7 @@ msgstr ""
 "\n"
 "錯誤: FPE_FLTUND (浮點數: 向下溢位)"
 
-#: parted/ui.c:414
+#: parted/ui.c:416
 msgid ""
 "\n"
 "Error: FPE_FLTRES (Float: inexact result)"
@@ -2851,7 +2945,7 @@ msgstr ""
 "\n"
 "錯誤: FPE_FLTRES (浮點數: 不明確的結果)"
 
-#: parted/ui.c:419
+#: parted/ui.c:421
 msgid ""
 "\n"
 "Error: FPE_FLTINV (Float: invalid operation)"
@@ -2859,7 +2953,7 @@ msgstr ""
 "\n"
 "錯誤: FPE_FLTINV (浮點數: 無效的操作)"
 
-#: parted/ui.c:424
+#: parted/ui.c:426
 msgid ""
 "\n"
 "Error: FPE_FLTSUB (Float: subscript out of range)"
@@ -2867,7 +2961,7 @@ msgstr ""
 "\n"
 "錯誤: FPE_FLTSUB (浮點數: 註標超出範圍)"
 
-#: parted/ui.c:429
+#: parted/ui.c:431
 msgid ""
 "\n"
 "Error: A general SIGFPE signal was encountered."
@@ -2875,7 +2969,7 @@ msgstr ""
 "\n"
 "錯誤: 遇到一般的 SIGFPE 訊號。"
 
-#: parted/ui.c:453
+#: parted/ui.c:455
 msgid ""
 "\n"
 "Error: ILL_ILLOPC (Illegal Opcode)"
@@ -2883,7 +2977,7 @@ msgstr ""
 "\n"
 "錯誤: ILL_ILLOPC (不合法的操作碼)"
 
-#: parted/ui.c:458
+#: parted/ui.c:460
 msgid ""
 "\n"
 "Error: ILL_ILLOPN (Illegal Operand)"
@@ -2891,7 +2985,7 @@ msgstr ""
 "\n"
 "錯誤: ILL_ILLOPN (不合法的運算元)"
 
-#: parted/ui.c:463
+#: parted/ui.c:465
 msgid ""
 "\n"
 "Error: ILL_ILLADR (Illegal addressing mode)"
@@ -2899,7 +2993,7 @@ msgstr ""
 "\n"
 "錯誤: ILL_ILLADR (不合法的定址模式)"
 
-#: parted/ui.c:468
+#: parted/ui.c:470
 msgid ""
 "\n"
 "Error: ILL_ILLTRP (Illegal Trap)"
@@ -2907,7 +3001,7 @@ msgstr ""
 "\n"
 "錯誤: ILL_ILLTRP (不合法的陷阱)"
 
-#: parted/ui.c:473
+#: parted/ui.c:475
 msgid ""
 "\n"
 "Error: ILL_PRVOPC (Privileged Opcode)"
@@ -2915,7 +3009,7 @@ msgstr ""
 "\n"
 "錯誤: ILL_PRVOPC (具優先權的操作碼)"
 
-#: parted/ui.c:478
+#: parted/ui.c:480
 msgid ""
 "\n"
 "Error: ILL_PRVREG (Privileged Register)"
@@ -2923,7 +3017,7 @@ msgstr ""
 "\n"
 "錯誤: ILL_PRVREG (具優先權的暫存器)"
 
-#: parted/ui.c:483
+#: parted/ui.c:485
 msgid ""
 "\n"
 "Error: ILL_COPROC (Coprocessor Error)"
@@ -2931,7 +3025,7 @@ msgstr ""
 "\n"
 "錯誤: ILL_COPROC (輔助處理器錯誤)"
 
-#: parted/ui.c:488
+#: parted/ui.c:490
 msgid ""
 "\n"
 "Error: ILL_BADSTK (Internal Stack Error)"
@@ -2939,7 +3033,7 @@ msgstr ""
 "\n"
 "錯誤: ILL_BADSTK (內部堆疊錯誤)"
 
-#: parted/ui.c:493
+#: parted/ui.c:495
 msgid ""
 "\n"
 "Error: A general SIGILL signal was encountered."
@@ -2947,65 +3041,69 @@ msgstr ""
 "\n"
 "錯誤: 遇到一般的 SIGILL 訊號。"
 
-#: parted/ui.c:883
+#: parted/ui.c:888
 #, c-format
 msgid "invalid token: %s"
 msgstr "無效的字組:%s"
 
-#: parted/ui.c:1047
+#: parted/ui.c:1069
 msgid "Expecting a partition number."
 msgstr "需要分割區編號。"
 
-#: parted/ui.c:1056
+#: parted/ui.c:1078
 msgid "Partition doesn't exist."
 msgstr "分割區不存在。"
 
-#: parted/ui.c:1076
+#: parted/ui.c:1098
 msgid "Expecting a file system type."
 msgstr "需要檔案系統類型。"
 
-#: parted/ui.c:1083
+#: parted/ui.c:1105
 #, c-format
 msgid "Unknown file system type \"%s\"."
-msgstr "未知的檔案系統類型「%s」。"
+msgstr "不明的檔案系統類型「%s」。"
 
-#: parted/ui.c:1104
+#: parted/ui.c:1126
 msgid "Expecting a disk label type."
 msgstr "需要磁碟標籤類型。"
 
-#: parted/ui.c:1231
+#: parted/ui.c:1157 parted/ui.c:1193
+msgid "No flags supported"
+msgstr ""
+
+#: parted/ui.c:1267
 msgid "Can't create any more partitions."
 msgstr "無法建立更多分割區。"
 
-#: parted/ui.c:1241
+#: parted/ui.c:1277
 msgid "Expecting a partition type."
 msgstr "需要分割區類型。"
 
-#: parted/ui.c:1389
+#: parted/ui.c:1426
 msgid "on"
 msgstr "開"
 
-#: parted/ui.c:1390
+#: parted/ui.c:1427
 msgid "off"
 msgstr "關"
 
-#: parted/ui.c:1407
+#: parted/ui.c:1444
 msgid "optimal"
 msgstr "最佳"
 
-#: parted/ui.c:1408
+#: parted/ui.c:1445
 msgid "minimal"
 msgstr "最小"
 
-#: parted/ui.c:1541
+#: parted/ui.c:1578
 msgid "OPTIONs:"
 msgstr "選項:"
 
-#: parted/ui.c:1546
+#: parted/ui.c:1583
 msgid "COMMANDs:"
-msgstr "令:"
+msgstr "令:"
 
-#: parted/ui.c:1549
+#: parted/ui.c:1586
 #, c-format
 msgid ""
 "\n"
@@ -3014,32 +3112,33 @@ msgstr ""
 "\n"
 "將錯誤回報給 %s\n"
 
-#: parted/ui.c:1556
+#: parted/ui.c:1593
 #, c-format
 msgid "Using %s\n"
 msgstr "使用 %s\n"
 
-#: parted/ui.c:1630
+#: parted/ui.c:1673
 msgid "This command does not make sense in non-interactive mode.\n"
-msgstr "這個令在非交談模式中不具任何意義。\n"
+msgstr "這個令在非交談模式中不具任何意義。\n"
 
-#~ msgid "Failed to add partition %d (%s)"
-#~ msgstr "加入分割區 %d (%s) 時失敗"
+#~ msgid "%s: option '--%s' doesn't allow an argument\n"
+#~ msgstr "%s:選項「--%s」不允許有引數\n"
 
-#~ msgid ""
-#~ "parted was unable to re-read the partition table on %s (%s).  This means "
-#~ "Linux won't know anything about the modifications you made. "
-#~ msgstr ""
-#~ "parted 無法重新讀取 %s (%s) 上的分割表區表。 這意味著 Linux 在您重新啟動之"
-#~ "前無法知道任何修改。"
+#~ msgid "%s: unrecognized option '--%s'\n"
+#~ msgstr "%s:無法辨識的選項「--%s」\n"
+
+#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
+#~ msgstr "%s:選項「-W %s」不允許有引數\n"
+
+#~ msgid "%s: option '-W %s' requires an argument\n"
+#~ msgstr "%s:選項「-W %s」需要一個引數\n"
+
+#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+#~ msgstr "%s 首頁:<http://www.gnu.org/software/%s/>\n"
 
 #~ msgid ""
-#~ "%s contains GPT signatures, indicating that it has a GPT table.  However, "
-#~ "it does not have a valid fake msdos partition table, as it should.  "
-#~ "Perhaps it was corrupted -- possibly by a program that doesn't understand "
-#~ "GPT partition tables.  Or perhaps you deleted the GPT table, and are now "
-#~ "using an msdos partition table.  Is this a GPT partition table?"
+#~ "This file system has a logical sector size of %d.  GNU Parted is known "
+#~ "not to work properly with sector sizes other than 512 bytes."
 #~ msgstr ""
-#~ "%s 含有 GPT 簽名,標明它含有 GPT 表。然而,它並不像應該的那樣含有有效的偽 "
-#~ "msdos 分割區表。可能它已經損壞 - 可能是不理解 GPT 分割區表的程式所導致的。"
-#~ "或者您刪除了 GPT 表,而現在使用 msdos 分割區表。這是 GPT 分割區表嗎?"
+#~ "此檔案系統的邏輯磁區大小為 %d。GNU Parted 無法在磁區大小不是 512 位元組的"
+#~ "情況下正確工作。"
index 9162f1a5cd7a097af971b8bdd1c843ea2443525d..69abd82c9a208d51f80209e1f15db797b08f1bf0 100644 (file)
@@ -340,6 +340,8 @@ FUNC:ped_file_system_type_get
 FUNC:ped_file_system_type_get_next
 FUNC:ped_file_system_type_register
 FUNC:ped_file_system_type_unregister
+FUNC:ped_file_system_udf_init
+FUNC:ped_file_system_udf_done
 FUNC:ped_file_system_ufs_done
 FUNC:ped_file_system_ufs_init
 FUNC:ped_file_system_xfs_done
index 691749e7ead5d0b05dac642265a54b125b90f4ba..24180e2be05c0d63bfb21cf54ab7ca7c8c700fc0 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright (C) 2002-2003, 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2003, 2007, 2009-2014, 2019 Free Software Foundation, Inc.
 #
 # This file is part of the GNU ISO C++ Library.  This library is free
 # software; you can redistribute it and/or modify it under the
index b7263665227c301e93463c298105c2f7ba1171cc..0d7c022ca4dd07acfe6df5fa23bf86ae780b315c 100644 (file)
@@ -25,6 +25,7 @@ TESTS = \
   t0210-gpt-resized-partition-entry-array.sh \
   t0211-gpt-rewrite-header.sh \
   t0212-gpt-many-partitions.sh \
+  t0213-mkpart-start-negative.sh \
   t0220-gpt-msftres.sh \
   t0250-gpt.sh \
   t0251-gpt-unicode.sh \
@@ -43,11 +44,14 @@ TESTS = \
   t1102-loop-label.sh \
   t1104-remove-and-add-partition.sh \
   t1700-probe-fs.sh \
+  t1701-rescue-fs.sh \
   t2200-dos-label-recog.sh \
   t2201-pc98-label-recog.sh \
   t2300-dos-label-extended-bootcode.sh \
   t2310-dos-extended-2-sector-min-offset.sh \
+  t2320-dos-extended-noclobber.sh \
   t2400-dos-hfs-partition-type.sh \
+  t2410-dos-udf-partition-type.sh \
   t2500-probe-corrupt-hfs.sh \
   t3000-resize-fs.sh \
   t3200-resize-partition.sh \
@@ -62,6 +66,8 @@ TESTS = \
   t4100-msdos-starting-sector.sh \
   t4200-partprobe.sh \
   t4300-nilfs2-tiny.sh \
+  t4301-nilfs2-badsb2.sh \
+  t4302-nilfs2-lessbadsb2.sh \
   t5000-tags.sh \
   t6000-dm.sh \
   t6001-psep.sh \
@@ -69,6 +75,7 @@ TESTS = \
   t6003-dm-hide.sh \
   t6004-dm-many-partitions.sh \
   t6005-dm-uuid.sh \
+  t6006-dm-512b-sectors.sh \
   t6100-mdraid-partitions.sh \
   t7000-scripting.sh \
   t8000-loop.sh \
@@ -89,7 +96,8 @@ EXTRA_DIST = \
   init.cfg init.sh t-lib-helpers.sh gpt-header-munge \
   gpt-header-move msdos-overlap
 
-check_PROGRAMS = print-align print-max dup-clobber duplicate fs-resize
+check_PROGRAMS = print-align print-flags print-max dup-clobber duplicate \
+  fs-resize
 fs_resize_LDADD = \
   $(top_builddir)/libparted/fs/libparted-fs-resize.la \
   $(top_builddir)/libparted/libparted.la
index a0d17adf3b06280ae76b8aabf178574739118883..11baba0db8a1fc15d9674044f2d66522f2b092c1 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -76,83 +86,105 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-check_PROGRAMS = print-align$(EXEEXT) print-max$(EXEEXT) \
-       dup-clobber$(EXEEXT) duplicate$(EXEEXT) fs-resize$(EXEEXT)
+check_PROGRAMS = print-align$(EXEEXT) print-flags$(EXEEXT) \
+       print-max$(EXEEXT) dup-clobber$(EXEEXT) duplicate$(EXEEXT) \
+       fs-resize$(EXEEXT)
 subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(top_srcdir)/build-aux/depcomp \
-       $(top_srcdir)/build-aux/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+       $(top_srcdir)/m4/__inline.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
-       $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \
+       $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \
+       $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
        $(top_srcdir)/m4/calloc.m4 $(top_srcdir)/m4/canonicalize.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
-       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
        $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
-       $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
        $(top_srcdir)/m4/extensions.m4 \
        $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/flexmember.m4 \
        $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstat.m4 \
-       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+       $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+       $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/include_next.m4 \
+       $(top_srcdir)/m4/gnulib-comp.m4 \
+       $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
+       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \
+       $(top_srcdir)/m4/intl-thread-locale.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 \
        $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
+       $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \
        $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
        $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ignore.m4 \
        $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
        $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/mkstemp.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
+       $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+       $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+       $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
+       $(top_srcdir)/m4/localename.m4 \
+       $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
+       $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \
+       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
        $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \
        $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
        $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/o-direct.m4 \
-       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
-       $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/read.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/priv-set.m4 \
+       $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/pthread-thread.m4 \
+       $(top_srcdir)/m4/pthread_h.m4 \
+       $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
+       $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
+       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read.m4 \
        $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/sched_h.m4 \
+       $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \
+       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
+       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \
+       $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \
+       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
+       $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \
+       $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
        $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
        $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoll.m4 \
        $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_ioctl_h.m4 \
+       $(top_srcdir)/m4/sys_select_h.m4 \
        $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/thread.m4 $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/thread.m4 \
+       $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -162,6 +194,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/yield.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
@@ -187,6 +220,10 @@ print_align_SOURCES = print-align.c
 print_align_OBJECTS = print-align.$(OBJEXT)
 print_align_LDADD = $(LDADD)
 print_align_DEPENDENCIES = $(top_builddir)/libparted/libparted.la
+print_flags_SOURCES = print-flags.c
+print_flags_OBJECTS = print-flags.$(OBJEXT)
+print_flags_LDADD = $(LDADD)
+print_flags_DEPENDENCIES = $(top_builddir)/libparted/libparted.la
 print_max_SOURCES = print-max.c
 print_max_OBJECTS = print-max.$(OBJEXT)
 print_max_LDADD = $(LDADD)
@@ -205,7 +242,11 @@ am__v_at_0 = @
 am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/dup-clobber.Po \
+       ./$(DEPDIR)/duplicate.Po ./$(DEPDIR)/fs-resize.Po \
+       ./$(DEPDIR)/print-align.Po ./$(DEPDIR)/print-flags.Po \
+       ./$(DEPDIR)/print-max.Po
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -226,9 +267,9 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
 SOURCES = dup-clobber.c duplicate.c fs-resize.c print-align.c \
-       print-max.c
+       print-flags.c print-max.c
 DIST_SOURCES = dup-clobber.c duplicate.c fs-resize.c print-align.c \
-       print-max.c
+       print-flags.c print-max.c
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -453,6 +494,9 @@ am__set_b = \
     *) \
       b='$*';; \
   esac
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/depcomp \
+       $(top_srcdir)/build-aux/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -485,11 +529,9 @@ CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
-DL_LIBS = @DL_LIBS@
 DM_LIBS = @DM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
-DYNAMIC_LOADING = @DYNAMIC_LOADING@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
@@ -504,18 +546,25 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
 GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
+GNULIB_CTIME = @GNULIB_CTIME@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
@@ -523,6 +572,7 @@ GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -568,6 +618,10 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -576,14 +630,21 @@ GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
 GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LISTEN = @GNULIB_LISTEN@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
+GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -629,6 +690,8 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@
+GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
 GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
@@ -638,6 +701,16 @@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@
+GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@
+GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@
+GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@
+GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@
+GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@
+GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
 GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
@@ -645,26 +718,41 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
 GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
 GNULIB_REMOVE = @GNULIB_REMOVE@
 GNULIB_RENAME = @GNULIB_RENAME@
 GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@
 GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_STAT = @GNULIB_STAT@
 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
@@ -676,6 +764,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
 GNULIB_STRDUP = @GNULIB_STRDUP@
 GNULIB_STRERROR = @GNULIB_STRERROR@
 GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRFTIME = @GNULIB_STRFTIME@
 GNULIB_STRNCAT = @GNULIB_STRNCAT@
 GNULIB_STRNDUP = @GNULIB_STRNDUP@
 GNULIB_STRNLEN = @GNULIB_STRNLEN@
@@ -687,6 +776,7 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLD = @GNULIB_STRTOLD@
 GNULIB_STRTOLL = @GNULIB_STRTOLL@
 GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
@@ -696,9 +786,12 @@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNCATE = @GNULIB_TRUNCATE@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_TZSET = @GNULIB_TZSET@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -728,6 +821,7 @@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
 GNULIB_WCSCPY = @GNULIB_WCSCPY@
 GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
 GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSFTIME = @GNULIB_WCSFTIME@
 GNULIB_WCSLEN = @GNULIB_WCSLEN@
 GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
 GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
@@ -756,10 +850,16 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
 GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
+HAVE_ACCEPT4 = @HAVE_ACCEPT4@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
@@ -770,17 +870,22 @@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -790,6 +895,7 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
 HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
 HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
 HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -800,6 +906,7 @@ HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -809,6 +916,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -821,13 +929,18 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -839,12 +952,14 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 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@
@@ -859,6 +974,8 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
@@ -867,25 +984,97 @@ HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@
+HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@
+HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@
+HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@
+HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@
+HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@
+HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@
+HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@
+HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@
+HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@
+HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@
+HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@
+HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@
+HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@
+HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@
+HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@
+HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@
+HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@
+HAVE_PTHREAD_H = @HAVE_PTHREAD_H@
+HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@
+HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@
+HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@
+HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@
+HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@
+HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@
+HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@
+HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@
+HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@
+HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@
+HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@
+HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@
+HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@
+HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@
+HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@
+HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@
+HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@
+HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@
+HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@
+HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@
+HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@
+HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@
+HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@
+HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@
+HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@
+HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@
+HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@
+HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@
+HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@
+HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@
+HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@
+HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@
+HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@
+HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@
+HAVE_PTHREAD_T = @HAVE_PTHREAD_T@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RAISE = @HAVE_RAISE@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
 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@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
 HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
 HAVE_SLEEP = @HAVE_SLEEP@
 HAVE_STDINT_H = @HAVE_STDINT_H@
 HAVE_STPCPY = @HAVE_STPCPY@
@@ -896,20 +1085,33 @@ 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@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
+HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
@@ -931,6 +1133,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -956,12 +1159,14 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INET_PTON_LIB = @INET_PTON_LIB@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -978,13 +1183,17 @@ LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
 LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIB_BLKID = @LIB_BLKID@
+LIB_NANOSLEEP = @LIB_NANOSLEEP@
+LIB_PTHREAD = @LIB_PTHREAD@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+LIB_SELECT = @LIB_SELECT@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -998,52 +1207,75 @@ LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
 LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_RELEASE = @LT_RELEASE@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
 NEXT_STDIO_H = @NEXT_STDIO_H@
 NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
 NEXT_WCHAR_H = @NEXT_WCHAR_H@
@@ -1078,16 +1310,17 @@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
-REISER_LIBS = @REISER_LIBS@
 REPLACE_BTOWC = @REPLACE_BTOWC@
 REPLACE_CALLOC = @REPLACE_CALLOC@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
@@ -1096,6 +1329,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -1113,8 +1347,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
+REPLACE_INET_PTON = @REPLACE_INET_PTON@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_IOCTL = @REPLACE_IOCTL@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -1142,6 +1381,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1151,21 +1391,81 @@ REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@
+REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@
+REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@
+REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@
+REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@
+REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@
+REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@
+REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@
+REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@
+REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@
+REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@
+REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@
+REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@
+REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@
+REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@
+REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@
+REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@
+REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@
+REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@
+REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@
+REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@
+REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@
+REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@
+REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@
+REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@
+REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@
+REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@
+REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@
+REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@
+REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@
+REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@
+REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@
+REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@
+REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@
+REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@
+REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@
+REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@
+REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@
+REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@
+REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@
+REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@
+REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@
+REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@
+REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@
+REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@
+REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@
 REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 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@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
+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@
@@ -1178,6 +1478,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -1186,14 +1487,18 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -1206,6 +1511,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
@@ -1219,16 +1525,20 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
 STDARG_H = @STDARG_H@
 STDBOOL_H = @STDBOOL_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
 USE_NLS = @USE_NLS@
@@ -1236,9 +1546,10 @@ UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1330,6 +1641,7 @@ TESTS = \
   t0210-gpt-resized-partition-entry-array.sh \
   t0211-gpt-rewrite-header.sh \
   t0212-gpt-many-partitions.sh \
+  t0213-mkpart-start-negative.sh \
   t0220-gpt-msftres.sh \
   t0250-gpt.sh \
   t0251-gpt-unicode.sh \
@@ -1348,11 +1660,14 @@ TESTS = \
   t1102-loop-label.sh \
   t1104-remove-and-add-partition.sh \
   t1700-probe-fs.sh \
+  t1701-rescue-fs.sh \
   t2200-dos-label-recog.sh \
   t2201-pc98-label-recog.sh \
   t2300-dos-label-extended-bootcode.sh \
   t2310-dos-extended-2-sector-min-offset.sh \
+  t2320-dos-extended-noclobber.sh \
   t2400-dos-hfs-partition-type.sh \
+  t2410-dos-udf-partition-type.sh \
   t2500-probe-corrupt-hfs.sh \
   t3000-resize-fs.sh \
   t3200-resize-partition.sh \
@@ -1367,6 +1682,8 @@ TESTS = \
   t4100-msdos-starting-sector.sh \
   t4200-partprobe.sh \
   t4300-nilfs2-tiny.sh \
+  t4301-nilfs2-badsb2.sh \
+  t4302-nilfs2-lessbadsb2.sh \
   t5000-tags.sh \
   t6000-dm.sh \
   t6001-psep.sh \
@@ -1374,6 +1691,7 @@ TESTS = \
   t6003-dm-hide.sh \
   t6004-dm-many-partitions.sh \
   t6005-dm-uuid.sh \
+  t6006-dm-512b-sectors.sh \
   t6100-mdraid-partitions.sh \
   t7000-scripting.sh \
   t8000-loop.sh \
@@ -1452,14 +1770,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1496,6 +1813,10 @@ print-align$(EXEEXT): $(print_align_OBJECTS) $(print_align_DEPENDENCIES) $(EXTRA
        @rm -f print-align$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(print_align_OBJECTS) $(print_align_LDADD) $(LIBS)
 
+print-flags$(EXEEXT): $(print_flags_OBJECTS) $(print_flags_DEPENDENCIES) $(EXTRA_print_flags_DEPENDENCIES) 
+       @rm -f print-flags$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(print_flags_OBJECTS) $(print_flags_LDADD) $(LIBS)
+
 print-max$(EXEEXT): $(print_max_OBJECTS) $(print_max_DEPENDENCIES) $(EXTRA_print_max_DEPENDENCIES) 
        @rm -f print-max$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(print_max_OBJECTS) $(print_max_LDADD) $(LIBS)
@@ -1506,11 +1827,18 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup-clobber.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/duplicate.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-resize.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print-align.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print-max.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup-clobber.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/duplicate.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-resize.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print-align.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print-flags.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print-max.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -1624,7 +1952,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
        if test -n "$$am__remaking_logs"; then \
          echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
               "recursion detected" >&2; \
-       else \
+       elif test -n "$$redo_logs"; then \
          am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
        fi; \
        if $(am__make_dryrun); then :; else \
@@ -1714,7 +2042,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
        fi;                                                             \
        $$success || exit 1
 
-check-TESTS:
+check-TESTS: $(check_PROGRAMS)
        @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
        @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
        @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@@ -1750,7 +2078,10 @@ recheck: all $(check_PROGRAMS)
 @am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \
 @am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1825,7 +2156,12 @@ clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
        mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/dup-clobber.Po
+       -rm -f ./$(DEPDIR)/duplicate.Po
+       -rm -f ./$(DEPDIR)/fs-resize.Po
+       -rm -f ./$(DEPDIR)/print-align.Po
+       -rm -f ./$(DEPDIR)/print-flags.Po
+       -rm -f ./$(DEPDIR)/print-max.Po
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -1871,7 +2207,12 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/dup-clobber.Po
+       -rm -f ./$(DEPDIR)/duplicate.Po
+       -rm -f ./$(DEPDIR)/fs-resize.Po
+       -rm -f ./$(DEPDIR)/print-align.Po
+       -rm -f ./$(DEPDIR)/print-flags.Po
+       -rm -f ./$(DEPDIR)/print-max.Po
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1892,20 +2233,22 @@ uninstall-am:
 
 .MAKE: check-am install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
-       clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
-       ctags ctags-am distclean distclean-compile distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
+       check-am clean clean-checkPROGRAMS clean-generic clean-libtool \
+       cscopelist-am ctags ctags-am distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        recheck tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 05cdc65096bed6109414b829702c661b5c0a9a8b..3dda5cbdd6dd236d9ae529d3c4f882c8469fc437 100755 (executable)
@@ -3,20 +3,21 @@
 # open img file, subtract 33 from altlba address, and move the last 33 sectors
 # back by 33 sectors
 
-from struct import *
+from struct import unpack_from, pack_into
 from zipfile import crc32
 import array
 import sys
+
 file = open(sys.argv[1],'rb+')
 file.seek(512)
 gptheader = file.read(512)
-altlba = unpack_from('<q', gptheader,offset=32)[0]
-gptheader = array.array('c',gptheader)
+altlba = unpack_from('<q', gptheader, offset=32)[0]
+gptheader = array.array('B', gptheader)
 pack_into('<Q', gptheader, 32, altlba-33)
 #zero header crc
 pack_into('<L', gptheader, 16, 0)
 #compute new crc
-newcrc = ((crc32(buffer(gptheader,0,92))) & 0xFFFFFFFF)
+newcrc = ((crc32(gptheader[:92])) & 0xFFFFFFFF)
 pack_into('<L', gptheader, 16, newcrc)
 file.seek(512)
 file.write(gptheader)
@@ -25,7 +26,7 @@ gptheader = file.read(512)
 file.seek(512*(altlba-32))
 backup = file.read(512*32)
 altlba -= 33
-gptheader = array.array('c',gptheader)
+gptheader = array.array('B',gptheader)
 #update mylba
 pack_into('<Q', gptheader, 24, altlba)
 #update table lba
@@ -33,9 +34,9 @@ pack_into('<Q', gptheader, 72, altlba-32)
 #zero header crc
 pack_into('<L', gptheader, 16, 0)
 #compute new crc
-newcrc = ((crc32(buffer(gptheader,0,92))) & 0xFFFFFFFF)
+newcrc = ((crc32(gptheader[:92])) & 0xFFFFFFFF)
 pack_into('<L', gptheader, 16, newcrc)
 file.seek(512*(altlba-32))
 file.write(backup)
 file.write(gptheader)
-file.write("\0" * (512 * 33))
+file.write(b"\0" * (512 * 33))
index dd32c9faeb8c0fa84e2c61ea8cf2f9f85ff0bae2..1d2dfb0109847fd3a203d6ce8441325a70fafe9a 100755 (executable)
@@ -2,7 +2,7 @@
 # Make sure all these programs work properly
 # when invoked with --help or --version.
 
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2014, 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
index b5c2e3f1882edbb80dca5a1b191d715704a6dc89..c79163ba95b9f5baa778ce455f0f85f4996358a5 100644 (file)
@@ -1,6 +1,6 @@
 # source this file; set up for tests
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index 5bddfb043918c2810d894529dfb60f7723f7a1f8..d6ae8d65f88d38ffa9dcbd9f89c924ad288436f9 100755 (executable)
@@ -14,12 +14,11 @@ BAD_ENTRY = (0x72, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 OFFSET = 0x1b8
 
 if len(sys.argv) < 2:
-    print "%s: <image or device>"
+    print("%s: <image or device>" % sys.argv[0])
     sys.exit(1)
 
-data = "".join(chr(c) for c in BAD_ENTRY)
 with open(sys.argv[1], "rb+") as f:
     f.seek(OFFSET, 0)
-    f.write(data)
+    f.write(bytes(bytearray(BAD_ENTRY)))
 
 sys.exit(0)
diff --git a/tests/print-flags.c b/tests/print-flags.c
new file mode 100644 (file)
index 0000000..db088e8
--- /dev/null
@@ -0,0 +1,58 @@
+/* Print the available flags for a particular partition. */
+
+#include <config.h>
+#include <parted/parted.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "progname.h"
+
+int
+main (int argc, char **argv)
+{
+       PedDevice *dev;
+       PedDisk *disk;
+       PedPartition *part;
+       int partnum;
+
+       set_program_name (argv[0]);
+
+       if (argc != 3 ) {
+               fprintf (stderr, "Usage: %s <device> <ptnnum>\n", argv[0]);
+               return EXIT_FAILURE;
+       }
+
+       dev = ped_device_get(argv[1]);
+       if (!dev) {
+               fprintf (stderr, "Error: failed to create device %s\n",
+                                argv[1]);
+               return EXIT_FAILURE;
+       }
+       if (!ped_device_open (dev)) {
+               fprintf (stderr, "Error: failed to open device %s\n", argv[1]);
+               return EXIT_FAILURE;
+       }
+       disk = ped_disk_new (dev);
+       if (!disk) {
+               fprintf (stderr,
+                        "Error: failed to read partition table from device %s\n",
+                        argv[1]);
+               return EXIT_FAILURE;
+       }
+
+       partnum = atoi (argv[2]);
+       part = ped_disk_get_partition (disk, partnum);
+       if (!part) {
+               fprintf (stderr,
+                        "Error: failed to get partition %d from device %s\n",
+                        partnum, argv[1]);
+               return EXIT_FAILURE;
+       }
+
+       for (PedPartitionFlag flag = PED_PARTITION_FIRST_FLAG;
+            flag <= PED_PARTITION_LAST_FLAG; flag++)
+       {
+               if (ped_partition_is_flag_available (part, flag))
+                       puts (ped_partition_flag_get_name (flag));
+       }
+       return EXIT_SUCCESS;
+}
index 4e83a05e07bcee6d03a8975e8c6661874caac1d0..93123432922b99e7dfa9fbe5743175f7307cc02f 100644 (file)
@@ -20,7 +20,13 @@ require_acl_()
 require_hfs_()
 {
   mkfs.hfs 2>&1 | grep '^usage:' \
-    || skip_ "This test requires HFS support."
+    || skip_ "mkfs.hfs: command not found"
+}
+
+require_fat_()
+{
+  mkfs.vfat 2>&1 | grep '^Usage:' \
+    || skip_ "mkfs.vfat: command not found"
 }
 
 # Skip this test if we're not in SELinux "enforcing" mode.
@@ -371,6 +377,7 @@ wait_for_dev_to_appear_()
   local i=0
   local incr=1
   while :; do
+    udevadm settle
     ls "$file" > /dev/null 2>&1 && return 0
     sleep .1 2>/dev/null || { sleep 1; incr=10; }
     i=$(expr $i + $incr); test $i = 20 && break
@@ -386,6 +393,7 @@ wait_for_dev_to_disappear_()
   local i=0
   local incr=1
   while :; do
+    udevadm settle
     ls "$file" > /dev/null 2>&1 || return 0
     sleep .1 2>/dev/null || { sleep 1; incr=10; }
     i=$(expr $i + $incr); test $i -ge $(expr $n_sec \* 10) && break
index b40a5a0ebbf5fc351d5ba070523b454203993564..2ba7ee1591f027ea69e9c1dc85c59fffff83b9b4 100644 (file)
@@ -27,13 +27,14 @@ scsi_debug_cleanup_()
     # "Module scsi_debug is in use".
     i=0
     udevadm settle
-    while [ $i -lt 10 ] ; do
+    while [ $i -lt 40 ] ; do
       rmmod scsi_debug \
        && { test "$VERBOSE" = yes && warn_ $ME_ rmmod scsi_debug...; break; }
       sleep .2 || sleep 1
       i=$((i + 1))
     done
     udevadm settle
+    test $i = 40 && framework_failure_ rmmod scsi_debug failed.
   fi
   rm -fr $scsi_debug_lock_dir_
 }
@@ -47,6 +48,7 @@ wait_for_dev_to_appear_()
   local i=0
   local incr=1
   while :; do
+    udevadm settle
     ls "$file" > /dev/null 2>&1 && return 0
     sleep .1 2>/dev/null || { sleep 1; incr=10; }
     i=$(expr $i + $incr); test $i = 20 && break
@@ -97,7 +99,7 @@ scsi_debug_setup_()
   # It is not trivial to determine the name of the device we're creating.
   # Record the names of all /sys/block/sd* devices *before* probing:
   touch stamp
-  modprobe scsi_debug "$@" || { rm -f stamp; return 1; }
+  modprobe scsi_debug opt_blks=64 "$@" || { rm -f stamp; return 1; }
   scsi_debug_modprobe_succeeded_=1
   test "$VERBOSE" = yes \
     && echo $ME_ modprobe scsi_debug succeeded 1>&2
@@ -110,6 +112,7 @@ scsi_debug_setup_()
   local i=0
   local new_dev
   while :; do
+    udevadm settle
     new_dev=$(new_sdX_) && break
     sleep .1 2>/dev/null || { sleep 1; incr=10; }
     i=$(expr $i + $incr); test $i = 20 && break
index d0107af59b39de38cef9fd4bf9522eff91301a7f..5748a6b5e2a1c02bd978eea973b0bb315b9ec826 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure that a simple command using -s succeeds with no prompt
 
-# Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2014, 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
index 8abc43a01b6a4b6e2ae170d73776b6a3a2c6eebe..0579305a46aeffc7c89cabc6feca7b09b6f0e9ef 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # operate on a very small (1-sector) "disk"
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index 0d7d13f5158c415c102deb33711fb80dedec8473..9c38b27edc7585449972e854ddf7017b658b1c91 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure that printing with -s outputs no readline control chars
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index 61c6d9377a9be625f499fd7819daf536e4c517c2..c9a51518e1d2ebb1abb2ecac2cbd8d165b298c05 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 # the most basic 'print' test
-# Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2014, 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
index 3d9a8c93cfc4cdd1dba9fb9ea837c0f6c2753609..260715cd1fe578764c9998e09e6151e462358914 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 # test 'parted $dev print' on empty device (without label)
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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
index c3bd1aa2433bc6319514357d16466a0ec996b234..54789b51a1fa44292beee244645f9126c6ff12da 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure that printing a GPT partition table does not modify it.
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index f24caf0e0046b0cdfef7e2464072da937d1dcd65..6bd7672852dbf9b855b0f167498b3012dc14aa5e 100755 (executable)
@@ -2,7 +2,7 @@
 # avoid failed assertion when creating a GPT on top of an old one for a
 # larger device
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index 28f644f6251e387e2340c3012b8d6f56e4bf3e21..c3fe79301d79ff2d6bf4db5ee7096a46b16902d0 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Preserve first 446B of the Protected MBR for gpt partitions.
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index e2c93bcd69683bf3717375b77e37db439b25ad8e..f4eeaa3a4e05f97dccb538ca896cb584ad01b0be 100644 (file)
@@ -2,7 +2,7 @@
 # parted 3.1 and prior would exit with no diagnostic when failing
 # to create a GPT partition table on a device that was too small.
 
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014, 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
index 3dd28f8daea10b878bb96e17d70a37a705dc7d70..72117fe198b14e82cb19adb9cfd1eb472d439462 100755 (executable)
@@ -2,7 +2,7 @@
 # Demonstrate that placing a valid gpt-labeled image on a shorter device
 # does not invalidate the primary GPT header.
 
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014, 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
index 6a08f32c316de2bcbe55f72f63df00f0dcb2d737..1382ab30d48cf020fa8fc1c63374354fde9629c9 100644 (file)
@@ -2,7 +2,7 @@
 # parted before 3.1 could abort while reading a pathologically small device
 # with a valid primary GPT header but no room for the backup header.
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index 615d83cff5a170f6cd2d657eb6cc7a8b95d645d2..b7f8892318fb96228b879ba80a16e9c646e962e2 100644 (file)
@@ -5,7 +5,7 @@
 # GPT/MBR table, merely listing the table with Parted-2.1 would clobber
 # the MBR part.
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014, 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
index 311c5f40e520b164c474d3c1da14075792bf4d48..c4dd8418d10a69069bdbb70ddfacb46e54a54d03 100755 (executable)
@@ -3,7 +3,7 @@
 # Much like t0205, but with the addition of a corrupt PTE in primary table,
 # "parted $device print" would modify $device.
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014, 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
index 41f1d3369d58520a479d04490fa60ee2da8f1126..2f59009159c8d5acfa119414a6585d1ecd0392eb 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Show how parted treats a starting or ending sector number w/IEC units.
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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
index ffcb480dd261a5bb6d6055da98865fa7a9cf3fde..29ce8921aece3e7c7aedfe16653c214643fb6d78 100644 (file)
@@ -2,7 +2,7 @@
 # Make sure parted mkpart ends the partition one sector before the specified
 # value if end is specified with IEC units.
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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
index bb6eb313f4e4e59f022800edb3c010dd45dfa7d8..5b50c20e6ca272c520c32cce6664b90a38d0dc36 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure that pmbr_boot flag can be set
 
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014, 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
index 2efc3ca334dcfc1e6446c9a66384d964c4da307a..dc76ea7b751abad471de07a0eebd0d617c3e9d6e 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # exercise GPT handling of n_partition_array_entries != 128
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index c747a49de1fa6e9f952d52cc063173d019e0db67..9415e7e425866ddc870681c9ca5107b76d6fc534 100644 (file)
@@ -5,7 +5,7 @@
 # header to the end of the device.  Before parted-3.1, when it attempted
 # to do that, starting with a 9-PTE array, it would render the result invalid.
 
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014, 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
index 0b764f931cfbdee5176799f5f5ae371cd9c2417d..d54ec3e6baed6aa7fb709fd0f460b1f3f8207c2c 100644 (file)
@@ -2,7 +2,7 @@
 # gpt: create many partitions
 # Before parted-3.1, this would provoke an invalid free.
 
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014, 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
diff --git a/tests/t0213-mkpart-start-negative.sh b/tests/t0213-mkpart-start-negative.sh
new file mode 100755 (executable)
index 0000000..a17bf11
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/sh
+# Make sure parted mkpart ends the partition one sector before the specified
+# value if end is specified with IEC units.
+
+# 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 <http://www.gnu.org/licenses/>.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted
+
+require_512_byte_sector_size_
+n_mbs=8
+dev=dev-file
+
+dd if=/dev/null of=$dev bs=1M seek=$n_mbs || fail=1
+# start negative, end positive
+parted --align=none -s $dev -- mklabel gpt mkpart p1 -7MiB 2MiB > err 2>&1 || fail=1
+compare /dev/null err || fail=1  # expect no output
+
+# start negative, end negative
+parted --align=none -s $dev -- mkpart p2 -6MiB -5MiB > err 2>&1 || fail=1
+compare /dev/null err || fail=1  # expect no output
+
+# check boundaries of the partitions
+parted -m -s $dev u s p > out || fail=1
+
+# prepare expected output
+cat <<EOF > exp || framework_failure
+1:2048s:4095s:2048s::p1:;
+2:4096s:6143s:2048s::p2:;
+EOF
+
+# compare expected and actual outputs
+sed -e "1,2d" out > k; mv k out
+compare exp out || fail=1
+
+Exit $fail
index 79518ae6b3425eddf22dd9ab951de4766b1a0c46..81ebc4ef9acc256ce76e7a85559a75767afca708 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # gpt default "flag" for a partition must not be msftres
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
@@ -56,7 +56,11 @@ printf "BYT;\n$dev:${n_sectors}s:file:$ss:$ss:gpt::;\n" > exp
 i=1
 for type in $fs_types; do
   end=$(expr $start + $part_size - 1)
-  case $type in fat*|NTFS) flag=msftdata;; *) flag=;; esac
+  case $type in
+     fat*|NTFS) flag=msftdata;;
+     linux-swap) flag=swap;;
+     *) flag=;;
+  esac
   echo "$i:${start}s:${end}s:${part_size}s::$type:$flag;" >> exp || fail=1
   parted -s $dev mkpart p-name $type ${start}s ${end}s > err 2>&1 || fail=1
   compare /dev/null err || fail=1
index c3dd93c57e5bfa668e6c76f7f5ad212258c448af..118ed968695e1e13610e17792569e0d8d28394d3 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 # very basic GPT table
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index c845950ed9a31f97f9708d1727af7c850c741216..03ac014ef5c89535c62e7af084ade8fe57f8eec0 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Test unicode partition names
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2014, 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
@@ -22,7 +22,11 @@ dev=loop-file
 # create zeroed device
 truncate -s 10m $dev || fail=1
 
-export LC_ALL=C.UTF-8
+LC_ALL=$(locale -a | grep en_US.utf8)
+if [ -z "$LC_ALL" ]; then
+   LC_ALL=C.UTF-8
+fi
+export LC_ALL="$LC_ALL"
 # create gpt label with named partition
 part_name=$(printf 'foo\341\264\244')
 parted -s $dev mklabel gpt mkpart primary ext2 1MiB 2MiB name 1 $part_name > empty 2>&1 || fail=1
index a7c8d82291e542a816da30a883955d09a5293ed2..5e120f8a8ebab93aba10376abc45451b16e91af8 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # corrupt a GPT table; ensure parted takes notice
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
@@ -89,7 +89,7 @@ compare exp err || fail=1
 parted -m -s $dev u s print > out 2>&1 || fail=1
 
 # check for expected output
-printf "BYT;\nfile\n1:2048s:4095s:2048s::foo:;\n" > exp || fail=1
+printf "BYT;\nfile\n1:2048s:4095s:2048s::foo:swap;\n" > exp || fail=1
 sed "s/.*gpt::;/file/" out > k && mv k out || fail=1
 compare exp out || fail=1
 
index 36a25309190abcc4504c17113144207fa5bfa754..1b7567be604aa08ab88af3b68fcce6f0c69ec037 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # grow a gpt disk, ensure that parted offers to update the gpt size
 
-# Copyright (C) 2009-2012, 2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2012, 2014, 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
index c1972793fdf4f06372fe14cf1bed8190926ec5b5..ec7a0bdc228b5efbe076837b8f404d01a414c72c 100644 (file)
@@ -2,7 +2,7 @@
 # put backup copy gpt in the wrong place, ensure that
 # parted offers to fix
 
-# Copyright (C) 2009-2012, 2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2012, 2014, 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
index 7928c9486a341e5456200929d566645dfd81ce1f..6aadf093b2d9e5a23cad75c18071370b01f04a2b 100644 (file)
@@ -2,7 +2,7 @@
 # ensure parted can ignore partitions that overlap or are
 # longer than the disk and remove them
 
-# Copyright (C) 2009-2012, 2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2012, 2014, 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
index 05f9cc6440fd1deaef614469de14fb22f4489499..01e38d98aa0ab07fd0d32bb5a8be8cb60f4afb3a 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # avoid segfault creating a dos PT on top of a gpt one
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index 50a40ecf67daa250b5b557b3ca2a0a5f7a44e8cb..cc3ba6a3e98eb6a37d66974fd03351a36bdfcdbc 100755 (executable)
@@ -2,7 +2,7 @@
 # Test creating a msdos partition over a GPT partition with
 # fdisk which doesn't remove the GPT partitions, only the PMBR
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index b8b507ca5690c59d1877f0da42738a975f170f96..63a3a36993d1b02b4aeddd40aa587ec5c70b1ff8 100644 (file)
@@ -3,7 +3,7 @@
 # larger than what the kernel told us (SS) would cause parted to read B
 # bytes into a smaller, SS-byte buffer, clobbering heap storage.
 
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014, 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
index 7c595c5188ae547e047c82372ccb65f5aa0ffd9d..116d262ea7c09803b30367b9c9698d1eb35178f1 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # do not infloop in loop_clobber
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index d85b5f71770aa0de009f764ca36583f0421e458e..406339661ae0643d3bf9e619a2d936e835adf7a1 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Drive the dup-clobber program.
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index 66d321a2e78de6b911db0165bad9dce1e53b475d..5dabecd2f15ff68ca178505d6513c59dc20122e9 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Drive the dup-clobber program.
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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
index 4e256d32a010ffa6234e060739d32e54b0e78d07..8651d9c89c76fc890c31a182da7752274ed502d1 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # partitioning (parted -s DEV mklabel) a busy disk must fail.
 
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014, 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
@@ -27,22 +27,16 @@ dev=$(cat dev-name)
 
 parted -s "$dev" mklabel msdos mkpart primary fat32 1 40 > out 2>&1 || fail=1
 compare /dev/null out || fail=1
-mkfs.vfat ${dev}1 || skip_ "mkfs.vfat failed"
+wait_for_dev_to_appear_ ${dev}1 || fail=1
+mkfs.vfat ${dev}1 || fail=1
 
 mount_point="`pwd`/mnt"
 
 # Be sure to unmount upon interrupt, failure, etc.
 cleanup_fn_() { umount "${dev}1" > /dev/null 2>&1; }
 
-# There's a race condition here: on udev-based systems, the partition#1
-# device, ${dev}1 (i.e., /dev/sdd1) is not created immediately, and
-# without some delay, this mount command would fail.  Using a flash card
-# as $dev, the loop below typically iterates 7-20 times.
-
 # create mount point dir. and mount the just-created partition on it
 mkdir $mount_point || fail=1
-i=0; while :; do test -e "${dev}1" && break; test $i = 90 && break;
-  i=$(expr $i + 1); done;
 mount "${dev}1" $mount_point || fail=1
 
 # now that a partition is mounted, mklabel attempt must fail
index ad091f738468b8d2c2e853a15019c6ec1703a2ff..c47eaf81942c78fd8f9ba8ae72f693308c183252 100755 (executable)
@@ -2,7 +2,7 @@
 # test for Debian bug #582818 (http://bugs.debian.org/582818); forbid
 # the removal of a mounted partition.
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014, 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
index 97520021004d0135e783fbecf2e208718d5f046f..d9410e2093845e4d3aa94e27848b58a28ccf9c56 100644 (file)
@@ -2,7 +2,7 @@
 # make sure that loop labels work correctly
 # create an actual partition
 
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2014, 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
@@ -44,15 +44,9 @@ mv out o2 && sed -e "s,$dev,DEVICE,;s/  *$//" o2 > out
 
 compare exp out || fail=1
 parted -s $dev rm 1 || fail=1
-if [ -e ${dev}1 ]; then
-    echo "Partition should not exist on loop device"
-    fail=1
-fi
+wait_for_dev_to_disappear_ ${dev}1 2 || fail=1
 partprobe $dev || fail=1
-if [ -e ${dev}1 ]; then
-    echo "Partition should not exist on loop device"
-    fail=1
-fi
+wait_for_dev_to_disappear_ ${dev}1 2 || fail=1
 
 mount_point="`pwd`/mnt"
 
@@ -80,24 +74,15 @@ umount "$mount_point"
 
 # make sure partprobe cleans up stale partition devices
 parted -s $dev mklabel msdos mkpart primary ext2 0% 100% || fail=1
-if [ ! -e ${dev}1 ]; then
-    echo "Partition doesn't exist on loop device"
-    fail=1
-fi
+wait_for_dev_to_appear_ ${dev}1 || fail=1
 
 mke2fs -F $dev
 partprobe $dev || fail=1
-if [ -e ${dev}1 ]; then
-    echo "Partition should not exist on loop device"
-    fail=1
-fi
+wait_for_dev_to_disappear_ ${dev}1 2 || fail=1
 
 # make sure new loop label removes old partitions > 1
 parted -s $dev mklabel msdos mkpart primary ext2 0% 50% mkpart primary ext2 50% 100% || fail=1
 parted -s $dev mklabel loop || fail=1
-if [ -e ${dev}2 ]; then
-    echo "Partition 2 not removed"
-    fail=1
-fi
+wait_for_dev_to_disappear_ ${dev}2 2 || fail=1
 
 Exit $fail
index 61cc39268debf22ee26a0e33fbdc7961537091d0..8e52c611acdb283551ef6384acd3d77e306f8fbc 100644 (file)
@@ -2,7 +2,7 @@
 # make sure that removing a higher numbered partition and adding a lower
 # one using that space at the same time works
 
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014, 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
index 574d6fefae15aa1152609a0bf5d325f2b8fdf67d..1fe330911db8774a635d49fb51e44bb57f2b0442 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Probe Ext2, Ext3 and Ext4 file systems
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
@@ -21,9 +21,9 @@ require_512_byte_sector_size_
 
 dev=loop-file
 ss=$sector_size_
-n_sectors=$((257*1024))
+n_sectors=$((512*1024))
 
-for type in ext2 ext3 ext4 btrfs xfs nilfs2 ntfs vfat hfsplus; do
+for type in ext2 ext3 ext4 btrfs xfs nilfs2 ntfs vfat hfsplus udf; do
 
   ( mkfs.$type 2>&1 | grep -i '^usage' ) > /dev/null \
       || { warn_ "$ME: no $type support"; continue; }
@@ -39,13 +39,13 @@ for type in ext2 ext3 ext4 btrfs xfs nilfs2 ntfs vfat hfsplus; do
       hfsplus) fsname=hfs+;;
   esac
 
-  # create an $type file system
+  # create an $type file system, creation failures are not parted bugs,
+  # skip the filesystem instead of failing the test.
   if [ "$type" = "xfs" ]; then
-      # Work around a problem with s390
-      mkfs.xfs -ssize=$ss -dfile,name=$dev,size=${n_sectors}s || fail=1
+      mkfs.xfs -ssize=$ss -dfile,name=$dev,size=${n_sectors}s || { warn_ "$ME: mkfs.$type failed, skipping"; continue; }
   else
-      dd if=/dev/null of=$dev bs=$ss seek=$n_sectors >/dev/null || fail=1
-      mkfs.$type $force $dev || { warn_ $ME: mkfs.$type failed; fail=1; continue; }
+      dd if=/dev/null of=$dev bs=$ss seek=$n_sectors >/dev/null || { warn_ "$ME: dd failed, skipping $type"; continue; }
+      mkfs.$type $force $dev || { warn_ "$ME: mkfs.$type failed skipping"; continue; }
   fi
 
   # probe the $type file system
@@ -57,7 +57,7 @@ done
 # Some features should indicate ext4 by themselves.
 for feature in uninit_bg flex_bg; do
   # create an ext3 file system
-  dd if=/dev/null of=$dev bs=1024 seek=4096 >/dev/null || fail=1
+  dd if=/dev/null of=$dev bs=1024 seek=4096 >/dev/null || skip_ "dd failed"
   mkfs.ext3 -F $dev >/dev/null || skip_ "mkfs.ext3 failed"
 
   # set the feature
diff --git a/tests/t1701-rescue-fs.sh b/tests/t1701-rescue-fs.sh
new file mode 100644 (file)
index 0000000..688c14e
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/sh
+# rescue ext4 file system
+
+# Copyright (C) 2008-2014, 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 <http://www.gnu.org/licenses/>.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted
+require_512_byte_sector_size_
+require_root_
+require_scsi_debug_module_
+
+# create memory-backed device
+scsi_debug_setup_ sector_size=$sector_size_ dev_size_mb=32 > dev-name ||
+  skip_ 'failed to create scsi_debug device'
+scsi_dev=$(cat dev-name)
+
+( mkfs.ext4 2>&1 | grep -i '^usage' ) > /dev/null \
+    || { warn_ "$ME: no ext4 support"; Exit $fail; }
+
+parted -s $scsi_dev mklabel msdos mkpart primary ext2 1m 100%
+wait_for_dev_to_appear_ ${scsi_dev}1 || fail=1
+mkfs.ext4 ${scsi_dev}1 || { warn_ $ME: mkfs.ext4 failed; fail=1; Exit $fail; }
+
+# remove the partition
+parted -s $scsi_dev rm 1 || fail=1
+
+# rescue the partition
+echo yes | parted ---pretend-input-tty $scsi_dev rescue 1m 100% > out 2>&1
+cat > exp <<EOF
+Information: A ext4 primary partition was found at 1049kB -> 33.6MB.  Do you want to add it to the partition table?
+Yes/No/Cancel? yes
+Information: You may need to update /etc/fstab.
+EOF
+# Transform the actual output, to avoid spurious differences when
+# $PWD contains a symlink-to-dir.  Also, remove the ^M      ...^M bogosity.
+# normalize the actual output
+mv out o2 && sed -e "s,\r   *\r,,g;s, $,," \
+                      -e "s,^.*/lt-parted: ,parted: ," o2 > out
+echo '' >> exp
+compare exp out || fail=1
+Exit $fail
index 6a929e5a598bf72d6737083a70c71a77fe05a678..7da4122894d8039ffcb38f964cf7b9636823250f 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # improved MSDOS partition-table recognition
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index 623886fadfaddf17798b0e043860cd04b49cced1..fc1b6c323ebbd676168104b7ce4acbd7279871b2 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Recognize PC98 labeled disks
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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
index cdc1190c2c037c51d754ccd71ade718655a501fa..d27adcdaacca84f6801eeee9efb1e92d37380bb9 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure parted preserves bootcode in extended partition.
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index 10e2e6aacb45bda522f0312627a4d80204ec4379..56041f175f37023bfa92f45ade57504692eb774a 100644 (file)
@@ -2,7 +2,7 @@
 # Ensure that parted allows a single sector between the beginning
 # of an extended partition and the first logical partition.
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014, 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
diff --git a/tests/t2320-dos-extended-noclobber.sh b/tests/t2320-dos-extended-noclobber.sh
new file mode 100644 (file)
index 0000000..6e25839
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/sh
+# Ensure that the extended partition reports the correct length
+# after adding another partition.
+
+# Copyright (C) 2015, 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 <http://www.gnu.org/licenses/>.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted
+
+require_root_
+require_scsi_debug_module_
+
+# create memory-backed device
+ss=$sector_size_
+scsi_debug_setup_ sector_size=$ss dev_size_mb=10 > dev-name ||
+  skip_ 'failed to create scsi_debug device'
+scsi_dev=$(cat dev-name)
+
+# Create a DOS label with an extended partition and a primary partition
+parted -s $scsi_dev mklabel msdos || fail=1
+parted -s $scsi_dev mkpart extended 1 5 > out 2>&1 || fail=1
+parted -s $scsi_dev mkpart primary 5 10 > out 2>&1 || fail=1
+wait_for_dev_to_appear_ ${scsi_dev}1 || fail=1
+
+# Make sure the size of the extended partition is correct.
+# 2 sectors for 512b and 1 sector for larger. /sys/.../size is in
+# 512b blocks so convert accordingly.
+dev=${scsi_dev#/dev/}
+ext_len=$(cat /sys/block/$dev/${dev}1/size)
+if [ $ss -eq 512 ]; then
+    expected_len=2
+else
+    expected_len=$((ss / 512))
+fi
+[ $ext_len -eq $expected_len ] || fail=1
+
+Exit $fail
index 85d5a5fa1a7d0997e83775ee968fdd745cfb3d6d..642f15d3b5d9bad7fb704b8828a0337c580c5bda 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure that an HFS partition in a dos table gets the right ID
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014, 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
diff --git a/tests/t2410-dos-udf-partition-type.sh b/tests/t2410-dos-udf-partition-type.sh
new file mode 100644 (file)
index 0000000..facb286
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+# Ensure that an UDF partition in a dos table gets the right ID
+
+# Copyright (C) 2018-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 <http://www.gnu.org/licenses/>.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted
+
+dev=loop-file
+ss=$sector_size_
+n_sectors=8000
+
+dd if=/dev/null of=$dev bs=$ss seek=$n_sectors || framework_failure
+
+# create a GPT partition table
+parted -s $dev mklabel msdos \
+  mkpart pri udf 2048s 4095s > out 2>&1 || fail=1
+# expect no output
+compare /dev/null out || fail=1
+
+# Extract the "type" byte of the first partition.
+od -An -j450 -tx1 -N1 $dev > out || fail=1
+printf ' 07\n' > exp || fail=1
+compare exp out || fail=1
+
+Exit $fail
index 403c566803ea8c638af8ea0aa87881ec4fe10796..c3ca7da9569fbb2bb41dce8dfc57b5e559537ae4 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Do not misbehave when probing a corrupt HFS partition.
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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
index 8cab476a51b954a5e0f3000c2db35d8c048a047e..cc2b1c032612f66942d5fe9bd4a41debcff7cdd2 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # exercise the resize library; FAT and HFS+ only
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
@@ -18,7 +18,7 @@
 
 . "${srcdir=.}/init.sh"; path_prepend_ ../parted .
 require_hfs_
-
+require_fat_
 require_root_
 require_scsi_debug_module_
 require_512_byte_sector_size_
@@ -31,7 +31,7 @@ default_end=546147s
 
 # create memory-backed device
 scsi_debug_setup_ dev_size_mb=550 > dev-name ||
-  skip_test_ 'failed to create scsi_debug device'
+  skip_ 'failed to create scsi_debug device'
 dev=$(cat dev-name)
 
 fail=0
@@ -46,7 +46,15 @@ device_sectors_required=$(echo $default_end | sed 's/s$//')
 # Ensure that $dev is large enough for this test
 test $device_sectors_required -le $dev_n_sectors || fail=1
 
-for fs_type in hfs+ fat32; do
+# create mount point dir
+mount_point="`pwd`/mnt"
+mkdir "$mount_point" || fail=1
+
+# be sure to unmount upon interrupt, failure, etc.
+cleanup_fn_() { umount "${dev}1" > /dev/null 2>&1; }
+
+for fs_type in hfs+ fat32 fat16; do
+  echo "fs_type=$fs_type"
 
   # create an empty $fs_type partition, cylinder aligned, size > 256 MB
   parted -a min -s $dev mkpart p1 $start $default_end > out 2>&1 || fail=1
@@ -59,6 +67,7 @@ for fs_type in hfs+ fat32; do
   wait_for_dev_to_appear_ ${dev}1
 
   case $fs_type in
+    fat16) mkfs_cmd='mkfs.vfat -F 16'; fsck='fsck.vfat -v';;
     fat32) mkfs_cmd='mkfs.vfat -F 32'; fsck='fsck.vfat -v';;
     hfs*) mkfs_cmd='mkfs.hfs';         fsck=fsck.hfs;;
     *) error "internal error: unhandled fs type: $fs_type";;
@@ -67,11 +76,29 @@ for fs_type in hfs+ fat32; do
   # create the file system
   $mkfs_cmd ${dev}1 || fail=1
 
+  # create 500 deep directory tree with longest name 4000 characters
+  # to catch core dump in libparted/fs/r/fat/count.c flag_traverse_dir()
+  # overflowing 512 byte file_name local buffer.
+  mount "${dev}1" "$mount_point" || fail=1
+  cat /dev/null > exp
+  ( cd "$mount_point"; for d in `seq 500`; do mkdir TESTDIR; cd TESTDIR; done ) > out
+  compare exp out || fail=1   # Ensure no errors creating directory tree
+  umount "${dev}1" || fail=1
+
   # NOTE: shrinking is the only type of resizing that works.
   # resize that file system to be one cylinder (8MiB) smaller
   fs-resize ${dev}1 0 $new_end > out 2>&1 || fail=1
-  # expect no output
-  compare /dev/null out || fail=1
+
+  # check for expected output
+  case $fs_type in
+    fat16) cat << EOF > exp || framework_failure
+Information: Would you like to use FAT32?  If you leave your file system as FAT16, then you will have no problems.  If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader.  If you want to do this, you should consult the Parted manual (or your distribution's manual).  Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.
+EOF
+      ;;
+    fat32) cat /dev/null > exp || framework_failure;;     # expect no output
+    hfs*)  cat /dev/null > exp || framework_failure;;     # expect no output
+  esac
+  compare exp out || fail=1
 
   # This is known to segfault with fsck.hfs from
   # Fedora 16's hfsplus-tools-332.14-12.fc15.x86_64.
index 251b545538f1c73b4bc062794d497e0505e1b2c5..4565e996d1af4d928e783014e8e00fab8fc7a3d8 100755 (executable)
@@ -2,7 +2,7 @@
 # exercise the resize sub-command
 # based on t3000-resize-fs.sh test
 
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-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
index 24854f509028fd34b8082b2c1c409b6c048c7f58..6949eaf6d84b22cbd355a5d69a06d0d759d6a179 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure parted doesn't change the type of a partition to match its FS.
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index 8f2890b68b470beab5531df6cd68ad2041acbd8b..b8ce23556464cc466431eb5fa1fbe83f1a636f57 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure that palo and prep types work properly.
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014, 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
index cb3024ad11c77a85e13414ad90b1073035c28493..c55a6aa4333ad507aed8dd710c81c35c7f8e8c4e 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
-# Exercise the exclusive, single-bit flags.
+# Exercise partition flags.
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014, 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
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-. "${srcdir=.}/init.sh"; path_prepend_ ../parted
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted .
 ss=$sector_size_
 dev=dev-file
 
 extract_flags()
 {
-  perl -nle '/^1:2048s:4095s:2048s::(?:P1)?:(.+);$/ and print $1' "$@"
+  perl -nle '/^[^:]*:4096s:6143s:2048s::[^:]*:(.+);$/ and print $1' "$@"
 }
 
-for table_type in msdos gpt; do
+for table_type in aix amiga atari bsd dvh gpt mac msdos pc98 sun loop; do
+  ptn_num=1
 
-  # Extract flag names of type $table_type from the texinfo documentation.
   case $table_type in
-      msdos) search_term=MS-DOS; pri_or_name=pri;;
-      gpt)   search_term=GPT;    pri_or_name=P1;;
+    aix)   # Support for writing AIX disk labels and adding partitions
+           # is not yet implemented.
+           continue
+           ;;
+    amiga) primary_or_name='PTNNAME'
+           ;;
+    atari)  primary_or_name='primary'
+           # atari only supports 512b sectors
+           [ $ss -ne 512 ] && continue
+           ;;
+    bsd)   primary_or_name=''
+           ;;
+    dvh)   primary_or_name='primary'
+           ;;
+    gpt)   primary_or_name='PTNNAME'
+           ;;
+    mac)   primary_or_name='PTNNAME'
+           # MAC table has the partition map partition as the first
+           # partition so the created test partition will be number 2.
+           ptn_num=2
+           ;;
+    msdos) primary_or_name='primary'
+           ;;
+    pc98)  primary_or_name='PTNNAME'
+           # pc98 only supports 512b sectors
+           [ $ss -ne 512 ] && continue
+           ;;
+    sun)   primary_or_name=''
+           ;;
+    loop)  # LOOP table doesn't support creation of a partition nor any
+           # flags.
+           continue
+           ;;
   esac
-  flags=$(sed -n '/^@node set/,/^@node/p' \
-                    "$abs_top_srcdir/doc/parted.texi" \
-                | perl -00 -ne \
-                    '/^\@item (\w+).*'"$search_term"'/s and print lc($1), "\n"')
 
-  n_sectors=5000
+  n_sectors=8192
   dd if=/dev/null of=$dev bs=$ss seek=$n_sectors || fail=1
 
   parted -s $dev mklabel $table_type \
-    mkpart $pri_or_name ext2 $((1*2048))s $((2*2048-1))s \
+    mkpart $primary_or_name ext2 $((4*1024))s $((6*1024-1))s \
       > out 2> err || fail=1
   compare /dev/null out || fail=1
 
+  # Query libparted for the available flags for this test partition.
+  flags=`print-flags $dev $ptn_num` \
+    || { warn_ "$ME_: $table_type: failed to get available flags";
+         fail=1; continue; }
+  case $table_type in
+    dvh)   # FIXME: Exclude boot flag as that can only be set on logical
+           # partitions in the DVH disk label and this test only uses
+           # primary partitions.
+           flags=`echo "$flags" | egrep -v 'boot'`
+           ;;
+    mac)   # FIXME: Setting root or swap flags also sets the partition
+           # name to root or swap respectively.  Probably intended
+           # behaviour.  Setting lvm or raid flags after root or swap
+           # takes two goes to clear the lvm or raid flag.  Is this
+           # intended?  For now don't test lvm or raid flags as this
+           # test only tries to clear the flags once which causes this
+           # test to fail.
+           flags=`echo "$flags" | egrep -v 'lvm|raid'`
+           ;;
+  esac
+
   for mode in on_only on_and_off ; do
     for flag in $flags; do
-
-      # Exclude the supplemental flags.
-      # These are not boolean, like the others.
-      case $flag in boot|lba|hidden) continue;; esac
-
       # Turn on each flag, one at a time.
-      parted -m -s $dev set 1 $flag on u s print > raw 2> err || fail=1
+      parted -m -s $dev set $ptn_num $flag on unit s print > raw 2> err || fail=1
       extract_flags raw > out
-      grep -F "$flag" out \
-        || { warn_ "$ME: flag not turned on: $(cat out)"; fail=1; }
+      grep -w "$flag" out \
+        || { warn_ "$ME_: $table_type: flag '$flag' not turned on: $(cat out)"; fail=1; }
       compare /dev/null err || fail=1
 
       if test $mode = on_and_off; then
         # Turn it off
-        parted -m -s $dev set 1 $flag off u s print > raw 2> err || fail=1
+        parted -m -s $dev set $ptn_num $flag off unit s print > raw 2> err || fail=1
         extract_flags raw > out
-        grep -F "$flag" out \
-          && { warn_ "$ME: flag not turned off: $(cat out)"; fail=1; }
+        grep -w "$flag" out \
+          && { warn_ "$ME_: $table_type: flag '$flag' not turned off: $(cat out)"; fail=1; }
         compare /dev/null err || fail=1
       fi
     done
   done
 done
 
+# loop filesystems support no flags.  Make sure this doesn't crash
+
+if [ $ss = 512 ]; then
+   # only test on 512 byte ss since mke2fs assumes this on a file
+   truncate -s 5m img || framework_failure
+   mke2fs img || framework_failure
+   echo Error: No flags supported > out.exp
+   parted -s img set 1 foo on > out 2>&1
+   compare out.exp out || fail=1
+   parted -s img disk_set foo on > out 2>&1
+   compare out.exp out || fail=1
+fi
+
 Exit $fail
index 18da752a1a4237d42c8e02ded1120f21d6ec8daa..886e08d6cecbc637e197acba35d93ae4dd584358 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure that a whole-disk FAT partition is detected.
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014, 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
index 858b96c7318dce3908b165f992a67faeff1ed7b7..d8399cdb3dfec0c66ba7d1749181ebfcf185865f 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # RAID support on sun disk type
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index d70817db7122abc9a40de8612e0f1c51c87e8eb3..8ef4eb53c31e0d592d801956f658f64e4e0df9ad 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure that Sun VTOC is properly initialized.
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index cd89acbdde84bd2a042c89d16f3f180172acf7f2..ecee10d7be0a46b5c2be13ad1cc9038d3bc7d41e 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # enforce limits on partition start sector and length
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index 28b45607d76c6be274ebe57afb23558102ee119a..8ac33c1ca1695fdc34a78b7207c6d4f727500635 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # enforce limits on partition start sector and length
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index 974c8e0161a2851012ee2c76b5ed4a8056710466..258c28574e7d6b80f75c956bbc241bd4a88bd505 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Consistency in msdos free space starting sector.
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index 261d0e70621772f41941cd3bfef43e4e372e8462..79f9c5d78ffc6f93ac9cb678132be98fc01d77ce 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # partprobe must not examine more than 16 partitions
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index 0c954ec7026192c7eafb88bea48d175ee72b3599..46175d1a4dad041901a9e651bc14932d493b295d 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Trigger a nilfs2-related bug.
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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
diff --git a/tests/t4301-nilfs2-badsb2.sh b/tests/t4301-nilfs2-badsb2.sh
new file mode 100755 (executable)
index 0000000..3420206
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/sh
+# Trigger a nilfs2-related bug.
+
+# Copyright (C) 2011-2014, 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 <http://www.gnu.org/licenses/>.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted
+ss=$sector_size_
+len=32
+dev=dev-file
+
+dd if=/dev/zero of=$dev bs=512 count=$(($len+$ss/512)) || framework_failure_
+
+end=$(($len * 512 / $ss))
+parted -s $dev mklabel msdos mkpart primary 1s ${end}s || framework_failure_
+
+# Write a secondary superblock with the nilfs magic number and a nilfs
+# superblock length (s_bytes) field of only 10 bytes.
+# struct nilfs2_super_block starts with these four fields...
+#      uint32_t        s_rev_level;
+#      uint16_t        s_minor_rev_level;
+#      uint16_t        s_magic;
+#      uint16_t        s_bytes;
+sb2_offset=$(( 24 / ($ss / 512) + 1))
+perl -e "print pack 'LSSS.', 0, 0, 0x3434, 10, $ss" |
+    dd of=$dev bs=$ss seek=$sb2_offset count=1 conv=notrunc
+
+# This used to give parted a sigsegv.
+parted -s $dev print || fail=1
+
+Exit $fail
diff --git a/tests/t4302-nilfs2-lessbadsb2.sh b/tests/t4302-nilfs2-lessbadsb2.sh
new file mode 100755 (executable)
index 0000000..57379a8
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh
+# Trigger a nilfs2-related bug.
+
+# Copyright (C) 2011-2014, 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 <http://www.gnu.org/licenses/>.
+
+# This test is like t4301-nilfsbadsb2 except with an s_bytes field of
+# 1024 instead of 10. This exercises a less obvious bug.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted
+ss=$sector_size_
+len=32
+dev=dev-file
+
+dd if=/dev/zero of=$dev bs=512 count=$(($len+$ss/512)) || framework_failure_
+
+end=$(($len * 512 / $ss))
+parted -s $dev mklabel msdos mkpart primary 1s ${end}s || framework_failure_
+
+# Write a secondary superblock with the nilfs magic number and a nilfs
+# superblock length (s_bytes) field of only 10 bytes.
+# struct nilfs2_super_block starts with these four fields...
+#      uint32_t        s_rev_level;
+#      uint16_t        s_minor_rev_level;
+#      uint16_t        s_magic;
+#      uint16_t        s_bytes;
+sb2_offset=$(( 24 / ($ss / 512) + 1))
+perl -e "print pack 'LSSS.', 0, 0, 0x3434, 1024, $ss" |
+    dd of=$dev bs=$ss seek=$sb2_offset count=1 conv=notrunc
+
+# This used to read past the part of the stack allocated by alloca, but
+# may or may not cause a segmentation fault as a result.
+parted -s $dev print || fail=1
+
+Exit $fail
index 121e8e73e542948de29a4e1b4913462b9ba6be19..2801d2019343398e4c9e6ebb6133820c9a60834b 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # test bios_grub flag in gpt labels
 
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014, 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
index 5b29660b0ebb0a4db6c39600c5045d52fc8a79ff..60a8f7aa129d2aea7d32cdaebefb7a9baaa9fecd 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # ensure that parted can distinguish device map types: linear, multipath
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index f15090abb3e716dacfe4bba6940f31479ecf2220..e350bd2890b1c48b6b744b3ed2fb268056c4412f 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # ensure that parted names partitions on dm disks correctly
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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
@@ -19,6 +19,8 @@
 . "${srcdir=.}/init.sh"; path_prepend_ ../parted
 
 require_root_
+require_udevadm_settle_
+
 (dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
 
 # Device maps names - should be random to not conflict with existing ones on
@@ -54,7 +56,7 @@ parted -s $dev mklabel msdos mkpart primary fat32 1m 5m > out 2>&1 || fail=1
 compare /dev/null out || fail=1
 
 #make sure device name is correct
-test -e ${dev}p1 || fail=1
+wait_for_dev_to_appear_ ${dev}p1 || fail=1
 
 #repeat on name not ending in a digit
 # setup: create a mapping
@@ -66,7 +68,7 @@ parted -s $dev mklabel msdos mkpart primary fat32 1m 5m > out 2>&1 || fail=1
 compare /dev/null out || fail=1
 
 #make sure device name is correct
-test -e ${dev}1 || fail=1
+wait_for_dev_to_appear_ ${dev}1 || fail=1
 
 if [ -n "$fail" ]; then
     ls /dev/mapper
index 723dd3026e619482e20b3996758877d5f3034f88..3476714dfde5eb3bb548c945a51774c1f8f0ed0a 100644 (file)
@@ -2,7 +2,7 @@
 # ensure that parted can alter a partition on a dmraid disk
 # while another one is mounted
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index fb3b0419ec40ba17e57d7315fa68a94948e50c59..c5c2f6f2e16723cb2f3fc2e35d661c59079be7da 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # ensure that parted -l only shows dmraid device-mapper devices
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index 8d291ef556640f32c1ae456363e27380a90c7509..b4be9756a8d9b0c904670ef1eab4f9072816042a 100755 (executable)
@@ -2,7 +2,7 @@
 # device-mapper: create many partitions
 # This would not create partitions > 16 when using device-mapper
 
-# Copyright (C) 2012, 2014 Free Software Foundation, Inc.
+# Copyright (C) 2012, 2014, 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
@@ -20,6 +20,7 @@
 . "${srcdir=.}/init.sh"; path_prepend_ ../parted
 
 require_root_
+require_udevadm_settle_
 (dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
 
 ss=$sector_size_
@@ -49,10 +50,8 @@ parted -m -a min -s /dev/mapper/$dm_name mklabel gpt $cmd > /dev/null 2>&1 || fa
 
 # Make sure all the partitions appeared under /dev/mapper/
 for ((i=1; i<=$n_partitions; i+=1)); do
-    if [ ! -e "/dev/mapper/${dm_name}p$i" ]; then
-        fail=1
-        break
-    fi
+    wait_for_dev_to_appear_ "/dev/mapper/${dm_name}p$i" || { fail=1; break; }
+
     # remove the partitions as we go, otherwise cleanup won't work.
     dmsetup remove /dev/mapper/${dm_name}p$i
 done
index ce1251a9f16a8bae90e139319b342eac6ba790e1..426674701994cc335a1a8896fc3edfb33727403f 100755 (executable)
@@ -2,7 +2,7 @@
 # device-mapper: preserve uuid
 # The dm's partitions uuid would be removed when creating new partitions
 
-# Copyright (C) 2012, 2014 Free Software Foundation, Inc.
+# Copyright (C) 2012, 2014, 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
@@ -20,6 +20,7 @@
 . "${srcdir=.}/init.sh"; path_prepend_ ../parted
 
 require_root_
+require_udevadm_settle_
 (dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
 
 ss=$sector_size_
@@ -46,6 +47,7 @@ for ((i=1; i<=$n_partitions; i+=1)); do
   cmd="$cmd mkpart p$i ${s}s ${s}s"
 done
 parted -m -a min -s /dev/mapper/$dm_name mklabel gpt $cmd > /dev/null 2>&1 || fail=1
+wait_for_dev_to_appear_ /dev/mapper/${dm_name}p${n_partitions} || fail=1
 
 # Make sure all the partitions have UUIDs
 for ((i=1; i<=$n_partitions; i+=1)); do
diff --git a/tests/t6006-dm-512b-sectors.sh b/tests/t6006-dm-512b-sectors.sh
new file mode 100644 (file)
index 0000000..bf32135
--- /dev/null
@@ -0,0 +1,69 @@
+#!/bin/sh
+# device-mapper sector sizes are 512b, make sure partitions are the correct
+# size when using larger sector sizes and a linear dm table.
+
+# Copyright (C) 2015, 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 <http://www.gnu.org/licenses/>.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted
+
+require_root_
+require_scsi_debug_module_
+
+grep '^#define USE_BLKID 1' "$CONFIG_HEADER" > /dev/null ||
+  skip_ 'this system lacks a new-enough libblkid'
+
+(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
+
+# Device maps names - should be random to not conflict with existing ones on
+# the system
+linear_=plinear-$$test
+
+cleanup_fn_() {
+    i=0
+    udevadm settle
+    while [ $i -lt 10 ] ; do
+      [ -e "/dev/mapper/${linear_}1" ] && dmsetup remove ${linear_}1
+      sleep .2
+      [ -e "/dev/mapper/$linear_" ] && dmsetup remove $linear_
+      sleep .2
+      [ -e "/dev/mapper/${linear_}1" ] || [ -e "/dev/mapper/$linear_" ] || i=10
+      i=$((i + 1))
+    done
+    udevadm settle
+}
+
+# Create a 500M device
+ss=$sector_size_
+scsi_debug_setup_ sector_size=$ss dev_size_mb=500 > dev-name ||
+  skip_ 'failed to create scsi_debug device'
+scsi_dev=$(cat dev-name)
+
+# Size of device, in 512b units
+scsi_dev_size=$(blockdev --getsz $scsi_dev) || framework_failure
+
+dmsetup create $linear_ --table "0 $scsi_dev_size linear $scsi_dev 0" || framework_failure
+dev="/dev/mapper/$linear_"
+
+# Create msdos partition table with a partition from 1MiB to 100MiB
+parted -s $dev mklabel msdos mkpart primary ext2 1MiB 101MiB > out 2>&1 || fail=1
+compare /dev/null out || fail=1
+wait_for_dev_to_appear_ ${dev}1 || fail=1
+
+# The size of the partition should be 100MiB, or 204800 512b sectors
+p1_size=$(blockdev --getsz ${dev}1) || framework_failure
+[ $p1_size == 204800 ] || fail=1
+
+Exit $fail
index 6f08442dd66d1b6918d7d5bcb44f197a0d097016..b98bba08a4c91c452bdb52659779257262119438 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # verify that new kernel is informed about partitions on mdraid devices
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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
@@ -38,14 +38,16 @@ parted -s "$scsi_dev" mklabel gpt \
     mkpart p1 ext2 1M 4M \
     mkpart p2 ext2 5M 8M > out 2>&1 || fail=1
 compare /dev/null out || fail=1
+wait_for_dev_to_appear_ ${scsi_dev}2 || { fail=1; cat /proc/partitions; }
 
 cleanup_fn_() {
   # stop mdraid array
   mdadm -S $md_dev || warn_ "Failed to stop MD array, $md_dev"
 }
 
-# create mdraid on top of both partitions
-mdadm -C $md_dev --force -R -l1 -n2 "${scsi_dev}1" "${scsi_dev}2"
+# create mdraid on top of both partitions with v0.90 metadata
+mdadm -C $md_dev -e0 --force -R -l1 -n2 "${scsi_dev}1" "${scsi_dev}2"
+wait_for_dev_to_appear_ ${md_dev} || { fail=1; cat /proc/partitions; }
 
 # create gpt and two partitions on the raid device
 parted -s $md_dev mklabel gpt \
@@ -54,13 +56,14 @@ parted -s $md_dev mklabel gpt \
 compare /dev/null out || fail=1
 
 # Verify that kernel has been informed about the second device.
-grep "${md_name}p2" /proc/partitions || { fail=1; cat /proc/partitions; }
+wait_for_dev_to_appear_ ${md_dev}p2 || { fail=1; cat /proc/partitions; }
 
 # Remove partitions from the raid device.
 parted -s $md_dev rm 2 rm 1 > out 2>&1 || fail=1
 compare /dev/null out || fail=1
 
 # Verify that kernel has been informed about those removals.
-grep "${md_name}p[12]" /proc/partitions && { fail=1; cat /proc/partitions; }
+wait_for_dev_to_disappear_ ${md_dev}p1 2 || { fail=1; cat /proc/partitions; }
+wait_for_dev_to_disappear_ ${md_dev}p2 2 || { fail=1; cat /proc/partitions; }
 
 Exit $fail
index b939d1df865258ac975a7779175defbb00d4bab2..d8140ee897853cac20990fd20db99546663ad26f 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Make sure the scripting option works (-s) properly.
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index ba08a94226aa999ad462c519f9f1e92abb77bb35..271f6f69bc05ad3af4787e44618e97d41c20a265 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Test usage of loop devices
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index 1363ac2d66ead1548a9a66ed90895d74de63a219..8df50fd85396f69e8807b79586570bf9af009cda 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Test support for partitions on loop devices
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014, 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
index 10e2d513d52ce96ce18a87aa96861330722dd616..dc408a510763ccc4ee3201511f6a097d4eb671ec 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # check physical sector size as reported by 'print'
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index 9ea6eb0660704ed52900b1e5b70020dc2b378f13..b24096ee2af287f32c67ecec39ba7a68fe9244ce 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # verify that new alignment-querying functions work
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index 510e6c22884a0edc80d079fc63e236eb75d1e941..d5c71b48343c58c22bc1b46cc6eec185f1841c8a 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # verify that partition maxima-querying functions work
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
@@ -37,6 +37,7 @@ max_n_partitions()
     mac) m=65536;;
     bsd) m=8;;
     amiga) m=128;;
+    atari) m=12;;
     loop) m=1;;
     pc98) case $ss in 512) m=16;; *) m=64;; esac;;
     *) warn_ invalid partition table type: $1 1>&2; exit 1;;
@@ -45,8 +46,9 @@ max_n_partitions()
 }
 
 # FIXME: add aix when/if it's supported again
-for t in msdos gpt dvh sun mac bsd amiga loop pc98; do
+for t in msdos gpt dvh sun mac bsd amiga atari loop pc98; do
     echo $t
+    [ $t = 'atari' ] && [ $ss != 512 ] && continue
     rm -f $dev
     dd if=/dev/zero of=$dev bs=$ss count=1 seek=10000 || { fail=1; continue; }
     parted -s $dev mklabel $t || { fail=1; continue; }
@@ -56,6 +58,7 @@ for t in msdos gpt dvh sun mac bsd amiga loop pc98; do
     max_start=4294967295
     max_len=4294967295
     case $t in
+       atari) max_start=2147483647; max_len=$max_start;;
        gpt|loop) max_start=18446744073709551615; max_len=$max_start;;
        sun) max_start=549755813760;; # 128 * (2^32-1)
     esac
index 9b014e6d36827e0b34b892b79f2a6a5b3d324874..ec500a0f6ba96667fc031c30c1efcecd93b3c198 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Confirm that specifying 1 unit snaps to the correct value
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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
index 964657dea1c7a3a767b3698ef3df648c20f62a4d..0fe8f425705f731bb6ac7d4e5ea9ed612e1851e6 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Confirm that a value between 0 and 1 throws an error
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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
index eed3975932bb0b2bbdaa1d6db0d1171ecb3024f2..faf794ff984f90a41b5ed9bb358b1af6c8548c26 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # exercise the align-check command
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014, 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
index a3af5e711dd44821aac02cddbf9e678249b3fded..e5985ce536e68aa6faf26e094ab4d94646910c6e 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure that creating many partitions works.
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014, 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
@@ -53,9 +53,7 @@ while :; do
 done
 
 # Time the actual command:
-t0=$(date +%s.%N)
 parted -m -a min -s $scsi_dev mklabel gpt $cmd u s p > out 2>&1 || fail=1
-t_final=$(date +%s.%N)
 
 i=1
 while :; do
@@ -64,14 +62,6 @@ while :; do
     printf "$i:${s}s:${e}s:${partition_sectors}s::p$i:;\n" >> exp
     test $i = $n_partitions && break; i=$((i+1))
 done
-
-# Fail the test if it takes too long.
-# On Fedora 16, this takes about 10 seconds for me.
-# With Fedora-12-era kernels, it typically took more than 150 seconds.
-$AWK "BEGIN {d = $t_final - $t0; n = $n_partitions; st = 60 < d;"\
-' printf "created %d partitions in %.2f seconds\n", n, d; exit st }' /dev/null \
-    || fail=1
-
 compare exp out || fail=1
 
 Exit $fail
index edaae1bf81163f2379bb02751961880c9003c77a..1e28a65c337316aa883fe3daf9f334eb170c4b0c 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure that parted knows when N'th (N>=16) partition is mounted
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014, 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
@@ -72,7 +72,7 @@ wait_for_dev_to_appear_ ${scsi_dev}16 || fail_ ${scsi_dev}16 did not appear
 
 partitions="${scsi_dev}14 ${scsi_dev}15 ${scsi_dev}16"
 for i in $partitions; do
-  mkfs.ext3 $i || skip_ mkfs.ext3 $i failed
+  mkfs.ext3 $i || fail=1
 done
 
 # be sure to unmount upon interrupt, failure, etc.
index b01828c7f165847cade19f5e1d7b91cb0894a7f8..5fd3fdb0daee19f80245160aa8096676716cc37c 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Ensure that parted enforces msdos partition limit
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014, 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
@@ -44,8 +44,8 @@ printf '%s\n' "BYT;" \
     "1:$((start-2))s:$((n-1))s:$((n-start+2))s:::lba;" \
   > exp || fail=1
 
-parted -s $scsi_dev mklabel msdos || fail=1
-parted -s -a min $scsi_dev mkpart extended $((start-2))s 100% || fail=1
+parted -s -a min $scsi_dev mklabel msdos mkpart extended $((start-2))s 100% || fail=1
+wait_for_dev_to_appear_ ${scsi_dev}1 || fail=1
 
 i=1
 while :; do
index 390cedf945b1eb0d3869167c3975f16a1ba63483..d51935955a5e4e6dd76cef19eb65c46f1b08cf7e 100755 (executable)
@@ -3,7 +3,7 @@
 # I.e., write a partition table of type T, and then overwrite it
 # with one of type V, for every permutation of T and V.
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014, 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